/* Pristine experience system. Content stays visible without script or motion. */
:root{--paper:#f7f8f5;--ink:#142d2b;--ink-2:#415651;--line:#dce3d9;--reading:65ch;--premium-surface:#fff;--premium-soft:#edf1e8;--premium-focus:#315d28;--premium-radius:18px;--premium-ease:cubic-bezier(.2,.7,.25,1)}
html{scroll-padding-top:112px;scroll-behavior:smooth}
body{background:var(--paper);-webkit-font-smoothing:antialiased}
main{min-width:0}
h1,h2,h3{text-wrap:balance}
p,li{overflow-wrap:break-word}
p{text-wrap:pretty}
button,input,select,textarea{font:inherit}
.wrap{max-width:1320px}
.nav{background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 4px 24px #142d2b05;z-index:50}
.nav-in{height:88px;gap:1.3rem}
.nav .mark{flex-shrink:0}
.nav .mark b{letter-spacing:-.04em}
.nav-links{gap:1.15rem}
.nav-links a,.nav-phone{display:inline-flex;align-items:center;min-height:44px;border-radius:7px;text-decoration:none}
.nav-links a{font-size:.77rem;font-weight:500;color:var(--ink)}
.nav-links a:hover,.nav-links a[aria-current]{color:#315d28;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.nav-links a[aria-current]{font-weight:650}
.nav-actions .btn{min-height:46px;padding:.72rem 1.1rem;font-size:.78rem}
.nav-phone{font-size:.78rem;padding-inline:.35rem}
.menu>summary{min-height:46px;display:flex;align-items:center;border-radius:9px;padding:.65rem 1rem}
.menu-panel{top:88px;border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;box-shadow:0 18px 36px #142d2b12;background:#fff;max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain}
.menu-panel nav a{display:block;min-height:44px;padding-block:.8rem}
.menu-panel a[aria-current]{background:var(--premium-soft);color:#315d28;border-radius:8px}
.menu[open]>summary{background:var(--premium-soft);border-color:#839a79}
.btn{border-radius:9px;min-height:50px;padding:.9rem 1.25rem;font-size:.86rem;line-height:1.4;font-weight:600;letter-spacing:-.012em;transition:transform 160ms var(--premium-ease),background-color 160ms var(--premium-ease),box-shadow 160ms var(--premium-ease),border-color 160ms var(--premium-ease)}
.btn-signal{background:var(--green);color:#142d2b;border-color:transparent;box-shadow:0 3px 0 #142d2b0a}
.btn-ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-line-ink{background:transparent;color:var(--ink);border-color:#b7c5b2}
.btn-line{border-color:#ffffff75;color:#fff;background:#ffffff06}
.btn[disabled],.btn:disabled{cursor:wait;opacity:.65;transform:none;box-shadow:none}
.btn:active:not(:disabled){transform:scale(.985)}
.text-link,.prose a:not(.btn),.reading-help a:not(.btn){text-decoration-thickness:1px;text-underline-offset:5px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--premium-focus);outline-offset:4px}
.hero a:focus-visible,.close a:focus-visible,.foot a:focus-visible{outline-color:#b6e38c}
.skip,.skip-link{z-index:100}
.hero{margin:18px clamp(12px,1.8vw,28px) 0;border-radius:24px;overflow:hidden;min-height:660px}
.hero .hero-body{padding-block:clamp(4rem,7vw,7rem);position:relative}
.hero h1,.hero .display{font-size:clamp(2.3rem,4.55vw,4.6rem);font-weight:700;letter-spacing:-.047em;line-height:1.07;max-width:21ch}
.hero .lede{font-size:1.06rem;line-height:1.8;max-width:57ch;color:#edf2ed}
.hero-label{font-size:.71rem;letter-spacing:.11em;font-weight:600}
.hero-tag{top:1.5rem;right:1.6rem;border-radius:12px;border:1px solid #ffffff30;background:#142d2bc9;padding:.85rem 1.1rem}
.hero-tag strong{font-weight:500;letter-spacing:.01em}
.hero-credit{right:1.6rem;bottom:1rem;max-width:50ch;line-height:1.5}
.hero-actions,.utility-cta{gap:.75rem}
.hero-secondary{gap:1.3rem;margin-top:1.5rem}
.hero-link{font-size:.88rem;font-weight:500}
.page-crumbs{padding-block:1.15rem;color:#52675b;font-size:.72rem}
.page-crumbs a{min-height:30px;display:inline-flex;align-items:center}
.page-crumbs li:last-child{color:#41564b}
.service-intro,.page-intro,.page-head,.eot-hero{background:var(--premium-soft);border-block:1px solid var(--line)}
.service-intro-grid,.eot-hero-grid{gap:clamp(2rem,5.3vw,5rem);padding-block:clamp(3rem,5.6vw,5.5rem);align-items:center}
.service-intro h1,.page-intro h1,.page-head h1,.eot-hero h1,.quote-shell h1{font-size:clamp(2.25rem,3.9vw,4.2rem);font-weight:700;line-height:1.08;letter-spacing:-.043em;max-width:23ch}
.page-intro,.page-head{padding-block:clamp(3rem,5.6vw,5.5rem)}
.eyebrow,.service-intro .eyebrow,.page-intro .eyebrow,.page-head .eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.11em}
.intro-answer,.page-intro .lede-dark,.page-head .lede-dark,.eot-lead{font-size:1.04rem;line-height:1.85;max-width:58ch;color:#3d5549;margin-top:1.5rem}
.intro-split{gap:clamp(2rem,5.3vw,5rem)}
.intro-photo img,.intro-figure img,.eot-hero img{border-radius:var(--premium-radius);border:1px solid #142d2b0b;box-shadow:0 12px 36px #142d2b09}
.service-intro .intro-photo.area-illustration img{aspect-ratio:3/2;object-fit:contain;background:#f2f0e8}
.service-intro .intro-photo.local-view img{aspect-ratio:auto;object-fit:contain}
.intro-photo figcaption,.intro-figure figcaption,.body-figure figcaption,.eot-hero figcaption{font-size:.72rem;line-height:1.65;color:#52634f;padding-top:.85rem}
.local-credit{font-size:.69rem;line-height:1.65}
.intro-illustration img{box-shadow:none;border:0}
.body-figure img,.side-fig img{border-radius:14px}
.page-contents{background:var(--paper);border-bottom:1px solid var(--line);padding-block:1.3rem}
.page-contents>.wrap{gap:1.4rem}
.page-contents> .wrap>span{color:#50634b;font-size:.7rem;font-weight:600;letter-spacing:.04em}
.page-contents a{font-size:.76rem;line-height:1.5;text-decoration:none;border-bottom:1px solid transparent;padding-block:.35rem}
.page-contents a:hover{border-bottom-color:#839a79}
.sec{padding-block:clamp(3.3rem,6vw,6rem)}
.sec-head{margin-bottom:2.6rem}
.sec-head h2,.close h2{font-weight:650;letter-spacing:-.035em;line-height:1.14}
.sec-head p{line-height:1.8;max-width:62ch}
.reading-section{padding-top:clamp(3rem,5vw,5rem)}
.reading-grid,.article-grid{gap:clamp(2rem,5.4vw,5rem)}
.prose{max-width:var(--reading)}
.prose p,.prose li{font-size:1rem;line-height:1.9;color:#354e43}
.article-body h2{font-size:clamp(1.75rem,2.6vw,2.45rem);font-weight:650;line-height:1.19;letter-spacing:-.03em;margin-bottom:1.2rem;scroll-margin-top:112px}
.article-body h3{font-weight:600;line-height:1.35;letter-spacing:-.015em}
.article-body section+section{margin-top:3.6rem;padding-top:.25rem}
.prose p+p{margin-top:1.15rem}
.reading-help{background:#edf1e8;border:1px solid #dce5d5;border-radius:18px;padding:1.8rem;box-shadow:none}
.reading-help h2{font-weight:650;letter-spacing:-.03em;line-height:1.16}
.reading-help p,.reading-help li{line-height:1.8}
.reading-help .btn{min-height:48px}
.next-links>a{padding-block:1.1rem;gap:1rem;line-height:1.5}
.next-links>a>span:last-child{font-size:1rem;color:#426439}
.data-table-wrap{border:1px solid var(--line);border-radius:12px;overflow-x:auto;background:#fff;scrollbar-color:#8ca77e #edf1e8}
.data-table{margin:0;border:0;font-variant-numeric:tabular-nums}
.data-table th{background:#e8eedf;color:#1f3b2c;font-weight:600;font-size:.79rem;line-height:1.6;padding:1.15rem}
.data-table td{padding:1.15rem;font-size:.86rem;line-height:1.8;border-bottom-color:#e6ebe1}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:nth-child(even){background:#fafbf8}
.prose details{border:1px solid var(--line);border-radius:12px;background:#fff;margin-block:.8rem;padding:0 1.25rem}
.prose details summary{padding-block:1.25rem;min-height:52px;font-weight:600;line-height:1.6}
.prose details[open]{background:#f2f5ed;border-color:#b1c2a5}
.prose details[open] summary{border-bottom:1px solid var(--line);margin-bottom:1rem}
.prose details>p:last-child{padding-bottom:1.2rem}
.blog-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.blog-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:none}
.blog-card-text{padding:1.7rem 1.7rem 1.8rem}
.blog-card h2{font-size:1.48rem;line-height:1.3;font-weight:650}
.blog-card-photo img{aspect-ratio:16/10}
.blog-card:focus-within{outline:3px solid var(--premium-focus);outline-offset:4px}
.blog-pagination a{border-radius:8px;min-height:44px;min-width:44px}
.quote-shell{padding-block:clamp(3rem,5vw,5rem)}
.quote-grid{gap:clamp(2rem,5vw,5rem)}
.form-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(1.25rem,3vw,2.5rem);box-shadow:0 10px 36px #142d2b05}
.qform legend{font-size:.85rem;font-weight:650;color:#315d28;letter-spacing:.015em;padding-bottom:.8rem}
.qform .lb{font-size:.82rem;line-height:1.6;font-weight:500}
.qform .in{min-height:50px;border:1px solid #b2c1ad;border-radius:8px;background:#fcfdfb;color:var(--ink);padding:.85rem 1rem;font-size:16px;line-height:1.5;box-shadow:none}
.qform textarea.in{min-height:150px;resize:vertical}
.qform .in:focus-visible{border-color:#315d28;background:#fff}
.qform .in:disabled{background:#eef2e9;color:#52634f;cursor:default}
.qform button[type=submit]{min-height:52px}
#form-status{border-radius:10px;line-height:1.75}
#form-status[data-state=error]{background:#fff2ee;color:#793329;border:1px solid #d9aaa0;padding:1rem}
#form-status[data-state=success]{background:#eef5e7;color:#284823;border:1px solid #a7bc96;padding:1rem}
.filter-control input,.filter-control select{min-height:48px;font-size:16px;border-radius:9px}
.filter-status{line-height:1.7;color:#52634f}
.contact-start{padding-block:1.4rem;margin-block:1.3rem;border-block:1px solid var(--line)}
.contact-start .caption,.survey-expectation,.required-note{line-height:1.75;color:#52634f}
.trustbar{border-bottom:1px solid var(--line)}
.resource-band,.related-strip,.blog-guides,.local-hub-link{background:#eef2e9;border-color:var(--line)}
.sector-row{padding-block:1.6rem;align-items:center}
.sector-row h2{font-weight:600;letter-spacing:-.02em}
.local-scope-row,.local-steps>li{padding-block:1.6rem}
.close{border-radius:24px 24px 0 0;background:#142d2b;padding-block:clamp(3.5rem,6vw,6rem)}
.close p{line-height:1.85}
.foot{background:#142d2b;border-top:1px solid #ffffff1c}
.foot-grid{gap:2.5rem}
.foot a{line-height:1.8;text-underline-offset:5px}
.foot-meta{border-top-color:#ffffff26;padding-top:1.5rem}
.mobile-contact{background:#f7f8f5f5;border-top:1px solid #d8e2d0;box-shadow:0 -6px 24px #142d2b08;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
.mobile-contact .btn{min-height:48px;border-radius:9px;font-size:.77rem;line-height:1.4;padding:.65rem .8rem}
.analytics-panel{border-radius:16px;border-color:var(--line);box-shadow:0 12px 48px #142d2b18}
@supports(backdrop-filter:blur(16px)){.nav{background:#f7f8f5f2;backdrop-filter:blur(16px)}}
@media(hover:hover) and (pointer:fine){.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #142d2b13}.btn-signal:hover{background:#a4d66a}.btn-line-ink:hover{background:#e7edde;border-color:#839a79}.btn-ink:hover{background:#284a3b}.next-links>a:hover{background:#eaf0e3}.blog-card:hover{border-color:#a8bc9a}}
@media(max-width:1250px){.nav-in{height:82px}.menu-panel{top:82px}.nav-actions>.whatsapp-primary{font-size:.77rem}}
@media(max-width:960px){.reading-grid,.article-grid{gap:2rem}.blog-card-text{padding:1.4rem}.hero-tag{display:none}.page-intro .lede-dark{max-width:60ch}}
@media(max-width:720px){html{scroll-padding-top:94px}.nav-in{height:74px}.menu-panel{top:74px;max-height:calc(100dvh - 84px);border-radius:0 0 14px 14px}.nav .mark b{font-size:1.05rem}.nav .mark span{font-size:.52rem}.menu>summary{min-height:44px}.hero{margin:10px 10px 0;border-radius:18px;min-height:0}.hero .hero-body{padding-block:3rem 4rem}.hero h1,.hero .display{font-size:clamp(2rem,8.6vw,2.6rem);line-height:1.1}.hero .lede{font-size:.96rem;line-height:1.8}.hero-label{font-size:.63rem;line-height:1.7}.hero-credit{font-size:.62rem;right:1rem;bottom:.7rem;left:1rem;text-align:left}.hero-actions .btn{width:100%;justify-content:center}.hero-secondary{gap:.9rem}.hero-secondary a{min-height:40px;display:flex;align-items:center}.page-crumbs{font-size:.68rem;padding-block:.85rem}.service-intro-grid,.eot-hero-grid{padding-block:2.8rem;gap:2.4rem}.service-intro h1,.page-intro h1,.page-head h1,.eot-hero h1,.quote-shell h1{font-size:clamp(2.1rem,8.4vw,2.75rem);line-height:1.1}.service-intro .eyebrow,.page-intro .eyebrow,.page-head .eyebrow{font-size:.66rem;line-height:1.7}.intro-answer,.page-intro .lede-dark,.page-head .lede-dark,.eot-lead{font-size:1rem;line-height:1.85}.intro-photo img,.intro-figure img,.eot-hero img{border-radius:14px}.intro-photo figcaption,.intro-figure figcaption,.body-figure figcaption{font-size:.69rem}.local-credit{font-size:.66rem}.page-intro,.page-head{padding-block:2.8rem}.page-contents{padding-block:1rem}.page-contents a{font-size:.75rem;min-height:44px;display:inline-flex;align-items:center}.sec{padding-block:3.2rem}.article-body h2{font-size:1.8rem;line-height:1.24;scroll-margin-top:94px}.article-body section+section{margin-top:2.8rem}.prose p,.prose li{font-size:.97rem;line-height:1.9}.reading-help{padding:1.5rem;border-radius:14px}.blog-list{grid-template-columns:1fr;gap:1.6rem}.blog-card h2{font-size:1.35rem}.data-table td,.data-table th{padding:1rem;font-size:.8rem}.form-panel{padding:1.2rem;border-radius:14px}.quote-shell{padding-block:2.8rem}.btn{min-height:49px;font-size:.81rem;padding:.9rem 1.15rem}.close{border-radius:18px 18px 0 0}.foot-grid{gap:2rem}.local-scope-row{padding-block:1.4rem}.mobile-contact .btn{min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:hover,.btn:active{transform:none!important}}
@media(prefers-reduced-transparency:reduce){.nav,.mobile-contact{background:var(--paper);backdrop-filter:none}}
@media print{html{scroll-behavior:auto}.nav,.mobile-contact,.page-contents,.reading-side{display:none!important}.hero{margin:0;border-radius:0;min-height:0}.form-panel,.reading-help,.data-table-wrap{box-shadow:none;border-radius:0}.service-intro,.page-intro,.eot-hero,.sec{background:#fff;border:0;padding-block:1rem}.reading-grid,.article-grid{display:block}.prose{max-width:none}.close{display:none}.data-table-wrap{overflow:visible}.data-table th{color:#111;background:#eee}}

/* Applied UX examples: visible boundaries, contextual disclosure and connected sections. */
.btn-line-ink{border-color:#71866c}.btn-signal{border:1px solid #557a2b;box-shadow:inset 0 1px 0 #ffffff66,0 3px 8px #142d2b0b}
.qform .in{border-color:#71866c}.qform .enquiry-details{border:1px solid var(--line);border-radius:12px;padding:0 1.1rem;margin:1.4rem 0 1.8rem;background:#f4f7ef}
.qform .enquiry-details>summary{cursor:pointer;min-height:52px;padding:1rem 0;font-size:.83rem;font-weight:600;line-height:1.6;color:#315d28}
.qform .enquiry-details[open]>summary{margin-bottom:1rem;border-bottom:1px solid var(--line)}
.qform .enquiry-details>label:last-child{margin-bottom:1.2rem}.qform .enquiry-reassurance{font-size:.81rem;line-height:1.75;color:#415651;margin:.85rem 0 1rem;max-width:54ch}
@media(max-width:720px){.page-contents>.wrap{display:block;min-width:0}.page-contents ol{display:flex;flex-wrap:nowrap;gap:.55rem;overflow-x:auto;max-width:100%;min-width:0;margin-top:.65rem;padding-bottom:.4rem;padding-right:1rem;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#829b74 #edf1e8}.page-contents li{flex:0 0 auto;scroll-snap-align:start}.page-contents a{white-space:nowrap;border:1px solid #a7b89c;border-radius:9px;padding:.65rem .9rem;min-height:44px;background:#fff}.qform .enquiry-details{padding-inline:1rem}.qform .enquiry-details>summary{font-size:.8rem}}
@media print{.page-contents{display:none!important}.qform .enquiry-details{border:0;background:#fff}}

/* Review candidate: consistent, accessible enquiry actions. */
.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;line-height:1.35;text-align:center;text-decoration:none;touch-action:manipulation}
.btn:focus-visible,button:focus-visible{outline:3px solid #315d28;outline-offset:4px}
.btn:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 1px 3px #142d2b26}
.btn:disabled{opacity:.65;transform:none;cursor:default}
form[aria-busy=true] button[type=submit]{cursor:progress}
.form-status[data-state=success]{border-left:4px solid #315d28;background:#edf4e9;padding:1rem}
.form-status[data-state=error]{border-left:4px solid #9b392e;background:#fff4f1;padding:1rem}
.form-status .btn{margin-top:1rem}
.inline-form-actions{gap:.75rem}
input,select,textarea{scroll-margin-top:130px}
@media(max-width:600px){.contact-pair,.utility-cta,.hero-actions{gap:.75rem}.contact-pair .btn,.utility-cta .btn{flex:1 1 100%}.inline-form-actions .btn{min-height:52px}.mobile-contact a{min-height:48px}body{scroll-padding-bottom:110px}.form-status{overflow-wrap:anywhere}}

.btn[hidden]{display:none!important}

.local-area-photo img{width:100%;height:auto;max-height:520px;object-fit:contain;background:#edf1e8}.local-area-photo .local-credit{display:block;font-size:.76rem;line-height:1.65;margin-top:.4rem;overflow-wrap:anywhere}
