:root{--yellow:#fec430;--black:#000;--ink:#212327;--purple:#78318f;--orange:#ff6b1a;--worker:#21659a;--paper:#fff;--muted:#555c60;--line:#dce1e2;--display:'Bebas Neue',Impact,'Arial Narrow',sans-serif;--body:'Nunito Sans',Arial,Helvetica,sans-serif;--hazard:repeating-linear-gradient(135deg,var(--yellow) 0 14px,var(--black) 14px 28px);}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body)}button,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:5px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:0;box-shadow:0 0 0 6px var(--black)}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}h1,h2,h3{color:var(--black);font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.95}h1{font-size:clamp(52px,6vw,96px);margin-bottom:28px;max-width:780px}h2{font-size:clamp(36px,3.6vw,56px);margin-bottom:20px}h3{font-size:30px}p{max-width:68ch}.skip{position:fixed;top:-100px;background:var(--yellow);padding:15px;z-index:99}.skip:focus{top:0}.header{background:var(--black);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:27px max(24px,calc((100vw - 1280px)/2));position:relative;z-index:10}.logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}.logo img{display:block;height:auto;width:270px}.header nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700}.header nav>a{color:#fff;font-family:var(--body);text-decoration:none}.header nav>a:hover{text-decoration:underline}.header button{background:none;border:0;color:#fff;padding:0}.header .account{border-left:1px solid #666;padding-left:24px;color:var(--yellow)}#language{text-decoration:underline;text-underline-offset:5px}.training-menu{position:relative}.training-menu summary{cursor:pointer;list-style:none}.training-menu summary:after{content:'⌄';margin-left:9px}.training-menu>div{position:absolute;top:38px;left:-24px;width:285px;background:#fff;color:#000;padding:12px;box-shadow:0 12px 30px #0003;border-top:5px solid var(--yellow)}.training-menu>div button,.training-menu>div a{display:block;color:#000;text-align:left;padding:12px;width:100%;text-decoration:none;font-size:14px;line-height:1.3}.training-menu>div button:hover,.training-menu>div a:hover{background:var(--purple)}#menu-toggle{display:none}.hero{margin:0 auto;display:grid;grid-template-columns:minmax(310px,.85fr) minmax(0,1.35fr);background:var(--yellow);padding:48px max(24px,calc((100vw - 1280px)/2));gap:44px;align-items:center}.hero-copy{padding:0}.hero h1{font-size:clamp(52px,6vw,96px);max-width:480px;margin-bottom:24px}.location{font-size:14px;font-weight:700;margin-bottom:22px}.intro{font-size:18px;line-height:1.6;max-width:410px;margin-bottom:28px}.card-showcase{background:var(--paper);padding:28px 24px 24px;box-shadow:0 10px 0 var(--black);align-self:center}.credential-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.credential-choice{display:flex;flex-direction:column;align-items:center;text-align:center;background:transparent;color:#000;border:0;padding:0;min-width:0}.credential-choice img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;filter:drop-shadow(0 6px 5px #0002)}.credential-choice span{font-family:var(--display);font-size:20px;letter-spacing:.02em;line-height:1.2;font-weight:700;margin:20px 0 8px}.credential-choice small{font-size:12px;line-height:1.4;color:var(--muted);max-width:160px}.credential-choice:hover span{text-decoration:underline;text-underline-offset:4px}.card-caption{font-size:11px;color:var(--muted);text-align:center;margin:22px 0 18px;max-width:none}.card-shortcuts{display:flex;justify-content:space-between;gap:12px;padding:17px 0;border-top:1px solid var(--line);flex-wrap:wrap}.card-shortcuts button{background:none;color:#000;border:0;padding:0;min-height:44px;display:inline-flex;align-items:center;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 24px;font-weight:700;font-size:15px;text-decoration:none;border:2px solid transparent;border-radius:0;line-height:1.2}.black{background:#000;color:#fff}.yellow{background:var(--yellow);color:#000}.button:hover{transform:translateY(-2px)}.hero-secondary{display:inline-block;margin:18px 0 0 18px;font-size:14px;font-weight:700}.assurance{max-width:1280px;margin:auto;display:flex;justify-content:space-around;gap:20px;padding:24px 20px;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}.assurance span:before{content:'✓';margin-right:10px}.section{max-width:1280px;margin:auto;padding:80px 24px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}.section-heading p:last-child{max-width:360px;margin-bottom:5px;color:var(--muted)}.kicker{font-size:14px;font-weight:700;letter-spacing:0;line-height:1.4;margin-bottom:15px}.route-heading{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:24px}.route-heading h3{margin:0;font-size:25px}.route-heading p{font-size:14px;margin:0;color:var(--muted)}.packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.package{border:1px solid #c9cfd1;padding:30px;display:flex;flex-direction:column;position:relative}.package.featured{border:2px solid #000;background:#fffdf4}.package .tag{align-self:flex-start;padding:5px 10px;font-size:12px;font-weight:700;background:var(--purple);margin:0 0 18px;line-height:1.5}.package.featured .tag{background:var(--yellow)}.package h3{font-size:34px;max-width:440px;margin-bottom:14px}.package .audience{font-size:16px;line-height:1.5;min-height:48px;margin-bottom:22px}.package ul{list-style:none;padding:18px 0;margin:0 0 20px;border-top:1px solid var(--line);flex:1}.package li{padding:6px 0;font-size:14px;line-height:1.5}.package li:before{content:'✓';margin-right:10px;font-weight:bold}.package .exclude{font-size:13px;color:var(--muted);margin-bottom:20px}.package .button{align-self:flex-start}.eligibility-note{font-size:13px;line-height:1.65;color:var(--muted);max-width:940px;margin:22px 0 0}.process{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.6fr;gap:65px;padding-top:50px}.process ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:steps}.process li{counter-increment:steps}.process li:before{content:counter(steps);width:32px;height:32px;display:grid;place-items:center;background:var(--yellow);font-weight:700;margin-bottom:20px}.process h3{font-size:22px;line-height:1.15;margin-bottom:14px}.process p{font-size:14px;color:var(--muted);margin-bottom:0}.company{background:#000;color:#fff;padding:72px max(24px,calc((100vw - 1232px)/2));display:grid;grid-template-columns:1fr 1fr;gap:90px}.company h2{color:#fff;font-size:clamp(36px,3.6vw,56px);max-width:500px}.company .kicker{color:var(--yellow)}.company p{color:#d3d7d8;max-width:550px}.crew-plan{background:#fff;color:#000;align-self:center;padding:32px;border-top:8px solid var(--yellow)}.crew-plan h3{font-size:26px;margin-bottom:22px}.crew-plan>div{padding:14px 0;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;font-size:14px}.crew-plan p{color:var(--muted);font-size:13px;margin:18px 0 0}.specialist{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-bottom:1px solid var(--line)}.specialist h2{font-size:37px}.service-links button{display:grid;grid-template-columns:1fr auto;text-align:left;width:100%;background:#fff;border:0;border-bottom:1px solid var(--line);padding:19px 0}.service-links span{font-size:19px;font-weight:700}.service-links small{grid-column:1;font-size:13px;color:var(--muted)}.service-links b{grid-column:2;grid-row:1/3;align-self:center;font-size:25px}.resources .section-heading p{color:#000}.resources .section-heading>a{font-size:14px;font-weight:700;white-space:nowrap;margin-bottom:20px}.guides{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.guides button,.guides a{text-align:left;background:var(--purple);border:0;padding:28px;min-height:190px}.guides a{display:block;text-decoration:none}.guides span{display:block;font-size:24px;line-height:1.2;font-weight:700;letter-spacing:-.035em;margin-bottom:18px}.guides small{font-size:14px;line-height:1.5;display:block}.help{background:var(--yellow);text-align:center;padding:60px 30px}.help p{max-width:610px;margin:0 auto 25px}.help p a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}.strategy{padding-top:38px;padding-bottom:38px;font-size:14px}.strategy summary{cursor:pointer;font-weight:700}.strategy p{max-width:1000px;margin-top:20px;color:var(--muted)}footer{background:#000;color:#fff;padding:55px max(24px,calc((100vw - 1232px)/2))}footer img{height:auto;max-width:100%}footer p{font-size:14px;margin-top:20px;color:#c6cccf}footer>div{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;margin:25px 0}.credentials{display:flex;gap:40px;flex-wrap:wrap;align-items:center;margin:28px 0}.credentials figure{display:flex;align-items:center;gap:14px;margin:0;font-size:13px;color:#c6cccf;max-width:360px}.credentials img{background:#fff;padding:6px}.credentials .provider{margin:0;font-size:13px}footer address{font-style:normal;font-size:13px;line-height:1.6;color:#c6cccf}footer address a{display:inline-flex;align-items:center;min-height:44px}footer small{font-size:12px;color:#a6adb0}dialog{width:min(620px,calc(100% - 32px));max-height:85vh;border:0;border-top:8px solid var(--yellow);padding:40px;box-shadow:0 20px 80px #0004;color:var(--ink)}dialog::backdrop{background:#0009}dialog h2{font-size:36px;line-height:1.1}dialog p,dialog li{font-size:16px;line-height:1.6}dialog>.close-dialog:first-child{position:absolute;top:8px;right:12px;border:0;background:transparent;font-size:30px;line-height:1;padding:8px}dialog .dialog-note{font-size:13px;background:#f3eaf6;padding:15px;margin:24px 0}.no-js{padding:24px;background:var(--purple)}

@media(max-width:1100px){.header nav{gap:16px}.logo img{width:215px}.header{gap:20px}.header .account{padding-left:16px}.hero-secondary{display:block;margin-left:0}.process{gap:35px}.company{gap:40px}}
@media(max-width:850px){.header{padding:22px 24px;flex-wrap:wrap}.header #menu-toggle{display:block;border:1px solid #888;padding:8px 13px}.header nav{display:none;width:100%;align-items:stretch;flex-direction:column;gap:0;padding-top:10px}.header nav.open{display:flex}.header nav>a,.header nav>button,.training-menu summary{padding:13px 0;text-align:left}.header .account{border:0;padding:13px 0}.training-menu>div{position:static;width:100%;margin-top:10px;box-shadow:none}.intro{font-size:16px}.section{padding:55px 24px}.section-heading{gap:20px}.section-heading p:last-child{max-width:300px;font-size:14px}.process{display:block}.process ol{margin-top:35px}.company{gap:35px;padding:50px 24px}.specialist{gap:30px}.guides{gap:16px}.guides button,.guides a{padding:20px}.guides span{font-size:21px}}
@media(max-width:600px){.header{padding:20px}.logo img{width:190px}.assurance{padding:20px 16px;gap:10px;justify-content:space-between;align-items:flex-start;font-size:11px;line-height:1.4}.assurance span{flex:1}.assurance span:before{display:block;margin-bottom:4px}.section{padding:42px 20px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{margin-bottom:18px}.section-heading p:last-child{max-width:100%}.packages{grid-template-columns:1fr;gap:18px}.package{padding:25px}.package h3{font-size:32px}.package .audience{min-height:0}.route-heading{gap:9px}.route-heading h3{font-size:25px}.process ol{grid-template-columns:1fr;gap:28px}.process li{padding-left:52px;position:relative}.process li:before{position:absolute;left:0;top:0}.process h3{font-size:23px}.company{grid-template-columns:1fr;padding:44px 22px;gap:28px}.crew-plan{padding:24px}.specialist{display:block}.specialist h2{font-size:32px}.guides{grid-template-columns:1fr}.guides button,.guides a{min-height:0;padding:24px}.resources .section-heading>a{display:inline-block;margin-bottom:0}.help{padding:42px 24px}.strategy{padding-top:30px;padding-bottom:30px}footer{padding:40px 22px}dialog{padding:35px 24px 25px}dialog h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover{transform:none}}

@media(max-width:1100px){.hero{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:28px;padding-top:36px;padding-bottom:36px}.hero h1{font-size:60px}.card-showcase{padding:22px 16px 18px}.credential-choices{gap:12px}.credential-choice span{font-size:16px}.card-shortcuts{gap:14px}}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:0;padding:28px 24px}.hero-copy{display:contents}.hero .location{grid-row:1;margin-bottom:12px}.hero h1{grid-row:2;max-width:650px;font-size:56px;margin-bottom:24px}.card-showcase{grid-row:3;padding:24px 22px 18px;margin-bottom:24px}.credential-choices{max-width:600px;margin:auto;gap:24px}.credential-choice img{max-height:255px}.hero .intro{grid-row:4;max-width:650px;margin-bottom:20px}.hero-actions{grid-row:5;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero-secondary{margin:0}.card-shortcuts{justify-content:center;gap:24px}}
@media(max-width:600px){.hero{padding:24px 18px}.hero .location{font-size:12px}.hero h1{font-size:48px;margin-bottom:22px;max-width:390px}.card-showcase{padding:18px 12px 14px;margin-bottom:20px}.credential-choices{gap:10px}.credential-choice span{font-size:14px;margin-top:14px;margin-bottom:6px}.credential-choice small{font-size:11px}.card-caption{font-size:10px;margin:18px 0 13px}.card-shortcuts{justify-content:space-between;gap:8px;padding:15px 0}.card-shortcuts button{font-size:11px}.hero .intro{font-size:16px;margin-bottom:18px}.hero-actions{gap:18px}.hero-actions .button{font-size:14px;padding:14px 18px}.hero-secondary{font-size:12px}}

/* Worker Wallet purple anchors selected paths and editorial accents. */
.training-menu>div button:hover,.training-menu>div a:hover{color:#fff}.package .tag{color:#fff}.package.featured .tag{color:#000}.guides button,.guides a{color:#fff}.no-js{color:#fff}.card-shortcuts button:hover{color:var(--purple)}

/* Credential color follows each choice from the hero through the package CTA. */
[data-route="worker"],[data-tone="worker"]{--card-color:var(--worker);--card-ink:#fff}
[data-route="supervisor"],[data-tone="supervisor"]{--card-color:var(--yellow);--card-ink:#000}
[data-route="wallet"],[data-tone="wallet"]{--card-color:var(--purple);--card-ink:#fff}
[data-route="renewal"],[data-route="osha"],[data-tone="osha"]{--card-color:#252525;--card-ink:#fff}[data-tone="manager"]{--card-color:#0e7c6b;--card-ink:#fff}[data-tone="service"]{--card-color:var(--ink);--card-ink:#fff}
.hero h1{max-width:480px;line-height:.98;margin-bottom:12px}.credential-choice span{background:var(--card-color);color:var(--card-ink);width:100%;padding:13px 9px;min-height:68px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:20px;letter-spacing:.02em;line-height:1.25;margin-top:18px}.credential-choice:hover span{text-decoration:none;box-shadow:inset 0 0 0 2px currentColor}.credential-choice:focus-visible{outline-color:#000}
.package{border-top:5px solid var(--card-color)}.package.featured{border-top:5px solid var(--card-color)}.package .tag,.package.featured .tag,.package .button{background:var(--card-color);color:var(--card-ink)}.single-package{grid-template-columns:minmax(0,720px)}
@media(max-width:1100px){.credential-choice span{font-size:17px}}
@media(max-width:850px){.card-showcase{grid-row:4}.hero .intro{grid-row:5}.hero-actions{grid-row:6}}
@media(max-width:600px){.hero h1{font-size:48px;max-width:350px;margin-bottom:8px}.credential-choice span{font-size:15px;padding:10px 5px;min-height:62px;margin-top:12px}}

/* Existing women and course artwork carry through the full training journey. */
.people-banner{max-width:1232px;margin:48px auto 0;display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch;background:#000;color:#fff}.people-banner>img{width:100%;height:100%;object-fit:cover;min-height:280px}.people-banner>div{padding:38px}.people-banner h2{color:#fff;font-size:38px;max-width:410px}.people-banner p{font-size:16px;color:#eee}.people-banner a{font-weight:700;color:var(--yellow);font-size:14px}.package-heading{display:flex;align-items:center;gap:22px;margin-bottom:22px}.package-heading>div:last-child{min-width:0;flex:1}.package-heading h3{margin-bottom:0;font-size:31px}.package-heading .tag{display:inline-block;margin-bottom:12px}.package-art{width:106px;flex:0 0 106px}.package-art img{display:block;width:100%;height:160px;object-fit:contain}.package-art.portrait-detail{height:106px;position:relative;overflow:hidden;border-radius:50%;background:var(--worker)}.package-art.portrait-detail img{position:absolute;width:200%;max-width:none;height:auto;left:-50%;top:-55%}.crew-visual{align-self:center}.crew-photo{display:block;width:100%;height:220px;object-fit:cover}.service-links .service-with-image{grid-template-columns:74px 1fr auto;gap:6px 18px;align-items:center}.service-with-image img{grid-column:1;grid-row:1/3;width:74px;height:114px;object-fit:contain}.service-links .service-with-image span,.service-links .service-with-image small{grid-column:2}.service-links .service-with-image b{grid-column:3}
@media(max-width:1280px){.people-banner{margin-left:24px;margin-right:24px}}
@media(max-width:850px){.people-banner>div{padding:26px}.people-banner h2{font-size:32px}.package-heading{gap:14px;align-items:flex-start}.package-art{width:76px;flex-basis:76px}.package-art img{height:118px}.package-art.portrait-detail{height:76px}.package-heading h3{font-size:27px}.package-heading .tag{font-size:11px}.crew-photo{height:180px}}
@media(max-width:600px){.people-banner{margin:28px 20px 0;grid-template-columns:1fr}.people-banner>img{min-height:0;height:auto;aspect-ratio:768/350}.people-banner>div{padding:28px}.people-banner h2{font-size:32px}.package-heading{align-items:center}.package-art{width:88px;flex-basis:88px}.package-art img{height:138px}.package-art.portrait-detail{height:88px}.package-heading h3{font-size:28px}.crew-photo{height:210px}}

.bundle-teaser{display:flex;gap:25px;align-items:center;justify-content:space-between;background:#f5f5f5;border-left:5px solid var(--worker);padding:22px 24px;margin-bottom:28px}.bundle-teaser strong{display:block;font-size:19px;line-height:1.4}.bundle-teaser p{font-size:13px;margin:5px 0 0;color:var(--muted)}.bundle-teaser button{background:var(--worker);color:#fff;border:0;padding:13px 18px;font-size:13px;font-weight:700;flex-shrink:0}.offer-price{display:flex;flex-direction:column;gap:5px;margin:0 0 24px}.offer-price>strong{font-size:48px;line-height:1.1;letter-spacing:-.04em;color:#000}.offer-price>span:last-child{font-size:14px;color:var(--muted)}.three-packages{grid-template-columns:repeat(3,minmax(0,1fr))}.three-packages .package{padding:24px}.three-packages .package-heading{display:block}.three-packages .package-art{float:right;width:72px;margin:0 0 14px 12px}.three-packages .package-art img{height:95px}.three-packages .package-heading h3{font-size:28px}
@media(max-width:1000px){.three-packages{grid-template-columns:1fr 1fr}.three-packages .package:last-child{grid-column:1/-1}}
@media(max-width:600px){.bundle-teaser{display:block;padding:20px}.bundle-teaser strong{font-size:17px}.bundle-teaser button{margin-top:15px}.three-packages{grid-template-columns:1fr}.three-packages .package:last-child{grid-column:auto}.offer-price>strong{font-size:42px}}

/* Existing smart-guy artwork supports the differentiators below the packages. */
.difference{display:grid;grid-template-columns:.9fr 1.2fr;gap:48px;padding-top:44px;padding-bottom:64px;border-top:1px solid var(--line);align-items:stretch}.difference-art{background:var(--yellow);border-bottom:10px solid var(--yellow);min-width:0}.difference-art img{display:block;width:100%;height:100%;min-height:450px;object-fit:cover;object-position:28% center}.difference-copy{padding:12px 0}.difference-copy .kicker{display:inline-block;background:var(--yellow);padding:5px 10px}.difference h2{font-size:42px;max-width:550px}.difference-points{margin:28px 0}.difference-points>div{border-top:1px solid var(--line);padding:18px 0 0;margin-top:18px}.difference h3{font-size:22px;letter-spacing:-.025em;margin-bottom:9px}.difference p:not(.kicker){font-size:15px;color:var(--muted);margin-bottom:0}.difference .button{margin-top:0}
@media(max-width:850px){.difference{gap:28px;grid-template-columns:.8fr 1.2fr}.difference h2{font-size:34px}.difference-art img{min-height:420px}}
@media(max-width:600px){.difference{grid-template-columns:1fr;padding-top:32px;gap:26px}.difference-art img{min-height:0;height:245px;object-position:28% 40%}.difference h2{font-size:34px}.difference-copy{padding:0}.difference h3{font-size:21px}}

.tagline-beats>span{display:block}

/* Compact goal selector: card colors identify the paths; fill marks the selection. */
.routes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:32px}
.routes button{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:12px;row-gap:10px;align-items:center;padding:18px 16px;min-height:142px;border:1px solid var(--line);border-top:4px solid var(--card-color);border-radius:8px;background:#fff;color:var(--ink);text-align:left;transition:background .15s,border-color .15s,box-shadow .15s}
.routes button:hover{background:#f6f6f6;border-color:var(--card-color);box-shadow:0 3px 12px #0000000d}
.routes button[aria-pressed=true]{background:var(--card-color);color:var(--card-ink);border-color:var(--card-color)}
.routes button:focus-visible{outline:3px solid #000;outline-offset:4px}
.routes .route-thumb,.routes .route-icon{grid-column:1;grid-row:1;width:40px;height:60px;object-fit:contain;display:block;margin:0;filter:drop-shadow(0 2px 2px #0002)}
.routes .route-icon{display:grid;place-items:center;filter:none;font-size:29px;font-weight:700;line-height:1;color:var(--card-color)}
.routes .route-icon svg{width:34px;height:34px}
.routes button[aria-pressed=true] .route-icon{color:inherit}
.routes .route-title{grid-column:2;grid-row:1;display:block;font-size:16px;line-height:1.25;font-weight:700;letter-spacing:-.025em;margin:0;padding-right:5px}
.routes small{grid-column:1/-1;grid-row:2;display:block;font-size:12px;line-height:1.4;color:var(--muted);margin:0;align-self:start}
.routes button[aria-pressed=true] small{color:inherit}
.routes .route-check{position:absolute;top:7px;right:7px;width:16px;height:16px;border-radius:50%;background:var(--card-ink);color:var(--card-color);font-size:11px;line-height:16px;text-align:center;font-weight:700;visibility:hidden}
.routes button[aria-pressed=true] .route-check{visibility:visible}
@media(max-width:1100px){.routes{grid-template-columns:1fr;gap:8px}.routes button{grid-template-columns:48px minmax(0,1fr) 20px;grid-template-rows:auto auto;column-gap:16px;row-gap:4px;min-height:88px;padding:12px 16px;border-top-width:1px;border-left:4px solid var(--card-color)}.routes .route-thumb,.routes .route-icon{grid-row:1/3;justify-self:center}.routes .route-title{grid-column:2;align-self:end;font-size:17px;padding:0}.routes small{grid-column:2;align-self:start;font-size:13px}.routes .route-check{position:static;grid-column:3;grid-row:1/3;align-self:center}.routes button:not([aria-pressed=true]):after{content:'›';grid-column:3;grid-row:1/3;font-size:25px;color:var(--muted);justify-self:center}}
@media(prefers-reduced-motion:reduce){.routes button{transition:none}}

/* A scannable price menu, with details one click away. */
.price-menu{padding-top:48px;padding-bottom:24px}.price-menu-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.price-menu-heading h2{font-size:34px;margin:0}.price-menu-heading .kicker{margin-bottom:9px}.price-menu-heading>a{font-size:14px;font-weight:700;white-space:nowrap}.price-menu-items{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.price-menu-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0 18px 15px;position:relative}.price-menu-row:before{content:'';position:absolute;left:0;top:22px;width:4px;height:25px;background:var(--card-color);border-radius:2px}.price-menu-name{grid-row:1/3}.price-menu-name h3{font-size:18px;line-height:1.2;letter-spacing:-.025em;margin:0 0 5px}.price-menu-name p{font-size:12px;line-height:1.45;color:var(--muted);margin:0}.price-menu-name b{display:inline-block;font-size:10px;text-transform:uppercase;background:#f1ecdf;color:#50401b;padding:2px 5px;margin-left:4px;white-space:nowrap}.menu-price{font-size:25px;line-height:1.2;letter-spacing:-.04em;text-align:right}.price-menu-row>.menu-more{display:inline-flex;align-items:center;color:inherit;border:0;padding:4px 0;background:none;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;justify-self:end;min-height:28px}.price-menu-row>.menu-more:hover{color:var(--purple)}.price-menu-note{font-size:12px;color:var(--muted);margin:20px 0 0;max-width:90ch}
@media(max-width:850px){.price-menu-items{column-gap:24px}.price-menu-heading h2{font-size:29px}}
@media(max-width:600px){.price-menu{padding-top:32px;padding-bottom:12px}.price-menu-heading{display:block}.price-menu-heading>a{display:inline-block;margin-top:14px}.price-menu-items{grid-template-columns:1fr}.price-menu-row{padding-top:14px;padding-bottom:14px}.price-menu-name h3{font-size:17px}.price-menu-name p{font-size:11px}.menu-price{font-size:26px}.price-menu-name b{margin-left:0}.price-menu-note{font-size:11px}}

.price-start{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-bottom:16px}.price-path{padding:24px;border:1px solid var(--line);border-top:4px solid var(--worker);border-radius:8px;display:flex;flex-direction:column;align-items:flex-start}.price-path.complete-path{background:#fffdf4;border-color:#d4bc76;border-top-color:var(--worker)}.price-path .path-label{font-size:13px;font-weight:700;line-height:1.4;margin:0 0 16px}.complete-path .path-label{background:var(--yellow);color:#000;padding:5px 9px;border-radius:3px}.path-title{display:flex;align-items:baseline;justify-content:space-between;gap:15px;width:100%;margin-bottom:12px}.path-title h3{font-size:28px;line-height:1.1;margin:0;letter-spacing:-.035em}.path-title>strong{font-size:40px;line-height:1;letter-spacing:-.04em;white-space:nowrap;color:#000}.price-path p{font-size:14px;line-height:1.5;margin-bottom:18px}.price-path .path-subtitle{font-weight:700;margin-bottom:8px}.price-path .button{margin-top:auto;background:var(--worker);color:#fff;min-height:46px;padding:12px 18px}.price-path small{font-size:12px;line-height:1.5;color:var(--muted);margin-top:12px;max-width:50ch}.price-menu-name p{font-size:14px}.price-menu-row>.menu-more{font-size:14px;min-height:44px}.price-menu-note{font-size:14px}.price-menu-row{min-height:100px}.price-menu-name{padding-right:5px}
@media(max-width:850px){.price-menu-items{grid-template-columns:1fr}.price-start{grid-template-columns:1fr 1fr;gap:14px}.price-path{padding:20px}.path-title{display:block}.path-title>strong{display:block;margin-top:12px}.path-title h3{font-size:25px}}
@media(max-width:600px){.price-start{grid-template-columns:1fr}.price-path{padding:20px}.path-title{display:flex}.path-title h3{font-size:25px}.path-title>strong{margin-top:0;font-size:36px}.price-menu-name p{font-size:14px}.price-menu-name h3{font-size:18px}.price-menu-note{font-size:13px}.price-menu-row{padding-top:12px;padding-bottom:12px}.price-menu-row>.menu-more{font-size:14px;min-height:44px}.price-path .button{min-height:48px}.price-path .path-label{font-size:14px}}

.package{min-width:0}@media(max-width:600px){.package-heading{flex-wrap:wrap}.package-heading>div:last-child{min-width:0;flex:1 1 140px}}
.menu-price,.price-path strong,.offer-price strong{font-family:var(--display);font-size:44px;line-height:1}.menu-price a,.price-path strong a,.offer-price strong a{color:inherit;display:inline-flex;align-items:center;min-height:44px}
@media(max-width:600px){.menu-price,.price-path strong,.offer-price strong{font-size:30px}}
.intro-tag{background:var(--yellow);font:700 12px/1 var(--body);padding:5px 8px;margin-left:8px}
.menu-price s.was,.price-path strong s.was,.offer-price strong s.was{font-size:.55em;color:var(--muted)}.menu-price .intro-tag,.price-path strong .intro-tag,.offer-price strong .intro-tag{display:inline-block;color:var(--black);vertical-align:middle;white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.assurance-strip{background:var(--black);color:#fff;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;padding:28px max(24px,calc((100vw - 1280px)/2));font-family:var(--display);font-size:22px;letter-spacing:.02em}.assurance-strip span:before{content:'✓';color:var(--yellow);margin-right:12px}

.compare-tag{font-family:var(--body);font-size:.42em;font-weight:700;color:var(--muted);vertical-align:middle;white-space:nowrap;margin-right:6px}
.tagline-beats .guaranteed{display:inline-block;background:var(--black);color:var(--yellow);padding:0 .14em;margin-top:.08em}
.hero-proof{list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px;margin:0 0 22px;padding:0}.hero-proof li{border:2px solid var(--black);padding:6px 12px;font-size:13px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.hero-proof li:before{content:'✓';margin-right:8px}
.showcase-title{font-family:var(--display);font-size:clamp(30px,3.2vw,44px);line-height:1;letter-spacing:.01em;text-align:center;margin:0 0 22px;padding-bottom:16px;border-bottom:4px solid var(--black)}
.hero-actions .hero-secondary{margin:0}
@media(max-width:850px){.hero-proof{grid-row:6;margin-bottom:16px}.hero-actions{grid-row:7}.showcase-title{font-size:30px;margin-bottom:16px;padding-bottom:12px}}

/* Package strip: a paper ticket under the nav. The die-cut price tag is the one loud element. */
.announce{display:flex;align-items:center;gap:20px 28px;background:var(--paper);color:var(--ink);border-bottom:4px solid var(--black);padding:14px max(24px,calc((100vw - 1280px)/2))}
.announce[hidden]{display:none}.osha-classes[hidden]{display:none}
.announce-copy{display:flex;align-items:center;gap:20px 28px;flex:1 1 auto;min-width:0}
.announce-text{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;margin:0;flex:1 1 auto;min-width:0;max-width:none}
.announce-name{font-family:var(--display);font-weight:400;font-size:30px;line-height:1;letter-spacing:.01em;color:var(--black);white-space:nowrap}
.announce-line{font-size:15px;font-weight:700;color:var(--muted)}
.announce-tag{display:flex;align-items:center;gap:12px;flex:0 0 auto;background:var(--black);color:#fff;padding:6px 18px 6px 30px;clip-path:polygon(16px 0,100% 0,100% 100%,16px 100%,0 50%);position:relative}
.announce-tag:before{content:'';position:absolute;left:14px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--paper)}
.announce-tag .price{font-family:var(--display);font-size:40px;line-height:1;color:var(--yellow);letter-spacing:.01em}
.announce-tag .tag-note{display:flex;flex-direction:column;font-size:12px;font-weight:700;line-height:1.25}
.announce-tag .was{opacity:.75;text-decoration-thickness:2px}
.announce-link{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--black);font-size:15px;font-weight:900;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;text-decoration-color:var(--yellow)}
.announce-link:hover,.announce-link:focus-visible{text-decoration-color:var(--black)}
@media(max-width:900px){.announce-line{display:none}}
@media(max-width:600px){.announce{flex-wrap:wrap;gap:4px 12px;padding:10px 18px}.announce-copy{flex:1 1 100%;gap:12px;justify-content:space-between}.announce-name{font-size:24px;white-space:normal}.announce-tag{padding:4px 12px 4px 26px}.announce-tag .price{font-size:30px}.announce-tag .tag-note{font-size:11px}.announce .through{display:none}.announce-link{min-height:44px;font-size:14px}}

.dialog-actions{margin:22px 0 10px}.dialog-actions:empty{display:none}.dialog-actions .button{display:inline-flex;align-items:center;min-height:48px;text-decoration:none}
/* The package strip stays with the visitor: the nav scrolls away, the offer and its link pin to the top. */
#announce-sentinel{height:0}
.announce{position:sticky;top:0;z-index:9;transition:padding .18s ease,box-shadow .18s ease}
.announce.is-stuck{padding-top:8px;padding-bottom:8px;box-shadow:0 6px 0 rgba(0,0,0,.12)}
.announce.is-stuck .announce-name{font-size:24px}
.announce.is-stuck .announce-tag .price{font-size:30px}
.announce.is-stuck .announce-link{background:var(--black);color:var(--yellow);text-decoration:none;padding:0 20px;min-height:44px}
.announce.is-stuck .announce-link:hover,.announce.is-stuck .announce-link:focus-visible{background:var(--ink)}
@media(max-width:600px){.announce.is-stuck{flex-wrap:nowrap;gap:10px;padding:6px 14px}.announce.is-stuck .announce-copy{flex:1 1 auto;gap:10px;min-width:0}.announce.is-stuck .announce-name{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.announce.is-stuck .tag-note{display:none}.announce.is-stuck .announce-tag{padding:4px 10px 4px 24px}.announce.is-stuck .announce-tag .price{font-size:24px}.announce.is-stuck .announce-link{padding:0 14px;font-size:13px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.announce{transition:none}}
@media(max-width:1000px){.assurance-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;font-size:20px}}
@media(max-width:600px){.assurance-strip{grid-template-columns:1fr;padding:22px 18px;font-size:19px}}

/* Pinned strip doubles as the page menu: section links in the middle, the buy button on the right. */
.announce-nav{display:none;gap:4px 22px;align-items:center;flex:0 0 auto}
.announce-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}
.announce-nav a:hover,.announce-nav a:focus-visible{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;text-decoration-color:var(--yellow)}
@media(min-width:1100px){.announce.is-stuck .announce-nav{display:flex;order:2;margin:0 auto 0 12px}.announce.is-stuck .announce-line{display:none}.announce.is-stuck .announce-copy{display:contents}.announce.is-stuck .announce-text{order:1;flex:0 0 auto}.announce.is-stuck .announce-tag{order:3}.announce.is-stuck .announce-link{order:4}}
@media(max-width:600px){.announce.is-stuck .announce-tag{display:none}}

/* Provider badge: shown as supplied, sized by width only. */
.osha-provider{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:18px 0 0}.osha-provider img{display:block;width:261px;max-width:100%;height:auto;background:#fff}.osha-provider p,.osha-provider figcaption{margin:0;flex:1 1 240px;font-size:14px;font-weight:700;line-height:1.45}

/* Three doors: who are you? One big choice each, one button, real sample card as the picture. */
.doors{background:var(--black);padding:14px}
.doors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.door{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 28px 28px;background:var(--paper);color:var(--black)}
.door[data-tone="blue"]{background:var(--worker);color:#fff}
.door[data-tone="yellow"]{background:var(--yellow)}
.door h3{color:inherit;font-family:var(--display);font-weight:400;font-size:clamp(44px,4.6vw,72px);line-height:.95;letter-spacing:.01em;margin:0 0 22px}
.door img{width:auto;height:330px;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 22px rgba(0,0,0,.3));margin-bottom:22px}
.door-name{font-family:var(--display);font-size:30px;line-height:1;margin:0;padding-bottom:12px;border-bottom:3px solid currentColor;align-self:stretch}
.door-price{font-family:var(--display);font-size:clamp(56px,5.6vw,84px);line-height:1;margin:14px 0 18px}
.door-price s.was{font-size:.36em;opacity:.75;vertical-align:middle}.door-price .intro-tag{display:block;font-family:var(--body);font-size:13px;font-weight:900;color:inherit;background:none;padding:0;margin-top:6px}.door-price a{font-family:var(--body);font-size:20px;color:inherit}
.door-cta{display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:60px;margin-top:auto;background:var(--black);color:#fff;font-family:var(--display);font-size:28px;letter-spacing:.04em;text-decoration:none}
.door-cta:after{content:'›';color:var(--yellow);margin-left:12px;font-size:1.2em;line-height:1}
.door-cta:hover,.door-cta:focus-visible{background:var(--ink);outline:3px solid var(--yellow);outline-offset:2px}
.door-alt{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 8px;align-items:center;min-height:44px;margin-top:12px;color:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.door-alt span{font-weight:400}.door-alt strong{font-weight:900}
@media(max-width:900px){.doors-grid{grid-template-columns:1fr}.door{padding:28px 20px 22px}.door img{height:260px}}

.door-split img{height:300px}
@media(max-width:900px){.door-split img{height:240px}}
.door-offers{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-self:stretch;margin-top:auto}
.door-offer{display:flex;flex-direction:column;padding:14px 12px 12px;border:3px solid currentColor}
.door-when{margin:0 0 8px;font-size:14px;font-weight:900}
.door-offer .door-name{font-size:24px;min-height:2em;display:flex;align-items:flex-end;justify-content:center}
.door-offer .door-price{font-size:clamp(40px,3.6vw,56px);margin:10px 0 12px}
.door-note{margin:-4px 0 10px;font-size:13px;font-weight:700}
.door-offer .door-cta{min-height:52px;font-size:24px}
@media(max-width:1100px) and (min-width:761px){.door-offers{grid-template-columns:1fr}}
@media(max-width:420px){.door-offers{grid-template-columns:1fr}}

/* Doors as hero: headline band on top, the three doors are the only chooser. */
.hero.hero-doors{display:block;padding-top:36px;padding-bottom:24px}
.hero.hero-doors .hero-copy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 48px;align-items:end;margin-bottom:24px;padding:0}
.hero.hero-doors .location{grid-column:1/-1;grid-row:auto;margin:0}
.hero.hero-doors h1{grid-row:2/4;margin:0}
.hero.hero-doors .intro{grid-row:auto;margin:0;max-width:54ch}
.hero.hero-doors .hero-proof{margin:0}
.hero.hero-doors .hero-actions{display:none}
.hero.hero-doors .card-showcase{grid-row:auto;background:var(--black);color:#fff;padding:14px 14px 10px;border:0;box-shadow:none}
.hero.hero-doors .showcase-title{color:#fff;border-color:#fff;margin:6px 0 14px}
.hero.hero-doors .card-caption{color:#fff;margin:10px 0 0}
.hero.hero-doors .card-shortcuts button{color:#fff}
.hero-doors .door{padding:22px 18px 18px}
.hero-doors .door h3{font-size:clamp(34px,3.4vw,52px);margin-bottom:14px}
.hero-doors .door-split img{height:190px;margin-bottom:14px}
.hero-doors .door-twin .door-offer img{height:150px;align-self:center;margin-bottom:10px}
.hero-doors .door-offer .door-name{font-size:21px}
.hero-doors .door-offer .door-price{font-size:clamp(34px,3vw,46px);margin:8px 0 10px}
.door-more{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;background:none;border:0;color:inherit;font:inherit;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.door-more:focus-visible{outline:3px solid currentColor;outline-offset:2px}
@media(max-width:900px){.hero.hero-doors .hero-copy{grid-template-columns:1fr;gap:12px}.hero.hero-doors h1{grid-row:auto}.hero-doors .door-split img{height:200px}}
.hero-doors .door-twin .door-offers{margin-top:0;flex:1}
.hero-doors .door-twin .door-offer .door-cta{margin-top:auto}
.door-price a{display:inline-flex;align-items:center;min-height:44px}
.hero-more{margin:0}.hero-more a{display:inline-flex;align-items:center;min-height:44px;font-weight:900;color:var(--black);text-underline-offset:4px;justify-self:start}
.hero.hero-doors .hero-more{grid-column:2}
@media(max-width:900px){.hero.hero-doors .hero-more{grid-column:1}}
.guarantee-hero{background:var(--yellow);padding:56px max(24px,calc((100vw - 1280px)/2)) 48px}
.guarantee-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(48px,7vw,96px);line-height:.95;margin:8px 0 20px;max-width:14ch}
.guarantee-hero .intro{max-width:56ch;font-size:20px;margin:0}
.guarantee-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:var(--black);padding:14px max(14px,calc((100vw - 1280px)/2))}
.guarantee-terms article{background:var(--paper);padding:28px 24px}
.guarantee-terms h3{font-family:var(--display);font-weight:400;font-size:36px;line-height:1;margin:0 0 12px}
.guarantee-terms p{margin:0;font-size:18px}
.guarantee-terms .guarantee-remedy{background:var(--yellow)}
.guarantee-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:56px max(24px,calc((100vw - 1280px)/2))}
.guarantee-notes h2{font-family:var(--display);font-weight:400;font-size:32px;line-height:1;margin:0 0 14px}
.guarantee-notes ul{margin:0;padding-left:20px}.guarantee-notes li{margin-bottom:10px}
.guarantee-notes .button{display:inline-flex;align-items:center;min-height:48px;margin-top:8px}
@media(max-width:900px){.guarantee-terms,.guarantee-notes{grid-template-columns:1fr}.guarantee-notes{gap:28px;padding-top:36px;padding-bottom:36px}}

.hero-doors .door:not(.door-split) img{height:230px;margin-bottom:14px}
.hero-doors .door:not(.door-split) .door-when{margin:0 0 8px;font-size:14px;font-weight:900}
.hero-doors .door:not(.door-split) .door-price{font-size:clamp(48px,4.4vw,68px);margin:10px 0 14px}
.hero-doors .door:not(.door-split) .door-cta{margin-top:0}
.door-foot{align-self:stretch;margin-top:auto;padding-top:10px;border-top:2px solid currentColor}
.door-foot .door-alt{margin-top:0;font-size:13px}
.hero-doors .door-split:not(.door-twin) img{height:270px}

/* Owner, 2026-09-17: the hero is one line and three jumps. */
.hero.hero-doors .hero-copy{grid-template-columns:1fr;align-items:center;gap:16px}
.hero.hero-doors h1{grid-row:auto;font-size:clamp(52px,7vw,104px);max-width:none;line-height:.95}
.hero-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hero-jump a{display:flex;align-items:center;gap:14px;min-height:76px;padding:10px 16px;background:var(--black);color:#fff;text-decoration:none;font-family:var(--display);font-size:clamp(24px,2.4vw,34px);letter-spacing:.03em}
.hero-jump a:after{content:'›';color:var(--yellow);margin-left:auto;font-size:1.2em}
.hero-jump a:hover,.hero-jump a:focus-visible{outline:3px solid var(--black);outline-offset:3px}
.hero-jump img{width:56px;height:56px;flex:none}
.hero.hero-doors .hero-more{grid-column:1/-1}
.door{scroll-margin-top:96px}
@media(max-width:1100px){.hero.hero-doors .hero-copy{grid-template-columns:1fr}}
@media(max-width:600px){.hero-jump{gap:8px}.hero-jump a{flex-direction:column;gap:6px;padding:10px 4px;font-size:22px;text-align:center}.hero-jump a:after{display:none}.hero-jump img{width:48px;height:48px}}

/* Owner, 2026-09-17: worker, supervisor and renewal are full-width sections, stacked. */
.hero-doors .doors-grid{grid-template-columns:1fr;gap:14px}
.hero-doors .door{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr);grid-template-areas:"title title" "art body";gap:10px 32px;align-items:center;text-align:left;padding:24px 32px 28px}
.hero-doors .door h3{grid-area:title;text-align:left;margin:0 0 4px;font-size:clamp(40px,4.4vw,64px)}
.hero-doors .door>img,.hero-doors .door-split:not(.door-twin)>img,.hero-doors .door:not(.door-split)>img{grid-area:art;width:100%;height:auto;max-height:320px;object-fit:contain;margin:0}
.hero-doors .door-offers,.hero-doors .door-body{grid-area:body;margin:0;align-self:stretch}
.hero-doors .door-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hero-doors .door-offer{text-align:center;padding:18px 16px 12px}
.hero-doors .door-offer-text{display:flex;flex-direction:column;flex:1}
.hero-doors .door-offer .door-name{min-height:0;font-size:26px}
.hero-doors .door-offer .door-price{font-size:clamp(44px,4vw,60px)}
.hero-doors .door-body{display:flex;flex-direction:column;justify-content:center;text-align:center}
.hero-doors .door-twin .door-offers{grid-column:1/-1}
.hero-doors .door-twin .door-offer{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr);gap:20px;align-items:center;text-align:center}
.hero-doors .door-twin .door-offer img{height:auto;width:100%;max-height:250px;object-fit:contain;margin:0}
.hero-doors .door>.door-alt{grid-column:1/-1}
@media(max-width:760px){.hero-doors .door{grid-template-columns:1fr;grid-template-areas:"title" "art" "body";padding:20px 16px;text-align:center}.hero-doors .door h3{text-align:center}.hero-doors .door>img{max-height:220px!important;justify-self:center;width:auto!important}.hero-doors .door-offers{grid-template-columns:1fr}.hero-doors .door-twin .door-offer{grid-template-columns:96px minmax(0,1fr);gap:12px}}

.format-tag{align-self:center;display:inline-block;margin:8px auto 0;padding:3px 10px;border:2px solid currentColor;font-size:12px;font-weight:900;letter-spacing:.02em}
.format-tag[data-format="in_person"],.format-tag[data-format="live_online"]{background:var(--black);color:#fff;border-color:var(--black)}
.price-menu-row:has(.menu-icon){grid-template-columns:48px minmax(0,1fr) auto}.menu-icon{grid-row:1/3;width:48px;height:48px;border-radius:10px}

/* Owner, 2026-09-17 (later): two sections, Worker and Supervisor. Every offer is a card with its own
   sample card; renewals sit in the same row; the package is the wide "New" band underneath. */
.hero-jump{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-doors .door{display:block;text-align:left;padding:24px 28px 28px}
.hero-doors .door h3{text-align:left;margin:0 0 14px}
.hero-doors .door-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}
.hero-doors .door-offers[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-doors .door .door-offer,.hero-doors .door-twin .door-offer{display:flex;flex-direction:column;align-items:stretch;text-align:center;padding:18px 16px 10px;border:3px solid currentColor}
.hero-doors .door .door-offer img{align-self:center;width:auto;height:210px;max-width:100%;object-fit:contain;margin:0 0 12px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.28))}
.hero-doors .door-offer .door-name{font-size:26px;min-height:0}
.hero-doors .door-offer .door-cta{margin-top:auto}
.door-feature{display:grid;grid-template-columns:84px minmax(0,1fr) auto minmax(220px,300px);gap:8px 24px;align-items:center;margin-top:14px;padding:18px 22px;background:var(--black);color:#fff}
.door-feature-icon{width:84px;height:84px;border-radius:16px}
.door-feature .door-name{border:0;padding:0;font-size:34px;color:#fff;text-align:left}
.door-feature-line{margin:4px 0 0;font-size:16px}
.door-new{display:inline-block;margin:0 0 6px;padding:2px 10px;background:var(--yellow);color:var(--black);font-size:13px;font-weight:900}
.door-feature .format-tag{margin:8px 0 0}
.door-feature .door-price{margin:0;font-size:clamp(48px,4.4vw,68px);color:var(--yellow);white-space:nowrap}
.door-feature .door-price s.was{color:#fff}
.door-feature .door-cta{background:var(--yellow);color:var(--black);margin:0}
.door-feature .door-cta:after{color:var(--black)}
.door-feature .door-more{color:#fff;align-self:center}
.door-feature-actions{display:flex;flex-direction:column;align-items:stretch}
@media(max-width:1000px){.door-feature{grid-template-columns:64px minmax(0,1fr);}.door-feature-icon{width:64px;height:64px}.door-feature .door-price,.door-feature-actions{grid-column:1/-1}.door-feature .door-price{text-align:center}}
@media(max-width:760px){.hero-doors .door{padding:18px 14px}.hero-doors .door h3{text-align:center}.hero-doors .door-offers,.hero-doors .door-offers[data-count="2"]{grid-template-columns:1fr}.hero-doors .door .door-offer{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:14px;align-items:center;padding:14px 12px 8px}.hero-doors .door .door-offer img{grid-row:1/8;height:auto;width:100%;margin:0}.hero-doors .door-offer .door-price{margin:6px 0 8px}}
.hero-doors .door .door-feature img.door-feature-icon{width:84px;height:84px;max-height:none;margin:0;filter:none}
@media(max-width:1000px){.hero-doors .door .door-feature img.door-feature-icon{width:64px;height:64px}}

.classes-list{display:grid;gap:0;border-top:3px solid var(--black)}
.class-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto auto minmax(180px,220px);gap:8px 20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.class-date{margin:0;font-family:var(--display);font-size:30px;line-height:1}
.class-main h3{margin:0 0 4px;font-size:20px}.class-main p{margin:0;color:var(--muted)}.class-main .format-tag{margin:8px 0 0}
.class-seats{margin:0;font-weight:900;font-size:14px}
.class-row .door-cta{min-height:52px;font-size:22px;margin:0}
@media(max-width:800px){.class-row{grid-template-columns:1fr auto}.class-date{grid-column:1/-1}.class-row .door-cta{grid-column:1/-1}}

/* Owner, 2026-09-17 (evening): text jumps, purple sale strip, 40 Hour Package leads the Worker section. */
.hero.hero-doors{padding-top:24px}
.hero.hero-doors .hero-copy{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 28px;margin-bottom:16px}
.hero.hero-doors h1{font-size:clamp(44px,5.6vw,84px)}
.hero-jump{display:flex;flex-wrap:wrap;gap:4px 22px;grid-template-columns:none}
.hero-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none;color:var(--black);font-family:var(--body);font-size:17px;font-weight:900;letter-spacing:0;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.hero-jump a:after{display:none}
.hero.hero-doors .hero-more{grid-column:1/-1}
@media(max-width:760px){.hero.hero-doors .hero-copy{grid-template-columns:1fr}.hero-jump a{flex-direction:row;font-size:16px}}
.announce{background:var(--orange);color:var(--black);border-bottom-color:var(--black)}
.announce-name{color:var(--black)}.announce-line{color:var(--black);opacity:1}
.announce-tag{background:var(--black);color:#fff}
.announce-tag .price{color:#fff}
.announce-tag:before{background:var(--orange)}
.announce-link{color:var(--black);text-decoration-color:var(--black)}
.announce-nav a{color:var(--black)}
.door-feature-lead{margin:0 0 14px;padding:26px 28px;grid-template-columns:112px minmax(0,1fr) auto minmax(240px,320px);border:4px solid var(--yellow)}
.hero-doors .door .door-feature-lead img.door-feature-icon{width:112px;height:112px}
.door-feature-lead .door-name{font-size:clamp(36px,3.6vw,52px)}
.door-feature-lead .door-feature-line{font-size:18px}
.door-feature-lead .door-price{font-size:clamp(60px,5.4vw,88px)}
.door-feature-lead .door-new{background:var(--purple);color:#fff;font-size:14px;padding:3px 12px}
@media(max-width:1000px){.door-feature-lead{grid-template-columns:72px minmax(0,1fr);padding:18px 16px}.hero-doors .door .door-feature-lead img.door-feature-icon{width:72px;height:72px}}
/* Owner, 2026-09-17 (night): white page, yellow only in the hero band. Editorial layout: big type,
   hairline rules, white space, cards floating on white; the offer band stays loud. */
.hero.hero-doors{background:var(--paper);padding:0}
.hero.hero-doors .hero-copy{background:var(--yellow);margin:0;padding:28px max(24px,calc((100vw - 1280px)/2)) 22px}
.hero.hero-doors .card-showcase{background:var(--paper);color:var(--ink);padding:0 max(24px,calc((100vw - 1280px)/2)) 8px}
.hero.hero-doors .card-caption{color:var(--muted);margin:18px 0 0}
.hero.hero-doors .card-shortcuts button{color:var(--ink)}
.hero-doors .doors-grid{gap:0}
.hero-doors .door,.hero-doors .door[data-tone="blue"],.hero-doors .door[data-tone="yellow"]{background:none;color:var(--ink);padding:56px 0 48px;border-bottom:1px solid var(--line)}
.hero-doors .door h3{display:flex;align-items:baseline;gap:18px;font-size:clamp(56px,7vw,112px);line-height:.9;margin:0 0 28px;color:var(--black)}
.hero-doors .door h3:after{content:'';flex:1;height:6px;background:var(--worker);align-self:center}
.hero-doors .door[data-tone="yellow"] h3:after{background:var(--yellow)}
.hero-doors .door-offers{gap:28px}
.hero-doors .door .door-offer,.hero-doors .door-twin .door-offer{border:0;border-top:1px solid var(--black);padding:22px 0 0;background:none}
.hero-doors .door .door-offer img{height:250px;margin-bottom:18px;filter:drop-shadow(0 18px 28px rgba(0,0,0,.22))}
.hero-doors .door-offer .door-when{font-size:13px;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}
.hero-doors .door-offer .door-name{border:0;padding:0;font-size:30px}
.hero-doors .door-offer .door-price{font-size:clamp(48px,4.4vw,68px);margin:10px 0 14px}
.door-feature,.door-feature-lead{margin:0 0 40px;border:0}
.door-feature{margin:40px 0 0}
.door-feature-lead{margin:0 0 40px;border-left:10px solid var(--purple)}
@media(max-width:760px){.hero-doors .door{padding:36px 0 32px}.hero-doors .door h3{text-align:left;font-size:56px}.hero-doors .door .door-offer{border-top:1px solid var(--black);padding:16px 0 8px}.hero-doors .door .door-offer img{height:auto}}
.help{background:var(--paper);color:var(--ink);border-top:6px solid var(--black)}

/* Owner, 2026-09-17 (late): Apple product-page pattern. Slim ribbon, big plain title, a lineup strip
   of every product, then large rounded feature cards you swipe through. */
.announce{justify-content:center;gap:6px 16px;padding:10px 18px;border-bottom:0;text-align:center}
.announce-text{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 10px;margin:0}
.announce-name{font-family:var(--body);font-weight:900;font-size:15px;letter-spacing:0}
.announce-line{font-size:15px;font-weight:400;opacity:1}
.announce-nav{display:none}
.announce-tag{clip-path:none;padding:2px 10px;border-radius:999px;gap:8px}
.announce-tag:before{display:none}
.announce-tag .price{font-family:var(--body);font-weight:900;font-size:15px}
.announce-tag .tag-note{font-size:12px;display:flex;gap:6px;align-items:baseline}
.announce-link{min-height:32px;font-size:15px;font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}
.hero.hero-doors .hero-copy{background:var(--paper);display:block;padding:56px max(24px,calc((100vw - 1180px)/2)) 8px}
.hero.hero-doors h1{font-family:var(--body);font-weight:900;font-size:clamp(44px,6.2vw,80px);letter-spacing:-.035em;line-height:1.02;text-transform:none;max-width:none}
.hero.hero-doors .hero-jump{display:none}
.hero.hero-doors .hero-more{margin-top:10px}.hero-more a{font-weight:700;font-size:17px;text-decoration-thickness:1px}
.lineup-wrap{padding:22px max(24px,calc((100vw - 1180px)/2)) 0}
.lineup{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x proximity;padding:6px 0 18px;scrollbar-width:thin}
.lineup-item{flex:0 0 118px;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:44px;padding:8px 6px;background:none;border:0;color:var(--ink);font:inherit;text-decoration:none;text-align:center;cursor:pointer;scroll-snap-align:start;border-radius:14px}
.lineup-item:hover,.lineup-item:focus-visible{background:#f2f3f5}.lineup-item:focus-visible{outline:3px solid var(--black);outline-offset:2px;box-shadow:none}
.lineup-item img{height:64px;width:auto;max-width:72px;object-fit:contain;border-radius:8px}
.lineup-name{font-size:13px;font-weight:700;line-height:1.2}
.lineup-new{font-size:12px;font-weight:700;color:var(--purple)}
.showcase{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:26px max(24px,calc((100vw - 1180px)/2)) 34px;scrollbar-width:thin}
.showcase-card{position:relative;flex:0 0 min(1180px,88vw);min-height:560px;scroll-snap-align:center;border-radius:32px;overflow:hidden;padding:48px 52px;background:var(--black);color:#fff;display:flex;flex-direction:column}
.showcase-card[data-tone="gold"]{background:var(--yellow);color:var(--black)}
.showcase-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.showcase-card h2{font-family:var(--body);font-weight:900;font-size:clamp(34px,4.4vw,60px);letter-spacing:-.03em;line-height:1.02;margin:0;color:inherit;text-transform:none}
.showcase-line{margin:6px 0 0;font-size:clamp(20px,2.2vw,28px);font-weight:400}
.showcase-new{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--yellow)}
.showcase-card[data-tone="gold"] .showcase-new{color:var(--purple)}
.showcase-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.showcase-learn{display:inline-flex;align-items:center;text-decoration:none;min-height:48px;padding:0 24px;border:0;border-radius:999px;background:var(--purple);color:#fff;font:inherit;font-weight:700;font-size:16px;cursor:pointer}
.showcase-buy{display:inline-flex;align-items:center;min-height:48px;color:inherit;font-weight:700;font-size:17px;text-decoration:none}
.showcase-card[data-tone="dark"] .showcase-buy{color:var(--yellow)}
.showcase-buy:hover,.showcase-buy:focus-visible{text-decoration:underline}
.showcase-price{margin-top:28px;font-family:var(--display);font-size:clamp(72px,9vw,140px);line-height:.9}
.showcase-price s.was{font-size:.3em;opacity:.7;vertical-align:middle}
.showcase-price .intro-tag{display:block;font-family:var(--body);font-size:16px;font-weight:700;background:none;color:inherit;padding:0;margin-top:8px}
.showcase-art{position:absolute;right:56px;bottom:-40px;height:74%;width:auto;transform:rotate(7deg);filter:drop-shadow(0 30px 50px rgba(0,0,0,.55));border-radius:14px}
.hero-doors .door-feature,.hero-doors .door-feature-lead{display:none}
@media(max-width:760px){.showcase-card{flex-basis:88vw;min-height:520px;padding:30px 26px;border-radius:26px}.showcase-art{right:50%;transform:translateX(50%) rotate(5deg);height:44%;bottom:-30px}.showcase-price{margin-top:18px}.hero.hero-doors .hero-copy{padding-top:36px}.lineup-item{flex-basis:104px}}
@media(prefers-reduced-motion:no-preference){.lineup,.showcase{scroll-behavior:smooth}}
/* Lineup sections in the same language: soft grey rounded cards, plain heavy type, pill buttons. */
.hero.hero-doors .card-showcase{padding:0 max(24px,calc((100vw - 1180px)/2)) 8px}
.hero-doors .door,.hero-doors .door[data-tone="blue"],.hero-doors .door[data-tone="yellow"]{padding:64px 0 24px;border-bottom:0}
.hero-doors .door h3{display:block;font-family:var(--body);font-weight:900;font-size:clamp(36px,4.6vw,56px);letter-spacing:-.03em;line-height:1.05;text-transform:none;margin:0 0 26px}
.hero-doors .door h3:after{display:none}
.hero-doors .door-offers{gap:20px}
.hero-doors .door .door-offer,.hero-doors .door-twin .door-offer{border:0;border-radius:28px;background:#f5f5f7;padding:34px 28px 26px}
.hero-doors .door .door-offer img{height:230px;margin-bottom:22px;filter:drop-shadow(0 16px 26px rgba(0,0,0,.2))}
.hero-doors .door-offer .door-when{order:2;color:var(--muted);font-size:15px;font-weight:400;letter-spacing:0;margin:4px 0 0}
.hero-doors .door-offer .door-name{order:1;font-family:var(--body);font-weight:900;font-size:26px;letter-spacing:-.02em;text-transform:none}
.hero-doors .door-offer .format-tag{order:3;border:0;padding:0;margin:10px auto 0;font-size:13px;font-weight:700;color:var(--purple)}
.hero-doors .door-offer .door-price{order:4;font-family:var(--body);font-weight:900;font-size:34px;letter-spacing:-.02em;margin:16px 0 18px}
.hero-doors .door-offer .door-price .intro-tag{font-size:13px;font-weight:700;margin-top:4px}
.hero-doors .door-offer .door-cta{order:5;align-self:center;min-height:48px;padding:0 28px;border-radius:999px;font-family:var(--body);font-weight:700;font-size:16px;letter-spacing:0;margin-top:auto}
.hero-doors .door-offer .door-cta:after{display:none}
.hero-doors .door-offer .door-more{order:6;font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;margin-top:6px}
.hero-doors .door-offer .door-more:after{content:' ›'}
.hero-doors .door-offer .door-more:hover{text-decoration:underline}
.hero-doors .door .door-offer img{order:0}
@media(max-width:760px){.hero-doors .door{padding:44px 0 12px}.hero-doors .door h3{text-align:left}.hero-doors .door .door-offer{display:flex;padding:28px 20px 20px}.hero-doors .door .door-offer img{height:200px;width:auto;margin:0 0 18px}}

/* Swipe cards for the four single courses (owner, 2026-09-17). */
.showcase-card[data-tone="blue"]{background:var(--worker);color:#fff}
.showcase-card[data-tone="blue"] .showcase-buy{color:#fff}
.showcase-card[data-tone="blue"] .showcase-learn{background:var(--black)}
.showcase-card[data-tone="soft"]{background:#f5f5f7;color:var(--black)}
.showcase-card[data-tone="soft"] .showcase-art{filter:drop-shadow(0 24px 40px rgba(0,0,0,.28))}

/* Hero: the production homepage's four photos crossfade behind the title (owner, 2026-09-17). */
.hero.hero-doors .hero-copy{position:relative;overflow:hidden;background:var(--black);color:#fff;min-height:clamp(340px,44vw,520px);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:left;padding-top:72px;padding-bottom:44px}
.hero.hero-doors .hero-copy>*{position:relative;z-index:1}
.hero.hero-doors .hero-copy h1{color:#fff;margin:0;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.hero.hero-doors .hero-more a{color:#fff}
.hero.hero-doors .hero-copy .hero-slides{position:absolute;inset:0;z-index:0}
.hero-slides:after{content:'';position:absolute;inset:0;background:rgba(10,10,10,.55)}
.hero-slides span{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease}
.hero-slides span:nth-child(1){background-image:url(hero-slide-1.webp?v=19d35c893c);opacity:1}
/* Slides after the first are lazy: preview.js adds a span per data-slides entry only after load, one image ahead of the crossfade, so the hero costs one 25 KB image on first paint. Reduced motion stays on slide 1. */
.hero-slides.js span:nth-child(1):not(.on){opacity:0}.hero-slides.js span.on{opacity:1}

.card-shortcuts a{color:#000;min-height:44px;display:inline-flex;align-items:center;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* Design pass (2026-09-17): the lower page joins the top. One heading voice, one container,
   one corner radius, pill buttons, soft grey tiles. Orange matches the OSHA tile. */
:root{--orange:#e8601c;--soft:#f5f5f7;--wide:1180px}
.announce{background:var(--orange)}
.price-menu,.classes,.difference.section,.process.section,.specialist,.resources,.osha-classes{max-width:calc(var(--wide) + 48px)}
.people-banner{max-width:var(--wide);border-radius:32px;overflow:hidden;margin-top:56px}
.price-menu h2,.classes h2,.people-banner h2,.difference h2,.process h2,.company h2,.specialist h2,.resources h2,.help h2,.osha-classes h2{font-family:var(--body);font-weight:900;text-transform:none;letter-spacing:-.03em;line-height:1.05;font-size:clamp(32px,3.6vw,48px)}
.difference h3,.process h3,.crew-plan h3,.price-menu-row h3,.class-row h3{font-family:var(--body);font-weight:900;text-transform:none;letter-spacing:-.01em;line-height:1.2}
.difference h3,.process h3{font-size:19px}.crew-plan h3{font-size:22px}
.price-menu-row h3{font-size:17px}
.price-menu-row .menu-price,.price-menu-row strong.menu-price{font-family:var(--body);font-weight:900;letter-spacing:-.02em;font-size:28px}
.price-menu-row{border-radius:0}
.kicker{color:var(--muted)}
.company .kicker{color:var(--yellow)}
.difference{border-top:0}
.difference-art{background:none;border-bottom:0;border-radius:28px;overflow:hidden}
.process.section{border-top:0;background:var(--soft);border-radius:32px;padding:48px;max-width:var(--wide);margin-top:24px;margin-bottom:72px}
.process li:before{border-radius:999px;background:var(--black);color:#fff}
.company{max-width:var(--wide);margin:0 auto;border-radius:32px;padding:64px 56px;gap:56px}
.crew-visual,.crew-plan{border-radius:24px;overflow:hidden}.crew-plan{border-top:0}
.button,.help button,.company button{border-radius:999px}
.guides button,.guides a{background:var(--soft);color:var(--black);border-radius:28px;min-height:200px;transition:background .15s ease}
.guides button:hover,.guides button:focus-visible,.guides a:hover,.guides a:focus-visible{background:#ebebef}
.guides span{letter-spacing:-.02em;font-weight:900}
.guides small{color:var(--muted)}
.help{border-top:0}
.service-links button{border-radius:0}
@media(max-width:760px){.process.section{padding:32px 22px;border-radius:26px;margin-left:16px;margin-right:16px}.company{border-radius:0;padding:48px 22px}.people-banner{border-radius:0}}
/* Brand kit tiles in the specialist and companies sections: square, not the 2:3 card box. */
.service-with-image img.service-icon{height:74px;border-radius:16px}.company-icon{display:block;width:64px;height:64px;border-radius:14px;margin-bottom:20px}
/* Hero swipe cards: the 40 Hour and 62 Hour cards carry a photo (brand-kit card-backgrounds: raider, long-hair supervisor; subject right, looking up-left); worker + renewal share one card. */
.showcase-card.showcase-photo{background-size:cover;background-position:right center;background-color:#08111c}
.showcase-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,18,.88) 0,rgba(4,10,18,.62) 42%,rgba(4,10,18,0) 72%)}
.showcase-photo .showcase-head,.showcase-photo .showcase-price{position:relative;z-index:1}
.showcase-photo .showcase-head>div:first-child{max-width:620px}
.showcase-offers{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:auto;padding-top:28px}
.showcase-offer{display:grid;grid-template-columns:116px 1fr;gap:20px;align-items:center;padding:22px;border-radius:22px;background:rgba(255,255,255,.14)}
.showcase-offer img{width:116px;height:auto;border-radius:10px;filter:drop-shadow(0 18px 28px rgba(0,0,0,.45))}
.showcase-offer h3{font-family:var(--display);font-size:34px;line-height:1;margin:4px 0 0;color:inherit;text-transform:uppercase}
.showcase-offer-when{margin:0;font-size:15px;font-weight:700;opacity:.9}
.showcase-offer-price{font-family:var(--display);font-size:56px;line-height:.95;margin:8px 0 12px}
.showcase-pair .showcase-actions{gap:14px}
@media(max-width:760px){.showcase-photo{background-position:78% center}.showcase-photo:before{background:linear-gradient(180deg,rgba(4,10,18,.9) 0,rgba(4,10,18,.7) 55%,rgba(4,10,18,.25) 100%)}.showcase-offers{grid-template-columns:1fr;gap:14px;padding-top:18px}.showcase-offer{grid-template-columns:84px 1fr;gap:14px;padding:16px}.showcase-offer img{width:84px}.showcase-offer h3{font-size:28px}.showcase-offer-price{font-size:44px}}
.showcase-card[data-tone="gold"] .showcase-offer{background:rgba(0,0,0,.08)}.showcase-card[data-tone="gold"].showcase-pair .showcase-learn{background:var(--black)}

/* Spanish packages: coming soon (owner, 2026-09-17). Same footprint as the CTA it replaces. */
.coming-soon{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;border-radius:999px;background:rgba(0,0,0,.08);color:inherit;font-weight:700;font-size:15px;white-space:nowrap}.door-cta.coming-soon{background:rgba(0,0,0,.1)}.door-feature .door-cta.coming-soon{background:rgba(255,255,255,.18);color:#fff}.showcase-photo .coming-soon{background:rgba(255,255,255,.18);color:#fff}.dialog-soon{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0}.dialog-soon .coming-soon{background:#f1ecdf;color:#50401b}
/* OSHA dark host (owner, 2026-09-18): tiles keep their name, the pill stands where the price was, nothing to click. */
[data-osha-live][hidden]{display:none!important}
[data-soon] .coming-soon{font-family:var(--body);font-size:15px;letter-spacing:0;background:rgba(0,0,0,.08);color:var(--muted)}
.door-feature[data-soon] .coming-soon,.showcase-photo[data-soon] .coming-soon{background:rgba(255,255,255,.18);color:#fff}
.door-feature[data-soon] .door-price,.showcase-card[data-soon] .showcase-price{font-size:inherit;line-height:1.2}
.showcase-card[data-soon] .showcase-price{margin-top:20px}
.lineup-item[data-soon]{cursor:default}.lineup-item[data-soon]:hover{background:none}.lineup-item[data-soon] .lineup-new{color:var(--muted)}
.osha-classes{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding-top:48px;padding-bottom:24px}.osha-classes h2{margin:0 0 10px}.osha-classes p{margin:0;max-width:64ch}
@media(max-width:760px){.osha-classes{display:block}.osha-classes .button{margin-top:18px}}

/* Owner, 2026-09-18: the product tiles are portrait CR80 mini cards (brand/products/svg-portrait), not app
   icons. Every slot shows a card at its own 54:85.6 ratio, a size up, with the shadow in CSS (nothing baked in,
   so hover and dark fields work). The lineup scrolls edge to edge with the page gutter as its own padding at
   both ends, so the last card never clips; the strip's vertical padding gives the shadow room. */
.lineup-item img,.menu-icon,.door-feature-icon,.company-icon,.service-with-image img.service-icon{width:auto;aspect-ratio:54/85.6;object-fit:contain;border-radius:0;filter:drop-shadow(0 6px 14px rgba(0,0,0,.18))}
.lineup-wrap{--lineup-gutter:max(24px,calc((100vw - 1180px)/2));position:relative;padding:22px var(--lineup-gutter) 0}
/* Owner, 2026-09-18: Apple's iPhone lineup strip, exactly. The strip sits inside the page gutter and hard-clips the next tile
   at its edge mid-scroll; bare black chevrons (no circle, no background) stand in the gutters, centred on the tiles, 44px hit
   area. Below 1300 the gutter is under 60px, so the strip gives up 56px a side and the chevrons stand in that lane; the strip
   never runs under a chevron. At 760 and under the strip is edge to edge again and swipe is the only control. */
.lineup{gap:10px;padding:14px 0 22px;scroll-padding-inline:0}
/* Owner amendment: the clipped edge is feathered, only on the side that still hides tiles (classes from the arrow scroll handler). */
.lineup{--fade-start:0px;--fade-end:0px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent 100%)}
.lineup.is-clipped-start{--fade-start:24px}.lineup.is-clipped-end{--fade-end:24px}
.lineup:after{content:"";flex:0 0 1px}
.lineup-arrow{position:absolute;top:96px;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:0;background:none;color:var(--black);opacity:.9;cursor:pointer}
.lineup-arrow svg{display:block;width:24px;height:24px}
.lineup-arrow:hover{opacity:1}
.lineup-prev{left:calc(var(--lineup-gutter) / 2 - 22px)}.lineup-next{right:calc(var(--lineup-gutter) / 2 - 22px)}
@media(max-width:1299px){.lineup{margin-inline:56px}.lineup-prev{left:calc(var(--lineup-gutter) + 6px)}.lineup-next{right:calc(var(--lineup-gutter) + 6px)}}
.lineup-arrow[hidden]{display:none}
@media(max-width:760px){.lineup-arrow{display:none}.lineup-wrap{padding-inline:0}.lineup{margin-inline:0;padding:14px 0 22px var(--lineup-gutter);scroll-padding-inline:var(--lineup-gutter)}.lineup:after{flex:0 0 calc(var(--lineup-gutter) - 10px)}}
.lineup-item{flex:0 0 128px;gap:12px;padding:12px 8px 10px;max-width:none}
.lineup-item img{height:96px;max-width:none}
.lineup-item:hover img,.lineup-item:focus-visible img{filter:drop-shadow(0 10px 18px rgba(0,0,0,.22))}
.price-menu-row:has(.menu-icon){grid-template-columns:44px minmax(0,1fr) auto}.menu-icon{width:44px;height:70px}
.door-feature{grid-template-columns:66px minmax(0,1fr) auto minmax(220px,300px)}.door-feature-lead{grid-template-columns:84px minmax(0,1fr) auto minmax(240px,320px)}
.hero-doors .door .door-feature img.door-feature-icon{width:auto;height:104px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.hero-doors .door .door-feature-lead img.door-feature-icon{width:auto;height:132px}
.company-icon{width:auto;height:96px;margin-bottom:22px}
.service-with-image img.service-icon{height:96px}
@media(max-width:1000px){.door-feature{grid-template-columns:54px minmax(0,1fr)}.door-feature-lead{grid-template-columns:60px minmax(0,1fr)}.hero-doors .door .door-feature img.door-feature-icon,.hero-doors .door .door-feature-lead img.door-feature-icon{width:auto;height:84px}}
@media(max-width:760px){.lineup-item{flex-basis:112px}.lineup-item img{height:88px}.lineup{gap:6px}}
/* Owner, 2026-09-18: the format badge is a sticker slapped on the card tile, not a line under the name.
   .tile wraps the art; the pill hangs off the top-right corner, tilted like a sticker (owner: "better on the top corner"). Short label
   on the sticker (the long one stays for screen readers); nothing at all on a dark OSHA id. */
.tile{position:relative;display:inline-block;vertical-align:top;line-height:0;max-width:100%}
.tile>img{display:block}
.tile>.format-tag,.hero-doors .door-offer .tile>.format-tag{position:absolute;top:-4%;right:-6%;order:0;margin:0;padding:2px 7px;border:2px solid var(--black);border-radius:999px;background:#fff;color:var(--black);font-size:10px;line-height:1.2;font-weight:900;letter-spacing:.01em;white-space:nowrap;transform:rotate(6deg);transform-origin:100% 0;box-shadow:0 2px 5px rgba(0,0,0,.28);pointer-events:none}
.tile>.format-tag[data-format="in_person"],.tile>.format-tag[data-format="live_online"],.tile>.format-tag[data-format="hybrid"]{background:var(--black);color:#fff;border-color:#fff}
/* The hybrid label is long: it wraps to two lines, and on the small tiles it overhangs further right so it never covers the hat mark
   (top-left of every card). The 44px menu tile has no room for it at all; that row names the format in its sub-line instead. */
.tile>.format-tag[data-format="hybrid"]{white-space:normal;text-align:center;width:max-content;max-width:6.4em;line-height:1.1}
.tile-sm>.format-tag[data-format="hybrid"]{right:-26%}.price-menu-row .tile>.format-tag[data-format="hybrid"]{display:none}
.tile-sm>.format-tag{font-size:9px;padding:1px 5px;border-width:1.5px}
.tile-lg>.format-tag,.hero-doors .door-offer .tile-lg>.format-tag{font-size:12px;padding:3px 10px}
.price-menu-row .tile{grid-row:1/3}.price-menu-row .tile-sm>.format-tag{font-size:8px;padding:1px 4px}
.hero-doors .door .door-offer .tile{align-self:center;margin:0 0 12px}.hero-doors .door .door-offer .tile img{margin:0}
@media(max-width:760px){.hero-doors .door .door-offer .tile{grid-row:1/8;margin:0;width:auto;max-width:100%}.hero-doors .door .door-offer .tile img{width:auto;max-width:100%}}
.showcase-head .format-tag{margin:12px 0 0}
.osha-classes h2+.format-tag{margin:-2px 0 12px}

/* Contrast: the kicker sits on the yellow difference panel, where --muted is 4.26:1. */
.difference .kicker{color:var(--ink)}

/* Help me choose quiz (dialog) */
.quiz-step{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:14px}.quiz-options{display:grid;gap:12px;margin:8px 0 4px}.quiz-options button{text-align:left;background:#fff;color:var(--black);border:2px solid var(--black);padding:16px 18px;font-size:16px;font-weight:700;line-height:1.3;min-height:56px}.quiz-options button:hover,.quiz-options button:focus-visible{background:var(--yellow)}.quiz-back{background:none;border:0;padding:12px 0;font-weight:700;text-decoration:underline;text-underline-offset:5px;color:var(--ink);min-height:44px}.quiz-ask{display:inline-flex;align-items:center;min-height:44px;margin-left:18px;font-weight:700}.dialog-actions .quiz-ask+.quiz-back{margin-left:18px}

/* Showcase photos by card tone (owner 2026-09-18): worker cards blue, supervisor cards gold; the photo is graded to match and the copy sits on the tone gradient. Pair cards stack their two offers on the left so the face stays clear. */
.showcase-photo[data-tone="blue"]{background-color:#0d2a47}.showcase-photo[data-tone="blue"]:before{background:linear-gradient(90deg,rgba(36,101,165,.97) 0,rgba(36,101,165,.82) 40%,rgba(36,101,165,0) 72%)}
.showcase-photo[data-tone="gold"]{background-color:#8a6a10}.showcase-photo[data-tone="gold"]:before{background:linear-gradient(90deg,rgba(254,196,48,.98) 0,rgba(254,196,48,.86) 40%,rgba(254,196,48,0) 72%)}
.showcase-photo .showcase-offers{position:relative;z-index:1}.showcase-photo.showcase-pair .showcase-offers{grid-template-columns:1fr;max-width:600px;gap:14px}
.showcase-photo[data-tone="blue"] .showcase-offer{background:rgba(255,255,255,.16)}.showcase-photo[data-tone="gold"] .showcase-offer{background:rgba(0,0,0,.09)}
@media(max-width:760px){.showcase-photo[data-tone="blue"]:before{background:linear-gradient(180deg,rgba(36,101,165,.94) 0,rgba(36,101,165,.78) 55%,rgba(36,101,165,.3) 100%)}.showcase-photo[data-tone="gold"]:before{background:linear-gradient(180deg,rgba(254,196,48,.96) 0,rgba(254,196,48,.82) 55%,rgba(254,196,48,.35) 100%)}.showcase-photo.showcase-pair .showcase-offers{max-width:none}}

/* Speed, 2026-09-18: nothing above the fold moves after first paint (prod home CLS was 0.88, Lighthouse mobile 60).
   1. The header logo is an <img> with height:auto; a lazy-loader (LiteSpeed on prod) swaps in a 1x1 placeholder whose 1:1 ratio
      makes the wordmark a 190px square until the real file lands, so the whole page jumps ~170px. The image is 858x72 and the
      HTML also opts it out of lazy-loading (skip-lazy).
   2. The package strip, the lineup and the showcase are empty until preview.js fills them. Reserving their rendered heights
      (measured on prod at 375, 768 and 1280 wide) turns three layout shifts into none. Re-measure if the content changes shape. */
.logo img{aspect-ratio:858/72}
.announce{min-height:52px}
.lineup-wrap{min-height:235px}
.showcase{min-height:761px}
@media(max-width:1099px){.showcase{min-height:725px}}
@media(max-width:600px){.announce{min-height:88px}.lineup-wrap{min-height:242px}.showcase{min-height:846px}}
