/* Mobile display repair. No logo/image replacement, business or access changes. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--mobile-header-height,111px) + 20px)}
button,input,select,textarea{font-family:inherit}
.btn>.button-label,.login-label{min-width:0;overflow-wrap:anywhere}
.btn>span[aria-hidden=true]{flex-shrink:0}
.menu-symbol{display:flex;flex-direction:column;justify-content:center;gap:6px;width:21px;height:22px}
.menu-symbol i{display:block;width:21px;height:1.5px;background:currentColor;transition:transform .18s}
.menu-caption{font-size:9px;line-height:1.2;font-weight:500;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
.menu-toggle[aria-expanded=true] .menu-symbol i:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-symbol i:last-child{transform:translateY(-3.75px) rotate(-45deg)}
@media(max-width:1000px){
 :root{--mobile-gutter:24px;--gutter-left:max(var(--mobile-gutter),env(safe-area-inset-left,0px));--gutter-right:max(var(--mobile-gutter),env(safe-area-inset-right,0px))}
 .wrap{width:calc(100% - var(--gutter-left) - var(--gutter-right));margin-left:var(--gutter-left);margin-right:var(--gutter-right)}
 .header-inner{min-height:88px;gap:16px}
 .js .menu-toggle{display:flex;flex-direction:column;gap:2px;width:48px;min-width:48px;min-height:48px;padding:4px;border-radius:8px;line-height:1;color:var(--green)}
 .menu-toggle:hover{background:var(--paper)}
 .header-actions{min-width:0;gap:14px}
 .header-actions .login{min-width:0;white-space:normal;gap:8px;max-width:230px}
 .site-header .brand-logo{width:112px;max-width:100%;height:auto}
 .js .mobile-menu{display:none;position:fixed;top:var(--mobile-header-height,88px);left:0;right:0;bottom:auto;height:calc(100vh - var(--mobile-header-height,88px));height:calc(100dvh - var(--mobile-header-height,88px));max-height:none;z-index:60;margin:0;border-top:1px solid var(--line);background:#fff;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px var(--gutter-right) max(24px,env(safe-area-inset-bottom,0px)) var(--gutter-left)}
 .js .mobile-menu.is-open{display:flex;flex-direction:column;gap:0}
 .js .mobile-menu a{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;min-height:54px;padding:14px 10px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.75;gap:18px;overflow-wrap:anywhere}
 .mobile-menu a>span{flex-shrink:0}
 html.mobile-nav-open{overflow:hidden}
 html.mobile-nav-open body{position:fixed;left:0;right:0;width:100%;overflow:hidden}
 html.mobile-nav-open .site-header{position:fixed;top:0;left:0;right:0;max-height:none;overflow:visible}
 .js .site-header:has(.mobile-menu.is-open){max-height:none;overflow:visible}
 .split>* ,.cards>* ,.member-grid>* ,.guide-hero>* ,.footer-top>*{min-width:0}
 .faq-filters{min-inline-size:0}
 main h1,main h2,main h3,main p,.footer-message{overflow-wrap:anywhere}
 .hero{max-height:none}
 .hero h1 span{white-space:normal;overflow-wrap:anywhere;word-break:normal}
}
@media(max-width:680px){
 :root{--mobile-gutter:20px}
 body{font-size:15px;line-height:1.95}
 .preopen .wrap{justify-content:center;min-height:30px;gap:0;padding-block:4px}
 .preopen .wrap>span{font-size:10px;line-height:1.7;text-align:center}
 .preopen .utility-nav{display:none}
 .preopen b{margin-left:8px}
 .header-inner{display:grid;grid-template-columns:100px minmax(0,1fr) 44px;gap:10px;min-height:88px;padding-block:10px}
 .site-header .brand{grid-column:1;min-width:0;max-width:100%}
 .site-header .brand-logo{width:100px}
 .header-actions{display:contents}
 .header-actions .login{grid-column:2;min-height:46px;width:100%;padding:10px 9px;gap:6px;font-size:12px;line-height:1.6;white-space:normal;text-align:center;border-radius:8px;max-width:none}
 .header-actions .lock{width:14px;height:16px;flex-shrink:0}
 .js .menu-toggle{grid-column:3;width:44px;min-width:44px;min-height:46px;font-size:20px}
 .hero{display:flex;flex-direction:column;align-items:stretch;min-height:calc(100vh - 119px);min-height:calc(100svh - 119px);height:auto;max-height:none}
 .hero .wrap{display:flex;flex-direction:column;justify-content:center;flex:1 0 auto;padding:46px 0 30px;min-width:0}
 .hero .eyebrow{font-size:11px;letter-spacing:.07em;margin-bottom:24px}
 .hero h1{font-size:clamp(24px,7.1vw,32px);line-height:1.8;letter-spacing:.01em;margin-bottom:22px}
 .hero h1 span{white-space:normal;max-width:100%;overflow-wrap:anywhere}
 .hero-description{font-size:14px;line-height:2.05;letter-spacing:0;margin-bottom:28px}
 .hero-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;max-width:100%}
 .hero-buttons .btn{width:100%;min-width:0;min-height:52px;padding:12px 10px;gap:8px;line-height:1.65;font-size:13px;justify-content:space-between;text-align:left}
 .hero-bottom{position:relative;left:auto;bottom:auto;flex:none;width:100%;padding:4px var(--gutter-right) 18px var(--gutter-left);gap:6px;line-height:1.75;align-items:flex-start}
 .hero-bottom>a{min-height:36px;font-size:10px}
 .hero-bottom small{font-size:9px;line-height:1.8;max-width:100%;overflow-wrap:anywhere;padding:4px 8px}
 .page-intro{padding-top:20px;padding-bottom:36px}
 .page-intro h1{font-size:clamp(26px,7.5vw,32px);line-height:1.7}
 .guide-hero h1{font-size:clamp(26px,7.5vw,31px)}
 .breadcrumb{line-height:1.8;font-size:11px;gap:6px 9px;margin-bottom:26px}
 .lead,.guide-hero .lead{font-size:15px;line-height:1.95}
 .section{padding-block:44px}
 .top-zero,.news-section{padding-top:0}
 .cards,.member-grid,.journey-grid,.onward-grid,.directory-grid{grid-template-columns:minmax(0,1fr)}
 .card,.large-card,.journey-card{min-width:0;padding:26px 22px}
 .action-group{width:100%;max-width:100%;gap:12px}
 .action-group>.btn{min-width:0;max-width:100%;white-space:normal;line-height:1.8}
 .btn,.text-link{max-width:100%;overflow-wrap:anywhere}
 .text-link{gap:14px;align-items:center}
 .text-link>span{flex-shrink:0}
 .faq-controls,.directory-controls{padding:22px 18px}
 .faq-search-row{flex-wrap:wrap;gap:10px}
 .faq-search-row input{flex:1 1 170px;max-width:100%;min-width:0;font-size:16px;line-height:1.6;-webkit-appearance:none;appearance:none;box-shadow:none}
 .faq-search-row button{flex:0 1 auto;white-space:normal;min-height:48px;font-size:12px;padding:10px 12px}
 .faq-filter-buttons button{min-height:44px;font-size:12px;line-height:1.7;white-space:normal;max-width:100%}
 .faq-result-head{flex-wrap:wrap;gap:6px 12px}
 .faq-item>summary{font-size:15px;gap:10px;line-height:1.85}
 .faq-answer p{font-size:14px;line-height:2}
 .faq-answer{padding-left:24px}
 .footer-identity{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:22px;min-width:0}
 .footer-identity .brand-logo{width:96px;height:auto}
 .footer-message p{font-size:15px;line-height:1.9}
 .footer-message span{font-size:11px;line-height:1.9}
 .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;font-size:12px}
 .footer-nav a{min-width:0;min-height:44px;overflow-wrap:anywhere}
 .footer-utility{font-size:12px;gap:2px 20px}
 .footer-bottom{font-size:10px;overflow-wrap:anywhere}
}
@media(max-width:359px){
 :root{--mobile-gutter:16px}
 .header-inner{grid-template-columns:82px minmax(0,1fr) 44px;gap:8px}
 .site-header .brand-logo{width:82px}
 .header-actions .login{font-size:12px;padding-inline:7px;gap:5px}
 .header-actions .lock{display:none}
 .hero-buttons{grid-template-columns:minmax(0,1fr)}
 .hero-buttons .btn{padding-inline:18px}
 .hero .eyebrow{font-size:10px;letter-spacing:.03em}
 .footer-identity{grid-template-columns:82px minmax(0,1fr);gap:18px}
 .footer-identity .brand-logo{width:82px}
}
@media(max-width:1000px) and (max-height:500px){
 .header-inner{min-height:72px;padding-block:7px}
 .site-header .brand-logo{max-height:58px;width:auto}
 .hero{min-height:0;max-height:none}
 .hero .wrap{padding-block:38px 30px}
 .hero h1{font-size:clamp(24px,4.4vw,38px)}
}
@media(prefers-reduced-motion:reduce){.menu-symbol i{transition:none}}
/* Flexible labels must remain shrinkable, even in the earlier CTA flex rules. */
.btn>.button-label,.action-group>.btn>.button-label{flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:anywhere}
@media(min-width:681px) and (max-width:1000px) and (max-height:500px){
 .hero{flex-direction:column;align-items:stretch}
 .hero .wrap{padding-bottom:26px}
 .hero-bottom{position:relative;left:auto;bottom:auto;padding:0 var(--gutter-right) 18px var(--gutter-left);width:100%;gap:20px;flex-wrap:wrap}
 .hero-bottom small{max-width:100%;overflow-wrap:anywhere}
}
