/* Shared typography and navigation for every aionclass entry page. */
@font-face{font-family:'Wanted Sans';src:url('./program-assets/WantedSansVariable.woff2') format('woff2');font-weight:100 1000;font-display:swap}


/* Site subset of Wanted Sans, SIL OFL 1.1. Full font handles other input characters. */
@font-face{font-family:'Wanted Sans';src:url('./program-assets/WantedSansSite-a488a408ef98.woff2') format('woff2');font-weight:100 1000;font-display:swap;unicode-range:U+20-7E,U+A9,U+B7,U+D7,U+2013-2014,U+2018-2019,U+2026,U+2192-2193,U+2197,U+AC00-AC01,U+AC04,U+AC10-AC12,U+AC15,U+AC19,U+AC1C-AC1D,U+AC70,U+AC74,U+AC78,U+AC80,U+AC83,U+AC8C,U+ACA8-ACA9,U+ACAC,U+ACB0,U+ACBD,U+ACC4,U+ACE0,U+ACE8,U+ACF1,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD11,U+AD1C,U+AD50,U+AD6C,U+AD81,U+AD8C,U+ADDC,U+ADF8,U+ADFC,U+AE00,U+AE08,U+AE30,U+AE34,U+AE38,U+AE41,U+AE43,U+AE4C,U+AED8,U+AFB8,U+AFD4,U+B05D,U+B098,U+B09C,U+B0A0,U+B0A8,U+B0B4,U+B0BC,U+B0C9,U+B108,U+B110,U+B118,U+B124,U+B141,U+B144,U+B178,U+B204,U+B208,U+B220,U+B274,U+B294,U+B298,U+B2A5,U+B2C8,U+B2D8-B2D9,U+B2E4,U+B2E8,U+B2EB-B2EC,U+B2F4-B2F5,U+B2F9,U+B300,U+B313,U+B354,U+B358,U+B370,U+B3C4-B3C5,U+B3CC,U+B3D9,U+B418,U+B41C,U+B428-B429,U+B450,U+B454,U+B458,U+B4A4,U+B4DC,U+B4E0,U+B4E4,U+B4EC-B4ED,U+B4F1,U+B514,U+B529,U+B530,U+B54C,U+B5A4,U+B5BB,U+B610,U+B77C-B77D,U+B78C,U+B798,U+B79C,U+B7A8,U+B7AB,U+B7B5,U+B7C9,U+B7EC,U+B7F0,U+B7FC,U+B808,U+B80C,U+B824-B825,U+B828,U+B82C,U+B838,U+B840,U+B85C-B85D,U+B86C,U+B8CC,U+B8E8,U+B958,U+B978,U+B97C,U+B984-B985,U+B9AC,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9C1,U+B9C8,U+B9CC,U+B9CE,U+B9D0,U+B9DD-B9DE,U+B9E4,U+BA38,U+BA3C,U+BA54,U+BA70,U+BA74,U+BA85,U+BA87,U+BAA8-BAA9,U+BAB0,U+BABB,U+BB34,U+BB36,U+BB38,U+BB3B-BB3C,U+BBF8,U+BBFC,U+BC00,U+BC0F,U+BC14,U+BC18,U+BC1B-BC1C,U+BC29,U+BC30,U+BC84,U+BC88,U+BC94-BC95,U+BCA0,U+BCC0,U+BCC4,U+BCCD,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD05,U+BD80,U+BD84,U+BD88,U+BE0C,U+BE14,U+BE44,U+BE59,U+BE60,U+C0AC-C0AD,U+C0B0,U+C0B4,U+C0C1,U+C0C8-C0C9,U+C0DD,U+C11C-C11D,U+C120,U+C124,U+C12F,U+C131,U+C138,U+C13C,U+C140,U+C158,U+C18C-C18D,U+C194,U+C1A1,U+C1FC,U+C20D,U+C20F,U+C218,U+C21C,U+C220,U+C288,U+C2A4,U+C2A8,U+C2B5,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C2EC,U+C2F6,U+C378,U+C4F0,U+C4F8,U+C544-C545,U+C548,U+C54A,U+C54C,U+C558,U+C561,U+C57C-C57D,U+C591,U+C5B4,U+C5BC,U+C5C5-C5C7,U+C5D0,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C5FD,U+C601,U+C608,U+C624,U+C628,U+C640,U+C644,U+C678,U+C694,U+C6A9,U+C6B0,U+C6B4,U+C6C0-C6C1,U+C6CC,U+C6D0,U+C6D4,U+C704,U+C720-C721,U+C728,U+C73C,U+C740,U+C744,U+C74C-C74D,U+C751,U+C758,U+C774-C775,U+C778,U+C77C,U+C784-C785,U+C788,U+C790-C791,U+C798,U+C7A0,U+C7A5,U+C7AC,U+C800-C801,U+C804,U+C808,U+C810-C811,U+C815,U+C81C-C81D,U+C838,U+C870,U+C874,U+C881,U+C885,U+C88B,U+C8FC,U+C900,U+C904,U+C911,U+C989,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D0-C9D1,U+C9D5,U+C9E7,U+CC28,U+CC2E,U+CC38,U+CC3E,U+CC44-CC45,U+CC98,U+CC9C,U+CCA0,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD5C,U+CD94-CD95,U+CD98,U+CD9C,U+CDA4,U+CDB0,U+CDE8,U+CE20,U+CE58-CE59,U+CE68,U+CEA0,U+CEE4,U+CEE8,U+CEEC,U+CF00,U+CF58,U+D06C,U+D070,U+D074,U+D07C,U+D0A4,U+D0C0,U+D0D5,U+D0DC-D0DD,U+D130,U+D134,U+D138,U+D150,U+D15C,U+D1A0,U+D1A4,U+D1B5,U+D22C,U+D2B8-D2B9,U+D300,U+D305,U+D30C,U+D310,U+D328,U+D398,U+D3B4,U+D3B8,U+D3C9,U+D3EC,U+D3F0,U+D3FC,U+D45C,U+D488,U+D504,U+D508,U+D50C,U+D544,U+D551,U+D558-D559,U+D55C,U+D560,U+D568-D569,U+D56D,U+D574-D575,U+D588-D589,U+D5A5,U+D5C8,U+D604,U+D611,U+D615,U+D638,U+D63C,U+D648,U+D64D,U+D654-D655,U+D658,U+D65C,U+D669,U+D68C-D68D,U+D69F,U+D6A8,U+D6C4,U+D750,U+D769,U+D76C,U+D788,U+D799}

:root{
  --font:'Wanted Sans',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;
  --type-display:clamp(2.75rem,5.4vw,4.5rem);
  --type-page:clamp(2.25rem,4.1vw,3.25rem);
  --type-section:2.25rem;
  --type-panel:2rem;
  --type-card:1.5rem;
  --type-subheading:1.25rem;
  --type-metric:2.25rem;
  --type-lead:1.125rem;
  --type-body:1rem;
  --type-control:.9375rem;
  --type-label:.875rem;
  --type-caption:.8125rem;
  --type-eyebrow:.75rem;
  --gnb-height:86px;
  --gnb-gutter:44px;
  --gnb-ink:#181918;
  --gnb-accent:#c8322b;
  --gnb-button:#d63830;
}
html{font-size:100%;scroll-padding-top:calc(var(--gnb-height) + 20px)}
body{font-family:var(--font);font-size:var(--type-body);line-height:1.75;letter-spacing:-.015em;font-synthesis:none}
img,svg{max-width:100%}
#app,#content{min-width:0}
#app :is(h1,h2,h3),#content :is(h1,h2,h3){word-break:keep-all;overflow-wrap:break-word}
#app a[href^="mailto:"],#content a[href^="mailto:"]{overflow-wrap:anywhere}
button,a,input,select,textarea{-webkit-tap-highlight-color:#f04b431a}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
button,input,select,textarea{font-family:var(--font)}
.skip,.skip-link{position:fixed;left:var(--gnb-gutter);top:-90px;z-index:100;padding:12px 20px;background:#181918;color:#fff;font-size:var(--type-control);line-height:1.5}
.skip:focus,.skip-link:focus{top:16px}
#content .summary-card{top:calc(var(--gnb-height) + 24px)}
@media(min-width:761px){#content .summary-card{max-height:calc(100dvh - var(--gnb-height) - 48px);overflow-y:auto;overscroll-behavior:contain}}

/* The same selectors, geometry, labels and controls are used in both headers. */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:var(--gnb-height);height:var(--gnb-height);padding:14px var(--gnb-gutter);border-bottom:1px solid #eeeee9;background:#ffffffed;backdrop-filter:blur(16px);color:var(--gnb-ink);font-family:var(--font);letter-spacing:-.015em;line-height:1.5}
.site-header .brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:1;text-decoration:none}
.site-header .brand-logo{display:block;width:222px;height:auto;max-width:100%;flex-shrink:0}
.site-header .nav{position:static;display:flex;align-items:center;gap:30px;font-size:var(--type-control);font-weight:600;line-height:1.5;letter-spacing:-.015em;padding:0;border:0;background:none;box-shadow:none}
.site-header .nav>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border:0;font-size:var(--type-control);line-height:1.5;white-space:nowrap;color:var(--gnb-ink)}
.site-header .nav>a:hover,.site-header .nav>a[aria-current=page]{color:var(--gnb-accent)}
.site-header .nav>a.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:46px;padding:11px 23px;border-radius:100px;background:var(--gnb-button);color:white;font-size:var(--type-control);font-weight:600;line-height:1.5}
.site-header .nav>a.nav-cta[aria-current=page]{color:white;box-shadow:inset 0 0 0 2px #ffffff4d}
.site-header .nav-cta>span{font-size:20px;line-height:1}
.site-header .nav-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:7px;flex-shrink:0;height:44px;width:44px;margin:0;padding:10px;border:0;background:transparent;cursor:pointer}
.site-header .nav-toggle span{display:block;width:24px;height:2px;margin:0;background:var(--gnb-ink);transition:transform .15s}
.site-header .nav-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.site-header .nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}

/* Semantic roles keep equal content at equal sizes across routes. */
#app h1,#content h1{font-size:var(--type-page);font-weight:800;line-height:1.3;letter-spacing:-.045em}
#app .new-hero .hero-heading h1{font-size:var(--type-display);line-height:1.2;letter-spacing:-.055em}
#app h2,#content h2{font-size:var(--type-section);font-weight:700;line-height:1.35;letter-spacing:-.04em}
#app h3,#content h3{font-size:var(--type-card);font-weight:700;line-height:1.45;letter-spacing:-.035em}
#app :is(.course-main,.development-brief,.diagnosis-banner,.ac-dialog,.education-diagnostic,.faq-contact) h2,
#content :is(.product-copy,.catalog-note,.bottom-cta) h2{font-size:var(--type-panel);line-height:1.4}
#app :is(.ac-form-heading,.program-card) h2,#content .summary-card h2{font-size:var(--type-card);line-height:1.45}
#app .question-heading h2,#app .diagnostic-result h2{font-size:var(--type-panel);line-height:1.45}
#app .result-recommendations h3,#content .flow-grid h3{font-size:var(--type-subheading);line-height:1.5}
#app .start-card h3{font-size:var(--type-panel);line-height:1.4}
#content .form-section legend,#content .form-title{font-size:var(--type-subheading);font-weight:700;line-height:1.5}

#app p,#content p{font-size:var(--type-body);line-height:1.85}
#app :is(.hero-description,.ac-page-heading>p:last-of-type,.customer-intro>p:not(.ac-eyebrow)),
#content :is(.catalog-intro>p,.product-hero>div>p,.purchase-intro>p){font-size:var(--type-lead);line-height:1.85}
#app .ac-eyebrow,#app .start-kicker,#content .eyebrow{font-size:var(--type-eyebrow);font-weight:700;line-height:1.6;letter-spacing:.1em}
#app :is(.diagnostic-sidebar,.question-heading,.result-recommendations) .ac-eyebrow,#content .plan-card .eyebrow{font-size:var(--type-eyebrow)}
#app .split-heading>p,#app .heading-aside>p,#app .ac-section-head>p:last-child:not(.ac-eyebrow){font-size:var(--type-body);line-height:1.85}
#app .ac-cta p:not(.ac-eyebrow){font-size:var(--type-body)}
#app :is(.ac-caption,.ac-form-note,.customer-contact-note,.customer-status,.hero-note,.hero-diagnostic-link,.capability-audience,.development-related>p,.result-assumption,.next-step-note),
#content :is(.screen-caption,.type-note,.field-help,.summary-note,.summary-stages,.privacy-box,.connection-status,.availability,.price-note,.order-status){font-size:var(--type-label);line-height:1.8}
#app .build-tile>strong{font-size:var(--type-subheading);font-weight:700;line-height:1.45}
#app .build-tile>small{font-size:var(--type-caption);line-height:1.8}
#app .build-tile>span:first-child,#app .capability-symbol>span{font-size:var(--type-eyebrow)}
#app :is(.capability-card>dl,.capability-steps,.development-related,.development-scope>span,.course-facts strong,.course-output strong,.program-card li,.customer-flow li,.choice-content small,.diagnostic-info,.diagnostic-sidebar li,.readiness-group .choice-content strong),
#content :is(.features-inline,.plan-card p,.plan-card .billing,.summary-card dl,.summary-card .billing,.catalog-tabs,.consent,.platform-options label){font-size:var(--type-label);line-height:1.8}
#app :is(.capability-steps li>span,.course-facts small,.course-output small,.learning-grid article>span,.process-label,.course-syllabus li>span,.result-stats small,.diagnosis-actions>span),
#content :is(.tag,.visual-label,.breadcrumb,.flow-grid b,.feature>span,.catalog-tabs>span){font-size:var(--type-caption);line-height:1.7}
#app .course-syllabus li,#app .privacy-content,#app .privacy-content dd,#app .choice-content strong,#app .readiness-group legend{font-size:var(--type-body);line-height:1.8}
#app .privacy-content dt{font-size:var(--type-subheading);line-height:1.5}
#app .ac-faq summary,#content .faq-list summary{font-size:var(--type-body);font-weight:600;line-height:1.75}
#app .ac-faq>p,#content .faq-list p{font-size:var(--type-body);line-height:1.85}
#app .course-tabs>button{font-size:var(--type-control);font-weight:600;line-height:1.65}
#app .course-tabs>button>span{font-size:var(--type-caption)}
#app .ac-chip{font-size:var(--type-caption);line-height:1.6}
#app :is(.ac-form-heading>span,.customer-flow b,.diagnostic-sidebar li>span,.result-industry,.faq-number),#content :is(.form-section legend span,.form-title span,.catalog-tabs strong span){font-size:var(--type-caption);line-height:1.7}
#app .program-price{font-size:var(--type-panel);line-height:1.5}
#app .program-price small,#app .result-stats strong>span{font-size:var(--type-label)}
#app .result-stats strong{font-size:var(--type-metric);line-height:1.3}
#app .number-field input{font-size:var(--type-panel);line-height:1.4}

#app :is(.ac-button,.text-button),#content :is(.button,.text-link){font-size:var(--type-control);font-weight:600;line-height:1.5}
#app .ac-button,#content .button{min-height:48px}
#app .field label,#content .field label,#content .platform-field legend{font-size:var(--type-label);font-weight:600;line-height:1.6}
#app .field label>span{font-size:var(--type-caption)}
#app .field input,#app .field select,#app .field textarea,#content .field input,#content .field select,#content .field textarea,#content .security-row input{font-size:var(--type-body);line-height:1.6;min-height:48px}
#app .ac-consent,#content .consent{font-size:var(--type-label);line-height:1.8}
#app .security-row .text-button,#content .security-row button{font-size:var(--type-caption)}
#app .security-row>span,#content .security-row>span{font-size:var(--type-body);line-height:1.6}
#content .plan-choice>span{font-size:var(--type-label);line-height:1.5}
.footer p,.store-footer p{font-size:var(--type-label);line-height:1.8}
.footer :is(small,a:not(.brand),strong),.store-footer :is(small,a:not(.aion-brand)){font-size:var(--type-caption);line-height:1.7}

@media(max-width:960px){
  #content .product-card,#content .product-hero{grid-template-columns:1fr}
  #content .product-visual{min-height:0;padding:58px 32px 32px}
  #content .product-visual img{transform:none}
  #content .product-copy{padding:32px}
  #content .product-hero{gap:32px}
  #content .catalog-intro{align-items:flex-start}
  #content .purchase-layout{display:flex;flex-direction:column;gap:28px}
  #content .purchase-form,#content .summary-card{width:100%}
  #content .summary-card{position:static;order:-1;max-height:none;overflow:visible}
  #content .summary-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
  #content .summary-stages{display:none}
}
@media(max-width:1100px){
  :root{--gnb-height:76px;--gnb-gutter:32px}
  .site-header .brand-logo{width:205px}
  .site-header .nav-toggle{display:flex}
  .site-header .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - var(--gnb-height));overflow-y:auto;padding:12px var(--gnb-gutter) 22px;background:#fff;border-bottom:1px solid #dedfd8;box-shadow:0 16px 24px #1819180a}
  .site-header .nav.open{display:flex}
  .site-header .nav>a{width:100%;min-height:48px;padding:12px 0;border-bottom:1px solid #eeeee9}
  .site-header .nav>a.nav-cta{width:100%;min-height:46px;margin-top:12px;border-bottom:0;padding:11px 23px}
}
@media(max-width:650px){
  :root{--type-display:clamp(2.125rem,9.1vw,2.625rem);--type-page:2.25rem;--type-section:1.75rem;--type-panel:1.625rem;--type-card:1.375rem;--type-subheading:1.125rem;--type-metric:1.875rem;--type-lead:1rem;--gnb-height:72px;--gnb-gutter:23px}
  .site-header .brand-logo{width:190px}
  #app .hero-heading .ac-actions{flex-wrap:wrap;gap:12px}
  #app .hero-heading .ac-button{padding:12px 18px}
  #app .cta-actions{flex-wrap:wrap}
  #app .course-tabs{gap:8px}
  #app .course-tabs>button{padding:12px 6px;font-size:var(--type-control);min-height:86px}
  #app .build-tile{min-height:250px;padding:20px 18px}
  #app .build-tile:last-child{min-height:196px;padding-right:74px}
  #app .security-row{grid-template-columns:1fr 76px auto;gap:10px}
  #content .plan-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  #content .plan-choice>span{min-height:56px}
  #content .plan-card .button{padding:12px 9px}
  #content .catalog-tabs{align-items:flex-start;gap:16px}
  #content .catalog-tabs>span{max-width:45%;text-align:right}
  #content .summary-card dl div{font-size:var(--type-label)}
}
@media(max-width:359px){
  :root{--type-page:2rem;--gnb-gutter:19px}
  .site-header .brand-logo{width:174px}
}
@media(prefers-reduced-motion:reduce){.site-header .nav-toggle span{transition:none}}
