/* ===== Mobile-first polish and performance pass (v50) ===== */
html{
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:72px;
}
body{overflow-x:hidden}
body.mobile-nav-open{overflow:hidden;touch-action:none}
main,section,article,aside,div{min-width:0}
img{max-width:100%}
button,input,select,textarea{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(232,122,56,.34);
  outline-offset:3px;
}

/* A slightly slimmer, identical header on every page. */
.site-header .header__inner{min-height:64px!important;gap:18px!important}
.site-header .brand{gap:10px!important}
.site-header .brand__logo,.site-header .brand img{width:40px!important;height:40px!important}
.site-header .brand strong{font-size:.88rem!important}
.site-header .brand small{font-size:.7rem!important}
.site-header .main-nav>a,.site-header .nav-dropdown__toggle{
  min-height:38px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
  font-size:.85rem!important;
}
.site-header .nav-cta{padding-inline:15px!important}

/* Avoid long pages doing unnecessary work until they approach the viewport. */
@supports (content-visibility:auto){
  main>section:not(:first-child){
    content-visibility:auto;
    contain-intrinsic-size:auto 640px;
  }
}

@media (hover:none){
  .highlight-card:hover,.section-card:hover,.resource-book:hover,
  .section-page .section-switcher__item:hover,.contact-route-item:hover{
    transform:none!important;
  }
}

@media (max-width:980px){
  :root{--mobile-header-h:60px}
  html{scroll-padding-top:68px}
  .site-header>.container,.site-header .container.header__inner{
    width:min(100% - 20px,1280px)!important;
  }
  .site-header .header__inner{min-height:var(--mobile-header-h)!important;gap:10px!important}
  .site-header .brand__logo,.site-header .brand img{width:38px!important;height:38px!important}
  .site-header .brand strong{font-size:.78rem!important;letter-spacing:.01em!important}
  .site-header .brand small{display:none!important}
  .site-header .menu-toggle{
    display:grid!important;
    place-content:center!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    padding:7px!important;
    border-radius:12px!important;
  }
  .site-header .main-nav{
    top:calc(100% + 5px)!important;
    left:6px!important;
    right:6px!important;
    max-height:calc(100dvh - 74px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding:8px!important;
    gap:2px!important;
    border-radius:17px!important;
    -webkit-overflow-scrolling:touch;
  }
  .site-header .main-nav>a,
  .site-header .nav-dropdown__toggle{
    min-height:44px!important;
    width:100%!important;
    padding:10px 12px!important;
    justify-content:flex-start!important;
    text-align:left!important;
    font-size:.93rem!important;
  }
  .site-header .nav-dropdown{width:100%!important}
  .site-header .nav-dropdown__toggle{justify-content:space-between!important}
  .site-header .nav-dropdown__toggle>span:first-child{margin-right:auto!important}
  .site-header .nav-cta{
    margin:3px 0 0!important;
    justify-content:flex-start!important;
    border-radius:12px!important;
    padding-left:13px!important;
  }
  .site-header .nav-dropdown__menu{
    margin:2px 0 4px!important;
    padding:5px!important;
    border-radius:14px!important;
  }
  .site-header .nav-dropdown__menu a{
    min-height:48px!important;
    padding:8px 9px!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .site-header .nav-dropdown__icon{
    width:30px!important;height:30px!important;flex-basis:30px!important;
  }
  .site-header .nav-dropdown__menu strong{font-size:.91rem!important}
  .site-header .nav-dropdown__menu small{font-size:.73rem!important}
}

@media (max-width:680px){
  :root{--mobile-gutter:12px}
  body{font-size:15px;line-height:1.5}
  .container,.section-page .container{
    width:calc(100% - (var(--mobile-gutter) * 2))!important;
  }
  .section,.section-page .page-section{padding:38px 0!important}
  .section-heading,.section-page .section-heading{
    display:block!important;
    text-align:center!important;
    margin-bottom:18px!important;
  }
  .section-heading p:not(.eyebrow),.section-page .section-heading p:last-child{
    margin:8px auto 0!important;
    font-size:.9rem!important;
  }
  .eyebrow,.section-page .eyebrow{font-size:.68rem!important;letter-spacing:.13em!important}
  h1,h2,h3,.section-page h1,.section-page h2,.section-page h3{text-wrap:balance}
  .button,.section-page .button{
    min-height:46px!important;
    padding:11px 16px!important;
    font-size:.9rem!important;
  }

  /* Homepage hero */
  .hero--fullscreen{
    min-height:calc(100svh - var(--mobile-header-h,60px))!important;
    max-height:none!important;
    align-items:flex-end!important;
  }
  .hero__bg{object-position:center 45%!important}
  .hero__overlay{
    background:linear-gradient(180deg,rgba(10,10,8,.28) 0%,rgba(10,10,8,.52) 46%,rgba(10,10,8,.88) 100%)!important;
  }
  .hero__inner{
    min-height:calc(100svh - var(--mobile-header-h,60px))!important;
    align-items:flex-end!important;
    padding:28px 0 22px!important;
  }
  .hero__content{width:100%;max-width:100%!important;padding:0 2px}
  .hero__content h1{
    font-size:clamp(2.25rem,10.8vw,3.15rem)!important;
    line-height:.98!important;
    margin-bottom:12px!important;
    letter-spacing:-.038em!important;
  }
  .hero__lead{font-size:.94rem!important;line-height:1.47!important;max-width:34rem!important}
  .hero__actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
    margin-top:18px!important;
  }
  .hero__actions .button{width:100%!important}
  .hero__facts{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin-top:18px!important;
  }
  .hero__facts li{padding:8px 3px;border-top:1px solid rgba(255,255,255,.25)}
  .hero__facts strong{font-size:1.08rem!important;line-height:1.1!important}
  .hero__facts span{font-size:.64rem!important;line-height:1.2!important}

  /* Homepage content is deliberately denser on phones. */
  .home-highlights,.meeting-info{padding:38px 0!important}
  .home-highlights__grid{gap:12px!important}
  .highlight-card{border-radius:17px!important}
  .highlight-card__image{aspect-ratio:3/2!important}
  .highlight-card__body{padding:14px 15px 16px!important}
  .highlight-card h3{font-size:1.2rem!important;margin:6px 0!important}
  .highlight-card p{font-size:.85rem!important;margin-bottom:10px!important}

  .section-cards{grid-template-columns:1fr!important;gap:11px!important}
  .section-card,.section-card:nth-last-child(-n+2){
    display:grid!important;
    grid-template-columns:40% 60%!important;
    min-height:164px!important;
    border-radius:17px!important;
  }
  .section-card img,.section-card--orange img,.section-card--yellow img,
  .section-card--blue img,.section-card--red img,.section-card--green img{
    width:100%!important;height:100%!important;min-height:164px!important;
    aspect-ratio:auto!important;object-fit:cover!important;
  }
  .section-card__body{padding:12px 13px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  .section-card__age{align-self:flex-start;margin-bottom:5px!important;font-size:.65rem!important}
  .section-card h3{font-size:1.12rem!important;margin-bottom:5px!important}
  .section-card p{font-size:.78rem!important;line-height:1.36!important;margin-bottom:7px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .section-card a{font-size:.78rem!important}

  .about-home{gap:20px!important;text-align:center!important}
  .about-home__image img{height:230px!important;border-radius:20px!important}
  .about-home__copy h2{font-size:1.9rem!important}
  .about-home__copy p{font-size:.9rem!important}
  .check-list{text-align:left!important;padding-left:0!important}

  .meeting-info__panel{border-radius:17px!important}
  .meeting-info__item,.meeting-info__item:nth-child(2),.meeting-info__item--location{
    grid-template-columns:38px 1fr!important;gap:11px!important;padding:15px!important;
  }
  .meeting-info__icon{width:38px!important;height:38px!important}
  .meeting-info__item strong{font-size:1.05rem!important}
  .meeting-info__item p{font-size:.82rem!important}

  .quick-grid{gap:11px!important}
  .quick-card{padding:19px!important;border-radius:18px!important;text-align:center!important;align-items:center!important}
  .quick-card .button{width:100%!important}
  .instagram-wall{height:330px!important;border-radius:17px!important}
  .cta-box,.docs-cta__inner{
    padding:22px 17px!important;border-radius:22px!important;text-align:center!important;align-items:center!important;
  }
  .cta-box h2,.docs-cta__inner h2{font-size:1.85rem!important}
  .cta-box .hero__actions,.docs-cta__inner .calendar__actions{width:100%!important}
  .cta-box .hero__actions{grid-template-columns:1fr!important}
  .docs-cta__inner .button{width:100%!important}

  /* Section pages */
  .section-page .page-hero{
    min-height:calc(100svh - var(--mobile-header-h,60px))!important;
    max-height:none!important;
  }
  .section-page .page-hero__image{object-position:var(--hero-position,center center)!important}
  .section-page .page-hero::before{
    background:linear-gradient(180deg,rgba(20,13,8,.24) 0%,rgba(20,13,8,.43) 50%,rgba(20,13,8,.82) 100%)!important;
  }
  .section-page .page-hero::after{width:4px!important}
  .section-page .page-hero__inner{
    display:flex!important;align-items:flex-end!important;
    min-height:calc(100svh - var(--mobile-header-h,60px))!important;
    padding:26px 0 24px!important;
  }
  .section-page .page-hero__content{width:100%!important;max-width:100%!important;text-align:center!important}
  .section-page .page-hero h1{font-size:clamp(2.9rem,15vw,4.4rem)!important;margin-bottom:8px!important}
  .section-page .page-hero__tagline{margin:0 auto!important;font-size:.96rem!important;max-width:32rem!important}
  .section-page .hero-info{padding:14px 0 10px!important}
  .section-page .hero-info__card{padding:13px!important;border-radius:18px!important}
  .section-page .hero-info__meta{grid-template-columns:1fr!important;gap:0!important}
  .section-page .hero-info__meta>div{
    display:grid!important;grid-template-columns:82px 1fr!important;gap:8px!important;
    padding:9px 4px!important;border-bottom:1px solid var(--line)!important;text-align:left!important;
  }
  .section-page .hero-info__meta>div:last-child{border-bottom:0!important}
  .section-page .hero-info__meta span{margin:0!important;align-self:start!important}
  .section-page .hero-info__actions{grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:10px!important}

  .section-page .ideas-visual-layout{gap:12px!important}
  .section-page .ideas-visual-content{order:1!important}
  .section-page .ideas-visual-photo{order:2!important;height:220px!important;min-height:220px!important;border-radius:18px!important}
  .section-page .ideas-grid--stacked{gap:7px!important}
  .section-page .ideas-grid--stacked .idea-card{padding:10px 11px!important;column-gap:10px!important;border-radius:16px!important}
  .section-page .ideas-grid--stacked .idea-card__num{width:34px!important;height:34px!important}
  .section-page .ideas-grid--stacked .idea-card h3{font-size:.97rem!important}
  .section-page .ideas-grid--stacked .idea-card p{font-size:.79rem!important}

  .section-page .split-grid,.section-page .learning-layout,.section-page .routine-grid,.section-page .family-faq-grid{gap:11px!important}
  .section-page .split-copy{padding:16px!important;border-radius:18px!important}
  .section-page .split-copy h2{font-size:1.62rem!important}
  .section-page .split-copy p{font-size:.84rem!important}
  .section-page .split-copy blockquote{font-size:.8rem!important;padding:9px 11px!important}
  .section-page .split-photo{height:190px!important;min-height:190px!important;border-radius:18px!important}
  .section-page .photo-note{left:8px!important;right:8px!important;bottom:8px!important;padding:9px 10px!important}
  .section-page .photo-note span{font-size:.73rem!important;line-height:1.3!important}

  .section-page .learning-intro{padding:16px!important;border-radius:18px!important}
  .section-page .learning-intro>p{font-size:.82rem!important}
  .section-page .learning-intro__note{padding:10px!important;margin-top:10px!important}
  .section-page .learning-grid{grid-template-columns:1fr!important;gap:7px!important}
  .section-page .learning-card{padding:10px 11px!important;border-radius:16px!important}
  .section-page .learning-card h3{font-size:.93rem!important}
  .section-page .learning-card p{font-size:.78rem!important}

  .section-page .routine-card{padding:15px!important;border-radius:18px!important}
  .section-page .routine-steps{grid-template-columns:1fr!important;gap:6px!important}
  .section-page .routine-step,.section-page .routine-step:last-child{
    grid-column:auto!important;
    display:grid!important;grid-template-columns:30px 1fr!important;column-gap:9px!important;
    padding:9px 10px!important;text-align:left!important;align-items:center!important;
  }
  .section-page .routine-step span{grid-row:1 / span 2;margin:0!important;width:30px!important;height:30px!important}
  .section-page .routine-step h3{font-size:.86rem!important;margin:0 0 2px!important}
  .section-page .routine-step p{font-size:.74rem!important;margin:0!important}
  .section-page .activity-photo{height:230px!important;min-height:230px!important;border-radius:18px!important}
  .section-page .activity-copy{padding:13px!important}
  .section-page .activity-copy h3{font-size:1.22rem!important}
  .section-page .activity-tags span{font-size:.66rem!important;padding:4px 7px!important}

  .section-page .family-card,.section-page .faq-card{padding:16px!important;border-radius:18px!important}
  .section-page .check-item{padding:9px!important;font-size:.77rem!important}
  .section-page details{border-radius:14px!important}
  .section-page summary{min-height:44px!important;text-align:left!important}
  .section-page .section-switcher__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .section-page .section-switcher__item{min-height:104px!important;padding:11px 8px!important}
  .section-page .section-switcher__item:last-child{grid-column:1 / -1!important}
  .section-page .cta-card{padding:19px 14px!important;text-align:center!important;border-radius:20px!important}

  /* Contact */
  .contact-refresh-hero{padding:32px 0 20px!important}
  .contact-refresh-hero__grid{gap:18px!important}
  .contact-refresh-hero__copy h1{font-size:clamp(2.45rem,13vw,3.45rem)!important}
  .contact-refresh-hero__lead{font-size:.9rem!important}
  .contact-intent-chips{gap:6px!important;margin-top:15px!important}
  .contact-intent-chips span{padding:6px 9px!important;font-size:.72rem!important}
  .contact-refresh-hero__actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;margin-top:15px!important}
  .contact-refresh-visual{min-height:210px!important;border-radius:18px!important}
  .contact-refresh-visual__note{padding:10px 11px!important}
  .contact-refresh-visual__note strong{font-size:1rem!important}
  .contact-refresh-visual__note span{font-size:.78rem!important}
  .contact-refresh-main{padding:28px 0 38px!important}
  .contact-refresh-grid{gap:12px!important}
  .contact-form-panel{padding:16px!important;border-radius:18px!important}
  .contact-form-panel__heading{gap:8px!important;margin-bottom:16px!important;text-align:center!important;align-items:center!important}
  .contact-form-panel__heading h2{font-size:1.8rem!important}
  .contact-form-panel__heading p:not(.eyebrow){font-size:.82rem!important}
  .form-row{grid-template-columns:1fr!important;gap:0!important}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px!important;padding:12px!important}
  .contact-form--flat textarea{min-height:120px!important}
  .contact-form--flat label{font-size:.82rem!important;margin-bottom:11px!important}
  .contact-side-card{padding:16px!important;border-radius:18px!important}
  .contact-route-item{padding:10px!important;grid-template-columns:38px 1fr!important}
  .contact-route-item__icon{width:38px!important;height:38px!important}
  .contact-location-link{min-height:48px!important}

  /* Documents */
  .docs-simple-hero{padding:30px 0!important}
  .docs-simple-hero__grid{gap:13px!important}
  .docs-simple-hero__grid h1{font-size:2.45rem!important}
  .docs-simple-hero__grid p:not(.eyebrow){font-size:.88rem!important}
  .docs-simple-hero__grid img{max-height:210px!important;object-fit:contain!important}
  .document-list{gap:12px!important}
  .document-row,.document-row--reverse{
    grid-template-columns:112px 1fr!important;gap:12px!important;align-items:center!important;
    padding:12px!important;border-radius:18px!important;
  }
  .document-row--reverse .document-row__image,.document-row--reverse .document-row__content{order:initial!important}
  .document-row__image img{height:112px!important;max-height:112px!important;aspect-ratio:1!important;border-radius:14px!important;object-fit:cover!important}
  .document-row__number{padding:4px 7px!important;font-size:.65rem!important}
  .document-row__content .eyebrow{margin:5px 0 2px!important}
  .document-row__content h2{font-size:1.28rem!important;margin:4px 0!important}
  .document-row__content>p{font-size:.78rem!important;line-height:1.38!important;margin:4px 0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .document-row__actions{gap:6px!important;margin-top:8px!important}
  .document-row__actions .button{min-height:40px!important;padding:8px 10px!important;font-size:.75rem!important;flex:1!important}
  .docs-delivery__box{padding:18px!important;border-radius:18px!important;text-align:center!important;align-items:center!important}
  .docs-delivery__box h2{font-size:1.65rem!important}
  .docs-delivery__box p:not(.eyebrow){font-size:.84rem!important}
  .docs-delivery__box .button{width:100%!important;overflow-wrap:anywhere!important}

  /* Resources */
  .resource-library-hero{padding:32px 0 36px!important}
  .resource-library-hero__copy h1{font-size:2.65rem!important}
  .resource-library-hero__copy>p:not(.eyebrow){font-size:.9rem!important}
  .resource-library-hero__actions{display:grid!important;gap:9px!important;margin-top:17px!important}
  .resource-library-hero__actions .button{width:100%!important}
  .resource-library-hero__symbols{gap:8px!important;margin-top:20px!important}
  .resource-symbol{min-height:76px!important;padding:11px 13px!important;border-radius:17px!important}
  .resource-symbol__icon{width:46px!important;height:46px!important;flex-basis:46px!important;font-size:1.4rem!important}
  .resource-symbol strong{font-size:1.1rem!important}
  .resource-symbol small{font-size:.65rem!important}
  .resource-book-grid{gap:12px!important}
  .resource-book{border-radius:18px!important}
  .resource-book__visual{min-height:145px!important;padding:16px!important}
  .resource-book__visual-icon{top:15px!important;left:15px!important;width:52px!important;height:52px!important;font-size:1.55rem!important;border-radius:16px!important}
  .resource-book__visual-copy{max-width:65%!important}
  .resource-book__visual-copy strong{font-size:1.14rem!important}
  .resource-book__visual-link{right:13px!important;bottom:13px!important;padding:7px 9px!important;font-size:.68rem!important}
  .resource-book__body{padding:16px!important}
  .resource-book__meta{font-size:.66rem!important}
  .resource-book__body .eyebrow{margin-top:13px!important}
  .resource-book__body h2{font-size:1.55rem!important}
  .resource-book__body>p:not(.eyebrow){font-size:.82rem!important}
  .resource-book__tags{gap:5px!important;margin:12px 0 14px!important}
  .resource-book__tags li{padding:5px 8px!important;font-size:.68rem!important}
  .resource-book__actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .resource-book__actions .button{min-width:0!important;width:100%!important}
  .resource-usage__grid{gap:16px!important}
  .resource-usage__intro{text-align:center!important}
  .resource-usage__steps{gap:8px!important}
  .resource-usage__steps article{padding:13px!important;gap:10px!important;border-radius:16px!important}
  .resource-usage__steps article>span{width:36px!important;height:36px!important}
  .resource-usage__steps h3{font-size:.95rem!important}
  .resource-usage__steps p{font-size:.78rem!important}

  /* Legal pages */
  .legal-hero{padding:32px 0 26px!important}
  .legal-hero h1{font-size:2.35rem!important}
  .legal-hero p:not(.eyebrow){font-size:.86rem!important}
  .legal-section{padding-top:28px!important}
  .legal-layout{gap:18px!important}
  .legal-nav{
    display:grid!important;grid-template-columns:1fr!important;gap:4px!important;
    padding:10px!important;border-radius:15px!important;
  }
  .legal-nav strong{padding:5px 8px!important}
  .legal-nav a{min-height:42px!important;display:flex!important;align-items:center!important;padding:8px!important}
  .legal-content h2{font-size:1.42rem!important;margin:24px 0 9px!important}
  .legal-content p,.legal-content li{font-size:.86rem!important}
  .legal-data{padding:13px!important}

  /* Footer: compact two-column navigation instead of a very long single stack. */
  .site-footer{padding-top:34px!important}
  .footer__grid{grid-template-columns:1fr 1fr!important;gap:22px 16px!important}
  .footer__grid>div:first-child{grid-column:1 / -1!important;text-align:center!important}
  .footer__grid>div:first-child .brand{justify-content:center!important}
  .footer__grid>div:first-child p{max-width:32rem;margin:12px auto 0!important;font-size:.82rem!important}
  .site-footer h3{font-size:1rem!important;margin-bottom:8px!important}
  .site-footer a{font-size:.82rem!important;margin:7px 0!important}
  .footer__bottom{padding:16px 0!important;text-align:center!important;align-items:center!important;font-size:.75rem!important}
}

@media (max-width:420px){
  .site-header .brand strong{max-width:210px;overflow:hidden;text-overflow:ellipsis}
  .hero__actions,.section-page .hero-info__actions{grid-template-columns:1fr!important}
  .section-card,.section-card:nth-last-child(-n+2){grid-template-columns:38% 62%!important}
  .document-row,.document-row--reverse{grid-template-columns:92px 1fr!important}
  .document-row__image img{width:92px!important;height:104px!important;max-height:104px!important}
  .resource-book__actions{grid-template-columns:1fr!important}
  .footer__grid{gap:20px 12px!important}
}

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

/* ===== V56 mobile homepage hero =====
   Full-width opening screen, compact vertical composition and facts close
   to the buttons. The mobile header remains visible while scrolling. */
@media (max-width:680px){
  .home-page .hero--fullscreen{
    width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    min-height:calc(100svh - var(--mobile-header-h,60px))!important;
    height:auto!important;
    align-items:stretch!important;
  }
  .home-page .hero__bg{
    object-position:center 46%!important;
  }
  .home-page .hero__overlay{
    background:linear-gradient(180deg,rgba(10,10,8,.38) 0%,rgba(10,10,8,.49) 42%,rgba(10,10,8,.82) 100%)!important;
  }
  .home-page .hero__inner.container{
    width:100%!important;
    max-width:none!important;
    min-height:calc(100svh - var(--mobile-header-h,60px))!important;
    padding:0 18px!important;
    align-items:stretch!important;
  }
  .home-page .hero__content{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    width:100%!important;
    max-width:31rem!important;
    min-height:calc(100svh - var(--mobile-header-h,60px))!important;
    margin:0 auto!important;
    padding:24px 0 calc(20px + env(safe-area-inset-bottom))!important;
    text-align:center!important;
  }
  .home-page .hero__primary{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    min-height:0!important;
    padding:0!important;
  }
  .home-page .hero__primary .eyebrow{
    width:100%!important;
    margin:0 auto 11px!important;
    font-size:.71rem!important;
    letter-spacing:.14em!important;
  }
  .home-page .hero__primary h1{
    width:min(100%,13.1ch)!important;
    margin:0 auto 13px!important;
    font-size:clamp(2.28rem,10.35vw,3.35rem)!important;
    line-height:.95!important;
    letter-spacing:-.042em!important;
    text-wrap:balance!important;
  }
  .home-page .hero__primary .hero__lead{
    width:min(100%,22rem)!important;
    margin:0 auto!important;
    font-size:.95rem!important;
    line-height:1.4!important;
    text-wrap:pretty!important;
  }
  .home-page .hero__primary .hero__actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    width:min(100%,24rem)!important;
    margin:20px auto 0!important;
    padding:0!important;
  }
  .home-page .hero__primary .hero__actions .button{
    width:100%!important;
    min-height:46px!important;
    padding:10px 10px!important;
    font-size:.91rem!important;
    white-space:nowrap!important;
  }
  .home-page .hero__facts{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:min(100%,24rem)!important;
    margin:16px auto 0!important;
    padding:13px 0 0!important;
    border-top:1px solid rgba(255,255,255,.26)!important;
  }
  .home-page .hero__facts li{
    min-width:0!important;
    padding:0 3px!important;
    border:0!important;
  }
  .home-page .hero__facts strong{
    font-size:1.08rem!important;
    line-height:1.05!important;
  }
  .home-page .hero__facts span{
    display:block!important;
    margin-top:3px!important;
    font-size:.66rem!important;
    line-height:1.15!important;
  }
}

@media (max-width:380px){
  .home-page .hero__inner.container{padding-inline:14px!important}
  .home-page .hero__primary h1{
    width:min(100%,12.5ch)!important;
    font-size:clamp(2.05rem,10vw,3rem)!important;
  }
  .home-page .hero__primary .hero__lead{
    font-size:.89rem!important;
  }
  .home-page .hero__primary .hero__actions{
    gap:7px!important;
  }
  .home-page .hero__primary .hero__actions .button{
    padding-inline:7px!important;
    font-size:.86rem!important;
  }
}

@media (max-width:340px){
  .home-page .hero__primary .hero__actions{
    grid-template-columns:1fr!important;
    width:min(100%,16.5rem)!important;
  }
  .home-page .hero__primary .hero__actions .button{
    white-space:normal!important;
  }
}

@media (max-width:680px) and (max-height:700px){
  .home-page .hero__content{
    padding-top:14px!important;
    padding-bottom:14px!important;
  }
  .home-page .hero__primary .eyebrow{
    margin-bottom:8px!important;
  }
  .home-page .hero__primary h1{
    margin-bottom:9px!important;
    font-size:clamp(1.98rem,9.2vw,2.85rem)!important;
  }
  .home-page .hero__primary .hero__lead{
    font-size:.84rem!important;
    line-height:1.32!important;
  }
  .home-page .hero__primary .hero__actions{
    margin-top:14px!important;
  }
  .home-page .hero__facts{
    margin-top:12px!important;
    padding-top:10px!important;
  }
}


/* ===== V57 navigation scroll behaviour =====
   The same hide-on-down / show-on-up interaction is used on desktop and mobile. */
.site-header.is-hidden{transform:translateY(-115%)!important}


/* ===== V59 definitive mobile home cover ===== */
@media (max-width:680px){
  .home-page .hero--fullscreen{
    width:100%!important;
    min-height:calc(100svh - var(--mobile-header-h,60px))!important;
    height:calc(100svh - var(--mobile-header-h,60px))!important;
    margin:0!important;
    display:flex!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }
  .home-page .hero__bg{
    object-position:center 44%!important;
  }
  .home-page .hero__overlay{
    background:linear-gradient(180deg,rgba(9,10,10,.47) 0%,rgba(9,10,10,.52) 36%,rgba(9,10,10,.80) 100%)!important;
  }
  .home-page .hero__inner.container{
    width:100%!important;
    max-width:none!important;
    min-height:100%!important;
    height:100%!important;
    padding:0 18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .home-page .hero__content{
    width:100%!important;
    max-width:25rem!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:18px 0 calc(16px + env(safe-area-inset-bottom))!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .home-page .hero__content>.eyebrow{
    width:100%!important;
    margin:0 0 10px!important;
    font-size:.71rem!important;
    line-height:1.25!important;
    letter-spacing:.145em!important;
  }
  .home-page .hero__content>h1{
    width:min(100%,13.4ch)!important;
    max-width:none!important;
    margin:0 auto 12px!important;
    font-size:clamp(2.28rem,10.4vw,3.35rem)!important;
    line-height:.94!important;
    letter-spacing:-.043em!important;
    text-wrap:balance!important;
  }
  .home-page .hero__content>.hero__lead{
    width:min(100%,22rem)!important;
    max-width:none!important;
    margin:0 auto!important;
    font-size:.94rem!important;
    line-height:1.42!important;
    text-wrap:pretty!important;
  }
  .home-page .hero__content>.hero__actions{
    width:min(100%,23.5rem)!important;
    margin:20px auto 0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .home-page .hero__content>.hero__actions .button{
    width:100%!important;
    min-height:46px!important;
    padding:10px 8px!important;
    font-size:.9rem!important;
    white-space:nowrap!important;
  }
  .home-page .hero__content>.hero__facts{
    width:min(100%,23.5rem)!important;
    margin:18px auto 0!important;
    padding:14px 0 0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    border-top:1px solid rgba(255,255,255,.28)!important;
  }
  .home-page .hero__content>.hero__facts li{
    min-width:0!important;
    padding:0 3px!important;
    border:0!important;
  }
  .home-page .hero__content>.hero__facts strong{
    font-size:1.08rem!important;
    line-height:1.05!important;
  }
  .home-page .hero__content>.hero__facts span{
    display:block!important;
    margin-top:3px!important;
    font-size:.66rem!important;
    line-height:1.15!important;
  }
}
@media (max-width:380px){
  .home-page .hero__inner.container{padding-inline:14px!important}
  .home-page .hero__content>h1{
    width:min(100%,12.8ch)!important;
    font-size:clamp(2.02rem,10vw,2.95rem)!important;
  }
  .home-page .hero__content>.hero__lead{font-size:.88rem!important;line-height:1.36!important}
  .home-page .hero__content>.hero__actions{gap:7px!important;margin-top:16px!important}
  .home-page .hero__content>.hero__actions .button{font-size:.84rem!important;padding-inline:6px!important}
  .home-page .hero__content>.hero__facts{margin-top:14px!important;padding-top:11px!important}
}
@media (max-width:340px){
  .home-page .hero__content>.hero__actions{
    grid-template-columns:1fr!important;
    width:min(100%,16.5rem)!important;
  }
  .home-page .hero__content>.hero__actions .button{white-space:normal!important}
}
@media (max-width:680px) and (max-height:670px){
  .home-page .hero__content{padding-top:10px!important;padding-bottom:10px!important}
  .home-page .hero__content>.eyebrow{margin-bottom:7px!important}
  .home-page .hero__content>h1{
    margin-bottom:8px!important;
    font-size:clamp(1.96rem,9.25vw,2.78rem)!important;
  }
  .home-page .hero__content>.hero__lead{font-size:.82rem!important;line-height:1.30!important}
  .home-page .hero__content>.hero__actions{margin-top:13px!important}
  .home-page .hero__content>.hero__facts{margin-top:11px!important;padding-top:9px!important}
}
