/* Content blocks made in the website editor: pages at any address, News posts and new homepage sections.
   Self-contained colours so they look the same on the homepage and on every other page. */
:root{--blk-ink:#14172b;--blk-muted:#565d75;--blk-card:#fff;--blk-line:rgba(20,23,43,.12);--blk-soft:#f2f6fc;--blk-green:#139918;--blk-green2:#34d139;--blk-pastel:#dcf2c6;--blk-pastel2:#97e29a;--blk-blue:#1877e0;--blk-shadow:0 18px 40px -26px rgba(20,23,43,.45)}
html[data-theme=dark]{--blk-ink:#e9edf9;--blk-muted:#a9b1c9;--blk-card:#161c33;--blk-line:rgba(233,237,249,.14);--blk-soft:#1a2140;--blk-blue:#8cc4ff;--blk-shadow:0 18px 40px -26px rgba(0,0,0,.8)}

.blk-flow{display:flex;flex-direction:column;gap:clamp(1.6rem,4vw,2.6rem)}
.edpage{padding-top:clamp(1rem,3vw,2rem);padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.edpage .blk-flow{max-width:980px;margin:0 auto}
.edsec{padding:clamp(3rem,8vw,5.5rem) 0}
.edsec--tinted{background:var(--blk-soft)}
.blk-sec-head{text-align:center;margin-bottom:clamp(1.4rem,4vw,2.4rem)}
.blk{color:var(--blk-ink);min-width:0}
.blk-h{font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.15;letter-spacing:-.02em;margin:0 0 .7rem}
.blk-h3{font-size:1.15rem;margin:0 0 .5rem}
.blk-rich{color:var(--blk-muted);font-size:1.05rem;line-height:1.7}
.blk-rich>*:first-child{margin-top:0}.blk-rich>*:last-child{margin-bottom:0}
.blk-rich a{color:var(--blk-blue);text-decoration:underline;text-underline-offset:3px}
.blk-rich strong,.blk-rich b{color:var(--blk-ink)}
.blk-rich ul,.blk-rich ol{padding-left:1.3rem}
.blk-rich li{margin:.3rem 0}

/* text with photo */
.blk-media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,4vw,3rem);align-items:center}
.blk-media--left .blk-media-pic{order:-1}
.blk-media-pic img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:22px;box-shadow:var(--blk-shadow)}
@media (max-width:760px){.blk-media{grid-template-columns:1fr}.blk-media-pic{order:-1}}

/* photo and gallery */
.blk-photo{margin:0}
.blk-photo img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:var(--blk-shadow)}
.blk-photo figcaption,.blk-gallery figcaption,.blk-video figcaption{margin-top:.6rem;text-align:center;font-size:.92rem;color:var(--blk-muted)}
.blk-gallery{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:clamp(.6rem,2vw,1rem)}
.blk-gallery figure{margin:0}
.blk-gallery img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px}
@media (max-width:640px){.blk-gallery{grid-template-columns:repeat(2,1fr)}}

/* cards */
.blk-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(.8rem,2.5vw,1.2rem)}
.blk-card{display:flex;flex-direction:column;background:var(--blk-card);border:1px solid var(--blk-line);border-radius:22px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:var(--blk-shadow);transition:transform .25s ease,box-shadow .25s ease}
a.blk-card:hover{transform:translateY(-3px)}
.blk-card-pic{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.blk-card-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.blk-card-body h3{margin:0;font-size:1.12rem;color:var(--blk-ink)}
.blk-card-body p{margin:0;color:var(--blk-muted);line-height:1.55}
.blk-card-go{margin-top:auto;padding-top:.4rem;color:var(--blk-blue);font-weight:700}

/* buttons */
.blk-btns{display:flex;flex-wrap:wrap;gap:.7rem;margin:0}
.blk-btns--center{justify-content:center}
.blk-btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.4rem;border-radius:999px;font-weight:800;text-decoration:none;background:linear-gradient(180deg,#d6efc4,var(--blk-pastel2));color:#145116;box-shadow:0 8px 18px -10px rgba(19,153,24,.55);transition:transform .2s ease}
.blk-btn:hover{transform:translateY(-2px)}
.blk-btn--soft{background:var(--blk-card);color:var(--blk-ink);border:1.5px solid var(--blk-line);box-shadow:none}
.blk-btn--light{background:#fff;color:#14172b}

/* questions */
.blk-faq details{border-bottom:1px solid var(--blk-line);padding:.2rem 0}
.blk-faq summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;font-weight:700;position:relative;color:var(--blk-ink)}
.blk-faq summary::-webkit-details-marker{display:none}
.blk-faq summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-size:1.4rem;font-weight:400;color:var(--blk-muted)}
.blk-faq details[open] summary::after{content:"–"}
.blk-faq details p{margin:0 0 1rem;color:var(--blk-muted);line-height:1.65}

/* call to action */
.blk-cta{text-align:center;padding:clamp(2rem,6vw,3.4rem) clamp(1.2rem,5vw,3rem);border-radius:28px;background:linear-gradient(135deg,#1b2a6b,#1877e0);color:#fff;box-shadow:var(--blk-shadow)}
.blk-cta-h{margin:0 0 .6rem;font-size:clamp(1.5rem,3.6vw,2.2rem);color:#fff}
.blk-cta p{margin:0 auto 1.2rem;max-width:56ch;color:rgba(255,255,255,.88);line-height:1.6}
.blk-cta .blk-btns{margin:0 auto;max-width:none}

/* quote */
.blk-quote{margin:0;padding:clamp(1.4rem,4vw,2.2rem);border-radius:24px;background:var(--blk-card);border:1px solid var(--blk-line);box-shadow:var(--blk-shadow)}
.blk-quote blockquote{margin:0}
.blk-quote blockquote p{margin:0;font-size:clamp(1.15rem,2.6vw,1.4rem);line-height:1.5;color:var(--blk-ink)}
.blk-quote blockquote p::before{content:"“"}.blk-quote blockquote p::after{content:"”"}
.blk-quote figcaption{display:flex;align-items:center;gap:.8rem;margin-top:1.1rem}
.blk-quote figcaption span{display:flex;flex-direction:column}
.blk-quote-pic{width:46px;height:46px;border-radius:50%;object-fit:cover}
.blk-quote-role{color:var(--blk-muted);font-size:.92rem}

/* video */
.blk-video{margin:0}
.blk-video-box{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#000;box-shadow:var(--blk-shadow)}
.blk-video-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* two columns */
.blk-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,4vw,2.6rem)}
@media (max-width:760px){.blk-cols{grid-template-columns:1fr}}
/* keep button colours fixed whatever the page's link colours are */
.blk-btn,.blk-btn:hover{color:#145116!important}
.blk-btn--soft,.blk-btn--soft:hover{color:var(--blk-ink)!important}
.blk-btn--light,.blk-btn--light:hover{color:#14172b!important}

/* contact form */
.blk-form{background:var(--blk-card);border:1px solid var(--blk-line);border-radius:26px;padding:clamp(1.3rem,4vw,2.4rem);box-shadow:var(--blk-shadow)}
.blk-form-lead{margin:-.2rem 0 1.2rem;color:var(--blk-muted);line-height:1.6}
.blk-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.1rem}
.blk-fld{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.blk-fld--full{grid-column:1/-1}
.blk-fld>label{font-weight:700;font-size:.92rem;color:var(--blk-ink)}
.blk-req{color:#c0392b;margin-left:.2em}
.blk-fld input,.blk-fld select,.blk-fld textarea{font:inherit;font-size:1rem;width:100%;padding:.8em .95em;border-radius:12px;border:1.5px solid var(--blk-line);background:var(--blk-soft);color:var(--blk-ink);transition:border-color .2s,box-shadow .2s}
.blk-fld textarea{min-height:130px;resize:vertical}
.blk-fld input:focus,.blk-fld select:focus,.blk-fld textarea:focus{outline:none;border-color:var(--blk-green);box-shadow:0 0 0 3px rgba(19,153,24,.18)}
.blk-fld--chk label{display:flex;align-items:flex-start;gap:.6rem;font-weight:600;cursor:pointer}
.blk-fld--chk input{width:1.25rem;height:1.25rem;flex:none;margin:.1rem 0 0;accent-color:var(--blk-green)}
.blk-fld.bad input,.blk-fld.bad select,.blk-fld.bad textarea{border-color:#c0392b}
.blk-err{margin:0;color:#c0392b;font-size:.86rem;font-weight:600}
html[data-theme=dark] .blk-err,html[data-theme=dark] .blk-req{color:#ff8a7a}
html[data-theme=dark] .blk-fld.bad input,html[data-theme=dark] .blk-fld.bad select,html[data-theme=dark] .blk-fld.bad textarea{border-color:#ff8a7a}
.blk-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.blk-form-go{margin:1.3rem 0 0}
.blk-form button.blk-btn{border:0;cursor:pointer;font:inherit;font-weight:800;font-size:1rem}
.blk-form button.blk-btn[disabled]{opacity:.65;cursor:wait}
.blk-form-ok{margin:1.1rem 0 0;padding:1rem 1.2rem;border-radius:14px;background:var(--blk-pastel);color:#145116;font-weight:700;line-height:1.5}
.blk-form-ok:focus{outline:none}
.blk-form.sent .blk-form-grid,.blk-form.sent .blk-form-go{display:none}
@media (max-width:640px){.blk-form-grid{grid-template-columns:1fr}}

/* website ROI calculator */
.blk-calc{position:relative;background:linear-gradient(180deg,#fff 0,#eef2fa 100%);border:1px solid var(--blk-line);border-radius:22px;box-shadow:0 34px 74px -34px rgba(20,23,43,.5);padding:clamp(1.1rem,4vw,2.2rem)}
html[data-theme=dark] .blk-calc{background:linear-gradient(180deg,#1a2140 0,#141a31 100%)}
.blk-calc-lead{margin:0 0 1.2rem;color:var(--blk-muted);font-size:inherit;line-height:1.6;max-width:60ch}
.blk-calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.2rem,4vw,2.4rem);align-items:start}
.blk-calc-step{border:0;margin:0 0 1.1rem;padding:0 0 1.1rem;border-bottom:1px solid var(--blk-line);min-width:0}
.blk-calc-step:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}
.blk-calc-step legend{display:flex;align-items:center;gap:.6rem;padding:0;margin:0 0 .7rem;font-family:var(--display,"Bricolage Grotesque",Arial,sans-serif);font-weight:700;font-size:1.12rem;letter-spacing:-.01em;color:var(--blk-ink);line-height:1.3}
.blk-calc-n{flex:none;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--blk-blue);color:#fff;font-family:var(--display,"Bricolage Grotesque",Arial,sans-serif);font-size:.9rem;font-weight:800;letter-spacing:0}
html[data-theme=dark] .blk-calc-n{color:#0f1428}
.blk-calc-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem}
.blk-calc-chip{min-height:44px;padding:0 1rem;border-radius:999px;border:1px solid var(--blk-line);background:var(--blk-card);color:var(--blk-ink);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:0 3px 8px -4px rgba(20,23,43,.25);transition:transform .15s ease,background .2s ease}
.blk-calc-chip:hover{transform:translateY(-1px)}
.blk-calc-chip[aria-pressed=true]{background:linear-gradient(180deg,var(--blk-pastel),var(--blk-pastel2));color:#165618;border-color:#89dc8c;box-shadow:0 4px 10px -4px rgba(19,153,24,.55)}
.blk-calc-money{display:flex;align-items:center;gap:.4rem;max-width:15rem;min-height:52px;padding:0 1rem;border-radius:14px;border:1.5px solid var(--blk-line);background:var(--blk-card);font-size:1.35rem;font-weight:800;color:var(--blk-ink);font-family:var(--display,"Bricolage Grotesque",Arial,sans-serif);}
.blk-calc-money:focus-within{border-color:var(--blk-blue);box-shadow:0 0 0 3px rgba(24,119,224,.18)}
.blk-calc-money input{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:inherit;padding:.6rem 0;outline:none;font-variant-numeric:tabular-nums}
.blk-calc-hint{display:block;margin-top:.4rem;color:var(--blk-muted);font-size:.86rem}
.blk-calc-ctl{padding:.55rem 0}
.blk-calc-ctl label{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;font-size:.92rem;font-weight:600;color:var(--blk-ink)}
.blk-calc-ctl output{font-family:var(--display,"Bricolage Grotesque",Arial,sans-serif);font-weight:800;font-size:1.15rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.blk-calc-ctl small{display:block;color:var(--blk-muted);font-size:.85rem}
.blk-calc-ctl input[type=range]{width:100%;height:32px;margin:.2rem 0 0;accent-color:var(--blk-blue);cursor:pointer}
.blk-calc-ctl--cost input[type=range]{accent-color:#7b2fbe}
html[data-theme=dark] .blk-calc-ctl--cost input[type=range]{accent-color:#c9a6ff}
.blk-calc-out{position:sticky;top:96px}
.blk-calc-card{container-type:inline-size;background:var(--blk-card);border:1px solid var(--blk-line);border-radius:20px;padding:clamp(1rem,3vw,1.5rem);box-shadow:0 18px 40px -28px rgba(20,23,43,.45)}
.blk-calc-period{display:flex;gap:4px;padding:4px;margin:0 auto 1rem;width:max-content;max-width:100%;border-radius:999px;border:1px solid var(--blk-line);background:var(--blk-soft)}
.blk-calc-period button{flex:1 1 auto;white-space:nowrap;min-height:40px;padding:0 1rem;border:0;border-radius:999px;background:transparent;color:var(--blk-ink);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer}
.blk-calc-period button[aria-pressed=true]{background:linear-gradient(180deg,#b7f1b9,#89dc8c);color:#145116;box-shadow:0 7px 16px -9px rgba(20,81,22,.4)}
.blk-calc-big{display:flex;flex-direction:column;align-items:center;gap:.2rem;margin:0;text-align:center}
.blk-calc-big b{font-family:var(--display,"Bricolage Grotesque",Arial,sans-serif);font-size:clamp(2.2rem,6vw,3.5rem);line-height:1.02;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#2fb833;background:linear-gradient(#6fe072,#34c838);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.blk-calc-big span{font-weight:700;color:var(--blk-ink);text-wrap:balance}
.blk-calc-say{margin:.5rem auto 1rem;text-align:center;color:var(--blk-muted);max-width:34ch;text-wrap:balance}
.blk-calc-flow-h{margin:0 0 .4rem;text-align:center;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blk-ink)}
.blk-calc-flow{list-style:none;margin:0 0 .9rem;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.blk-calc-flow li{position:relative;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.6rem .3rem;border-radius:14px;background:var(--blk-soft);text-align:center;min-width:0}
.blk-calc-flow li+li::before{content:"";position:absolute;left:-6px;top:50%;width:6px;height:2px;background:var(--blk-line)}
.blk-calc-flow b{font-family:var(--display,"Bricolage Grotesque",Arial,sans-serif);font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;max-width:100%}
.blk-calc-flow li:last-child{background:var(--blk-pastel);color:#145116}
html[data-theme=dark] .blk-calc-flow li:last-child{background:#1e3a26;color:#9be59e}
.blk-calc-flow span{font-size:.85rem;color:var(--blk-muted)}
.blk-calc-flow li:last-child span{color:inherit}
.blk-calc-pay{text-align:center;margin:0 0 .6rem;font-weight:800;color:var(--blk-green)}
html[data-theme=dark] .blk-calc-pay{color:#6fe072}
.blk-calc-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem 1rem;margin:0 0 .2rem;font-size:.82rem;font-weight:700;color:var(--blk-muted)}
.blk-calc-legend>span{display:inline-flex;align-items:center;gap:.35rem}
.blk-calc-legend i{display:inline-block;width:12px;height:12px;border-radius:3px}
.blk-calc-legend .lc{color:#7b2fbe}.blk-calc-legend .lc i{height:0;width:18px;border-top:2px dashed #7b2fbe;border-radius:0}
.blk-calc-legend .lp i{background:#34c838}.blk-calc-legend .lo i{background:#b3c2dc}
html[data-theme=dark] .blk-calc-legend .lc{color:#c9a6ff}html[data-theme=dark] .blk-calc-legend .lc i{border-color:#c9a6ff}html[data-theme=dark] .blk-calc-legend .lo i{background:#3d4870}
.blk-calc-chart{display:block;width:100%;height:auto}
.blk-calc-chart text{fill:var(--blk-muted);font-size:15px;font-family:inherit}
.blk-calc-chart .g{stroke:var(--blk-line);stroke-width:1}
.blk-calc-chart .cost{stroke:#7b2fbe;stroke-width:2.5;stroke-dasharray:7 6}
.blk-calc-chart .paid{fill:#34c838}
.blk-calc-chart .owed{fill:#b3c2dc}
html[data-theme=dark] .blk-calc-chart .cost{stroke:#c9a6ff}
html[data-theme=dark] .blk-calc-chart .owed{fill:#3d4870}
.blk-calc-note{margin:.6rem 0 0;text-align:center;color:var(--blk-muted);font-size:.85rem;line-height:1.5}
.blk-calc .blk-btns{margin-top:.9rem}
.blk-calc-bar{display:none}
.blk-calc button:focus-visible,.blk-calc input:focus-visible{outline:2px solid var(--blk-blue);outline-offset:3px}
@media (max-width:900px){
  .blk-calc-grid{grid-template-columns:minmax(0,1fr)}
  .blk-calc-out{position:static}
  /* phones and tablets: a slim results bar sticks under the top bar while the sliders are in view */
  .blk-calc-bar{display:block;position:sticky;top:66px;z-index:5;margin:0 0 .8rem;padding:.55rem 1rem;border-radius:999px;text-align:center;background:linear-gradient(180deg,#b7f1b9,#89dc8c);color:#145116;font-weight:800;box-shadow:0 10px 22px -12px rgba(20,81,22,.55);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
  .blk-calc--bar .blk-calc-bar{opacity:1;transform:none}
}
/* the results card: four steps in a row when there is room, two by two when narrow */
@container (max-width:460px){
  .blk-calc-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blk-calc-flow li+li::before{display:none}
  .blk-calc-flow b{font-size:1.2rem}
}
@container (max-width:300px){
  .blk-calc-period{width:100%}
  .blk-calc-period button{padding:0 .5rem;font-size:.92rem}
}
@media (max-width:420px){
  .blk-calc-chip{padding:0 .8rem;flex:1 1 auto}
  .blk-calc-money{max-width:none}
}
@media (prefers-reduced-motion:reduce){.blk-calc-bar,.blk-calc-chip{transition:none}}

/* centred sections, like the rest of the site: headings and cards centred; questions keep their text left-aligned in a centred column */
.blk-cards>.blk-h,.blk-faq>.blk-h,.blk-calc>.blk-h{text-align:center;text-wrap:balance}
.blk-calc-lead{text-align:center;margin-left:auto;margin-right:auto}
.blk-card-body{align-items:center;text-align:center}
.blk-card-go{align-self:center}
.blk-faq{max-width:760px;width:100%;margin-left:auto;margin-right:auto}
