/* V3 — restrained identity, legible typography and editorial rhythm. */
@font-face{font-family:E24Serif;src:url('assets/fonts/e24-serif-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--muted:#62685F;--gutter:clamp(28px,6.25vw,120px);--section:118px}
body{font-size:17px;line-height:1.85}
h1,h2{font-weight:600}
html{scroll-padding-top:108px}
section[id]{scroll-margin-top:108px}
.site-header{height:104px;background:rgba(250,252,246,.98)}
.brand{width:196px}
.brand img{filter:brightness(0);opacity:.87}
.desktop-nav{font-size:16px;gap:34px;letter-spacing:.8px}
.desktop-nav a{padding:12px 0}
.nav-contact{font-size:15px;padding:10px 0;border:0;border-bottom:1px solid #AEB9A6;gap:24px;color:var(--ink);min-height:46px}
.nav-contact:hover{background:transparent;border-color:var(--dark)}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.eyebrow{font-size:12px;line-height:1.65;letter-spacing:2px}
.hero .eyebrow{font-size:12px;letter-spacing:1.5px}
.hero .eyebrow span{font-size:12px;letter-spacing:1px}
.hero-pretitle{font-size:18px;letter-spacing:3px;margin-top:38px}
h1{font-size:clamp(52px,4.75vw,76px);line-height:1.35;letter-spacing:2px}
.hero-description{font-size:17px;line-height:1.95;max-width:32em;color:var(--muted)}
.hero-actions{gap:26px;margin-top:34px;flex-wrap:wrap}
.button{font-size:16px;min-height:56px;padding:15px 24px;gap:34px}
.text-button{font-size:16px;min-height:48px}
.hero-footnote{font-size:13px;letter-spacing:1.5px;color:var(--muted);margin-top:38px}
.photo-caption{font-size:12px;line-height:1.6;letter-spacing:1px;gap:14px;flex-wrap:wrap}
.brand-line{font-size:15px;letter-spacing:2px}
.brand-line a{font-size:14px}
.section-heading{margin-bottom:44px;gap:32px}
h2{font-size:clamp(32px,2.8vw,44px);line-height:1.55;letter-spacing:.4px}
.section-intro{font-size:16px;line-height:1.95}
.nurture-grid{gap:26px}
.card-heading{margin-top:20px;gap:12px}
.card-heading h3{font-size:24px;letter-spacing:1px}
.card-number{font-size:13px;color:var(--muted)}
.nurture-card>p{font-size:15px;line-height:1.8;padding-left:31px;margin-top:8px}
.photo-note{font-size:11px;letter-spacing:.5px;padding:3px 6px}
.body-copy{font-size:17px;line-height:1.95}
.experience-copy h2{font-size:46px;line-height:1.45}
.experience-steps{gap:25px;margin:32px 0}
.experience-steps h3{font-size:18px}
.experience-steps p{font-size:15px;line-height:1.9;margin-top:6px}
.experience-steps li>span{font-size:14px;color:var(--muted);padding-top:3px}
.play-button{font-size:15px;min-height:48px;padding:13px 20px}
.image-label{font-size:12px;letter-spacing:1px;background:#1F382833;padding:4px 8px}
.underlined-link{font-size:16px;min-height:48px;gap:36px;padding:11px 0}
.space-grid figcaption{font-size:14px;line-height:1.8;margin-top:18px;gap:20px}
.season{background:#F1F1E9;min-height:620px}
.season-art{min-height:620px}
.season-art>img{object-position:56% center}
.season-character{display:none}
.season-photo-meta{position:absolute;bottom:0;left:0;right:0;padding:70px 28px 24px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#FFF;background:linear-gradient(transparent,#1525159c);font-size:12px;letter-spacing:1px;line-height:1.7}
.season-copy{padding:62px 10%}
.season-copy h2{font-size:34px;line-height:1.6;margin:16px 0 22px}
.season-list{margin-top:28px}
.season-list button{font-size:16px;padding:17px 0;line-height:1.8;min-height:58px}
.season-list button span:last-child{font-size:14px}
.about>p:not(.eyebrow){font-size:17px;line-height:2}
.partner h2{font-size:32px;line-height:1.6}
.partner p:last-child{font-size:16px;line-height:1.9;color:#DCE5D6}
.site-footer{padding-top:56px;padding-bottom:28px}
.footer-main .brand{width:196px}
.footer-main p{font-size:15px}
.footer-main>a:last-child{font-size:13px}
.footer-main>a:last-child span{font-size:21px;margin-top:4px}
.footer-bottom{font-size:12px;line-height:1.8;margin-top:42px;padding-top:26px}
.dialog-body{padding:38px}
.dialog-body h2{font-size:32px;line-height:1.6}
.dialog-body p,.dialog-body ul{font-size:16px;line-height:1.95}
.dialog-subnote{font-size:13px!important;line-height:1.9!important}
.dialog-close{width:44px;height:44px;line-height:44px}
.contact-options .button{font-size:15px}
@media(min-width:761px){.hero,.hero-image{min-height:740px}}

@media(max-width:1100px){
  :root{--gutter:5vw;--section:90px}
  .brand{width:186px}.desktop-nav{gap:23px;font-size:15px}
  .hero .eyebrow span{display:none}
  .hero-pretitle{font-size:17px}
  h1{font-size:52px}
  .hero-description{font-size:16px}
  .hero-actions .button{font-size:15px}
  .card-heading h3{font-size:22px}
  .nurture-card>p{font-size:14px;padding-left:0}
  .experience-copy h2{font-size:38px}
  .body-copy{font-size:16px}
  .experience-steps p{font-size:14px}
  .season-copy{padding:54px 9%}
  .season-copy h2{font-size:30px}
  .season-list button span:last-child{font-size:13px}
}
@media(min-width:761px) and (max-width:980px){
  .site-header{height:94px}.desktop-nav{display:none}
  .menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px}
  .menu-toggle span{height:1px;width:23px;background:var(--ink)}
  .mobile-menu:not([hidden]){display:flex;position:fixed;top:94px;left:0;right:0;z-index:29;background:var(--paper);padding:22px 5vw 32px;flex-direction:column;border-bottom:1px solid var(--line)}
  .mobile-menu a,.mobile-menu button{padding:12px 0;text-align:left;font-size:17px}
}
@media(max-width:760px){
  :root{--gutter:22px;--section:70px}
  body{font-size:16px;line-height:1.9}
  html{scroll-padding-top:86px}section[id]{scroll-margin-top:86px}
  .site-header{height:82px;padding:0 22px}
  .brand{width:176px}
  .nav-contact{display:none}
  .header-actions{gap:0}
  .menu-toggle{width:44px;height:44px;padding:10px;align-items:center;gap:6px}
  .menu-toggle span{width:23px;background:var(--ink)}
  .mobile-menu:not([hidden]){top:82px;padding:22px 22px 30px}
  .mobile-menu a,.mobile-menu button{font-size:18px;min-height:52px;padding:12px 0}
  .hero-copy{padding:34px 22px 36px}
  .hero .eyebrow{font-size:11px;letter-spacing:1.2px}
  .hero .eyebrow span{font-size:11px;letter-spacing:.5px;margin-left:9px}
  .hero-pretitle{font-size:16px;letter-spacing:2px;margin-top:30px}
  h1{font-size:48px;line-height:1.38;letter-spacing:1px;margin-top:14px}
  .hero-description{font-size:16px;line-height:1.95;margin-top:22px}
  .hero-actions{gap:22px;margin-top:26px;flex-wrap:wrap}
  .hero-actions .button{font-size:15px;min-height:52px;padding:13px 18px;gap:22px}
  .hero-actions .text-button{font-size:15px;min-height:48px}
  .hero-image{height:350px}
  .photo-caption{font-size:11px;letter-spacing:.4px;padding:58px 22px 20px;gap:8px 12px}
  .photo-caption span:last-child{font-size:12px}
  .brand-line{font-size:13px;padding:22px;letter-spacing:1px;gap:22px}
  .eyebrow{font-size:12px;letter-spacing:1.5px}
  .section-heading{margin-bottom:32px}
  h2{font-size:30px;line-height:1.6;letter-spacing:0}
  .section-intro{font-size:15px;line-height:1.9;margin-top:15px}
  .section-intro br{display:initial}
  .nurture-grid{gap:34px 16px}
  .card-heading{margin-top:15px;gap:8px}
  .card-heading h3{font-size:22px;letter-spacing:.5px}
  .card-number{font-size:12px}
  .nurture-card>p{font-size:14px;line-height:1.8;padding-left:0;margin-top:8px}
  .circle-arrow{font-size:18px}
  .photo-note{font-size:11px;padding:3px 5px;bottom:8px;right:8px}
  .experience{padding:48px 22px 54px;gap:34px}
  .experience-copy h2{font-size:35px;line-height:1.5;margin:17px 0 24px}
  .body-copy{font-size:16px;line-height:1.95}
  .experience-steps{gap:25px;margin:30px 0}
  .experience-steps h3{font-size:18px}
  .experience-steps p{font-size:15px;line-height:1.9;margin-top:6px}
  .experience-steps li{gap:18px}
  .experience-steps li>span{font-size:13px}
  .experience-image{height:390px}
  .image-label{font-size:11px;letter-spacing:.5px;top:18px;left:18px}
  .play-button{font-size:14px;padding:13px 18px;min-height:48px}
  .underlined-link{font-size:15px;gap:30px;min-height:48px}
  .space-grid{gap:32px}
  .space-grid img{height:290px}
  .space-side img{height:330px}
  .space-grid figcaption{display:grid;grid-template-columns:1fr;font-size:14px;line-height:1.8;gap:4px;margin-top:15px}
  .season{min-height:0}
  .season-art{height:330px;min-height:0}
  .season-art>img{object-position:54% 62%}
  .season-photo-meta{font-size:11px;padding:60px 22px 20px;gap:8px 12px;letter-spacing:.5px}
  .season-copy{padding:46px 22px 50px}
  .season-copy h2{font-size:30px;line-height:1.6;margin:18px 0 24px}
  .season-list{margin-top:30px}
  .season-list button{font-size:16px;padding:17px 0;min-height:60px}
  .season-list button span:last-child{font-size:14px}
  .about{padding-top:72px;padding-bottom:72px}
  .about h2{font-size:27px;line-height:1.65;margin:22px 0}
  .about>p:not(.eyebrow){font-size:16px;line-height:1.95}
  .partner{padding:46px 22px 50px}
  .partner h2{font-size:29px;line-height:1.6;max-width:330px;margin-top:18px}
  .partner p:last-child{font-size:16px;line-height:1.95;max-width:330px;margin-top:18px}
  .partner .button{font-size:15px;min-height:52px;padding:13px 20px;gap:30px;margin-top:28px}
  .site-footer{padding:46px 22px 110px}
  .footer-main .brand{width:182px}
  .footer-main>a:last-child{font-size:14px;margin-top:28px}
  .footer-main>a:last-child span{font-size:22px;margin-top:6px}
  .footer-bottom{font-size:12px;line-height:1.9;margin-top:32px;padding-top:24px;gap:12px}
  .footer-bottom a{margin-left:0}
  .mobile-bottom{height:calc(64px + env(safe-area-inset-bottom))}
  .mobile-bottom a,.mobile-bottom button{font-size:16px}
  .dialog-body{padding:32px 24px}
  .dialog-body h2{font-size:29px}
  .dialog-body p,.dialog-body ul{font-size:16px}
  .contact-options .button{font-size:15px}
  .toast{font-size:14px;bottom:88px}
}
@media(max-width:365px){
  .brand{width:168px}
  .hero .eyebrow span{display:none}
  h1{font-size:44px}
  .hero-actions{gap:16px}
  .hero-actions .button{gap:16px}
  .card-heading h3{font-size:21px}
  .nurture-card>p{font-size:14px}
  .season-copy h2{font-size:28px}
  .about h2{font-size:25px}
}
