@font-face{font-family:"Source Serif 4";src:url("../fonts/source-serif-4-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/source-serif-4-semibold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/source-serif-4-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-semibold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}

:root{
  --forest:#173f35;
  --moss:#244f45;
  --accent:#6aad3e;
  --ink:#141414;
  --porcelain:#fafaf7;
  --mist:#f3f4f5;
  --veil:#dce7df;
  --muted:#55635e;
  --white:#fff;
  --line:rgba(23,63,53,.18);
  --serif:"Source Serif 4",Georgia,serif;
  --sans:"Source Sans 3",Arial,sans-serif;
  --title-page:clamp(2.9rem,3.65vw,4.25rem);
  --title-section:clamp(2.3rem,3.25vw,3.65rem);
  --text-feature:clamp(1.15rem,1.6vw,1.45rem);
  --shell:min(1240px,calc(100% - 96px));
  --space-section:clamp(5.5rem,9vw,9rem);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.64;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,figure,blockquote{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.035em}
h1{font-size:var(--title-page);margin-bottom:2rem}
h2{font-size:var(--title-section);margin-bottom:2rem}
p{margin-bottom:1.4rem}
::selection{background:var(--accent);color:var(--ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.shell{width:var(--shell);margin-inline:auto}
.skip-link{position:fixed;z-index:1000;top:1rem;left:1rem;transform:translateY(-180%);background:var(--white);color:var(--forest);padding:.7rem 1rem;font-weight:600;text-decoration:none}
.skip-link:focus{transform:none}

.site-header{position:relative;z-index:30;background:var(--forest);color:var(--white);border-bottom:1px solid rgba(255,255,255,.14)}
.header-inner{height:102px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:block;width:190px;flex:0 0 auto}
.brand img{width:100%;height:auto}
.primary-nav{display:flex;align-items:center;gap:clamp(1.25rem,2.4vw,2.6rem);font-size:.88rem}
.primary-nav>a:not(.button){text-decoration:none;padding:.5rem 0;border-bottom:1px solid transparent}
.primary-nav>a[aria-current="page"]{border-color:var(--accent)}
.primary-nav>a:hover{color:#cde6ba}
.nav-toggle{display:none;border:0;background:transparent;color:var(--white);font:600 .88rem var(--sans);align-items:center;gap:.7rem;padding:.6rem}
.nav-toggle__icon{display:grid;gap:6px;width:26px}
.nav-toggle__icon span{height:1px;background:currentColor;width:100%;transition:transform .2s ease}

.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:54px;padding:.9rem 1.35rem;border:1px solid transparent;font-size:.88rem;font-weight:600;text-decoration:none;letter-spacing:.01em;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button--small{min-height:44px;padding:.65rem 1rem}
.button--accent{background:var(--accent);color:#0c251d}
.button--accent:hover{background:#82bf58}
.button--forest{background:var(--forest);color:var(--white)}
.button--forest:hover{background:var(--moss)}
.button--light{border-color:rgba(255,255,255,.55);color:var(--white)}
.button--light:hover{background:var(--white);color:var(--forest)}
.text-link{display:inline-flex;align-items:center;gap:.6rem;color:var(--forest);font-size:.92rem;font-weight:600;text-underline-offset:6px;text-decoration-thickness:1px}
.text-link--light{color:var(--white)}

.hero{background:var(--forest);color:var(--white);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr);gap:clamp(3rem,7vw,8rem);align-items:center;padding-block:clamp(4rem,7vw,7.2rem)}
.hero--home .hero-grid{grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);gap:clamp(3rem,5vw,5.5rem)}
.hero--home h1{font-size:var(--title-page);line-height:1.01;margin-bottom:1.7rem}
.hero-copy{position:relative;z-index:2}
.hero-copy>p:not(.eyebrow){max-width:710px;color:rgba(255,255,255,.78)}
.hero-copy .hero-lede{font-family:var(--serif);font-size:var(--text-feature);line-height:1.5;color:var(--white);max-width:760px}
.hero-copy .hero-lede--support{font-family:var(--serif);font-size:var(--text-feature);line-height:1.5;color:var(--white)}
.hero-copy .button{margin-top:.8rem}
.eyebrow{margin-bottom:1.1rem;color:var(--forest);font-size:.74rem;line-height:1.2;font-weight:600;text-transform:uppercase;letter-spacing:.17em}
.eyebrow--light{color:#cde6ba}
.hero-visual{position:relative;margin:0;min-height:590px}
.hero--home .hero-visual{min-height:0;aspect-ratio:4/3;align-self:center}
.hero-visual::before{content:"";position:absolute;z-index:1;inset:-24px 24px 24px -24px;border:1px solid rgba(106,173,62,.5)}
.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(.97)}
.hero-visual figcaption{position:absolute;z-index:2;left:-1px;bottom:-1px;max-width:250px;background:var(--porcelain);color:var(--forest);padding:1rem 1.15rem;font:italic 1rem/1.35 var(--serif)}
.hero--private .hero-grid{grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:clamp(3rem,5vw,5.5rem);padding-bottom:clamp(3.5rem,5vw,5rem)}
.hero--private h1{font-size:var(--title-page);line-height:1.01}
.hero--private .hero-visual{min-height:0;aspect-ratio:4/3;align-self:center}
.hero-visual--quiet{min-height:500px}
.hero-visual--quiet figcaption{display:none}
.private-intro-details{border-top:1px solid var(--line)}
.private-intro-details__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem)}
.private-intro-details p{margin:0;font-family:var(--serif);font-size:var(--text-feature);line-height:1.5;color:var(--forest)}

.inner-hero{background:var(--forest);color:var(--white);overflow:hidden}
.portrait-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1fr);align-items:center;gap:clamp(3rem,8vw,9rem)}
.portrait-grid--hero{min-height:700px;padding-block:5rem}
.portrait-frame{position:relative;margin:0;background:var(--veil)}
.portrait-frame::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--accent);pointer-events:none}
.portrait-frame img{position:relative;width:100%;aspect-ratio:4/4.8;object-fit:cover;object-position:center 30%}
.portrait-frame--hero{order:2;justify-self:end;width:min(440px,100%)}
.portrait-frame--compact{width:min(440px,100%)}
.inner-hero .hero-copy p:not(.eyebrow){color:rgba(255,255,255,.8);max-width:680px;font-family:var(--serif);font-size:var(--text-feature);line-height:1.5}

.section{padding-block:var(--space-section)}
.section--porcelain{background:var(--porcelain)}
.section--mist{background:var(--mist)}
.section--veil{background:var(--veil)}
.section--forest{background:var(--forest);color:var(--white)}
.split-editorial{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.35fr);gap:clamp(3rem,8vw,10rem);align-items:start}
.section-index{display:flex;align-items:center;gap:.85rem;margin:0;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.section-index span{display:block;width:48px;height:1px;background:var(--accent)}
.prose{max-width:820px}
.prose p{max-width:720px;color:#33443f;font-family:var(--serif);font-size:var(--text-feature);line-height:1.5}
.page-home .split-editorial .prose>p{color:var(--forest)}
.prose--inverse p{color:rgba(255,255,255,.78)}
.prose .text-link{margin-top:1rem}

.feature-band{overflow:hidden}
.feature-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;max-width:none;margin-inline:auto}
.page-home .feature-band .prose>p{font-family:var(--serif);font-size:var(--text-feature);line-height:1.5}

.section-heading-row{display:grid;grid-template-columns:.75fr 1.25fr;align-items:end;gap:3rem;margin-bottom:4rem}
.section-heading-row h2{margin:0}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(23,63,53,.17);border:1px solid rgba(23,63,53,.17)}
.quote-card{display:flex;flex-direction:column;min-height:390px;margin:0;padding:clamp(2rem,4vw,4rem);background:var(--porcelain)}
.quote-mark{height:60px;color:var(--accent);font:5rem/1 var(--serif)}
.quote-card blockquote{margin:0 0 2rem}
.quote-card blockquote p{font:clamp(1.2rem,1.9vw,1.55rem)/1.55 var(--serif);color:var(--forest)}
.quote-card figcaption{margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.8rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}

.closing-cta{text-align:center}
.closing-cta__inner{max-width:830px}
.closing-cta h2{margin-inline:auto}
.closing-cta p{max-width:720px;margin-inline:auto;color:#354640;font-family:var(--serif);font-size:var(--text-feature);line-height:1.5}
.closing-cta .button{margin-top:1.2rem}
.closing-cta--inverse p{color:rgba(255,255,255,.78)}
.continuation-note{margin-top:3rem;padding:2rem 2.25rem;background:var(--veil);border-left:3px solid var(--accent)}
.continuation-note p:last-child{margin-bottom:0;color:var(--forest);font-family:var(--serif);font-size:var(--text-feature);line-height:1.5}

.site-footer{background:#0f2e27;color:rgba(255,255,255,.75);padding:5rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:4rem;padding-bottom:4rem}
.footer-brand img{width:220px;margin-bottom:1.5rem}
.footer-brand p{font-family:var(--serif);font-size:1.2rem;color:var(--white)}
.site-footer nav{display:flex;flex-direction:column;gap:.65rem}
.site-footer nav a{width:max-content;color:rgba(255,255,255,.75);font-size:.88rem;text-decoration:none}
.site-footer nav a:hover{color:var(--white);text-decoration:underline;text-underline-offset:5px}
.footer-label{margin:0 0 .6rem;color:#cde6ba;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em}
.footer-base{display:flex;justify-content:space-between;gap:2rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.14);font-size:.72rem}
.footer-base p{margin:0}
.utility-content{min-height:calc(100vh - 102px)}
.utility-content .shell{max-width:850px}
.utility-content h1{color:var(--forest)}
.utility-content p:not(.eyebrow){font-family:var(--serif);font-size:var(--text-feature);line-height:1.5;color:#33443f}
.legal-content .legal-updated{margin-bottom:3.5rem;color:var(--muted);font-family:var(--sans);font-size:.88rem}
.legal-content section{padding-top:1rem;margin-top:2.5rem;border-top:1px solid var(--line)}
.legal-content h2{margin:1.25rem 0 1rem;color:var(--forest);font-size:clamp(1.65rem,2.4vw,2.25rem);line-height:1.15;letter-spacing:-.02em}
.legal-content .legal-list{margin:0 0 1.6rem;padding-left:1.35rem;color:#33443f;font-family:var(--serif);font-size:var(--text-feature);line-height:1.5}
.legal-content .legal-list li{margin-bottom:.65rem;padding-left:.25rem}
.legal-content p .text-link{display:inline;color:var(--forest);font:inherit}

@media (max-width:1024px){
  :root{--shell:min(100% - 64px,1240px)}
  body{font-size:17px}
  .header-inner{height:92px}
  .brand{width:165px}
  .primary-nav{gap:1.15rem}
  .hero-grid{grid-template-columns:1.15fr .85fr;gap:3rem}
  .hero-visual{min-height:500px}
  .portrait-grid--hero{min-height:620px}
}

@media (max-width:860px){
  :root{--shell:min(100% - 44px,760px);--space-section:5.5rem}
  .nav-toggle{display:flex;cursor:pointer}
  .primary-nav{position:fixed;inset:92px 0 0;background:var(--forest);display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:2.5rem max(22px,calc((100vw - 760px)/2));transform:translateX(100%);visibility:hidden;transition:transform .22s ease,visibility .22s;overflow:auto}
  .nav-open .primary-nav{transform:none;visibility:visible}
  .primary-nav>a:not(.button){font:2.1rem/1.3 var(--serif);padding:.65rem 0}
  .primary-nav .button{margin-top:1.2rem}
  .nav-open .nav-toggle__icon span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .nav-open .nav-toggle__icon span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .hero-grid,.portrait-grid,.split-editorial,.feature-grid{grid-template-columns:1fr}
  .hero--home .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero--private .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-grid{padding-block:5.2rem}
  .hero-visual{min-height:480px;width:min(620px,100%);margin-top:2rem}
  .private-intro-details__grid{grid-template-columns:1fr;gap:2rem}
  .portrait-grid{gap:4rem}
  .portrait-grid--hero{padding-block:5rem}
  .portrait-frame--hero{order:0;justify-self:start;width:min(440px,82%)}
  .portrait-frame--compact{width:min(460px,85%)}
  .split-editorial{gap:3rem}
  .feature-grid{gap:1rem}
  .section-heading-row{grid-template-columns:1fr;gap:2rem}
  .quote-grid{grid-template-columns:1fr}
  .quote-card{min-height:330px}
  .footer-grid{grid-template-columns:1.2fr .7fr .7fr;gap:2rem}
}

@media (max-width:560px){
  :root{--shell:calc(100% - 36px);--space-section:4.5rem;--title-page:clamp(2.8rem,12vw,3.65rem);--title-section:clamp(2.25rem,9vw,3.05rem)}
  body{font-size:16px}
  .header-inner{height:82px}
  .brand{width:145px}
  .primary-nav{inset:82px 0 0;padding-inline:18px}
  .hero-grid{padding-block:4rem;gap:2rem}
  .hero--private .hero-grid{padding-bottom:3rem}
  .hero-visual,.hero-visual--quiet{min-height:390px;width:100%;margin-top:1.2rem}
  .hero-visual::before{inset:-12px 12px 12px -12px}
  .hero-visual figcaption{max-width:215px;font-size:.9rem}
  .portrait-grid--hero{padding-block:4rem}
  .portrait-frame--hero,.portrait-frame--compact{width:calc(100% - 18px)}
  .portrait-frame::before{inset:10px -10px -10px 10px}
  .section-index{white-space:normal}
  .quote-card{padding:2rem;min-height:0}
  .closing-cta{text-align:left}
  .closing-cta p{margin-inline:0}
  .button{width:100%;text-align:center}
  .footer-grid{grid-template-columns:1fr;gap:2.5rem}
  .footer-base{flex-direction:column;gap:.6rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
