/* Shared visual rhythm. DOM order is heading → photograph → detail/actions.
   Desktop keeps the split composition; approved JH-05 artwork is untouched. */
.mobile-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:0 32px;align-items:center}
.mobile-hero-heading{grid-column:1;grid-row:1;align-self:end;min-width:0}
.mobile-hero-media{grid-column:2;grid-row:1 / 3;min-width:0}
.mobile-hero-details{grid-column:1;grid-row:2;align-self:start;min-width:0}
.mobile-hero-media figcaption{letter-spacing:0;line-height:1.75;font-size:var(--read-12)}
.method-campaign__photo.mobile-hero-media figcaption{min-height:48px}
.home-menu__group{padding-block:10px}
.home-menu__group h2{font-size:var(--read-12);color:#566C76;letter-spacing:.06em;margin:4px 0 8px}
.home-menu__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.home-menu .home-menu__links a{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid #D2DEE2;border-radius:4px;background:#F7F4EE;font-size:var(--read-13);line-height:1.65}
.home-menu .home-menu__links a[aria-current=page]{background:#E6EFF1;border-color:#356477;text-decoration:none;font-weight:600}
.home-menu__links a:after{content:'›';margin-left:auto;color:#356477}
.home-menu .home-menu__primary{display:flex;justify-content:space-between;align-items:center;background:#356477;color:#fff;border-radius:4px;min-height:50px;padding:12px 16px;margin-bottom:10px;font-weight:600}
.home-menu__close{display:none}
.home-menu[open] .home-menu__close{display:inline}
.home-menu[open] .home-menu__open{display:none}
@media(max-width:1023px){
 .home-menu nav{width:min(380px,calc(100vw - 28px));padding:16px;max-height:calc(100dvh - 145px);border-radius:6px;box-shadow:0 12px 30px #244A5A1a}
 .home-menu summary{min-width:92px;justify-content:flex-end}
 .home-menu summary>span{font-size:var(--read-13)}
}
@media(max-width:799px){
 .mobile-hero-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:18px}
 .mobile-hero-layout>.mobile-hero-heading,.mobile-hero-layout>.mobile-hero-media,.mobile-hero-layout>.mobile-hero-details{grid-column:1;grid-row:auto;align-self:auto}
 .category-hero,.visit-hero,.help-intro,.full-hero:has(.mobile-hero-layout),.method-campaign{padding-block:20px 28px}
 .mobile-hero-heading .home-eyebrow{font-size:var(--read-11);line-height:1.6}
 .mobile-hero-heading h1{margin:10px 0 12px}
 .mobile-hero-heading :is(.category-hero__title,.full-statement,.help-statement){font-size:clamp(24px,6.7vw,32px);line-height:1.55;letter-spacing:.015em;margin:16px 0 0}
 .mobile-hero-details :is(.category-hero__lead,.visit-hero__lead,.full-lead,.help-lead){font-size:var(--read-15);line-height:1.95;margin:0 0 18px}
 .mobile-hero-details>.home-btn{width:100%;min-height:52px;font-size:var(--read-14)}
 .mobile-hero-details :is(.category-hero__note,.visit-small,.method-campaign__note){font-size:var(--read-12);line-height:1.8;margin-top:12px}
 .mobile-hero-layout .mobile-hero-media{width:100%;margin:0;padding:0;background:transparent}
 .mobile-hero-media img{border-radius:5px}
 .mobile-hero-media figcaption{font-size:var(--read-11);padding-top:8px;margin:0;min-height:0;line-height:1.7}
 .mobile-hero-layout .category-hero__media img{object-fit:contain;background:#E6EFF1}
 .mobile-hero-details .visit-reservation{padding:12px 14px;margin:0 0 16px;font-size:var(--read-14)}
 .mobile-hero-heading .method-campaign__audience{font-size:var(--read-12);margin-bottom:10px}
 .mobile-hero-heading .method-campaign__brand{font-size:var(--read-16);margin-bottom:3px}
 .mobile-hero-heading .method-campaign__tagline{font-size:var(--read-17);margin:10px 0 0}
 .mobile-hero-heading h1{line-height:1.55}
 .method-campaign .mobile-hero-heading h1{font-size:clamp(40px,12vw,60px);line-height:1.2;margin:0}
 .mobile-hero-details .method-campaign__features{min-height:92px;margin:0 0 16px;gap:8px}
 .mobile-hero-details .method-campaign__features li{padding:10px 6px;font-size:var(--read-12);gap:6px;border-radius:5px}
 .mobile-hero-details .method-campaign__note{min-height:44px}
 .mobile-hero-details .method-campaign__cta{font-size:var(--read-15);border-radius:5px}
 .home-page .home-directory__breadcrumbs{padding-block:14px 6px;font-size:var(--read-12);line-height:1.8;flex-wrap:wrap;gap:4px 10px}
 .home-page :is(.category-jump,.visit-jump,.full-jump,.confidence-jump){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-block:18px;border-bottom:0}
 .home-page :is(.category-jump,.visit-jump,.full-jump,.confidence-jump) a{min-height:48px;padding:10px 12px;border:1px solid #D2DEE2;background:#fff;text-decoration:none;border-radius:4px;font-size:var(--read-13);line-height:1.65;display:flex;align-items:center;justify-content:space-between;gap:6px}
 .home-page :is(.category-jump,.visit-jump,.full-jump,.confidence-jump) a:after{content:'↓';flex:none;font-size:var(--read-12);color:#356477}
 .home-page :is(input[type=search],input[type=text],select){font-size:var(--read-16)}
 .home-page .home-textlink{min-height:44px;align-items:center;line-height:1.8}
 .home-page .home-footer-groups a{display:flex;align-items:center;min-height:44px;font-size:var(--read-13)}
 .home-page .home-footer-groups>div{gap:4px}
 .home-page .home-footer-groups h2{font-size:var(--read-14);margin-bottom:8px}
 .home-page .home-section__lead{font-size:var(--read-14);line-height:1.9}
 .home-page .home-small-note{font-size:var(--read-12);line-height:1.85}
 /* These panels repeat the eyebrow and have no content or action. */
 .full-hero__grid--type{grid-template-columns:minmax(0,1fr);gap:24px}
 .full-hero__letter{display:none}
 .full-hero__grid--type .full-statement{font-size:clamp(25px,6.7vw,32px);text-wrap:balance}
 .full-hero__grid--type .full-hero__copy>.home-btn{width:100%}
 .records-page .records-intro{padding-block:24px}
 .records-intro h1{font-size:clamp(25px,6.7vw,30px);text-wrap:balance;line-height:1.6}
 .records-intro>div>p:not(.home-eyebrow):not(.records-note){font-size:var(--read-15);line-height:1.9}
 .records-page .records-intro+.home-section{padding-top:22px}
 .records-page .records-controls{gap:14px}
}
@media(max-width:639px){
 .home-page .home-items-grid{gap:14px 12px}
 .home-page .home-item__image{aspect-ratio:3/2}
 .home-page .home-item__image img{object-fit:cover}
 .home-page .home-item__info{padding:14px 11px;align-items:flex-start;gap:5px}
 .home-page .home-item__info h3{font-size:var(--read-14);line-height:1.7;letter-spacing:0}
 .home-page .home-item__info p{font-size:var(--read-12);line-height:1.8;margin-top:7px}
 .home-page .home-item__arrow{display:none}
 .home-page .home-record__body h3{font-size:var(--read-14);min-height:0;line-height:1.8}
 .home-page .home-record__date,.home-page .home-record__category{font-size:var(--read-12)}
 .home-refined .home-record__body .home-textlink{font-size:var(--read-12)}
 .home-page .home-faq__items summary{font-size:var(--read-15);padding-block:18px;line-height:1.8}
 .home-page .home-reasons__list p{font-size:var(--read-14);line-height:1.9}
 .home-page .home-article__body h3{font-size:var(--read-15);line-height:1.8}
}
@media(max-width:767px){
 .impact-hero .impact-hero__inner{min-height:0;padding-block:26px 20px}
 .impact-hero .impact-hero__note{font-size:var(--read-12)}
 .impact-hero .impact-hero__visual figcaption{font-size:var(--read-11);max-width:calc(100% - 20px)}
 .has-discovery-dock .discovery-dock a{font-size:var(--read-14)}
}
@media(prefers-reduced-motion:reduce){.home-page :is(a,button,img){transition:none!important}}

/* TOP: the product and primary action belong in the first mobile screen. */
.impact-hero .impact-hero__inner{position:static}
.impact-hero .impact-hero__copy{position:relative;z-index:1}
@media(max-width:767px){
 .impact-hero .impact-hero__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding-block:20px 24px}
 .impact-hero .impact-hero__copy{display:contents}
 .impact-hero .impact-eyebrow{grid-row:1;margin:0;font-size:var(--read-11);letter-spacing:.06em}
 .impact-hero h1{grid-row:2;font-size:clamp(29px,8.3vw,38px);line-height:1.45;letter-spacing:.03em;margin:0 0 2px}
 .impact-hero .impact-hero__visual{grid-row:3;order:initial;position:relative;inset:auto;height:auto;z-index:0;border-radius:8px;overflow:hidden;background:#193744}
 .impact-hero .impact-hero__visual img{height:clamp(168px,50vw,240px);width:100%;max-width:100%;object-fit:cover;object-position:85% 55%;transform:none}
 .impact-hero .impact-hero__visual:after{display:none}
 .impact-hero .impact-hero__visual figcaption{position:static;max-width:none;margin:0;padding:5px 9px;background:#193744;color:#fff;font-size:var(--read-10);line-height:1.6}
 .impact-hero .impact-hero__actions{grid-row:4;margin:2px 0 0;display:block}
 .impact-hero .impact-hero__actions .home-btn{width:100%;font-size:var(--read-14);min-height:52px}
 .impact-hero .impact-hero__note{grid-row:5;margin:0;font-size:var(--read-12);line-height:1.7}
 .impact-hero .impact-hero__lead{grid-row:6;margin:2px 0 0;font-size:var(--read-14);line-height:1.9}
}
