/* Version 1.1: complete navigation, dedicated pages and meeting notes. */
:root{--sage:#f4f4f2}
.intro-grid{grid-template-columns:minmax(0,1fr) 280px;gap:85px}
.intro-grid>.logo-animation{grid-column:2;grid-row:1;justify-self:end;width:280px}
.intro-grid>div:last-child{grid-column:1;grid-row:1}
.intro-grid .logo-animation img{background:transparent}
.team-banner{margin-bottom:35px}
.center-video{width:100%;margin:0 auto;background:#e0e5dd;border-radius:4px;overflow:hidden}
.center-video video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#1d382d}
.center-cta{max-width:800px;margin:35px auto 0}
.center-cta p{color:var(--muted);font-size:16px}
.center-description{margin:65px auto 35px}
.team-page-list{margin-top:65px}
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.about-intro img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:4px 4px 35% 4px}
.page-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:0}
.page-directory a{border:1px solid var(--line);border-radius:4px;padding:23px;background:var(--sage);font-size:17px;line-height:1.5;min-height:100px}
.page-directory a:hover{background:#e7eddf;color:var(--green)}
.page-directory a>span:last-child{font-size:23px}
.prose p,.prose li{font-size:17px}
.hero .botanical{animation:gg-leaf-sway 9s ease-in-out infinite;transform-origin:bottom left}
@keyframes gg-leaf-sway{50%{transform:rotate(18deg) translateY(-5px)}}
/* Navigation: every main entry has a page URL. */
.header-inner{width:min(1440px,calc(100% - 64px));gap:20px}
.brand,.brand img{width:190px}
.header-cta{font-size:12px;padding:11px 15px;gap:16px}
.main-navigation .nav-list{gap:14px}
.main-navigation .nav-list>li>.nav-item-row{display:flex;align-items:center;gap:3px}
.main-navigation .nav-list a{font-size:13px}
.submenu-toggle{display:inline-grid;place-items:center;width:22px;height:28px;background:transparent;color:var(--green);border:0;padding:0;font-size:15px}
.main-navigation .nav-list li ul{max-height:min(72vh,600px);overflow:auto;min-width:280px;border-radius:3px;z-index:1100}
.main-navigation .nav-list li ul a{font-size:14px;line-height:1.5;padding:10px 0}
.main-navigation li.is-open>ul{display:block}
.main-navigation li:hover>.nav-item-row .submenu-toggle,.main-navigation li.is-open>.nav-item-row .submenu-toggle{color:#7f9966}
/* Footer form, map below it and all header URLs in horizontal groups. */
.site-footer--dark{background:var(--green);color:#fff;padding-top:0}
.site-footer--dark>.footer-top{padding-top:50px}
.site-footer--dark .footer-logo img{filter:brightness(0) invert(1)}
.site-footer--dark .footer-top p,.site-footer--dark .footer-bottom{color:#e0e9de}
.site-footer--dark .footer-nav{display:block;border-color:#ffffff36;padding-top:35px;padding-bottom:35px}
.site-footer--dark .footer-nav nav{width:100%}
.footer-directory{display:grid;grid-template-columns:.85fr 1.15fr 1.15fr 1.1fr 1fr;gap:30px}
.footer-link-group h2{font-family:var(--sans);font-size:15px;font-weight:650;letter-spacing:0;line-height:1.5;margin:0 0 17px}
.footer-link-group ul{list-style:none;padding:0;margin:0}
.footer-link-group li{margin-bottom:10px}
.footer-link-group a{font-size:13px;line-height:1.6;display:block;color:#edf3e9}
.footer-link-group h2 a{font-size:15px;color:#fff}
.footer-link-group a:hover{text-decoration:underline;text-underline-offset:3px}
.site-footer--dark .footer-bottom{font-size:11px}
.site-footer--dark .footer-bottom a{color:#edf3e9}
@media(min-width:741px){.site-footer--dark .footer-bottom{padding-right:155px}.site-footer--dark .footer-bottom>div{flex-wrap:wrap}}
.site-footer--dark .footer-nav>.nav-list,.site-footer--dark .footer-nav nav>.nav-list{display:flex;flex-wrap:wrap;align-items:start;gap:25px}
.site-footer--dark .footer-nav .nav-list li ul{display:block;position:static;background:none;box-shadow:none;padding:10px 0;min-width:0;max-width:240px}
.site-footer--dark .footer-nav .nav-list a{color:#fff;white-space:normal;font-size:13px}
.contact--dark{background:var(--green);border-color:#ffffff33;color:white;padding-bottom:60px}
.contact--dark .contact-copy>p:not(.eyebrow),.contact--dark .contact-details small,.contact--dark .hours{color:#e0e9de}
.contact--dark .form-card{background:#ffffff05;border-color:#ffffff40;box-shadow:none}
.contact--dark .field input,.contact--dark .field textarea{background:#ffffff0b;color:white;border-color:#ffffff66}
.contact--dark .field textarea::placeholder{color:#d6e3d3}
.contact--dark .field small,.contact--dark .form-privacy,.contact--dark .form-required{color:#d6e3d3}
.contact--dark .form-card .button{background:#e4ebd8;color:#1d3d2e;border-color:#e4ebd8}
.contact--dark .form-card .button:hover{background:#f4f7ed}
.contact--dark .map-box{background:#ffffff08;border-color:#ffffff40}
.contact--dark .map-intro p{color:#e0e9de}
.contact--dark .button--outline{color:white;border-color:#ffffff99}
.contact--dark .button--outline:hover{background:#ffffff12}
.contact--dark .form-message{color:#1d3d2e}
.contact .field label{font-size:13px}
.contact .field small,.contact .form-privacy,.contact .form-required{font-size:11px}
.contact .checkbox-label{font-size:12px}
.contact .hours{font-size:13px}
.contact .contact-details small{font-size:12px}
.contact-page .contact{padding-top:35px;background:#fff;border:0}
.contact-intro{margin-bottom:25px;max-width:900px;text-align:center}
.contact-page .contact-copy h2{font-size:39px}
.contact-page .interior-hero h1{margin-bottom:0}
.philosophy-page .dark .prose p{color:#e0e9de}
@media(min-width:1241px){.main-navigation{display:block;position:static;padding:0;background:none;border:0;max-height:none;overflow:visible}.main-navigation .nav-list{display:flex}.main-navigation .nav-list>li{display:block}.main-navigation .nav-list li ul{position:absolute;display:none;padding:12px 18px;background:white;box-shadow:0 7px 20px #203d3020;margin:0;border:0}.main-navigation .nav-list li:hover>ul,.main-navigation .nav-list li:focus-within>ul,.main-navigation .nav-list li.is-open>ul{display:block}.menu-toggle{display:none}.header-cta{margin-left:0;margin-right:0}}
@media(max-width:1240px){.header-inner{min-height:85px}.brand,.brand img{width:215px}.header-cta{margin-left:auto;margin-right:8px}.menu-toggle{order:4;display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;border:1px solid #cbd6c4;border-radius:4px;padding:10px 11px;min-height:44px;color:var(--green)}.menu-label{font-size:12px}.main-navigation{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 32px 25px;display:none;max-height:80vh;overflow:auto;margin:0}.menu-open .main-navigation{display:block}.main-navigation .nav-list{display:block}.main-navigation .nav-list>li{border-bottom:1px solid #e9ede4}.main-navigation .nav-list>li>.nav-item-row{justify-content:space-between}.main-navigation .nav-list a{font-size:15px;line-height:1.5;padding:12px 0;white-space:normal}.submenu-toggle{width:44px;height:44px;font-size:20px}.main-navigation .nav-list li ul{position:static;display:none;box-shadow:none;border-left:1px solid var(--line);padding:0 0 8px 18px;margin:0 0 8px 8px;min-width:0;max-height:none}.main-navigation .nav-list li:hover>ul{display:none}.main-navigation .nav-list li.is-open>ul,.main-navigation .nav-list li:focus-within.is-open>ul{display:block}.main-navigation .nav-list li ul a{font-size:14px}.hero{padding-top:145px}.footer-directory{grid-template-columns:repeat(3,1fr);gap:35px}.footer-link-group a{font-size:14px}}
@media(max-width:740px){.header-inner{width:calc(100% - 36px);min-height:78px;gap:8px}.brand,.brand img{width:175px}.header-cta{min-height:42px;font-size:10px;padding:9px 11px;gap:9px;margin-right:0}.menu-toggle{width:43px;min-height:43px;height:43px;padding:10px}.menu-label{display:none}.hero{padding-top:120px}.hero h1{font-size:44px}.hero-grid{gap:28px}.hero-subtitle{font-size:17px}.intro-grid{display:flex;flex-direction:column;gap:30px}.intro-grid>.logo-animation{order:2;width:180px;align-self:center}.intro-grid>div:last-child{order:1}.intro p:not(.eyebrow){font-size:16px}.center-cta p{font-size:15px}.center-video video{aspect-ratio:4/3}.team-page-list{margin-top:40px}.team-grid--full{gap:26px 18px}.person p{font-size:11px}.about-intro{grid-template-columns:1fr;gap:35px}.about-intro img{aspect-ratio:1.3}.prose p,.prose li{font-size:16px}.page-directory{grid-template-columns:1fr}.page-directory a{font-size:17px;padding:21px;min-height:85px}.footer-directory{grid-template-columns:1fr 1fr;gap:30px 25px}.footer-link-group:first-child{grid-column:1/-1}.footer-link-group:first-child ul{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.footer-link-group a{font-size:13px}.footer-link-group h2,.footer-link-group h2 a{font-size:15px}.site-footer--dark .footer-top{padding-top:35px}.site-footer--dark .footer-top p{font-size:14px}.contact--dark .map-intro{gap:18px}.contact .contact-details>a{font-size:14px}.contact-copy>p:not(.eyebrow){font-size:16px}.contact-page .contact-copy h2{font-size:34px}.contact .field label{font-size:13px}}
@media(max-width:390px){.brand,.brand img{width:160px}.header-cta{padding:9px;font-size:9px;gap:7px}.header-inner{width:calc(100% - 28px);gap:7px}.hero h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){.hero .botanical{animation:none;transform:rotate(12deg)}}
