/* Elected version 2: forest green, quiet spacing and photographs. */
:root{
  --bg:#f7f5ee;--bg-soft:#e9eddf;--surface:#fff;
  --ink:#233d32;--muted:#586b5f;--line:#d7ded3;
  --terracotta:#203f35;--terracotta-deep:#183329;
  --peach:#e7eddf;--peach-deep:#bdcbb4;--coral:#5b7656;
  --sage:#91a27e;--sage-soft:#dce4d2;--sage-deep:#365d3f;
  --teal:#819b8c;--teal-soft:#e4ece6;--teal-deep:#365947;
  --lavender:#a1aea0;--lavender-soft:#e9ede4;--lavender-deep:#53684c;
  --ochre:#806632;--ochre-soft:#f5ecd6;--radius:0px;--shadow:none;
}
html{scroll-padding-top:116px}
body{line-height:1.95}
h1,h2,h3,h4{font-weight:500;line-height:1.55;letter-spacing:.025em}
.container{width:min(1140px,calc(100% - 100px))}
.narrow{width:min(820px,calc(100% - 100px))}
section{padding:100px 0}
.wc,.unit-band{display:none}
.review-banner{display:flex;justify-content:space-between;gap:16px;padding:6px 4.5%;background:#e5e9df;color:#425346;font-size:11px;letter-spacing:.06em}
.review-banner a{text-decoration:underline;text-underline-offset:4px}
.skip-link{position:absolute;top:-100px;left:20px;z-index:100;background:#fff;padding:12px 18px}
.skip-link:focus{top:8px}
a:focus-visible,button:focus-visible{outline:3px solid #937441;outline-offset:5px}
.nav{background:#fff;backdrop-filter:none}
.nav>.container{width:91%;max-width:none;height:96px;gap:24px}
.brand{color:var(--ink);font-size:22px;font-weight:500;flex-shrink:0;letter-spacing:.04em}
.brand img{width:39px;height:45px}
.brand small{font-size:8px;line-height:1.8;letter-spacing:.11em;margin-top:5px;color:var(--ink)}
.nav-links{gap:12px;font-size:13px}
.nav-links a{padding:9px 4px;border-radius:0}
.nav-links a:hover{background:transparent;color:#4f6e49}
.nav-links>li>a.active{box-shadow:inset 0 -1px 0 var(--ink);border-radius:0}
.nav-cta{border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-size:13px;padding:10px 18px;white-space:nowrap}
.nav-cta:hover{background:var(--bg-soft);color:var(--ink)}
.nav .sub{border-radius:0;box-shadow:0 8px 18px #18332910;padding:12px 16px}
.nav .sub a{padding:12px 4px}
.page-head{padding:78px 0 72px;background:#203f35;color:var(--bg)}
.page-head h1{font-size:clamp(30px,3.8vw,48px);color:var(--bg);font-weight:400;max-width:1000px}
.page-head p{color:#d8e2d5;font-size:16px;max-width:760px;margin-top:20px}
.page-head .crumb{color:#d1dece;flex-wrap:wrap;margin-bottom:28px}
.page-head .crumb a:hover{color:#fff;text-decoration:underline}
.page-head .tag{color:#cfdbbb}
.page-head .badge{background:transparent;color:#cfdbbb;border:0;padding:0;letter-spacing:.13em}
.sec-head{max-width:780px;margin-bottom:50px}
.sec-head .tag{color:#60724e;font-size:11px;letter-spacing:.16em;margin-bottom:20px}
.sec-head h2{font-size:clamp(27px,3vw,40px);font-weight:500}
.sec-head p{font-size:15px;line-height:2}
.btn{border-radius:0;padding:14px 24px;font-size:14px;gap:15px}
.btn:hover{transform:none}
.btn-sm{padding:10px 20px;font-size:13px}
.btn-primary{background:#203f35;color:#fff}
.btn-primary:hover{background:#355a48}
.btn-ghost{border:1px solid #203f35}
.btn-light{background:var(--bg);color:#203f35}
.badge,.chip,.status,.flag,.tag-open,.tag-internal{border-radius:0}
.badge{background:var(--bg-soft)}
.split{grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.split p{font-size:15px;line-height:2;margin-bottom:22px}
.split .btn{margin-top:10px;margin-right:8px}
.grid-3{gap:40px}
.grid-2{gap:48px}
.card,.card.soft{border:0;border-top:1px solid #9aac91;padding:26px 0;background:transparent}
.card:hover,.unit:hover,.event:hover{transform:none;box-shadow:none}
.card h3{font-size:22px;margin-bottom:18px}
.card p{font-size:15px;line-height:2}
.card .icon{border-radius:0;background:var(--sage-soft)}
.card .num{color:#6d825e;font-weight:400}
.unit{border:0;background:transparent}
.unit-cover{width:100%;aspect-ratio:1.32;object-fit:cover}
.unit-body{padding:30px 0 0}
.unit h3{font-size:29px;margin-bottom:14px}
.unit .sub,.story-head .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;min-width:0;padding:0;display:block}
.unit .sub{color:var(--muted);font-size:14px}
.unit .badge{padding:0;background:transparent;color:#61744f;margin-bottom:16px}
.services{gap:24px}
.services li{border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;background:transparent}
.services .ico,.info-list .ico,.teacher .avatar{border-radius:0}
.gradient-card,.gradient-card.b{background:#203f35;border-radius:0;padding:40px}
.gradient-card::after{display:none}
.gradient-card p{color:#e1e8dc}
.quote{background:#203f35;padding:48px 35px;border-radius:0}
.facts li,.steps li,.open-card,.teacher,.day-block,.concept,.pull,.anthro,.picked,.sess-box,.reg-info,.reg-warn,.reg-result,.refund-consent,.pay-note{border-radius:0}
.facts li{background:transparent;border:0;border-top:1px solid var(--line);padding:20px 0}
.learning-intro-media{max-width:none}
.learning-photo,.photo-wide,.bean-story{border:0;background:transparent;box-shadow:none;border-radius:0}
.learning-photo figcaption,.photo-wide figcaption{padding:18px 0;border:0}
.learning-photo figcaption span{font-weight:500}
.learning-photo-pair,.bean-outdoor-gallery{gap:40px}
.classroom-rhythm{gap:56px}
.classroom-rhythm-notes .card{padding:20px 0}
.bean-story-copy{padding:28px 0}
.bean-story-copy h3{font-size:26px}
.bean-service-grid,.bean-outdoor-grid{gap:60px}
.recap,.story{border:0;border-radius:0;background:transparent}
.recap-img{border-radius:0}
.recap-body{padding:26px 0!important}
.recap h3{font-size:26px}
.recap.wide .recap-body{padding:32px 0!important}
.recap blockquote{border-radius:0}
.story-head,.story-body,.story-facts,.story-end{padding-left:0;padding-right:0}
.story-body{max-width:820px;margin:auto}
.story-head .badge-year{border-radius:0}
.concept.a,.concept.b{background:var(--bg);border-color:var(--line)}
.concept.a p,.concept.b p{color:var(--muted)}
.feature-grid{grid-template-columns:.9fr 1.1fr;gap:64px}
.feature-poster{top:125px;box-shadow:none}
.contact-grid{gap:64px}
form{border-radius:0;box-shadow:none}
.field input,.field select,.field textarea{border-radius:0;background:#fff;min-height:48px}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 2px var(--sage-soft);border-color:#5b7656}
.field.invalid input,.field.invalid textarea{border-color:#a14332}
.field .req,form .err-msg{color:#a14332}
.reg-step{margin-bottom:48px}
.pick label{border-radius:0;padding:24px}
.pick input:checked+label{background:#e7eddf;box-shadow:inset 4px 0 #203f35;border-color:#203f35}
.pick .pk-kind,.picked-kind{color:#536b47}
.reg-step-head .n{font-weight:400;background:#203f35}
.reg-info,.picked{background:var(--bg-soft)}
.picked-change,.copy-btn{border-radius:0;min-height:40px}
.reg-info div{grid-template-columns:64px minmax(0,1fr)}
.reg-step-head{flex-wrap:wrap}
.pay{border-color:#8ca294}
.pay-head{background:#e4ece6}
.reg-result.err{border-color:#a14332;background:#fbebe6}
.refund-list li{color:#4c6053}
.refund-consent{padding:26px}
.cta-band{background:#203f35;padding:74px 0}
footer{background:#183329;color:#d3dfd1;padding:64px 0 28px}
.foot-grid{grid-template-columns:1.25fr 1fr 1fr;gap:42px}
.foot-grid>div:last-child{grid-column:1/-1;border-top:1px solid #ffffff26;padding-top:24px;display:flex;gap:40px}
.foot-grid>div:last-child ul{display:flex;gap:28px;flex-wrap:wrap}
.foot-grid>div:last-child h4{margin:0}
.copy{font-size:11px}
.reveal{opacity:1;transform:none}
/* The Sheet-driven activity cards use the selected version's open rows. */
.events-page [data-events],.home-v2 .activity-list{display:block}
.events-page [data-events] .event,.home-v2 .activity-list .event{display:grid;grid-template-columns:155px minmax(0,1fr);gap:35px;padding:30px 0;border:0;border-top:1px solid #bbc8b4;background:transparent;overflow:visible}
.events-page [data-events] .event:last-child,.home-v2 .activity-list .event:last-child{border-bottom:1px solid #bbc8b4}
.events-page [data-events] .event-top,.home-v2 .activity-list .event-top{display:block;padding:0;border:0}
.events-page [data-events] .event-date,.home-v2 .activity-list .event-date{text-align:left}
.events-page [data-events] .event-date .d,.home-v2 .activity-list .event-date .d{font-weight:400;font-size:38px;color:#203f35}
.events-page [data-events] .status,.home-v2 .activity-list .status{display:inline-block;margin-top:18px}
.events-page [data-events] .event-body,.home-v2 .activity-list .event-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 30px;padding:0}
.events-page [data-events] .event-body>*:not(.btn),.home-v2 .activity-list .event-body>*:not(.btn){grid-column:1}
.events-page [data-events] .event-body .btn,.home-v2 .activity-list .event-body .btn{grid-column:2;grid-row:1/7;align-self:center;margin:0}
.events-page [data-events] h3,.home-v2 .activity-list h3{font-size:25px;font-weight:500}
.events-page [data-events] .kind,.home-v2 .activity-list .kind{color:#61744f}
.events-page [data-events] .meta,.home-v2 .activity-list .meta{margin-bottom:0}
@media(max-width:1150px){.nav>.container{gap:14px}.brand{font-size:19px}.nav-links{gap:8px;font-size:12px}.nav-cta{padding:9px 12px}.container{width:calc(100% - 70px)}.split,.feature-grid,.contact-grid{gap:40px}}
@media(max-width:950px){.nav-links,.nav-cta{display:none}.menu-btn{display:block}.nav>.container{height:80px}.nav.open .nav-links{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:80px;background:var(--bg);padding:16px 25px 24px;max-height:calc(100dvh - 80px);overflow:auto;border-bottom:1px solid var(--line);font-size:15px}.nav.open .nav-links a{padding:12px 0}.nav .sub{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;background:transparent;min-width:0;padding:0 0 0 20px}.has-sub>a::after{display:none}.nav .sub a{font-size:14px}.nav.open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav.open .menu-btn span:nth-child(2){opacity:0}.nav.open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}
@media(max-width:860px){.split,.feature-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.bean-service-grid,.bean-outdoor-grid{gap:32px}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}.feature-poster{position:static;width:min(100%,540px);margin:auto}.classroom-rhythm{gap:32px}.events-page [data-events] .event-body,.home-v2 .activity-list .event-body{display:flex}.events-page [data-events] .event-body .btn,.home-v2 .activity-list .event-body .btn{align-self:flex-start;margin-top:20px}.grid-3{gap:28px}}
@media(max-width:640px){html{scroll-padding-top:96px}.container,.narrow{width:calc(100% - 44px)}section{padding:65px 0}.review-banner{font-size:9px;padding:6px 18px}.nav>.container{width:calc(100% - 36px);height:76px;gap:8px}.nav.open .nav-links{top:76px;max-height:calc(100dvh - 76px)}.brand{font-size:18px;gap:10px}.brand img{width:30px;height:37px}.brand small{font-size:6px;letter-spacing:.075em}.page-head{padding:42px 0 46px}.page-head .crumb{font-size:11px;gap:6px;margin-bottom:22px}.page-head h1{font-size:30px}.page-head p{font-size:14px}.sec-head{margin-bottom:32px}.sec-head h2{font-size:28px}.sec-head .tag{font-size:10px}.sec-head p,.split p{font-size:14px}.grid-2{gap:42px}.card h3{font-size:22px}.card p{font-size:14px}.gradient-card,.gradient-card.b{padding:30px 25px}.unit h3{font-size:27px}.learning-photo-pair,.bean-outdoor-gallery{gap:24px}.bean-story-copy{padding:23px 0}.bean-story-copy h3{font-size:24px}.quote{padding:32px 22px}.reg-step-head .hint{margin-left:42px}.refund-consent{padding:20px 16px}.reg-info{padding:20px 18px}.reg-info div{font-size:14px;gap:8px}.reg-step-head h2{font-size:19px}.picked-name{font-size:18px}.foot-grid{grid-template-columns:1fr;gap:30px}.foot-grid>div:last-child{display:block}.foot-grid>div:last-child h4{margin-bottom:14px}.foot-grid>div:last-child ul{gap:12px 24px}footer{padding:45px 0 24px}.cta-band{padding:50px 0}.events-page [data-events] .event,.home-v2 .activity-list .event{grid-template-columns:76px minmax(0,1fr);gap:18px;padding:26px 0}.events-page [data-events] .event-date .d,.home-v2 .activity-list .event-date .d{font-size:30px}.events-page [data-events] .event-date .m,.home-v2 .activity-list .event-date .m{font-size:10px;line-height:1.6}.events-page [data-events] .status,.home-v2 .activity-list .status{font-size:10px;padding:4px 7px}.events-page [data-events] h3,.home-v2 .activity-list h3{font-size:21px}.events-page [data-events] .event-body p,.home-v2 .activity-list .event-body p{font-size:13px}.events-page [data-events] .meta,.home-v2 .activity-list .meta{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}html{scroll-behavior:auto}}

h1,h2{text-wrap:balance}
