:root{
 --font-body:'Satoshi',sans-serif;--font-display:'Satoshi',sans-serif;
 --color-bg:#fafaf6;--color-surface:#efefe7;--color-text:#24382d;--color-muted:#59655b;--color-primary:#244d35;--color-dark:#193c2d;--color-inverse:#fafbf4;--color-accent:#cee3a8;--color-focus:#788b38;--color-border:#d9ddd3;--color-white:#fff;
 --text-xs:clamp(.75rem,.72rem + .1vw,.8125rem);--text-sm:clamp(.875rem,.84rem + .1vw,.9375rem);--text-base:clamp(1rem,.96rem + .16vw,1.0625rem);--text-lg:clamp(1.25rem,1.1rem + .5vw,1.5rem);--text-xl:clamp(2rem,1.4rem + 1.4vw,2.75rem);--text-hero:clamp(2.85rem,1.7rem + 2.7vw,4.5rem);
 --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:3px;--radius-md:6px;
}
.wrap{width:min(1320px,calc(100% - var(--space-24)));margin-inline:auto}
.skip{position:fixed;top:-100px;left:var(--space-4);z-index:100;padding:var(--space-3);background:var(--color-white)}.skip:focus{top:var(--space-4)}
.preview-bar{min-height:32px;background:var(--color-dark);color:var(--color-inverse);font-size:var(--text-xs);display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-12);gap:var(--space-4)}
.site-header{position:sticky;top:0;z-index:20;background:var(--color-bg);border-bottom:1px solid var(--color-border)}
.header-inner{width:min(1440px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-5) var(--space-12)}
.brand{display:flex;flex-direction:column;align-items:flex-start;width:185px;flex-shrink:0;gap:var(--space-1)}.brand img{width:100%;background:none;mix-blend-mode:multiply}.brand span{font-size:var(--text-xs);letter-spacing:.19em;color:var(--color-muted);padding-left:var(--space-1)}
.desktop-nav{display:flex;gap:var(--space-6);align-items:center}.desktop-nav a,.desktop-nav button{font-size:var(--text-sm);font-weight:500;min-height:44px;display:flex;align-items:center}.desktop-nav a:hover,.desktop-nav button:hover{color:#15803d;text-decoration:underline;text-underline-offset:6px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-6);background:var(--color-primary);color:var(--color-inverse);font-size:var(--text-sm);font-weight:700;min-height:52px;border:1px solid transparent;border-radius:var(--radius-sm)}
.button:hover{background:#316646}.button:active{background:#153321}.button span{font-size:var(--text-lg);font-weight:400;line-height:1}.header-cta{padding:var(--space-3) var(--space-5);min-height:48px}
.menu-toggle{display:none}.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:1fr 1.02fr;gap:var(--space-10);padding-block:var(--space-10);align-items:center}
.hero-copy{padding-block:var(--space-8)}
.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.13em;line-height:1.6;margin-bottom:var(--space-5)}
.hero .eyebrow{display:flex;gap:var(--space-3);align-items:center;letter-spacing:.105em}.small-rule{width:28px;height:1px;background:var(--color-primary);flex-shrink:0}
h1{font-size:var(--text-hero);letter-spacing:-.055em;font-weight:500;line-height:1.075;margin-bottom:var(--space-6)}h1 span{color:var(--color-primary)}
.hero-description{color:var(--color-muted);line-height:1.75;max-width:430px}.hero-actions{display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-8);flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);font-weight:700;min-height:44px;border-bottom:1px solid currentColor}.text-link:hover{color:#12813d}.text-link:active{opacity:.7}.hero-actions .text-link{border-bottom:0}
.hero-footnote{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-8)}
.hero-visual{position:relative;align-self:stretch;min-height:510px;max-height:610px;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:55% center}
.hero-visual figcaption{position:absolute;bottom:var(--space-5);left:var(--space-5);right:var(--space-5);padding:var(--space-4) var(--space-5);background:var(--color-bg);display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm);font-weight:500}.hero-visual figcaption span:last-child{font-size:var(--text-lg)}
.service-line{display:flex;justify-content:space-between;padding-block:var(--space-6);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);font-weight:500}.service-line span{display:flex;align-items:center;gap:var(--space-3)}.service-line span:before{content:'✓';color:var(--color-primary);font-size:var(--text-base)}
.section{padding-block:var(--space-24)}
.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-12);margin-bottom:var(--space-10)}h2{font-size:var(--text-xl);letter-spacing:-.04em;font-weight:500}.section-top>p{max-width:370px;color:var(--color-muted);padding-bottom:var(--space-1)}
.audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-8)}
.image-button{display:block;width:100%;height:285px;position:relative;overflow:hidden;text-align:left}.image-button img{width:100%;height:100%;object-fit:cover}.image-arrow{position:absolute;right:var(--space-4);bottom:var(--space-4);height:44px;width:44px;display:grid;place-items:center;background:var(--color-bg);color:var(--color-primary);font-size:var(--text-lg)}.image-button:hover .image-arrow{background:var(--color-primary);color:var(--color-inverse)}
.audience-heading{display:flex;justify-content:space-between;align-items:center;margin-block:var(--space-5) var(--space-3);gap:var(--space-3)}h3{font-size:var(--text-lg);letter-spacing:-.025em;font-weight:500}.number{color:var(--color-muted);font-size:var(--text-xs)}.audience>p{color:var(--color-muted);margin-bottom:var(--space-4);max-width:36ch}.image-note{margin-top:var(--space-6);font-size:var(--text-xs);color:var(--color-muted)}
.approach{background:var(--color-dark);color:var(--color-inverse);padding-block:var(--space-20)}.approach-grid{display:grid;grid-template-columns:.95fr 1fr;gap:var(--space-20);align-items:center}.approach-image img{width:100%;height:550px;object-fit:cover}.approach-image figcaption{font-size:var(--text-xs);color:#d6dfd4;margin-top:var(--space-4)}.approach-copy .eyebrow{color:var(--color-accent)}.approach-copy h2{margin-bottom:var(--space-6)}.approach-copy>p:not(.eyebrow){color:#d6dfd4;max-width:45ch}.considerations{margin-block:var(--space-8)}.considerations>div{border-top:1px solid #456251;padding-block:var(--space-4)}.considerations dt{font-weight:700;font-size:var(--text-base);margin-bottom:var(--space-1)}.considerations dd{font-size:var(--text-sm);color:#d6dfd4;max-width:47ch}.light{color:var(--color-inverse)}.light:hover{color:var(--color-accent)}
.process{padding-bottom:var(--space-20)}.process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-12)}.process-grid li{border-top:1px solid var(--color-border);padding-top:var(--space-5)}.step-number{font-size:var(--text-xs);color:var(--color-muted);display:block;margin-bottom:var(--space-8)}.process-grid h3{margin-bottom:var(--space-3)}.process-grid p{font-size:var(--text-sm);color:var(--color-muted)}
.faq{display:grid;grid-template-columns:1fr 1.35fr;gap:var(--space-20);padding-block:var(--space-12) var(--space-24);border-top:1px solid var(--color-border)}.faq-list details{border-bottom:1px solid var(--color-border);padding-block:var(--space-5)}.faq-list details:first-child{padding-top:0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);min-height:44px;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:var(--text-lg);min-width:20px}details[open] summary span{transform:rotate(45deg)}details p{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-3);padding-right:var(--space-10)}
.enquiry-section{background:var(--color-surface);padding-block:var(--space-20)}.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24)}.enquiry-copy h2{margin-bottom:var(--space-6)}.enquiry-copy>p:not(.eyebrow){color:var(--color-muted);max-width:36ch}.enquiry-copy .small-copy{font-size:var(--text-sm);margin-top:var(--space-10)}
form{padding:var(--space-8);background:var(--color-bg);border:1px solid var(--color-border)}.form-notice{font-size:var(--text-xs);margin-bottom:var(--space-5);color:var(--color-muted)}fieldset{border:0;margin-bottom:var(--space-5)}legend,label{font-size:var(--text-sm);font-weight:500}legend{margin-bottom:var(--space-3)}.site-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.site-options label{position:relative;cursor:pointer}.site-options input{position:absolute;width:1px;height:1px;opacity:0}.site-options span{display:block;padding:var(--space-3) var(--space-2);border:1px solid var(--color-border);text-align:center;border-radius:var(--radius-sm);font-size:var(--text-sm)}.site-options input:checked+span{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-inverse)}.site-options input:focus-visible+span{outline:3px solid var(--color-focus);outline-offset:3px}
form>label,.form-row label{display:block;margin-bottom:var(--space-5)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}input:not([type=radio]),textarea{width:100%;display:block;margin-top:var(--space-2);padding:var(--space-3);background:var(--color-white);border:1px solid #a8b1a8;border-radius:var(--radius-sm);font-size:var(--text-base);min-height:48px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#687369;font-weight:400}.optional{font-size:var(--text-xs);font-weight:400;color:var(--color-muted)}form>.button{width:100%}.form-result{padding:var(--space-4);margin-top:var(--space-5);border:1px solid var(--color-primary);font-size:var(--text-sm)}.form-result strong{display:block;margin-bottom:var(--space-2)}
.footer{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:var(--space-12);padding-block:var(--space-12)}.footer-brand{width:170px}.footer p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-4)}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding-top:var(--space-2)}.footer a:not(.brand){font-size:var(--text-sm);min-height:44px;display:flex;align-items:center}.footer a:hover:not(.brand){text-decoration:underline}.footer-note p:first-child{margin-top:var(--space-2);color:var(--color-text)}.footer-note p:nth-child(2){font-size:var(--text-xs);margin-top:var(--space-2)}.footer-note>a{margin-top:var(--space-3)}
dialog{position:fixed;inset:0;margin:auto;border:0;background:var(--color-bg);color:var(--color-text);padding:var(--space-12);width:min(620px,calc(100% - var(--space-8)));max-height:85dvh;overflow:auto;box-shadow:0 20px 100px #16291e33}dialog::backdrop{background:#132b22aa}dialog .dialog-close{display:block;margin-left:auto;margin-bottom:var(--space-6);min-height:44px;font-size:var(--text-sm);padding-inline:var(--space-3)}dialog h2{margin-bottom:var(--space-5)}dialog>p:not(.eyebrow){color:var(--color-muted)}dialog ul{padding-left:var(--space-5);margin-block:var(--space-6)}dialog li{margin-bottom:var(--space-3)}dialog .button{width:100%}
.footer-brand span{white-space:nowrap;letter-spacing:.1em}
@media(min-width:1600px){.hero{padding-block:var(--space-12)}.hero-visual{min-height:580px}}
@media(max-width:1150px){.wrap{width:calc(100% - var(--space-16))}.header-inner{padding-inline:var(--space-8);gap:var(--space-5)}.desktop-nav{gap:var(--space-4)}.brand{width:160px}.header-cta{gap:var(--space-3)}.hero{gap:var(--space-6)}.hero-visual{min-height:490px}.hero-actions{gap:var(--space-4)}.approach-grid,.enquiry-grid{gap:var(--space-12)}.audience-grid{gap:var(--space-6)}.image-button{height:240px}}
@media(max-width:960px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;min-height:44px;align-items:center;gap:var(--space-3);font-size:var(--text-sm);padding-inline:var(--space-3)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:var(--space-4) var(--space-8);border-top:1px solid var(--color-border)}.mobile-nav a,.mobile-nav button{display:flex;justify-content:space-between;align-items:center;min-height:48px;text-align:left;font-size:var(--text-base)}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(2.6rem,4.5vw,3.4rem)}.hero .eyebrow{font-size:var(--text-xs);letter-spacing:.04em}.small-rule{display:none}.hero-visual{min-height:480px}.service-line{gap:var(--space-4);font-size:var(--text-xs)}.section-top{gap:var(--space-8)}.section-top>p{max-width:280px}.audience-heading{align-items:flex-start}.image-button{height:220px}.approach-grid{gap:var(--space-8)}.approach-image img{height:550px}.process-grid{grid-template-columns:repeat(3,1fr);row-gap:var(--space-8)}.faq{gap:var(--space-8)}.enquiry-grid{gap:var(--space-8)}form{padding:var(--space-6)}.form-row{grid-template-columns:1fr;gap:0}.footer{gap:var(--space-6)}}
@media(max-width:700px){
 .wrap{width:calc(100% - var(--space-10))}.preview-bar{padding:var(--space-2) var(--space-5);justify-content:center;min-height:30px}.preview-bar span:last-child{display:none}.header-inner{padding:var(--space-4) var(--space-5)}.brand{width:156px}.brand span{font-size:var(--text-xs);letter-spacing:.14em}.mobile-nav:not([hidden]){padding:var(--space-3) var(--space-5)}.site-header{position:relative}.hero{grid-template-columns:1fr;gap:var(--space-8);padding-block:var(--space-8)}.hero-copy{padding-block:var(--space-2) 0}.hero h1{font-size:var(--text-hero);letter-spacing:-.055em;line-height:1.09}.hero .eyebrow{letter-spacing:.065em;margin-bottom:var(--space-5)}.hero-description{font-size:var(--text-base)}.desktop-break{display:none}.hero-actions{margin-top:var(--space-6);gap:var(--space-5);flex-wrap:wrap}.hero-actions .button{gap:var(--space-6)}.hero-actions .text-link{font-size:var(--text-sm)}.hero-footnote{margin-top:var(--space-5)}.hero-visual{min-height:350px;height:350px}.hero-visual>img{object-position:center 60%}.hero-visual figcaption{bottom:var(--space-4);left:var(--space-4);right:var(--space-4);padding:var(--space-3);font-size:var(--text-xs)}.service-line{display:grid;grid-template-columns:1fr;gap:var(--space-3);padding-block:var(--space-5);font-size:var(--text-sm)}.section{padding-block:var(--space-16)}.section-top{display:block;margin-bottom:var(--space-8)}.section-top>p{margin-top:var(--space-5);max-width:none}.section-top>p br{display:none}.eyebrow{margin-bottom:var(--space-4)}.audience-grid{grid-template-columns:1fr;gap:var(--space-10)}.image-button{height:280px}.audience-heading{margin-top:var(--space-4)}.audience>p{max-width:none}.image-note{margin-top:var(--space-8)}.approach{padding-block:var(--space-12)}.approach-grid{grid-template-columns:1fr;gap:var(--space-10)}.approach-image img{height:330px}.approach-copy>p:not(.eyebrow){max-width:none}.considerations{margin-block:var(--space-6)}.process-grid{grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-8)}.process-grid li{display:grid;grid-template-columns:36px 1fr;column-gap:var(--space-5)}.step-number{grid-row:1/3;margin:0;padding-top:var(--space-1)}.process-grid p{grid-column:2}.faq{grid-template-columns:1fr;gap:var(--space-8);padding-block:var(--space-10) var(--space-16)}.faq h2 br{display:none}.enquiry-section{padding-block:var(--space-12)}.enquiry-grid{grid-template-columns:1fr;gap:var(--space-8)}.enquiry-copy .small-copy{display:none}.enquiry-copy h2 br:last-child{display:none}form{padding:var(--space-5)}.site-options{gap:var(--space-2)}.site-options span{font-size:var(--text-xs);padding-inline:var(--space-1)}.form-row{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr;gap:var(--space-8);padding-block:var(--space-10)}.footer-brand{width:145px}.footer-note{grid-column:1/-1;padding-top:var(--space-5);border-top:1px solid var(--color-border)}dialog{padding:var(--space-6);width:calc(100% - var(--space-8))}dialog .dialog-close{margin-bottom:var(--space-4)}
}
@media(max-width:360px){.hero h1{font-size:2.6rem}.hero-actions{gap:var(--space-3)}.hero-actions .text-link{font-size:var(--text-xs)}.footer{grid-template-columns:1fr}.footer-note{grid-column:auto}}
/* Shared enquiry states. Hidden trap is removed from keyboard and visual flow. */
.enquiry-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.enquiry-privacy { font-size:.85rem; line-height:1.6; color:#334c40; margin:1rem 0; }
.enquiry-privacy summary { cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.enquiry-privacy p { margin:.6rem 0; }
.enquiry-privacy a, .form-notice a { text-decoration:underline; overflow-wrap:anywhere; }
.enquiry-challenge { width:100%; min-width:0; margin:1rem 0; }
#enquiry-form .button:disabled { opacity:1; background:#dce5df; color:#42584b; cursor:not-allowed; }
#enquiry-form .form-result[data-state="error"] { background:#fff1e9; color:#6d2e16; border:1px solid #c8957e; }
#enquiry-form .form-result { overflow-wrap:anywhere; }
.approach-founder .approach-image img{height:auto;object-fit:contain}
.approach-founder .approach-grid{align-items:start}
.approach-founder .founder-approved-copy p{color:#d6dfd4;max-width:55ch;margin-bottom:var(--space-5);line-height:1.65}
.approach-founder .founder-approved-copy p:last-child{margin-bottom:0}
