@font-face{font-family:'Figtree';src:url('/assets/fonts/figtree-variable.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
:root{--forest:#00543D;--forest-deep:#003D2C;--leaf:#00BF68;--mint:#A6E8C4;--stone:#F1ECE2;--paper:#FAF8F3;--ink:#13251E;--muted:#475B53;--rule:rgb(0 84 61/16%);--rule-dark:rgb(255 255 255/22%);--font:'Figtree','Segoe UI','Helvetica Neue',Arial,sans-serif;--max:80rem;--gutter:clamp(1.25rem,5vw,4rem);--ease:cubic-bezier(.2,.7,.2,1);--radius:.5rem}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:400;font-size:1.125rem;line-height:1.7;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
p{margin:0 0 1rem}
h1,h2,h3{margin:0;font-weight:500;line-height:1.12;letter-spacing:-.015em;text-wrap:balance}
ul,ol{padding:0}
:focus-visible{outline:3px solid var(--forest);outline-offset:3px;border-radius:2px}
.tone-dark :focus-visible,.hero :focus-visible{outline-color:#fff}
.skip-link{position:absolute;left:1rem;top:1rem;z-index:100;padding:.7rem 1rem;background:var(--forest);color:#fff;font-weight:600;border-radius:var(--radius);transform:translateY(-250%)}
.skip-link:focus{transform:none}
.container{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.tone-dark{background:var(--forest-deep);color:#fff}

/* Header */
.site-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid var(--rule)}
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 2rem;min-height:5rem;padding-block:.75rem}
.brand{display:inline-flex;align-items:center;flex:none;padding:.25rem 0}
.brand img{width:auto;height:2.75rem}
.site-nav>ul{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem 2rem;list-style:none;margin:0}
.site-nav a:not(.button){display:inline-block;padding:.5rem 0;font-weight:500;font-size:.97rem;text-decoration:none}
.site-nav a:not(.button):hover{text-decoration:underline;text-decoration-color:var(--leaf);text-decoration-thickness:2px}
.site-nav a[aria-current='page']:not(.button){box-shadow:inset 0 -2px var(--leaf)}
.has-sub{position:relative}
.nav-parent{display:flex;align-items:center;gap:.15rem}
.sub-toggle{display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:0;background:transparent;color:var(--forest);cursor:pointer}
.sub-toggle span{width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;rotate:45deg;translate:0 -.1rem}
.sub-toggle[aria-expanded='true'] span{rotate:225deg;translate:0 .1rem}
.js-ready .sub-toggle{display:inline-flex}
.sub{display:none;position:absolute;left:-1.1rem;top:100%;z-index:30;min-width:16.5rem;margin:0;padding:.5rem 0;list-style:none;background:#fff;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 1.25rem 2.5rem rgb(0 40 28/12%)}
.has-sub:hover>.sub,.has-sub:focus-within>.sub{display:block}
.js-ready .has-sub>.sub{display:none}
.js-ready .has-sub.is-expanded>.sub{display:block}
.site-nav .sub a{display:block;padding:.55rem 1.1rem}
.nav-toggle{display:none;align-items:center;gap:.6rem;min-height:2.75rem;padding:.5rem .9rem;background:#fff;color:var(--ink);border:1px solid rgb(0 84 61/45%);border-radius:var(--radius);font:600 .95rem var(--font);cursor:pointer}
.nav-toggle-bars{position:relative;width:1.1rem;height:.75rem;border-block:2px solid currentColor}
.nav-toggle-bars::after{content:'';position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor}
@media (max-width:68rem){
.js-ready .nav-toggle{display:inline-flex}
.js-ready .site-nav{display:none;flex-basis:100%}
.js-ready .site-nav.is-open{display:block}
.site-nav{flex-basis:100%}
.site-nav>ul{flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 1.25rem;border-top:1px solid var(--rule)}
.site-nav>ul>li{border-bottom:1px solid var(--rule)}
.site-nav a:not(.button){display:block;padding:.8rem 0}
.sub{display:block;position:static;min-width:0;padding:0 0 .6rem 1rem;border:0;box-shadow:none;background:none}
.site-nav .sub a{padding:.5rem 0;font-size:.93rem;color:var(--muted)}
.site-nav>ul>li.nav-cta{border-bottom:0;padding-top:1rem}
.nav-cta .button{width:100%}
}

/* Buttons and links */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.8rem 1.5rem;border:1px solid var(--forest);border-radius:var(--radius);background:var(--forest);color:#fff;font:600 .95rem/1.2 var(--font);letter-spacing:.01em;text-decoration:none;text-align:center;cursor:pointer;transition:background-color .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}
.button:hover{background:var(--forest-deep);border-color:var(--forest-deep)}
.button-light{background:#fff;border-color:#fff;color:var(--forest)}
.button-light:hover{background:var(--stone);border-color:var(--stone);color:var(--forest-deep)}
.site-nav .button{min-height:2.75rem;padding:.6rem 1.15rem}
.text-link{font-weight:600;text-decoration:underline;text-decoration-color:var(--leaf);text-decoration-thickness:2px;text-underline-offset:.35em}
.text-link:hover{text-decoration-color:currentColor}
.tone-dark .text-link,.hero .text-link{color:#fff}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:2rem}

/* Type */
.eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 1.25rem;font-size:.78rem;font-weight:600;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--forest)}
.eyebrow::before{content:'';flex:none;width:1.75rem;height:2px;background:var(--leaf)}
.tone-dark .eyebrow,.hero .eyebrow{color:var(--mint)}
.display{font-size:clamp(2.4rem,5.2vw,4.5rem);font-weight:500;line-height:1.05;letter-spacing:-.025em;max-width:16ch}
.headline{font-size:clamp(1.85rem,3.3vw,2.9rem);max-width:20ch}
.headline.small{font-size:clamp(1.5rem,2.4vw,2rem)}
.lede{max-width:38rem;margin:1.5rem 0 0;font-size:clamp(1.08rem,1.5vw,1.25rem);line-height:1.6;color:var(--muted)}
.tone-dark .lede,.hero .lede{color:rgb(255 255 255/90%)}
.section{padding-block:clamp(4.5rem,9vw,8rem)}
.tint{background:var(--stone)}

/* Home hero */
.hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(34rem,86svh,54rem);overflow:hidden;background:var(--forest-deep);color:#fff}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgb(0 32 23/72%) 0%,rgb(0 32 23/35%) 45%,rgb(0 32 23/0%) 75%),linear-gradient(0deg,rgb(0 32 23/90%) 0%,rgb(0 32 23/40%) 42%,rgb(0 32 23/0%) 72%)}
.hero-inner{padding-block:8rem clamp(3.5rem,7vw,6rem)}
.hero-copy{max-width:44rem}
.hero .display{max-width:15ch}
@media (max-width:40rem){.hero::after{background:linear-gradient(0deg,rgb(0 32 23/94%) 0%,rgb(0 32 23/72%) 52%,rgb(0 32 23/15%) 88%)}.hero-inner{padding-top:5.5rem}}

/* Positioning */
.intro-grid,.journey-grid,.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.statement{max-width:40rem;margin-bottom:1.5rem;font-size:clamp(1.3rem,2.3vw,1.8rem);line-height:1.45}
.intro-body>p{max-width:40rem}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:3rem 0 0;padding-top:2rem;border-top:1px solid var(--rule)}
.facts dt{font-size:clamp(1.55rem,2.5vw,2.1rem);font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--forest)}
.facts dd{margin:.5rem 0 0;max-width:22ch;font-size:.97rem;color:var(--muted)}
.journey-note{margin-top:1.25rem;max-width:26rem;color:var(--muted)}
@media (max-width:56rem){.intro-grid,.journey-grid,.split{grid-template-columns:1fr}}
@media (max-width:40rem){.facts{grid-template-columns:1fr;gap:1.25rem}}

/* Section head */
.section-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:1.5rem 4rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.section-head>p{margin:0;max-width:30rem;color:var(--muted)}
@media (max-width:48rem){.section-head{grid-template-columns:1fr}}

/* Service entry points */
.entry-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem)}
.entry{display:block;color:inherit;text-decoration:none}
.entry h3{font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:500}
.entry p{margin:.5rem 0 0;max-width:32rem;color:var(--muted)}
.entry:hover h3{text-decoration:underline;text-decoration-color:var(--leaf);text-decoration-thickness:2px;text-underline-offset:.2em}
.entry-feature{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--rule);border-radius:var(--radius)}
.entry-media{display:block;aspect-ratio:16/10;overflow:hidden}
.entry-media img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.entry-feature:hover .entry-media img{scale:1.04}
.entry-body{display:block;padding:clamp(1.5rem,3vw,2.25rem)}
.entry-kicker{display:block;margin-bottom:.6rem;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--forest)}
.entry-list{display:flex;flex-direction:column;list-style:none;margin:0;border-top:1px solid var(--rule)}
.entry-list li{flex:1;border-bottom:1px solid var(--rule)}
.entry-list .entry{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;padding:1.75rem 3rem 1.75rem 0}
.entry-list .entry::after{content:'';position:absolute;right:.6rem;top:50%;width:.65rem;height:.65rem;border-top:2px solid var(--forest);border-right:2px solid var(--forest);transform:translateY(-50%) rotate(45deg);transition:right .3s var(--ease)}
.entry-list .entry:hover::after{right:.15rem}
@media (max-width:56rem){.entry-grid{grid-template-columns:1fr}}

/* Facility band */
.facility-band{padding-block:clamp(4.5rem,9vw,7.5rem);background:var(--forest)}
.facility-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:end;gap:2rem clamp(2rem,7vw,7rem)}
.facility-grid p{max-width:34rem;font-size:1.12rem;color:rgb(255 255 255/90%)}
@media (max-width:56rem){.facility-grid{grid-template-columns:1fr}}

/* Steps */
.steps{display:grid;list-style:none;margin:0}
.steps li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:0 1rem;padding:1.75rem 0;border-top:1px solid var(--rule)}
.steps li:last-child{border-bottom:1px solid var(--rule)}
.step-num{grid-row:span 2;font-size:1.1rem;font-weight:500;color:var(--forest);font-variant-numeric:tabular-nums}
.steps h3{font-size:1.3rem;font-weight:600}
.steps p{margin:.4rem 0 0;max-width:36rem;color:var(--muted)}
@media (max-width:30rem){.steps li{grid-template-columns:3rem minmax(0,1fr)}}

/* Closing */
.closing{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(5rem,11vw,9rem)}
.closing-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.closing-media img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:50% 90%}
.closing::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgb(0 40 29/95%) 0%,rgb(0 40 29/84%) 50%,rgb(0 40 29/58%) 100%)}
.closing .headline{max-width:18ch}
.closing p{max-width:34rem;margin-top:1.25rem;color:rgb(255 255 255/90%)}
.division-note{margin-top:3rem!important;padding-top:1.25rem;border-top:1px solid var(--rule-dark);font-size:.95rem}
@media (max-width:40rem){.closing::after{background:rgb(0 40 29/90%)}}

/* Inner page hero */
.lead-hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(3.5rem,7vw,6rem);background:var(--stone)}
.lead-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(2rem,6vw,6rem)}
.lead-hero .display{max-width:17ch;font-size:clamp(2.2rem,4.3vw,3.8rem)}
.lead-media{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius);background:var(--forest)}
.lead-media img{width:100%;height:100%;object-fit:cover}
.crumbs{margin:0 0 2rem;font-size:.9rem;color:var(--muted)}
.crumbs a{font-weight:500;color:var(--forest)}
.crop-a{object-position:15% 70%}
.crop-b{object-position:85% 45%}
.crop-c{object-position:50% 100%;scale:1.3;transform-origin:50% 100%}
.crop-d{object-position:30% 20%;scale:1.25;transform-origin:30% 20%}
.crop-e{object-position:65% 75%}
.crop-f{object-position:0% 50%}
@media (max-width:56rem){.lead-grid{grid-template-columns:1fr}.lead-media{aspect-ratio:16/9}}
@media (max-width:48rem){.compact .lead-media{display:none}}

/* Content blocks */
.split+.split{margin-top:clamp(3.5rem,7vw,6rem);padding-top:clamp(3.5rem,7vw,6rem);border-top:1px solid var(--rule)}
.prose{max-width:42rem}
.prose>p:first-child{font-size:1.2rem;line-height:1.6}
.prose a,.legal-body a{font-weight:500;color:var(--forest)}
.checklist{display:grid;list-style:none;margin:1.75rem 0 0;border-top:1px solid var(--rule)}
.checklist li{position:relative;padding:.9rem 0 .9rem 2rem;border-bottom:1px solid var(--rule)}
.checklist li::before{content:'';position:absolute;left:0;top:1.7rem;width:1rem;height:2px;background:var(--leaf)}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;list-style:none;margin:2rem 0 0}
.related a{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.5rem;background:#fff;border:1px solid var(--rule);border-radius:var(--radius);text-decoration:none;transition:border-color .25s var(--ease)}
.related a:hover{border-color:var(--forest)}
.related strong{font-size:1.1rem;font-weight:600}
.related span{font-size:.95rem;color:var(--muted)}
.service-rows{list-style:none;margin:0;border-top:1px solid var(--rule)}
.service-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:baseline;gap:.75rem 3rem;padding:2rem 0;border-bottom:1px solid var(--rule);scroll-margin-top:1rem}
.service-row h3{font-size:clamp(1.4rem,2.2vw,1.9rem)}
.service-row h3 a{text-decoration:none}
.service-row h3 a::after{content:'';display:inline-block;width:.55rem;height:.55rem;margin-left:.8rem;border-top:2px solid var(--leaf);border-right:2px solid var(--leaf);transform:translateY(-.15rem) rotate(45deg)}
.service-row h3 a:hover{text-decoration:underline;text-decoration-color:var(--leaf);text-decoration-thickness:2px}
.service-row p{margin:0;color:var(--muted)}
.arbor-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;margin:1.5rem 0 2rem}
.arbor-topic-grid section{min-width:0;padding-top:1rem;border-top:1px solid var(--rule)}
.arbor-topic-grid h4{font-size:1.08rem;line-height:1.4;margin:0 0 .5rem}
.arbor-topic-grid p{font-size:.98rem}
@media(max-width:36rem){.arbor-topic-grid{grid-template-columns:1fr}}
.arbor-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:1rem;align-items:start;margin:1.5rem 0 0}
.arbor-gallery .client-photo{max-width:none;justify-self:stretch}
.facility-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,5rem);list-style:none;margin:0}
.facility-list li{padding:2rem 0;border-top:1px solid var(--rule)}
.facility-list h3{font-size:clamp(1.25rem,1.8vw,1.5rem)}
.facility-list p{margin:.6rem 0 0;max-width:32rem;color:var(--muted)}
@media (max-width:48rem){.service-row,.facility-list{grid-template-columns:1fr}}

/* Simple hero (legal, journal, 404) */
.page-hero{padding-block:clamp(3.5rem,8vw,6.5rem)}
.page-hero.tone-dark{background:var(--forest)}
.page-hero .display{max-width:18ch;font-size:clamp(2.2rem,4.6vw,3.8rem)}

/* Contact */
.contact-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(2rem,6vw,6rem)}
.mini-steps{list-style:none;margin:1.5rem 0 2.5rem;border-top:1px solid var(--rule);counter-reset:step}
.mini-steps li{position:relative;padding:1.1rem 0 1.1rem 3rem;border-bottom:1px solid var(--rule);counter-increment:step}
.mini-steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:1.1rem;font-weight:500;color:var(--forest)}
.aside-note{padding-top:.5rem}
.form-card{padding:clamp(1.5rem,4vw,3rem);background:#fff;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 1.5rem 3rem rgb(0 40 28/6%)}
.form-card h2{margin:0 0 1.5rem;font-size:1.6rem;font-weight:500}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.2rem}
label,legend{font-weight:600;font-size:.95rem}
.req{font-weight:400;color:var(--muted)}
.hint{margin:0;font-size:.88rem;color:var(--muted)}
input,select,textarea{width:100%;min-height:3rem;padding:.75rem .85rem;font:inherit;color:var(--ink);background:#fff;border:1px solid #6E857C;border-radius:.35rem}
textarea{resize:vertical}
.checks{margin:0 0 1.2rem;padding:0;border:0}
.checks legend{margin-bottom:.7rem;padding:0}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1.2rem}
.check{display:flex;align-items:flex-start;gap:.6rem;min-height:2rem;font-weight:400}
.check input{flex:none;width:1.15rem;height:1.15rem;min-height:0;margin:.3rem 0 0;padding:0;accent-color:var(--forest)}
.form-note{font-size:.9rem;color:var(--muted)}
.form-note a{color:var(--forest)}
.form-status{margin:1.2rem 0 0;padding:1rem 1.1rem;background:var(--paper);border-left:4px solid var(--forest);font-weight:500}
.form-status:empty{display:none}
@media (max-width:56rem){.contact-layout{grid-template-columns:1fr}}
@media (max-width:36rem){.field-row,.check-grid{grid-template-columns:1fr}}

/* Legal */
.legal-body{max-width:46rem;padding-block:clamp(3rem,7vw,5.5rem)}
.legal-body h2{margin:2.6rem 0 .7rem;font-size:1.4rem;font-weight:600;line-height:1.25;color:var(--forest);scroll-margin-top:1.5rem}
.legal-body h2:first-child{margin-top:0}
.legal-body ul{padding-left:1.3rem}
.legal-body li{margin-bottom:.4rem}
.legal-meta{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--rule);font-size:.92rem;color:var(--muted)}
.info-list{display:grid;grid-template-columns:minmax(9rem,13rem) minmax(0,1fr);margin:0 0 2rem;border-top:1px solid var(--rule)}
.info-list dt,.info-list dd{margin:0;padding:.85rem 0;border-bottom:1px solid var(--rule)}
.info-list dt{padding-right:1rem;font-weight:600;color:var(--forest)}
@media (max-width:36rem){.info-list{grid-template-columns:1fr}.info-list dt{padding-bottom:0;border-bottom:0}}

/* Journal */
.blog-main{padding-bottom:clamp(3rem,7vw,6rem)}
.blog-main>*:not(.page-hero){width:min(100% - 2*var(--gutter),48rem);margin-inline:auto}
.blog-main h2{margin:2.5rem 0 .8rem;font-size:clamp(1.6rem,3vw,2.1rem);color:var(--ink)}
.blog-main h3{margin:2rem 0 .6rem;font-size:1.3rem;font-weight:600;color:var(--forest)}
.blog-main article{padding-block:2rem;border-bottom:1px solid var(--rule)}
.blog-main a{font-weight:500;color:var(--forest)}
.blog-main img{margin-block:1.5rem;border-radius:var(--radius)}
.blog-main blockquote{margin:1.5rem 0;padding-left:1.2rem;border-left:3px solid var(--leaf);font-size:1.15rem}
.blog-empty{margin-top:clamp(2.5rem,6vw,4rem)!important;padding:2.5rem 1.5rem;text-align:center;font-size:1.1rem;color:var(--muted);background:#fff;border:1px solid var(--rule);border-radius:var(--radius)}

/* Footer */
.site-footer{padding-block:clamp(3.5rem,6vw,5rem) 1.5rem}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:2.5rem 3rem}
.brand-plate{padding:.85rem 1.1rem;background:#fff;border-radius:var(--radius)}
.brand-plate img{height:2.5rem}
.footer-brand p{max-width:26rem;margin:1.25rem 0 0;color:rgb(255 255 255/82%)}
.footer-head{margin:0 0 .9rem;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
.site-footer ul{display:grid;gap:.2rem;list-style:none;margin:0}
.site-footer ul a{display:inline-block;padding:.25rem 0;text-decoration:none;color:rgb(255 255 255/92%)}
.site-footer ul a:hover{text-decoration:underline}
.footer-base{margin-top:3rem;padding-top:1.3rem;border-top:1px solid var(--rule-dark);font-size:.88rem;color:rgb(255 255 255/78%)}
.footer-base p{margin:0}
@media (max-width:48rem){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media (max-width:26rem){.footer-grid{grid-template-columns:1fr}}

/* Revision 2026-09-29: partner strip, wide figures, credential note */
.partner{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;max-width:36rem;margin-top:2.25rem;padding:1.25rem 1.5rem;background:#fff;border:1px solid var(--rule);border-radius:var(--radius)}
.partner img{flex:none;width:11.5rem;max-width:100%;height:auto}
.partner p{flex:1 1 14rem;margin:0;font-size:.98rem;line-height:1.55;color:var(--ink)}
.wide-figure{position:relative;margin:0 0 clamp(2.5rem,5vw,4rem);overflow:hidden;border-radius:var(--radius);background:var(--stone)}
.wide-figure img{width:100%;aspect-ratio:2/1;object-fit:cover}
@media (max-width:40rem){.wide-figure img{aspect-ratio:4/3}}
.credential-note{margin-top:1.75rem!important;padding:1rem 1.25rem;background:#fff;border-left:4px solid var(--leaf);border-radius:0 var(--radius) var(--radius) 0;font-weight:500}
.prose .steps{margin-top:1.75rem}

:root{--photo-density:2}
/* Client photography: preserve the composition and cap display size to source resolution. */
.client-photo{margin:0;width:100%;max-width:calc(var(--photo-width)/var(--photo-density));justify-self:center;overflow:hidden;border-radius:var(--radius)}
.client-photo img{display:block;width:100%;height:auto;object-fit:contain;scale:1;transform:none}
.entry-media.client-photo{aspect-ratio:auto;border-radius:0;align-self:center}
.entry-feature:hover .client-photo img{scale:1}
.client-photo figcaption{padding:.8rem 0 0;font-size:.95rem;font-weight:500;color:var(--muted)}
.lead-media.client-photo{aspect-ratio:auto;max-width:min(30rem,var(--photo-width)/var(--photo-density));background:none}

/* Feathered cursor light, with the native slider tucked into an optional disclosure. */
[hidden]{display:none!important}
.landscape-lens{position:relative;overflow:hidden;--lens-x:55%;--lens-y:50%;--lens-radius:clamp(5rem,15vw,12rem)}
.landscape-lens .lens-color{position:absolute;inset:0;width:100%;height:100%;filter:brightness(1.12) saturate(1.08);mask-image:radial-gradient(circle var(--lens-radius) at var(--lens-x) var(--lens-y),#000 0%,rgb(0 0 0/.8) 35%,transparent 100%);pointer-events:none}
.landscape-lens .lens-color{opacity:0;transition:opacity .35s var(--ease)}
.landscape-lens.is-pointer-active:not(.is-full-color) .lens-color{opacity:1}


/* Landscape-led art direction. Approved brand typography and truthful client imagery. */
:root{--max:78rem;--gutter:clamp(1.25rem,5vw,4rem);--radius:.1rem}
body{-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:400;letter-spacing:-.035em}
.site-header{background:var(--paper)}
.header-inner{min-height:5.8rem;padding-block:1rem}
.brand img{height:3.25rem}
.site-nav>ul{gap:.25rem 1.75rem}
.site-nav a:not(.button){font-size:1.0625rem;font-weight:400}
.service-icon{width:1.5rem;height:1.5rem;flex:none;color:var(--forest)}
.site-nav .sub .service-link{display:flex;align-items:center;gap:.8rem}
.site-nav .sub{min-width:21rem}
.service-link span{min-width:0}
.button{border-radius:0;gap:1.5rem;min-height:3.3rem;padding:.95rem 1.4rem;font-weight:500;font-size:1.0625rem}
.button::after{content:'↗';font-size:1.1rem;line-height:1;flex:none;transition:translate .3s var(--ease)}
.button:hover::after{translate:.12rem -.12rem}
.text-link{font-weight:500;text-decoration-thickness:1px;text-underline-offset:.4em}
.eyebrow{font-size:.875rem;font-weight:500;letter-spacing:.15em}
.eyebrow::before{height:1px}
.display{font-size:clamp(2.6rem,4.3vw,4.3rem);font-weight:400;line-height:1.08;letter-spacing:-.045em;max-width:18ch}
.headline{font-size:clamp(2.15rem,3.2vw,3rem);font-weight:400;line-height:1.12;letter-spacing:-.04em}
.headline.small{font-size:clamp(1.85rem,2.7vw,2.5rem)}
.section{padding-block:clamp(3.8rem,7vw,6.5rem)}
.lede{font-size:1.2rem;line-height:1.7}
.statement{font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.5}

/* The entire opening is photographic; text stays within a readable shaded area. */
.landscape-opening{padding:0;background:var(--paper)}
.opening-stage{position:relative;isolation:isolate;max-width:1536px;margin-inline:auto;min-height:35rem;height:65svh;max-height:42rem;overflow:hidden;background:#122e24;color:#fff}
.opening-photograph{position:absolute;inset:0;z-index:-2}
.opening-photograph .landscape-lens{height:100%}
.opening-photograph img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;max-width:none}
.opening-stage::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgb(3 27 20/78%),rgb(3 27 20/32%) 45%,transparent 78%),linear-gradient(0deg,rgb(3 27 20/50%),transparent 62%);pointer-events:none}
.opening-content{position:relative;width:100%;max-width:var(--max);margin:auto;padding:clamp(3rem,6vw,5.5rem) var(--gutter);min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.opening-content .eyebrow{color:#d1f1df;max-width:38rem;margin-bottom:1.7rem}
.opening-content .display{font-size:clamp(3.2rem,5.1vw,5rem);font-weight:400;line-height:1.055;letter-spacing:-.045em;max-width:18ch;text-wrap:initial;color:#fff}
.opening-content .display span{color:#fff}
.opening-content .actions{margin-top:2rem;gap:1rem 1.75rem}
.opening-content .text-link{color:#fff;font-size:1.0625rem}
.opening-stage :focus-visible{outline-color:#fff}
.opening-introduction{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1.5rem 5rem;padding-block:2.1rem}
.opening-location{font-size:1.0625rem;line-height:1.7;margin:0;color:var(--forest)}
.opening-location span{color:var(--muted);font-size:1rem}
.opening-introduction .lede{margin:0;max-width:45rem;font-size:1.125rem;color:var(--muted)}
.service-strip{border-block:1px solid var(--rule);background:var(--paper);color:var(--forest)}
.service-strip .container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem 1.75rem;padding-block:1.25rem}
.service-strip a{display:flex;align-items:center;gap:.8rem;min-height:3rem;font-size:1.0625rem;line-height:1.4;text-decoration:none;padding:.5rem 0}
.service-strip a:hover{text-decoration:underline}

/* A photographic service journey, with restrained heritage framing. */
.page-home .intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(2rem,7vw,6rem)}
.page-home .intro-grid .headline{max-width:17ch}
.facts{margin-top:2rem;padding-top:1.5rem}
.facts dt{font-size:1.45rem;font-weight:400}
.facts dd{font-size:1rem;line-height:1.6}

.photographic-services{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0 4rem;align-items:start}
.photographic-service{position:relative;display:grid;grid-template-columns:11rem minmax(0,1fr);gap:1.6rem;align-items:center;padding:1.5rem 0;border-top:1px solid var(--rule);color:inherit;text-decoration:none}
.photographic-service.service-maintenance{grid-column:1;grid-row:1/5;display:block;border:0;padding:0}
.service-photograph{display:block;margin:0;border-radius:0;max-width:min(100%,calc(var(--photo-width)/var(--photo-density)))}
.service-maintenance .service-photograph{max-width:min(30rem,calc(var(--photo-width)/var(--photo-density)))}
.service-caption{position:relative;display:block;min-width:0;padding-right:1.5rem}
.service-maintenance .service-caption{max-width:30rem;margin-top:1.5rem}
.service-caption h3{font-size:clamp(1.55rem,2vw,1.95rem);font-weight:400;letter-spacing:-.035em;line-height:1.15}
.service-caption p{font-size:1.0625rem;line-height:1.6;color:var(--muted);margin:.7rem 0 0;max-width:28rem}
.service-number{display:block;font-size:.875rem;line-height:1.4;color:var(--forest);margin-bottom:.5rem;letter-spacing:.08em}
.service-maintenance .service-number{display:none}
.service-caption .entry-kicker{font-size:.875rem;font-weight:500;letter-spacing:.14em;margin-bottom:.5rem}
.service-arrow{position:absolute;right:0;top:1.5rem;font-size:1.2rem;color:var(--forest);transition:translate .3s var(--ease)}
.photographic-service:hover .service-arrow{translate:.15rem -.15rem}
.photographic-service:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:var(--leaf)}
.heritage-frame{position:relative;padding:.65rem;border:1px solid var(--rule);overflow:visible}
.heritage-frame::before,.heritage-frame::after{content:'';position:absolute;width:2rem;height:2rem;pointer-events:none;border-color:var(--forest);border-style:solid}
.heritage-frame::before{inset:-.25rem auto auto -.25rem;border-width:1px 0 0 1px}
.heritage-frame::after{inset:auto -.25rem -.25rem auto;border-width:0 1px 1px 0}
.facility-band{background:var(--forest-deep);padding-block:clamp(4rem,7vw,6rem)}
.facility-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;gap:3rem 6rem}
.facility-grid .headline{max-width:20ch}
.facility-grid p{font-size:1.125rem}
.steps li{padding-block:1.6rem}
.steps h3{font-size:1.25rem;font-weight:500}
.step-num{width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule);border-radius:50%;background:var(--paper);font-size:1rem;font-weight:400}
.journey-live{position:relative;isolation:isolate}
.journey-live::before,.journey-live::after{content:'';position:absolute;z-index:-1;left:1.375rem;top:3rem;width:1px;height:calc(100% - 6rem);background:var(--rule)}
.motion-ready .journey-live::after{scale:1 var(--journey-progress,0);transform-origin:top;background:var(--forest)}
.journey-live .step-num{position:relative;transition:background .6s,color .6s}
.motion-ready .journey-live .is-reached .step-num{background:var(--forest);color:#fff}
.closing{padding-block:clamp(3.5rem,6vw,5rem);background:var(--forest-deep);border-bottom:1px solid var(--rule-dark)}
.closing::after{display:none}
.closing .container{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem 5rem;align-items:start}
.closing .headline{grid-row:1/3;font-size:clamp(2.15rem,3.5vw,3.3rem);max-width:20ch}
.closing p{margin:0;font-size:1.125rem}
.closing .actions{margin:1rem 0 0}
.closing .division-note{grid-column:1/-1;font-size:1rem;margin-top:2rem!important}

/* The client requested a photographic banner at the bottom as well as the top. */
.closing-banner{max-width:min(1536px,2736px/var(--photo-density));margin-inline:auto;min-height:35rem;padding-block:4rem 2rem;display:flex;flex-direction:column;justify-content:center}
.closing-banner .closing-media img{top:0;height:100%;object-position:50% 42%}
.closing-banner::after{display:block;background:linear-gradient(90deg,rgb(0 40 29/96%) 0%,rgb(0 40 29/88%) 30%,rgb(0 40 29/20%) 64%,transparent),linear-gradient(0deg,rgb(0 40 29/75%),transparent 35%)}
.closing-banner .closing-content{display:block}
.closing-banner .headline{max-width:15ch;margin-bottom:1.5rem}
.closing-banner .closing-content p{max-width:29ch}
.closing-banner .closing-division{display:block;max-width:none;width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto;margin-top:3rem!important}
@media(max-width:48rem){
.closing-banner{min-height:0;padding:0 0 2rem}
.closing-banner::after{display:none}
.closing-banner .closing-media{position:static;z-index:auto}
.closing-banner .closing-media img{position:static;height:auto;object-fit:contain}
.closing-banner .closing-content{padding-top:2.5rem}
.closing-banner .headline{max-width:20ch}
.closing-banner .closing-content p{max-width:35ch}
.closing-banner .closing-division{margin-top:2rem!important}
}

/* Service photography retains original composition and resolution. */
.lead-hero{background:var(--paper);color:var(--ink);padding-block:clamp(2.5rem,5vw,4.5rem);border-bottom:1px solid var(--rule)}
.lead-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.lead-hero .display{font-size:clamp(2.5rem,4vw,3.8rem);max-width:17ch;font-weight:400;line-height:1.08}
.lead-hero .lede{font-size:1.125rem;line-height:1.7;max-width:31rem}
.lead-hero .lead-media.client-photo{max-width:calc(var(--photo-width)/var(--photo-density));border-radius:0;justify-self:end;box-shadow:none}
.lead-hero .lead-media.editorial-photo{max-width:48rem}
.lead-media.client-photo img{width:100%;height:auto;object-fit:contain;scale:1;transform:none;animation:none}
.crumbs{font-size:1rem;margin-bottom:2rem}
.partner{background:none;border:0;border-top:1px solid var(--rule);border-radius:0;padding:1.5rem 0 0;font-size:1.0625rem;margin-top:2rem}
.partner p{font-size:1.0625rem;color:var(--muted)}
.story-photograph{max-width:min(42rem,var(--photo-width)/var(--photo-density));margin-block:2rem}
.support-photograph{max-width:min(20rem,var(--photo-width)/var(--photo-density));margin-block:1.5rem}
.photo-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,7vw,6rem);align-items:center}
.photo-feature .client-photo{max-width:min(34rem,var(--photo-width)/var(--photo-density))}
.photo-feature .headline{margin-bottom:1.25rem}
.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;align-items:start;margin-bottom:4rem}
.photo-gallery .client-photo{max-width:calc(var(--photo-width)/var(--photo-density))}
.client-photo figcaption{font-size:1rem;font-weight:400}
.careers-photograph{margin-bottom:2rem;max-width:calc(var(--photo-width)/var(--photo-density))}
.arbor-gallery .client-photo{max-width:calc(var(--photo-width)/var(--photo-density));justify-self:start}
.directory-hero .lead-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)}
.directory-hero .lead-media.client-photo{max-width:min(24rem,var(--photo-width)/var(--photo-density));justify-self:center}
.directory-hero .display{max-width:20ch}
.page-services .service-rows{counter-reset:service}
.page-services .service-row:not(#arbor-care){position:relative;counter-increment:service;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);padding:2.5rem 0 2.5rem 3.5rem;gap:2rem 4rem}
.page-services .service-row:not(#arbor-care)::before{content:counter(service,decimal-leading-zero);position:absolute;left:0;top:2.7rem;font-size:1rem;color:var(--forest)}
.page-services .service-row h3{font-size:clamp(1.65rem,2.5vw,2.15rem)}
.page-services .service-row#arbor-care{padding-block:3.5rem}
.arbor-topic-grid h4{font-weight:500;letter-spacing:-.02em}
.chapter-nav{border-bottom:1px solid var(--rule)}
.chapter-nav .container{display:flex;flex-wrap:wrap;gap:1rem 3rem;padding-block:1rem}
.chapter-nav a{min-height:2.75rem;display:flex;align-items:center;gap:1rem;font-size:1.0625rem;text-decoration:none}
.chapter-nav a span{font-size:.875rem;color:var(--muted)}
.chapter-nav a:hover{text-decoration:underline}
.maintenance-chapters .split{scroll-margin-top:2rem}
.page-about .lead-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.page-about .lead-hero .display{font-size:clamp(2.5rem,3.7vw,3.6rem)}
.page-facility-services .lead-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.page-facility-services .photo-gallery .client-photo:nth-child(2){margin-top:3rem}
.page-facility-services .photo-gallery .client-photo:nth-child(3){margin-top:6rem}
.related{gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.related a{padding:1.5rem 1.5rem 1.5rem 0;background:none;border:0;border-radius:0}
.related li+li a{padding-left:1.5rem;border-left:1px solid var(--rule)}
.related strong{font-size:1.1rem;font-weight:500}
.related span{font-size:1.0625rem}
.form-card{box-shadow:none;border-radius:0}
.footer-head{font-size:.875rem;font-weight:500}
.footer-brand p{font-size:1.0625rem}
.site-footer ul a{font-size:1.0625rem}
.brand-plate{border-radius:0}

/* One restrained entrance per section; no hidden text or perpetual animation. */
.motion-ready .scroll-enter{opacity:.85;translate:0 1rem;transition:opacity .8s var(--ease),translate .8s var(--ease)}
.motion-ready .scroll-enter.has-entered{opacity:1;translate:0 0}
@media(prefers-reduced-motion:no-preference){
.opening-content{animation:opening-arrive .9s var(--ease) both}
.opening-photograph{animation:opening-unmask 1.3s var(--ease) both}
}
@keyframes opening-arrive{from{translate:0 1rem}to{translate:0 0}}
@keyframes opening-unmask{from{clip-path:inset(0 0 7% 0)}to{clip-path:inset(0)}}
@media(min-resolution:2.5dppx){:root{--photo-density:3}}
@media(min-resolution:3.5dppx){:root{--photo-density:4}}
@media(max-width:68rem){
.header-inner{min-height:5rem;gap:.75rem}
.header-inner .brand img{height:2.6rem}
.site-nav .sub{min-width:0}
.opening-stage{min-height:34rem;height:65svh;max-height:40rem}
.opening-content .display{font-size:clamp(3rem,6.5vw,4.1rem)}
.lead-grid,.page-about .lead-grid,.page-facility-services .lead-grid{grid-template-columns:1fr 1fr;gap:2rem}
.lead-hero .display{font-size:clamp(2.2rem,4.3vw,3.2rem)}
.page-home .intro-grid{grid-template-columns:1fr;gap:2rem}
.photo-gallery{gap:1.2rem}
.photographic-services{gap:0 2rem}
.photographic-service{grid-template-columns:8rem minmax(0,1fr);gap:1.1rem}
.service-caption h3{font-size:1.5rem}
}
@media(max-width:48rem){
.landscape-opening{padding:0}
.opening-stage{min-height:34rem;height:72svh;max-height:40rem}
.opening-stage::after{background:linear-gradient(0deg,rgb(3 27 20/86%),rgb(3 27 20/35%) 65%,transparent)}
.opening-content{padding:2.5rem var(--gutter)}
.opening-content .display{font-size:clamp(2.55rem,7.7vw,3.75rem)}
.opening-content .eyebrow{display:block;max-width:38ch;line-height:1.7;font-size:.875rem;letter-spacing:.08em}
.opening-content .eyebrow::before{display:none}
.opening-content .actions{gap:1.25rem}
.opening-introduction{grid-template-columns:1fr;gap:1rem;padding-block:1.5rem}
.opening-location{display:none}
.service-strip .container{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1rem;padding-block:1rem}
.service-strip a{font-size:1rem}
.photographic-services{display:block}
.photographic-service.service-maintenance{padding-bottom:2rem}
.photographic-service{grid-template-columns:9rem minmax(0,1fr)}
.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.facts dt{font-size:1.1rem}
.facts dd{font-size:1rem}
.facility-grid,.closing .container,.photo-feature{grid-template-columns:1fr;gap:2rem}
.closing .headline{grid-row:auto}
.closing .division-note{grid-column:1}
.lead-grid,.page-about .lead-grid,.page-facility-services .lead-grid{grid-template-columns:1fr;gap:2.5rem}
.directory-hero .lead-grid{grid-template-columns:1fr}
.lead-hero .lead-media.client-photo{justify-self:center;max-width:min(100%,var(--photo-width)/var(--photo-density))}
.lead-hero .lead-media.editorial-photo{max-width:100%}
.lead-hero .display{font-size:clamp(2.5rem,7.8vw,3.5rem)}
.page-about .lead-hero .display{font-size:clamp(2.5rem,7.8vw,3.5rem)}
.photo-gallery{grid-template-columns:1fr 1fr;align-items:start;gap:2rem 1rem}
.page-facility-services .photo-gallery .client-photo:nth-child(2),.page-facility-services .photo-gallery .client-photo:nth-child(3){margin-top:0}
.page-services .service-row:not(#arbor-care){grid-template-columns:1fr;gap:1rem;padding-left:2.75rem}
.related{grid-template-columns:1fr}
.related li+li a{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
.chapter-nav .container{gap:.5rem 1.5rem}
}
@media(max-width:22.5rem){.service-strip .container{grid-template-columns:1fr}}
@media(max-width:30rem){
.opening-content .actions{flex-direction:column;align-items:flex-start;gap:1.4rem}
.opening-content .display{font-size:clamp(2.4rem,9.5vw,3.15rem)}
.opening-introduction .lede{font-size:1.125rem}
.facts{grid-template-columns:1fr;gap:1.3rem}
.facts dt{font-size:1.3rem}
.facts dd{font-size:1rem;max-width:32ch}
.photo-gallery{grid-template-columns:1fr}
.photographic-service{grid-template-columns:1fr;gap:1.5rem;padding-block:2rem}
.photographic-service .service-photograph{justify-self:start}
.service-caption h3{font-size:1.6rem}
.service-caption p{font-size:1.0625rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;translate:none!important}}
