/* Final responsive rules shared by mobile, tablet and desktop. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}
body{font-size:1rem;overflow-wrap:break-word}
header{position:relative;top:auto;left:auto;width:calc(100% - 32px);max-width:1280px;margin:16px auto 0;padding:16px 24px;border-radius:24px;flex-wrap:wrap;gap:16px 24px}
.wordmark{width:auto;min-width:0;font-size:clamp(1.125rem,2vw,1.5rem);white-space:normal;overflow-wrap:anywhere}
header nav{width:auto;max-width:100%;min-width:0;flex:1 1 580px;justify-content:flex-end;flex-wrap:wrap;gap:8px 18px}
header nav>a,header nav>a:not(.nav-cta){display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.5;white-space:normal}
.nav-cta{padding:10px 16px;text-align:center}
.hero{min-height:0;padding:72px 6% 0}
.hero h1{font-size:clamp(1.5rem,4.5vw,4.25rem);line-height:1.55;margin:28px 0;letter-spacing:-.025em}
.hero h1 span{max-width:100%;overflow-wrap:break-word}
.hero-bottom p{font-size:1rem;line-height:1.95}
.section{padding:80px max(6%,calc((100% - 1120px)/2))}
.section h2{font-size:clamp(1.5rem,3vw,2.6875rem);line-height:1.6;letter-spacing:-.025em;overflow-wrap:break-word}
.registration h2{text-wrap:wrap}
h3{overflow-wrap:break-word}
.section p,.section li{overflow-wrap:anywhere}
.section-heading,.hero-bottom,.registration-form{min-width:0;max-width:100%}
.section-heading{max-width:900px}
.hero-bottom{max-width:850px}
.registration-form{max-width:620px}
.audience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.plans{grid-template-columns:repeat(2,minmax(0,1fr))}
.audience-grid>*,.plans>*,.advisor-grid>*,.advisor-grid article>*,.program-row>*,.facts>div>*{min-width:0}
.plan{padding:28px 24px}
.plan h3{font-size:1.3125rem}
.plan ul{display:block}
.plan .button{max-width:none}
.program-row{grid-template-columns:150px minmax(0,1fr);gap:24px}
.program-time{font-size:1rem;white-space:normal}
.program-row p{grid-column:auto;font-size:1rem}
.advisor-grid{grid-template-columns:1fr}
.advisor-grid article{grid-template-columns:104px minmax(0,1fr)}
.advisor-photo{width:104px;height:130px;max-width:100%}
.advisor-comment{grid-column:1/-1}
.advisor-comment p{font-size:1rem}
.facts>div,.company-facts>div{grid-template-columns:110px minmax(0,1fr)}
.facts dd{font-size:1rem;overflow-wrap:anywhere}
.email{max-width:100%;font-size:clamp(1.25rem,3vw,2.1875rem);overflow-wrap:anywhere}
.form-row input,.form-row textarea{font-size:1rem}
.button{min-width:0;min-height:48px;font-size:1rem;gap:12px;text-align:center}
.button span{flex-shrink:0}
img{max-width:100%}
footer{flex-wrap:wrap}
.supporters{padding-top:56px;padding-bottom:56px}
.supporters .section-heading h2{font-size:clamp(1.5rem,3vw,2rem)}
@media(max-width:1050px){
 header nav{justify-content:flex-start;flex-basis:100%}
 .hero{padding-top:56px}
 .audience-grid{grid-template-columns:1fr}
 .audience-grid article{padding:24px}
}
@media(max-width:760px){
 .plans{grid-template-columns:1fr}
 .section{padding:56px 6%}
 .section-heading{text-align:left;margin-bottom:28px}
 .section h2 br,.hero-bottom br,.contact p br{display:none}
 .section h2{margin:12px 0 22px}
 .lead{font-size:1.0625rem}
 .program-row{grid-template-columns:1fr;gap:8px;padding:24px 0}
 .program-time{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
 .program-time small{display:inline;font-size:.875rem}
 .program-row h3{font-size:1.125rem}
 .hero-meta{display:flex;flex-direction:column;gap:8px;font-size:.8125rem}
 .hero-meta span{display:block}
 .advisor-grid article{grid-template-columns:88px minmax(0,1fr);gap:16px}
 .advisor-photo{width:88px;height:110px}
 .advisor-bio h3{font-size:1.25rem}
 .advisor-bio p{font-size:.875rem}
 .supporters .logo-group{grid-template-columns:1fr;gap:12px}
 .supporters .logo-grid,.supporters .featured .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:360px;width:100%}
 .company-links{justify-content:flex-start}
 footer{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
 header{width:calc(100% - 24px);margin-top:12px;padding:14px 16px;gap:10px;border-radius:18px}
 .wordmark{font-size:1.125rem}
 header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px}
 header nav>a,header nav>a:not(.nav-cta){font-size:.8125rem;justify-content:center;text-align:center;min-height:44px}
 header .nav-cta{padding:8px 4px;border-radius:18px}
 .hero{padding-top:40px}
 .hero h1{font-size:clamp(1.375rem,6vw,1.75rem)}
 .eyebrow{font-size:.8125rem;letter-spacing:.06em}
 .status{font-size:.8125rem;letter-spacing:0;padding:6px 12px}
 .actions{width:100%;max-width:390px}
 .plan{padding:24px 20px}
 .price{font-size:2.5rem}
 .price-consult{font-size:1.75rem}
 .facts>div,.company-facts>div{grid-template-columns:1fr;gap:4px}
 .facts dt{font-size:.875rem}
 .supporters .logo-placeholder small{font-size:.75rem;text-align:center}
}
@media(max-width:340px){
 header nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .advisor-grid article{grid-template-columns:1fr}
 .advisor-comment{grid-column:auto}
}

/* Compact reading and side-by-side plan comparison. */
header nav{display:flex;flex:0 1 auto;width:auto;flex-wrap:nowrap;gap:16px}
header nav>a,header nav>a:not(.nav-cta){white-space:nowrap;font-size:.875rem}
.purpose-details{margin:16px 0 22px;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;padding:12px 0}
summary{cursor:pointer;font-weight:600}
summary:focus-visible{outline:2px solid #78d6ff;outline-offset:4px}
.purpose-details summary{color:#9cddf4}
.plan-comparison{max-width:900px;margin:0 auto 24px}
.plan-comparison table{width:100%;table-layout:fixed;border-collapse:collapse;background:#0c1725;font-size:.9375rem;line-height:1.5}
.plan-comparison caption{text-align:left;font-size:1rem;font-weight:700;padding:0 0 12px}
.plan-comparison caption span{font-size:.75rem;font-weight:400;color:#a6b6c2;margin-left:12px}
.plan-comparison .comparison-label{width:20%}
.plan-comparison th,.plan-comparison td{border:1px solid #ffffff28;padding:14px 8px;text-align:center;overflow-wrap:normal}
.plan-comparison thead th{background:#15263a;font-weight:600}
.plan-comparison tbody th{font-weight:400;color:#b5c6d8}
.plan-comparison .comparison-price td{font-size:1.625rem;font-weight:700;white-space:nowrap}
.comparison-price td span{font-size:.8125rem;margin-left:3px}
.comparison-cta{display:block;text-align:center;border:1px solid #78b2d1;padding:10px;margin-top:12px;border-radius:6px;font-size:.875rem}
.plan-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.plan-detail{min-width:0;border:1px solid #ffffff30;border-radius:8px;padding:14px;background:#0c1725}
.plan-detail summary{font-size:.875rem;line-height:1.6}
.plan-detail summary span{display:block;font-size:.75rem;color:#aac4d6;font-weight:400;margin-top:4px}
.plan-detail p,.plan-detail li{font-size:.875rem;line-height:1.7}
.plan-detail ul{padding-left:18px}
.plan-detail .button{font-size:.8125rem;padding:10px 8px;min-height:44px}
@media(max-width:1050px){header nav{flex:1 1 100%;justify-content:flex-start}}
@media(max-width:760px){
 body{font-size:.875rem;line-height:1.75}
 header{padding:12px 14px;gap:8px;margin-top:10px;border-radius:14px}
 .wordmark{font-size:1rem}
 header nav{display:flex;width:100%;flex-wrap:nowrap;justify-content:space-between;gap:4px}
 header nav>a,header nav>a:not(.nav-cta){font-size:.75rem;min-height:36px;line-height:1.4;justify-content:center;white-space:nowrap}
 header .nav-cta{padding:7px 10px}
 .hero{padding:30px 6% 0}
 .hero-top{gap:10px}
 .hero h1{font-size:clamp(1.25rem,5.3vw,1.5rem);line-height:1.5;margin:20px 0}
 .hero-bottom p{font-size:.875rem;line-height:1.75}
 .actions{margin:20px auto;gap:10px}
 .button{font-size:.875rem;padding:12px 16px;min-height:44px}
 .hero-meta{margin-top:24px;padding:16px 0;gap:4px;font-size:.75rem}
 .section{padding:36px 6%}
 .section-heading{margin-bottom:20px}
 .section h2,.supporters .section-heading h2{font-size:1.25rem;line-height:1.5;margin:10px 0 16px}
 .purpose h2 br{display:block}
 .purpose>div:first-child{margin-bottom:16px}
 .lead,.purpose .lead{font-size:.875rem;line-height:1.75}
 .purpose h3{font-size:1rem;margin-top:20px}
 .section p{margin-top:10px;margin-bottom:12px}
 .facts{margin-top:20px}
 .facts>div,.company-facts>div{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:10px 0}
 .facts dd{font-size:.875rem}
 .facts dt{font-size:.75rem}
 .audience-grid article{padding:18px}
 .section h3,.program-row h3{font-size:1rem;line-height:1.6}
 .program-row{padding:18px 0;gap:6px}
 .program-row p,.advisor-comment p{font-size:.875rem;line-height:1.75}
 .advisor-comment p br{display:none}
 .advisor-grid article{padding:18px 0;gap:12px}
 .advisor-comment{margin-top:4px;padding-top:12px}
 .plan-comparison{margin-bottom:16px}
 .plan-comparison table{font-size:.75rem;line-height:1.5}
 .plan-comparison .comparison-label{width:20%}
 .plan-comparison th,.plan-comparison td{padding:10px 3px}
 .plan-comparison thead th{font-size:.6875rem}
 .plan-comparison .comparison-price td{font-size:1.25rem}
 .comparison-price td span{font-size:.6875rem;margin-left:1px}
 .plan-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .plan-detail{padding:12px 10px}
 .plan-detail summary{font-size:.75rem}
 .plan-detail p,.plan-detail li{font-size:.8125rem}
 .supporters{padding-top:36px;padding-bottom:36px}
}
