@import url("./fonts.css");
:root{--ink:#182b22;--paper:#faf9f4;--accent:#a8cf45;--leaf:#007a42;--muted:#58645d;--line:#d8ddd3;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--pad:clamp(20px,5vw,84px);color:var(--ink);font-family:var(--sans);background:var(--paper);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0}a{color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button,select{cursor:pointer}button{touch-action:manipulation}a,button,input,select,textarea,summary{outline-offset:4px} :focus-visible{outline:3px solid #218654}
[hidden]{display:none!important}
.wrap{width:min(calc(100% - var(--pad) * 2),1480px);margin-inline:auto}
.button,.s-action{display:inline-flex;min-height:48px;padding:12px 21px;align-items:center;justify-content:center;gap:18px;border:1px solid transparent;background:var(--accent);color:#15261c;font:600 14px var(--sans);text-decoration:none;border-radius:3px;cursor:pointer;transition:transform .2s,background .2s}
.button:hover,.s-action:hover{transform:translateY(-2px);background:#bddf6e}.button.dark{background:var(--ink);color:white}.button.light{background:var(--paper);color:var(--ink);border-color:var(--line)}
.s-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14px;text-underline-offset:5px;text-decoration-thickness:1px}
.s-icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.skip{position:fixed;z-index:110;left:10px;top:-100px;padding:12px;background:white;color:#17291d}.skip:focus{top:8px}
#site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line);color:var(--ink)}
body.home #site-header{position:fixed;inset:0 0 auto;background:transparent;color:white;border-bottom-color:#ffffff45;transition:background .25s}
body.home #site-header.scrolled{background:#13291ff5}
.s-nav{height:78px;display:flex;gap:30px;align-items:center;justify-content:space-between}.s-logo img{width:113px;height:46px;object-fit:contain}.home .s-nav .s-logo img,.s-footer-logo{filter:brightness(0) invert(1)}.s-navlinks,.s-tools{display:flex;align-items:center;gap:clamp(14px,1.7vw,32px)}.s-navlinks a,.s-navlinks button,.s-portal,.s-menu{color:inherit;background:none;border:0;padding:8px 0;font-weight:500;font-size:14px;text-decoration:none;white-space:nowrap}.s-navlinks button,.s-portal,.s-menu{display:inline-flex;align-items:center;gap:7px}.s-navlinks a:hover,.s-navlinks button:hover,.s-portal:hover{text-decoration:underline;text-underline-offset:6px}.s-navlinks .s-icon{width:12px}.s-menu{width:40px;justify-content:center}.s-tools{gap:18px}.s-book{padding:10px 15px;min-height:42px;font-size:13px}.s-book .s-icon{width:16px}.s-menu{display:none}.s-drawer{position:absolute;top:100%;width:100%;background:var(--paper);color:var(--ink);box-shadow:0 17px 24px #162b181c;padding:28px 0 40px;max-height:calc(100dvh - 68px);overflow:auto;animation:appear .2s ease-out}.s-drawer .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.s-drawer h2,.foot-group h2{font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin:0 0 15px}.s-drawer a,.foot-group a{display:block;text-decoration:none;padding:5px 0}.s-drawer a:hover,.foot-group a:hover{text-decoration:underline}
#site-footer{background:#11281f;color:#f4f5ec;padding:clamp(42px,6vw,90px) 0 22px}.s-footer{display:grid;grid-template-columns:1.3fr 1fr .9fr 1.4fr;gap:clamp(20px,4vw,70px)}.s-footer-logo{width:118px}.s-footer p,.foot-group a{font-size:14px;line-height:1.6;color:#d4ded4}.foot-group h2{color:#a8cd72}.foot-group address{font-style:normal;line-height:1.6}.foot-fine{margin-top:42px;padding-top:20px;border-top:1px solid #ffffff36;display:flex;gap:15px;flex-wrap:wrap;justify-content:space-between;color:#c4d0c6;font-size:12px}.foot-email{display:flex;border-bottom:1px solid #99aa9b;max-width:300px;margin-top:10px}.foot-email input{background:transparent;border:0;min-width:0;width:100%;color:white;padding:9px 0}.foot-email button{background:transparent;border:0;color:white}.foot-email input::placeholder{color:#bbc7bf}
.s-eyebrow{display:flex;align-items:center;gap:10px;font:600 11px var(--sans);text-transform:uppercase;letter-spacing:.16em}.s-eyebrow::before{content:"";width:24px;height:2px;background:#79a637}
.s-title,.s-display,.s-heading,.editorial h2,.s-card h3,.quote-text{font:400 clamp(36px,4.6vw,76px)/1 var(--serif);letter-spacing:-.025em;margin:.22em 0 .3em}
.s-title em,.s-display em,.s-heading em{font-weight:400}.s-copy{font-size:clamp(16px,1.25vw,20px);line-height:1.65;color:var(--muted);max-width:60ch}.section-pad{padding-block:clamp(55px,7vw,108px)}.s-row-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:28px}.s-row-head h2{margin-bottom:0}
.s-hero{position:relative;min-height:clamp(620px,78svh,820px);display:grid;align-items:end;background:#27392e;color:white;isolation:isolate;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 56%;animation:heroimage .65s ease-out}.hero-shade{z-index:-1;background:linear-gradient(90deg,#071c14df 0%,#14271fc2 20%,#16231d65 47%,#10231b08 78%),linear-gradient(0deg,#091d16a6,transparent 26%,transparent 79%,#07190e78)}.hero-inner{padding-top:136px;padding-bottom:34px}.hero-copy{max-width:860px}.hero-copy .s-eyebrow{color:#f2f6de}.hero-copy .s-eyebrow::before{background:var(--accent);width:30px}.s-display{font-size:clamp(65px,7vw,118px);line-height:.93;margin:.26em 0 .22em;letter-spacing:-.035em}.s-display em{color:#d6e99e}.hero-copy p{font-size:clamp(14px,1.18vw,19px);max-width:47ch;line-height:1.65;margin:0 0 25px;color:#f4f6ef}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.hero-actions .s-link{text-decoration:none;border-bottom:1px solid #bfc9bd;padding:8px 0}.hero-foot{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:clamp(35px,5vh,80px)}.hero-caption{display:flex;align-items:center;gap:14px;text-decoration:none}.hero-caption>span:first-child{width:35px;height:35px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%}.hero-caption small,.slide-meta small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:#e1ebdc;font-weight:600}.hero-caption strong{font-weight:500;font-size:15px;display:block;margin-top:3px}.slide-meta{display:flex;align-items:center;gap:12px;font-size:12px;font-variant-numeric:tabular-nums}.round{width:40px;height:40px;display:inline-grid;place-items:center;background:transparent;border:1px solid #ffffff80;border-radius:50%;color:inherit}.round:hover{background:#ffffff24}.slide-line{width:47px;height:1px;background:#ffffff80}
.finder{border-bottom:1px solid var(--line);background:#f1f3e9}.finder-inner{display:grid;grid-template-columns:1.1fr 2.7fr;align-items:center;gap:4vw;padding-block:28px}.finder-title{font:400 clamp(26px,2.3vw,42px)/1.05 var(--serif);margin:0}.finder-form{display:grid;grid-template-columns:1.2fr 1.15fr 1fr auto;align-items:center;gap:15px}.finder-form label{display:grid;min-width:0;border-left:1px solid #c4ccbe;padding-left:18px;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--muted)}.finder-form select{width:100%;background:transparent;border:0;font-size:14px;letter-spacing:0;color:var(--ink);padding:2px 0}.finder-tools{display:flex;align-items:center;gap:8px}.finder-tools .button{padding:12px 16px}.s-mini{font-size:12px;text-underline-offset:3px}.feature-grid,.s-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.s-card{min-width:0}.s-card-cover{display:block;position:relative;overflow:hidden;background:#e3e8dc;aspect-ratio:1.5}.s-card-cover img,.visual img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.s-card:hover .s-card-cover img{transform:scale(1.035)}.s-card h3{font-size:clamp(28px,2.6vw,44px);margin:.35em 0 .2em}.s-card h3 a{text-decoration:none}.s-card p{line-height:1.6;color:var(--muted)}.s-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.s-card-footer small{color:var(--muted)}.loc{display:inline-flex;align-items:center;gap:5px;font-size:13px}.loc .s-icon{width:15px}.s-chip{position:absolute;bottom:12px;left:12px;background:#faf9f4ed;color:var(--ink);border-radius:2px;padding:5px 10px;font-size:11px;font-weight:600}
.band{background:#ecf0e6}.editorial{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,7vw,126px)}.visual{overflow:hidden;background:#dee4d9;aspect-ratio:1.35;position:relative}.editorial p,.reading p{font-size:16px;line-height:1.75;color:var(--muted)}.editorial .s-link{margin-top:10px}.service-list{border-top:1px solid var(--line)}.service-list a{display:grid;grid-template-columns:minmax(190px,1fr) 1.5fr auto;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:20px 0;text-decoration:none}.service-list h3{font:400 clamp(28px,3vw,46px) var(--serif);margin:0}.service-list p{font-size:15px;line-height:1.6;color:var(--muted);margin:0}.service-list a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.olive{background:#213d2e;color:#f9faf1}.olive .s-copy,.olive p{color:#dbe4d6}.quote-text{font-size:clamp(30px,3.8vw,59px);max-width:32ch;line-height:1.16}.quote-name{font-size:14px}.s-end{background:#d4e7aa}.s-end .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.s-end .s-heading{max-width:17ch}
.s-intro{background:#edf1e7;padding:clamp(38px,6vw,85px) 0}.s-intro .s-title{font-size:clamp(54px,7vw,108px)}.s-crumb{font-size:12px;color:var(--muted);margin-bottom:30px}.s-crumb a{text-underline-offset:4px}.reading{max-width:780px}.reading h2{font:400 clamp(30px,3vw,48px) var(--serif);margin:1em 0 .3em}.s-photo{width:100%;aspect-ratio:1.7;object-fit:cover}.profile .visual{aspect-ratio:.92}.profile .visual img,.person .s-card-cover img{object-position:center 25%}.person .s-card-cover{aspect-ratio:1.3}.s-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.s-gallery button{width:100%;position:relative;display:block;border:0;padding:0;background:#213d2e;color:white;text-align:left;overflow:hidden}.s-gallery img{aspect-ratio:1.38;width:100%;object-fit:cover;transition:transform .4s}.s-gallery button:hover img{transform:scale(1.03)}.s-gallery span{display:block;padding:12px 14px;font-size:14px}
.s-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}.s-tabs button{padding:9px 15px;border:1px solid var(--line);border-radius:25px;background:white}.s-tabs button[aria-pressed=true]{background:var(--ink);color:white}
.s-dialog{background:var(--paper);color:var(--ink);border:0;padding:18px;width:min(900px,92vw);max-height:92dvh;border-radius:4px}.s-dialog::backdrop{background:#081d15dc}.s-dialog img{height:min(60vh,560px);object-fit:contain;width:100%;background:#192b23}.s-dialog-head,.s-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.s-dialog-foot{margin:12px 0 0}.s-dialog .round{border-color:var(--line)}
.form-box{background:white;border:1px solid var(--line);padding:clamp(20px,3vw,42px)}.form-box h2{font:400 38px var(--serif);margin:0 0 18px}.form-box label{display:grid;gap:7px;margin-bottom:15px;font-size:14px;font-weight:600}.form-box input,.form-box select,.form-box textarea{width:100%;border:1px solid #b9c3b8;padding:12px;background:var(--paper);border-radius:2px}.form-box textarea{min-height:100px;resize:vertical}.s-feedback{font-size:14px;line-height:1.5}.s-feedback a{text-decoration:underline}
.revealed{animation:appear .5s ease-out both}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes heroimage{from{opacity:.55;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}
@media(min-width:1600px){.s-hero{min-height:790px}}
@media(max-width:1100px){.s-nav{gap:14px}.s-navlinks,.s-tools{gap:14px}.s-portal span{display:none}.finder-inner{grid-template-columns:1fr}.finder-title{font-size:28px}.finder-form label:first-child{padding-left:0;border:0}}
@media(max-width:850px){.s-nav{height:64px}.s-menu{display:grid}.s-navlinks,.s-portal{display:none}.s-tools{margin-left:auto}.s-logo img{width:95px;height:39px}.s-drawer{position:fixed;inset:64px 0 0;max-height:none}.s-drawer .wrap{gap:20px}.s-hero{min-height:650px}.hero-inner{padding-top:130px}.s-footer{grid-template-columns:1fr 1fr}.feature-grid,.s-grid,.s-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid>.s-card:last-child{grid-column:auto}.s-end .wrap{align-items:start;flex-direction:column}.s-row-head{align-items:start;flex-wrap:wrap}.service-list a{grid-template-columns:1fr auto}.service-list p{grid-column:1/-1;grid-row:2}.editorial{gap:30px}}
@media(max-width:600px){.s-hero{min-height:min(720px,max(615px,85svh))}.hero-inner{padding-bottom:24px;padding-top:104px}.hero-shade{background:linear-gradient(0deg,#0b2119ea 0%,#10271ed4 32%,#14261d56 72%,#0b20198c)}.hero-media img{object-position:58% center}.s-display{font-size:clamp(58px,12vw,78px)}.hero-actions{gap:16px}.hero-foot{margin-top:32px}.slide-meta{gap:6px}.slide-line{display:none}.round{width:36px;height:36px}.hero-caption{gap:8px}.hero-caption strong{font-size:13px}.hero-caption>span:first-child{display:none}.s-drawer .wrap{grid-template-columns:1fr 1fr}.s-drawer .wrap>div:last-child{grid-column:1/-1}.s-book{font-size:12px;gap:7px}.s-tools{gap:8px}.finder-form{grid-template-columns:1fr 1fr}.finder-form label{padding:0;border:0}.finder-inner{gap:20px}.finder-tools{justify-content:start}.feature-grid,.s-grid,.s-gallery,.editorial{grid-template-columns:1fr}.s-footer{gap:26px}.s-footer>div:first-child,.s-footer>div:last-child{grid-column:1/-1}.s-gallery{gap:12px}.s-card-cover{aspect-ratio:1.65}.s-row-head h2,.editorial h2{font-size:42px}.hero-actions .button,.hero-actions .s-link{font-size:13px}.profile .visual{max-height:460px}.s-end .hero-actions{align-items:start}.s-tools .s-book{min-height:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}


.filter-link{display:inline-flex;align-items:center;gap:7px;color:var(--muted);padding:3px 0;border:0;background:none;text-decoration:underline}.filter-link svg{width:14px}.finder-dialog{max-width:640px}.finder-dialog .form-box,.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.finder-dialog .form-box{grid-template-columns:1fr 1fr}.why-grid>div{border-top:1px solid var(--line);padding:25px 0}.why-grid .s-icon{color:var(--leaf);width:27px;height:27px}.why-grid h3{font:400 30px var(--serif);margin:13px 0 5px}.why-grid p{line-height:1.65;color:var(--muted);max-width:39ch}.home .s-nav .s-logo,.s-footer a:has(.s-footer-logo){display:inline-flex;background:var(--paper);padding:2px 8px;border-radius:2px}.home .s-nav .s-logo img,.s-footer-logo{filter:none}.s-footer-logo{height:auto}@media(max-width:600px){.why-grid,.finder-dialog .form-box{grid-template-columns:1fr}.finder-dialog label{margin:0}.finder-dialog .form-box{padding:8px;gap:10px}}

.finder-count{grid-column:2;font-size:12px;font-weight:600;color:var(--leaf)}.finder-count:empty{display:none}
@media(max-width:1100px){.finder-count{grid-column:1}}
@media(prefers-reduced-motion:no-preference){.hero-copy>.s-eyebrow,.hero-copy>.s-display,.hero-copy>p,.hero-copy>.hero-actions{animation:appear .5s ease-out both}.hero-copy>.s-display{animation-delay:.05s}.hero-copy>p{animation-delay:.10s}.hero-copy>.hero-actions{animation-delay:.15s}.s-card.revealed img{animation:revealPhoto .5s ease-out both}@keyframes revealPhoto{from{clip-path:inset(0 0 5% 0)}to{clip-path:inset(0)}}}
@media(min-width:851px){.editorial .visual{position:sticky;top:95px}}

/* Native disclosure menus. Both layouts contain real links in the initial HTML. */
.s-mobile{display:none}
.s-nav summary{list-style:none;cursor:pointer;user-select:none}
.s-nav summary::-webkit-details-marker{display:none}
.s-nav summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.s-navlinks .s-group{position:relative}
.s-navlinks summary{display:flex;gap:7px;align-items:center;font-size:14px;font-weight:500;padding:12px 0}
.s-group[open]>summary .s-icon{transform:rotate(180deg)}
.s-navlinks .s-group-links{position:absolute;top:100%;left:-18px;min-width:230px;padding:10px;background:var(--paper);border:1px solid var(--line);color:var(--ink);box-shadow:0 12px 30px #14271d29;overflow:auto;max-height:calc(100dvh - 80px)}
.s-group-links a{display:block;padding:8px 12px;text-decoration:none;font-size:14px}
.s-group-links a:hover,.s-group-links a:focus-visible{background:#eaf0df;color:var(--ink)}
.s-menu .menu-close,.s-mobile[open] .menu-open{display:none}
.s-mobile[open] .menu-close{display:inline-flex}
.s-menu .menu-open,.s-menu .menu-close{line-height:0}
body.home #site-header:has(details[open]){background:#13291f}
@media(max-width:850px){
 .s-mobile{display:block}.s-menu{height:44px}
 .s-mobile-panel{position:fixed;inset:64px 0 0;z-index:1;background:var(--paper);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;padding:14px 0 36px}
 .s-mobile-panel .wrap>a,.s-mobile-panel summary{display:flex;min-height:50px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);text-decoration:none;font-size:18px}
 .s-mobile-panel summary .s-icon{width:15px}
 .s-mobile-panel .s-group-links{padding:5px 10px 10px;background:#eef1e8}
 .s-mobile-panel .s-group-links a{padding:12px 8px}
 body:has(.s-mobile[open]){overflow:hidden}
}

