/* Inner pages: extend the established forest, white and lime identity. */
body:not([data-page="/"]) main{overflow:clip}
.editorial-media{overflow:hidden;position:relative}
.editorial-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.editorial-media:hover img{transform:scale(1.025)}
.catalog-hero{background:#eef2e9;gap:6vw;padding-top:58px;padding-bottom:58px;grid-template-columns:1fr 1.25fr;min-height:640px}
.catalog-hero h1{font-size:clamp(58px,6.8vw,96px);line-height:1.02;letter-spacing:-.04em}
.catalog-hero figure{height:480px;align-self:center}
.catalog-hero figcaption{position:absolute;bottom:0;left:0;right:auto;background:var(--lime);color:var(--ink);padding:17px 24px;font-size:14px}
.catalog-hero>div>p:not(.eyebrow){font-size:18px;max-width:27ch;line-height:1.65;margin-top:26px}
.catalog-hero .text-link{margin-top:18px}
.catalog-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}
.catalog-heading h2{font-size:clamp(36px,4vw,54px)}
.catalog-heading p{font-size:15px;line-height:1.7;color:var(--muted)}
.catalog-toolbar{border-top:1px solid var(--line);padding-top:24px;gap:20px}
.category-tabs{gap:4px}
.category-tabs button{padding:12px 17px;min-height:46px}
.category-tabs button[aria-pressed=true]{background:var(--ink);color:white}
.catalog .program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 30px}
.catalog .program-card,.related-programs .program-card{display:flex;flex-direction:column;min-width:0;padding:0 0 20px;border-bottom:1px solid var(--line)}
.catalog .program-card[hidden]{display:none}
.catalog .program-image,.related-programs .program-image{display:block;position:relative;width:100%;height:auto;aspect-ratio:1.45;overflow:hidden;margin-bottom:23px;background:var(--soft)}
.program-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .8s ease}
.program-image>span{position:absolute;top:14px;left:14px;background:white;color:var(--ink);padding:7px 11px;font-size:11px;letter-spacing:.015em;border-radius:0}
.program-card:hover .program-image img{transform:scale(1.055)}
.catalog .program-meta,.related-programs .program-meta{margin:0 0 10px;gap:12px;font-size:12px;color:#5b655a}
.catalog .program-card h3,.related-programs .program-card h3{font-size:clamp(25px,2.35vw,34px);line-height:1.18;margin:0 0 13px;min-height:2.36em;transform:none}
.catalog .program-card:hover h3{transform:none}
.catalog .program-card>p,.related-programs .program-card>p{font-size:13px;line-height:1.65;min-height:3.3em;margin:0 0 22px;color:#5b655a}
.catalog .program-card-bottom,.related-programs .program-card-bottom{margin-top:auto;gap:10px;padding:0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:12px}
.program-card-bottom a{padding:10px 0;display:inline-flex;gap:18px;align-items:center}
.program-card-bottom a span{transition:transform .3s ease;font-size:20px}
.program-card:hover .program-card-bottom a span{transform:rotate(90deg)}
.program-card:focus-within .program-image img{transform:scale(1.04)}
.program-models{background:var(--ink);color:white}
.program-models p{color:#d9e0d5}
.program-models .button.dark{background:var(--lime);color:var(--ink)}
.program-models article{border-color:#53634e}
/* A course opens with the subject, its image, then the facts. */
.course-hero{padding-top:32px;padding-bottom:0;background:var(--soft)}
.course-hero .breadcrumbs{margin-bottom:32px}
.course-opening{display:grid;grid-template-columns:1fr 1.18fr;gap:5vw;align-items:center}
.course-category{font-size:13px;margin-bottom:23px;color:var(--muted)}
.course-title h1{font-size:clamp(44px,5vw,72px);line-height:1.06;max-width:12ch}
.course-title .course-lead{font-size:17px;line-height:1.65;max-width:38ch;margin:24px 0 28px}
.course-cover{height:460px;margin:0}
.course-cover figcaption{position:absolute;left:0;bottom:0;background:var(--lime);padding:15px 22px;font-size:15px;max-width:90%}
.course-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;border-top:1px solid #cbd2c5;margin-top:42px;padding:28px 0 32px}
.course-facts>div{display:flex;flex-direction:column;gap:8px}
.course-facts span{font-size:12px;color:var(--muted)}
.course-facts strong{font-size:17px;font-weight:400}
.course-content-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8vw;align-items:start}
.course-learning h2{font-size:clamp(36px,4vw,56px)}
.course-learning>p:not(.small-note){font-size:17px;line-height:1.75;max-width:48ch;margin:26px 0 36px}
.course-learning .subject-list{margin:30px 0}
.course-learning .subject-list li{display:flex;align-items:center;gap:24px;padding:20px 0;font-size:23px}
.course-learning .subject-list li:before{display:none}
.skill-order{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);width:20px}
.course-enquiry{background:var(--lime);padding:36px;border:0;position:sticky;top:110px;scroll-margin-top:105px}
.course-enquiry h2{font-size:35px;line-height:1.15}
.course-enquiry>p:not(.small-note){font-size:15px;line-height:1.6;margin-top:20px}
.course-enquiry dl{margin:28px 0}
.course-enquiry dl>div{border-color:#b5c899}
.course-enquiry .small-note{color:#3f5133}
.course-commitment{border-top:1px solid var(--line);padding-top:64px;margin-top:85px}
.course-commitment .process-grid{margin-top:40px}
.course-body+.faq-section{background:var(--soft)}
.related-programs .program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
/* Giving: a prominent film and an equally prominent route to support. */
.donate-hero{background:var(--ink);color:white;grid-template-columns:1fr 1.2fr;padding-top:60px;padding-bottom:60px;gap:6vw}
.donate-hero h1{font-size:clamp(52px,5.7vw,82px);line-height:1.06}
.donate-hero h1 em{color:var(--lime)}
.donate-intro>p:not(.eyebrow){color:#e1e7dc;font-size:17px;line-height:1.7;max-width:34ch}
.donate-hero .button.dark{background:var(--lime);color:var(--ink)}
.donate-hero figure{height:535px;border-radius:0;overflow:hidden;position:relative}
.donate-hero video{height:100%;width:100%;object-fit:cover;object-position:35% center}
.donate-hero figcaption{background:var(--lime);color:var(--ink);bottom:0;left:0;padding:16px 23px;font-size:14px;border-radius:0}
.support-story{gap:7vw;align-items:center;grid-template-columns:1fr 1fr}
.support-photo{height:320px;margin:0 0 30px}
.support-story h2{font-size:clamp(36px,4vw,54px)}
.support-reasons article{gap:25px}
.support-reasons article>span{display:none}
.support-reasons h3{font-size:31px}
.giving-section{gap:7vw;align-items:center}
.giving-section h2{font-size:clamp(50px,6.7vw,94px);line-height:1.05}
.giving-panel{padding:38px}
.giving-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:30px;gap:25px}
.giving-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);font:400 13px/1.5 DM,sans-serif;padding:0 0 14px;cursor:pointer;min-height:44px}
.giving-tabs button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}
.giving-panel h3{font-size:32px;line-height:1.15}
.giving-panel>p:not(.small-note){min-height:4.8em;line-height:1.6;font-size:15px}
.giving-panel .button{width:100%;justify-content:space-between}
.giving-alternative{margin-top:28px}
.donate-volunteer{background:var(--soft)}
/* Volunteering: human faces first, followed by an interactive role choice. */
.join-hero{grid-template-columns:1.05fr 1fr;min-height:660px}
.join-photo{min-height:660px;position:relative;overflow:hidden}
.join-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:40% center}
.join-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#101e16ad)}
.join-photo>p{z-index:1;font-size:28px;line-height:1.35;bottom:40px;left:var(--pad)}
.join-copy{padding:60px 5vw;align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:var(--soft)}
.join-copy h1{font-size:clamp(46px,4.7vw,68px);line-height:1.07}
.join-copy>p:not(.eyebrow){font-size:17px;line-height:1.65;max-width:33ch}
.join-copy .button{align-self:start;margin-top:28px}
.join-copy p.small-note{font-size:12px;margin-top:15px}
.volunteer-interlude{position:relative;min-height:540px;overflow:hidden;background:var(--ink);color:white}
.volunteer-interlude video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.volunteer-interlude:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b2115d9,#0b211526)}
.volunteer-interlude>div{position:relative;z-index:1;padding:110px var(--pad);max-width:850px}
.volunteer-interlude h2{font-size:clamp(48px,5vw,72px);line-height:1.05;color:white}
.volunteer-interlude p{margin-top:30px;font-size:17px;line-height:1.7}
.role-detail{transition:background-color .3s ease}
.role-detail.is-changing{animation:role-reveal .45s ease both}
@keyframes role-reveal{from{clip-path:inset(0 0 12% 0)}to{clip-path:inset(0)}}
/* About and contact join the same photographic language. */
.about-panorama{height:480px;margin:0 var(--pad) 70px}
.about-panorama img{object-position:center 45%}
.about-panorama figcaption{position:absolute;bottom:0;left:0;background:var(--lime);padding:19px 26px;font-size:17px}
body[data-page="/about/"] .page-intro{padding-bottom:50px}
.contact-intro{padding-top:65px;padding-bottom:65px}
.contact-intro h1{font-size:clamp(46px,5.5vw,76px)}
.contact-intro .intro-copy{font-size:17px;line-height:1.7;max-width:54ch;margin-top:24px}
.contact-photo{height:285px;margin:0 0 35px}
.contact-direct h2{font-size:42px;margin-bottom:30px}
.contact-direct>div>a{font-size:clamp(23px,2.5vw,35px);overflow-wrap:anywhere}
.contact-compose{padding:38px;align-self:start}
.contact-compose h3{font-size:36px}
@media(min-width:1101px){.catalog-inputs{margin-left:auto}.catalog-toolbar{flex-wrap:nowrap}.search-field input{width:185px}.topic-field select{max-width:155px}}
@media(max-width:1100px){.catalog .program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}.catalog-hero{min-height:540px}.catalog-hero figure{height:400px}.course-cover{height:410px}.course-content-grid{gap:5vw}.course-enquiry{padding:28px}.join-copy{padding:40px 30px}.join-copy h1{font-size:48px}.donate-hero{gap:35px}.donate-hero figure{height:500px}.related-programs .program-card h3{font-size:27px}}
@media(max-width:760px){
.catalog-hero{grid-template-columns:1fr;gap:30px;padding-top:42px;padding-bottom:36px;min-height:0}.catalog-hero h1{font-size:60px}.catalog-hero h1 br{display:none}.catalog-hero figure{height:320px}.catalog-hero>div>p:not(.eyebrow){font-size:16px;max-width:32ch;margin-top:20px}.catalog-hero figcaption{font-size:12px;padding:12px 16px}.catalog-heading{display:block;margin-bottom:28px}.catalog-heading h2{font-size:38px}.catalog-heading p{margin-top:17px;font-size:14px}.catalog-toolbar{padding-top:20px}.catalog .program-grid{gap:38px 22px}.catalog .program-card h3{font-size:26px;min-height:0}.catalog .program-card>p{min-height:0}.catalog .program-image{margin-bottom:20px}.catalog .program-meta{flex-wrap:wrap}.catalog .program-card-bottom{align-items:start;gap:5px}.catalog .program-card-bottom>a{padding-top:5px}.program-models h2{font-size:40px}.course-opening{grid-template-columns:1fr;gap:30px}.course-hero{padding-top:26px}.course-category{margin-bottom:16px}.course-title h1{font-size:clamp(42px,10vw,58px);max-width:13ch}.course-title .course-lead{font-size:16px;margin:22px 0}.course-cover{height:330px}.course-cover figcaption{font-size:13px;padding:12px 16px}.course-facts{grid-template-columns:1fr 1fr;gap:24px 15px;margin-top:28px;padding:25px 0}.course-facts strong{font-size:15px}.course-content-grid{grid-template-columns:1fr;gap:38px}.course-learning h2{font-size:40px}.course-learning>p:not(.small-note){font-size:16px}.course-enquiry{position:static;padding:28px}.course-enquiry h2{font-size:34px}.course-enquiry dl{margin:25px 0}.course-commitment{margin-top:55px;padding-top:45px}.course-commitment .process-grid{margin-top:25px}.related-programs .program-grid{grid-template-columns:1fr;gap:38px}.related-programs .program-card h3{min-height:0}.related-programs .program-card>p{min-height:0}.related-programs .program-image{aspect-ratio:1.5}.donate-hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:30px;gap:32px}.donate-hero h1{font-size:53px}.donate-hero figure{height:390px}.donate-intro>p:not(.eyebrow){font-size:16px}.support-story{grid-template-columns:1fr;gap:24px}.support-photo{height:285px}.support-reasons h3{font-size:28px}.giving-section{gap:30px}.giving-section h2{font-size:62px}.giving-panel{padding:26px 22px}.giving-tabs{gap:20px;margin-bottom:25px}.giving-tabs button{font-size:12px;text-align:left}.giving-panel h3{font-size:30px}.giving-panel>p:not(.small-note){min-height:0}.join-hero{grid-template-columns:1fr;min-height:0}.join-copy{padding:44px 24px;grid-row:1}.join-copy h1{font-size:49px}.join-copy .button{margin-top:23px}.join-copy>p:not(.eyebrow){font-size:16px}.join-photo{min-height:400px}.join-photo>p{font-size:24px;bottom:28px}.volunteer-interlude{min-height:450px}.volunteer-interlude>div{padding:90px 24px}.volunteer-interlude h2{font-size:48px}.volunteer-interlude p{font-size:15px}.about-panorama{height:340px;margin:0 24px 45px}.about-panorama figcaption{font-size:13px;padding:15px 18px}.contact-intro{padding-top:45px;padding-bottom:45px}.contact-intro h1{font-size:49px}.contact-photo{height:260px}.contact-compose{padding:28px 24px}.contact-direct h2{font-size:38px}.contact-compose h3{font-size:32px}
}
@media(max-width:520px){.catalog .program-grid{grid-template-columns:1fr}.catalog .program-image{aspect-ratio:1.5}.catalog .program-card h3{font-size:31px}.catalog .program-card>p{margin-bottom:18px}.catalog .program-card-bottom{align-items:center}.catalog .program-meta{flex-wrap:nowrap}.catalog-hero h1{font-size:57px}.catalog-hero figure{height:285px}.catalog-toolbar .category-tabs button{padding:10px 9px}.course-facts strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.editorial-media img,.program-image img,.role-detail{transition:none!important;animation:none!important}}
.motion-off .editorial-media img,.motion-off .program-image img,.motion-off .role-detail{transition:none!important;animation:none!important;transform:none!important}
/* Explicit foregrounds keep inherited rules readable on the new surfaces. */
.course-learning .subject-list li>span:last-child{color:var(--ink)}
.program-models article p{color:#d9e0d5}
