/* v100: metric-matched fallback so the swap to Montserrat does not move the layout */
@font-face{font-family:"Montserrat Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Helvetica");size-adjust:112.4%;ascent-override:86%;descent-override:22.3%;line-gap-override:0%}
:root{--font:"Montserrat","Montserrat Fallback","Segoe UI",Roboto,Helvetica,Arial,sans-serif}
/* Apollo Accreditation: site-wide polish and phone fixes, 20 Oct 2026 (v97). Loaded after each page's own styles. */
/* Type scale */
body{font-size:17px;line-height:1.65;text-rendering:optimizeLegibility}
h1{line-height:1.12;letter-spacing:-0.022em}
h2{line-height:1.18;letter-spacing:-0.018em}
h3{line-height:1.28;letter-spacing:-0.006em}
main .section-head p{max-width:68ch;margin-left:auto;margin-right:auto}
.eyebrow{font-size:12.5px;letter-spacing:.16em}
/* Buttons: one primary, one secondary, same height and radius */
main .btn,.cc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:10px;font-size:15px;line-height:1.25;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
main .btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,46,82,.14)}
main .btn:active{transform:none}
/* Cards: one radius, hairline border, soft lift */
.card,.logo-card,.step,.stat,.path,.photo-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover,.logo-card:hover,.path:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(15,46,82,.10)}
/* Phone fixes: tap targets and minimum text size */
.navtoggle{min-width:44px;min-height:44px}
footer.site .fdd .fgrp{font-size:12.5px}
.ft-tag{font-size:12px}
.faq .a a,.cc-text a{padding:3px 0}
.cc-text a{display:inline-block;padding:4px 0;line-height:1.3}
/* Cookie banner: compact and aligned */
.cc-banner{padding:16px 22px}
.cc-inner{align-items:center;gap:14px 24px}
.cc-text{font-size:14px;line-height:1.55}
.cc-btn{min-height:44px;padding:10px 20px;font-size:14.5px;border-radius:10px}
@media(max-width:560px){.cc-banner{padding:14px 16px}.cc-text{font-size:13.5px}.cc-actions{width:100%}.cc-actions .cc-btn{flex:1 1 0}}
/* Focus */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
/* v100: measures in em instead of ch, so a fallback font cannot change line breaks before Montserrat loads (1ch of Montserrat = 0.662em) */
.hero h1{max-width:12.6em}
.hero p.lede,.doc-head p.lede{max-width:41em}
.doc-head h1{max-width:14.6em}
.section-head,main.doc .section-head,.lead-answer{max-width:46.3em}
.doc-cta p{max-width:34.4em}
.note{max-width:58.3em}
.contact .intro{max-width:38.4em}
main.hub > p.intro,main.hub .intro,.svcintro,.specs-note,.keyline,.leadpts,.cannot,.stdnote,.logos-note{max-width:49em}
.mkt-note{max-width:53em}
.pkgnote{max-width:58.3em}
main .section-head p{max-width:45em}

/* 21 Oct 2026: stronger section contrast and one text measure across the site */
:root{--measure:880px;--band:#e6eefa;--band-line:#cbdbf0}
section.alt{background:var(--band)!important;border-top:1px solid var(--band-line)!important;border-bottom:1px solid var(--band-line)!important}
main section.alt .card,main section.alt .faqblock details,main section.alt .tw{background:#fff}
main>section:not(.alt):not(.hero):not(.band-dark):not(.ft)+section:not(.alt):not(.hero):not(.band-dark):not(.ft){border-top:1px solid var(--line)}
section.alt+section.alt{border-top:2px solid var(--band-line)!important}
/* one reading width for running text and tables */
.section-head{max-width:var(--measure)!important}
.section-head p{max-width:none!important}
.col{max-width:var(--measure)!important;margin-left:auto;margin-right:auto}
main .tw,main .table-scroll{max-width:var(--measure);margin-left:auto!important;margin-right:auto!important}
main .wrap>p,main .wrap>ul:not([class]),main .wrap>ol:not([class]),main .note,main .lead-answer,main .mkt-note,main .logos-note,main .rc,main .rc-result,main .faqblock,main .related,main .faq{max-width:var(--measure);margin-left:auto;margin-right:auto}
section.zebra-w,section.alt.zebra-w{background:#fff!important;border-top:0!important;border-bottom:0!important}
/* same 880px measure for callout boxes, headers and policy pages */
main .wrap>p{margin-left:auto!important;margin-right:auto!important}
.ft-head{max-width:var(--measure);margin-left:auto;margin-right:auto}.ft-head p{max-width:none!important}
main .wwd,main .cpd-band,main .reco,main .infostrip,main .scope-box,main .cd-why,main .inc,main .contact{max-width:var(--measure);margin-left:auto!important;margin-right:auto!important}
main.legal{max-width:calc(var(--measure) + 40px)!important}
main section.wrap>div,main section>.wrap>div[style*="border-left:5px"]{max-width:var(--measure);margin-left:auto!important;margin-right:auto!important}
main .wrap>p{max-width:var(--measure)!important}
section.ft .ft-head{max-width:var(--measure)!important}
main p a:not(.btn):not(.more),main td a,main .note a,main .answer a,main .faqblock a{text-decoration:underline;text-underline-offset:2px}

/* Free course diagnostic band, 21 Oct 2026 */
section.diag-band{background:linear-gradient(180deg,#fff8f1,#fdeedd)!important;border-top:1px solid #f3d3b2;border-bottom:1px solid #f3d3b2;padding:56px 0}
.diag{max-width:var(--measure,880px);margin:0 auto;display:grid;grid-template-columns:1.35fr 1fr;gap:30px;align-items:center;background:#fff;border:1px solid #f1d5b8;border-left:6px solid var(--gold);border-radius:18px;padding:28px 30px;box-shadow:0 12px 30px rgba(163,79,9,.10)}
.diag-ey{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-muted);margin:0 0 10px}
.diag-free{background:var(--gold);color:#3b1d02;border-radius:6px;padding:3px 9px;letter-spacing:.08em}
.diag h2{font-size:26px;margin:0 0 10px;color:var(--navy)}
.diag p{margin:0 0 16px;color:var(--ink);font-size:16.5px}
.diag-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.diag-more{font-weight:700;text-decoration:underline;text-underline-offset:2px}
.diag-r{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.diag-r li{position:relative;padding:10px 12px 10px 40px;background:#fff8f1;border:1px solid #f6dcc2;border-radius:12px;font-size:15.5px;line-height:1.45}
.diag-r li:before{content:"";position:absolute;left:13px;top:13px;width:16px;height:16px;border-radius:50%;background:var(--gold)}
.diag-r li:after{content:"";position:absolute;left:19px;top:16px;width:4px;height:8px;border:solid #3b1d02;border-width:0 2px 2px 0;transform:rotate(45deg)}
.diag-r b{color:var(--navy)}
@media(max-width:820px){.diag{grid-template-columns:1fr;padding:22px 20px}.diag h2{font-size:23px}}

/* What the training is for */
.uses-line{list-style:none;margin:0 auto 26px;padding:0;display:grid;grid-template-columns:repeat(6,1fr);position:relative;max-width:var(--wrap,1120px)}
.uses-line:before{content:"";position:absolute;left:8%;right:8%;top:9px;height:2px;background:linear-gradient(90deg,var(--blue),var(--gold))}
.uses-line li{position:relative;text-align:center;font-size:13px;font-weight:700;color:var(--navy);padding-top:26px}
.uses-line li:before{content:"";position:absolute;left:50%;top:2px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:#fff;border:3px solid var(--blue)}
.uses-line li:nth-child(4):before{border-color:var(--gold)}
@media(max-width:760px){.uses-line{display:none}}
.uses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:980px){.uses-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.uses-grid{grid-template-columns:1fr}}
.use{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:9px;box-shadow:0 1px 2px rgba(15,46,82,.04),0 8px 24px rgba(15,46,82,.06);border-top:4px solid var(--blue)}
.use.use-hi{border-top-color:var(--gold)}
.use-when{font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-muted)}
.use h3{margin:0;font-size:19px}
.use p{margin:0;color:var(--muted);font-size:15.5px}
.use ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.use li{font-size:13.5px;font-weight:600;color:var(--navy);background:var(--cool);border:1px solid var(--line);border-radius:999px;padding:3px 10px}

