/* OSHA classes page (osha.html). Same family as the homepage: white page, heavy plain sans
   headline, soft grey rounded cards, pill buttons, purple accent. Everything is scoped to
   .osha-page so preview.css and the homepage are untouched. */
.osha-page{--pad:max(24px,calc((100vw - 1180px)/2));--soft:var(--card)}
/* Owner, 2026-10-10 (F-05 D1): headings are Bebas Neue uppercase (base h1,h2,h3 rule in preview.css); only colour and leading are set here. */
.osha-page h1,.osha-page h2,.osha-page h3{line-height:.95;color:var(--black)}
.osha-page p{max-width:none}
.osha-ribbon{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 14px;margin:0;padding:6px 18px;background:var(--purple);color:var(--paper);font-size:15px;text-align:center}
.osha-ribbon a{display:inline-flex;align-items:center;min-height:44px;color:var(--paper);font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}
.osha-hero{padding:56px var(--pad) 12px}
.osha-hero h1{font-size:clamp(46px,7.2vw,104px);line-height:.95;margin:0 0 12px;max-width:none}
.osha-hero .osha-lede{font-size:clamp(19px,2vw,24px);line-height:1.4;margin:0 0 8px;color:var(--ink)}
.osha-hero .osha-english{margin:0;font-size:16px;font-weight:700;color:var(--ink)}
.osha-page .osha-provider{margin:28px 0 0;padding:20px 24px;border-radius:20px;background:var(--soft)}
.osha-page .osha-provider img{width:261px;height:auto;max-width:100%}
.osha-page .osha-provider figcaption{font-size:15px;font-weight:700;line-height:1.45}
.osha-page .osha-provider figcaption span{display:block;font-weight:400;margin-top:4px}
.osha-section{padding:56px var(--pad) 8px}
.osha-section>h2{font-size:clamp(40px,4vw,64px);margin:0 0 10px}
.osha-section>.osha-sub{font-size:18px;margin:0 0 26px;color:var(--muted)}
.osha-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:28px var(--pad) 8px}
.osha-course{display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:var(--r-card);background:var(--soft);padding:36px 30px 28px}
.osha-course img{width:auto;height:150px;aspect-ratio:54/85.6;object-fit:contain;border-radius:0;margin:0 0 22px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.18))}
.osha-course h2{font-size:clamp(30px,3vw,34px);margin:0 0 6px}
.osha-course .osha-for{margin:0 0 14px;font-size:17px;color:var(--ink);max-width:34ch}
.osha-pick{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--black)}
.osha-facts{list-style:none;margin:0 0 6px;padding:0;font-size:15px;color:var(--muted)}
.osha-facts li{margin:0 0 2px}
.osha-price{margin:16px 0 18px;font-weight:900;font-size:34px;letter-spacing:-.02em;line-height:1.1;color:var(--black)}
.osha-price s.was{font-size:.55em;font-weight:700;color:var(--muted);margin-right:6px}
.osha-price .compare-tag,.osha-price .intro-tag{display:block;font-size:13px;font-weight:700;letter-spacing:0;color:var(--muted)}
.osha-price .compare-tag s.was{font-size:1em;margin:0}
.osha-price .intro-tag{background:none;padding:0;margin-left:0;color:var(--purple);margin-top:4px}
.osha-pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 30px;border-radius:999px;background:var(--black);color:var(--paper);font-weight:700;font-size:16px;text-decoration:none;margin-top:auto}
.osha-pill:hover,.osha-pill:focus-visible{background:var(--purple)}
.osha-more{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-weight:700;font-size:15px;color:var(--ink);text-decoration:none}
.osha-more:after{content:' \203A';white-space:pre}
.osha-more:hover{text-decoration:underline}
.osha-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.osha-compare article{border-radius:var(--r-card);background:var(--soft);padding:30px 26px}
.osha-compare article[data-pick]{background:var(--paper);box-shadow:inset 0 0 0 3px var(--purple)}
.osha-compare h3{font-size:30px;margin:0 0 16px}
.osha-compare dl{margin:0}
.osha-compare dt{font-size:13px;font-weight:700;color:var(--purple);margin:14px 0 2px}
.osha-compare dd{margin:0;font-size:16px;line-height:1.45}
.osha-ruling{margin:24px 0 0;padding:22px 26px;border-radius:20px;border-left:8px solid var(--purple);background:var(--soft);font-size:18px;font-weight:700;line-height:1.5}
.osha-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.osha-package{display:flex;flex-direction:column;border-radius:32px;padding:40px 38px 34px;background:var(--black);color:var(--paper)}
.osha-package[data-tone="gold"]{background:var(--yellow);color:var(--black)}
.osha-package-head{display:flex;align-items:center;gap:18px;margin:0 0 18px}
.osha-package-head img{width:auto;height:104px;aspect-ratio:54/85.6;object-fit:contain;border-radius:0;flex:0 0 auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.18))}
.osha-new{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--yellow)}
.osha-package[data-tone="gold"] .osha-new{color:var(--purple)}
.osha-page .osha-package h3{font-size:clamp(32px,3.4vw,44px);margin:0;color:inherit}
.osha-package p.osha-package-line{font-size:17px;line-height:1.5;margin:0 0 8px}
.osha-package .osha-price{color:inherit;font-size:clamp(44px,5vw,64px);margin:auto 0 22px;padding-top:14px}
.osha-package .osha-price s.was{color:inherit;opacity:.75;font-size:.4em}
.osha-package .osha-price .intro-tag{color:inherit;font-size:15px}
.osha-package .osha-pill{align-self:flex-start;background:var(--yellow);color:var(--black)}
.osha-package[data-tone="gold"] .osha-pill{background:var(--black);color:var(--paper)}
.osha-package .osha-pill:hover,.osha-package .osha-pill:focus-visible{background:var(--purple);color:var(--paper)}
.osha-note{margin:20px 0 0;font-size:15px;color:var(--muted)}
.osha-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.osha-how article{border-radius:var(--r-card);background:var(--soft);padding:28px 26px}
.osha-how .osha-figure{margin:0;font-weight:900;font-size:34px;letter-spacing:-.03em;line-height:1.05;color:var(--black)}
.osha-how .osha-label{margin:2px 0 10px;font-size:13px;font-weight:700;color:var(--purple)}
.osha-how p:last-child{margin:0;font-size:16px;line-height:1.5}
.osha-call{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.osha-call article{border-radius:var(--r-card);background:var(--soft);padding:30px 28px}
.osha-call h3{font-size:30px;margin:0 0 6px}
.osha-call p{margin:0 0 10px;font-size:16px}
.osha-call a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:18px}
.osha-call .osha-small{font-size:14px;color:var(--muted);margin:0}
.osha-faq{max-width:860px}
.osha-faq details{border-bottom:1px solid var(--line)}
.osha-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:8px 0;font-weight:900;font-size:19px;letter-spacing:-.01em;cursor:pointer;list-style:none}
.osha-faq summary::-webkit-details-marker{display:none}
.osha-faq summary:after{content:'+';font-weight:400;font-size:28px;line-height:1;color:var(--purple)}
.osha-faq details[open] summary:after{content:'\2212'}
.osha-faq details p{margin:0 0 18px;font-size:17px}
.osha-end{padding:48px var(--pad) 72px}
.osha-end .osha-pill{margin-right:18px}
@media(max-width:900px){.osha-compare,.osha-how{grid-template-columns:1fr}.osha-packages{grid-template-columns:1fr}}
@media(max-width:760px){.osha-page{--pad:16px}.osha-hero{padding-top:36px}.osha-courses,.osha-call{grid-template-columns:1fr}.osha-section{padding-top:44px}.osha-course{padding:30px 20px 22px}.osha-package{border-radius:26px;padding:30px 24px 26px}.osha-package-head img{height:84px}.osha-page .osha-provider{padding:18px}.osha-ruling{padding:18px 20px;font-size:17px}}

/* A class with display would otherwise beat the plain [hidden] rule in preview.css. */
.osha-page [hidden]{display:none!important}
