/* IIT Occupational Safety 2026 — premium navy / muted gold. Scoped to .otc */
.otc{--otc-navy:#0c2340;--otc-navydeep:#07192e;--otc-gold:#c5a15b;--otc-goldlight:#eed49e;--otc-text:#18314c;--otc-muted:#53667c;--otc-border:#e3e7ec;color:var(--otc-text);font-family:inherit}
.otc *, .otc *:before,.otc *:after{box-sizing:border-box}
.otc button,.otc a{transition:background .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.otc a:hover,.otc button:hover{transition-duration:.18s}
.otc a:focus-visible,.otc button:focus-visible,.otc summary:focus-visible{outline:3px solid #d6a952;outline-offset:3px}
.otc-hero{isolation:isolate;overflow:hidden;position:relative;background:linear-gradient(125deg,#061629 0%,#102d4e 56%,#193e64 100%);color:#fff;padding:74px 0 78px}
.otc-glow{z-index:-1;position:absolute;pointer-events:none;border-radius:50%}
.otc-glow--one{right:-130px;top:-250px;width:700px;height:700px;border:1px solid #dcb66a45;box-shadow:0 0 0 70px #c7a45a0d,0 0 0 145px #c7a45a08}
.otc-glow--two{left:-230px;bottom:-360px;width:680px;height:680px;background:radial-gradient(circle,#3869973d,transparent 65%)}
.otc-hero__layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.8fr);gap:clamp(30px,5vw,76px);align-items:center}
.otc-eyebrow{display:flex;align-items:center;gap:12px;letter-spacing:.14em;color:var(--otc-goldlight);font-weight:750;font-size:12px;margin-bottom:26px}
.otc-eyebrow__rule{height:1px;width:35px;background:var(--otc-gold)}
.otc-hero h1{color:#fff;font-size:clamp(40px,4.6vw,69px);font-weight:760;letter-spacing:-.033em;line-height:1.09;margin:0 0 25px;max-width:820px}
.otc-hero h1 em{font-style:normal;color:var(--otc-goldlight)}
.otc-hero__lead{font-size:clamp(16px,1.5vw,19px);color:#dbe8f6;line-height:1.77;max-width:690px;margin:0 0 30px}
.otc-hero__actions{display:flex;gap:13px;flex-wrap:wrap}
.otc-btn{appearance:none;border:none;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:18px;padding:17px 23px;min-height:53px;border-radius:9px;font-size:15px;font-weight:750;line-height:1.3;cursor:pointer}
.otc-btn--gold{color:#172d40!important;background:linear-gradient(130deg,#f2dca6,#cba15a);box-shadow:0 10px 22px #060c1b35}
.otc-btn--gold:hover{background:linear-gradient(130deg,#fff0c7,#dbb66e);transform:translateY(-1px)}
.otc-btn--outline{border:1px solid #d1b675aa;background:transparent;color:#f7e5be}
.otc-btn--outline:hover{background:#ffffff15}
.otc-btn--full{width:100%}
.otc-hero__highlights{border-top:1px solid #a8c0d436;margin-top:36px;padding-top:25px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.otc-hero__highlights>div{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#bfd1e1}
.otc-highlight__number{font-weight:770;color:#fff;font-size:24px;line-height:1.3}
.otc-hero__panel{background:linear-gradient(160deg,#fefbf5,#f4f0e7);color:#1d3048;border:1px solid #e8d7b2;border-radius:21px;padding:clamp(23px,3vw,42px);box-shadow:0 25px 80px #020e206b;position:relative}
.otc-hero__panel:before{content:"";position:absolute;inset:11px;pointer-events:none;border:1px solid #d3b97f80;border-radius:13px}
.otc-seal{display:flex;gap:12px;align-items:center;color:#7a6030;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:25px}
.otc-seal>span:first-child{height:40px;width:40px;background:#d7b77030;border:1px solid #c4a367;color:#8d6c30;border-radius:50%;display:grid;place-items:center;font-size:24px}
.otc-hero__panel h2{font-size:clamp(25px,2.5vw,32px);font-weight:770;line-height:1.23;margin:0 0 22px;color:var(--otc-navy)}
.otc-panel__line{display:flex;gap:15px;justify-content:space-between;align-items:baseline;border-top:1px solid #d9d3c9;padding:14px 0;font-size:13px;color:#647080}
.otc-panel__line strong{font-size:14px;color:#182e45;text-align:right}
.otc-panel__link{display:flex;justify-content:space-between;gap:10px;padding:16px 0;margin-top:10px;color:#745322;font-weight:800;text-decoration:none;border-top:1px solid #bba06c}
.otc-hero__panel small{display:block;color:#78808a;font-size:11px;line-height:1.6}
.otc-hero__bottom{height:4px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to right,#6a4a1e,#f1d79d,#987036)}
.otc-anchor{background:#fff;border-bottom:1px solid #e9edf1;box-shadow:0 5px 14px #162a4108}
.otc-anchor>.container{display:flex;gap:38px;align-items:center;overflow-x:auto;scrollbar-width:thin;padding:18px 0}
.otc-anchor a{white-space:nowrap;color:#364d62;font-weight:760;font-size:13px;text-decoration:none}
.otc-anchor a:hover{color:#a4782d}
.otc-section{padding:clamp(52px,6vw,88px) 0}
.otc-section--ivory{background:#f7f8fa}
.otc-heading{max-width:900px;margin-bottom:35px}
.otc-kicker{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.145em;font-weight:850;color:#99713b;margin-bottom:14px}
.otc-heading h2{font-weight:770;font-size:clamp(30px,3vw,43px);line-height:1.17;letter-spacing:-.02em;color:#132b46;margin:0 0 16px}
.otc-heading p{font-size:17px;line-height:1.75;color:#52657a;margin:0}
.otc-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.otc-program{background:#fff;border:1px solid #e4e8ee;border-radius:18px;min-height:350px;padding:27px 26px 24px;box-shadow:0 8px 30px #12274009;display:flex;flex-direction:column;position:relative;overflow:hidden}
.otc-program:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#94713b,#efd9a1)}
.otc-program:hover{transform:translateY(-3px);box-shadow:0 17px 45px #12274013;border-color:#d7bf8a}
.otc-program__head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.otc-program__code{flex:0 0 56px;width:56px;height:56px;background:#102d4e;color:#f2d8a0;display:grid;place-items:center;font-weight:800;font-size:30px;border-radius:13px}
.otc-program__code--small{font-size:19px}
.otc-program__category{font-size:11px;font-weight:850;color:#8f774f;letter-spacing:.08em;text-transform:uppercase}
.otc-program h3{font-size:21px;line-height:1.27;font-weight:800;color:#152b44;margin:0 0 13px}
.otc-program p{font-size:14px;line-height:1.7;color:#57677a;margin:0 0 25px}
.otc-program__meta{border-top:1px solid #e7ebef;padding-top:15px;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:#647386}
.otc-program__meta strong{color:#153553;font-size:16px}
.otc-program__link{display:flex;justify-content:space-between;gap:10px;margin-top:17px;color:#8d6c36;text-decoration:none;font-weight:800;font-size:14px}
.otc-program__link:hover{color:#63471f}
.otc-program--wide{grid-column:span 2;min-height:290px}
.otc-smallnote{font-size:13px;line-height:1.6;color:#69798a;margin:18px 0 0}
.otc-selection{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);gap:24px;align-items:stretch}
.otc-selection__table{overflow:auto;border-radius:15px;border:1px solid #e2e7ec;background:white}
.otc-selection table{width:100%;border-collapse:collapse;font-size:14px;min-width:610px}
.otc-selection th,.otc-selection td{padding:17px 19px;border-bottom:1px solid #e8edf1;line-height:1.55;text-align:left;vertical-align:top}
.otc-selection thead{background:#102d4d;color:#fff}
.otc-selection tbody th{font-weight:770;color:#223e58}
.otc-selection tbody tr:last-child th,.otc-selection tbody tr:last-child td{border-bottom:none}
.otc-selection__aside{padding:29px;background:linear-gradient(145deg,#183b5c,#0d2845);color:#fff;border-radius:17px;display:flex;flex-direction:column;justify-content:center}
.otc-aside__label{color:#f3d497;letter-spacing:.13em;font-size:12px;font-weight:800}
.otc-selection__aside h3{color:#fff;font-size:27px;line-height:1.25;margin:20px 0 12px}
.otc-selection__aside p{color:#d8e5f0;font-size:15px;line-height:1.68;margin:0 0 26px}
.otc-selection__aside small{display:block;margin-top:17px;line-height:1.6;color:#cbd8e4}
.otc-docgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.otc-document{overflow:hidden;border:1px solid #e4e9ec;border-radius:18px;background:#fff;box-shadow:0 15px 45px #1227400b;padding:26px}
.otc-document__index{display:block;color:#a27d44;font-size:12px;letter-spacing:.1em;font-weight:850;margin:0 0 17px}
.otc-document__visual{height:225px;border-radius:13px;background:linear-gradient(145deg,#e8eff4,#f9f5ec);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:14px}
.otc-document__visual img{width:auto;height:100%;max-width:98%;object-fit:contain;filter:drop-shadow(0 8px 12px #132a3834)}
.otc-document__body h3{font-size:24px;color:#15324c;margin:22px 0 14px;font-weight:800}
.otc-document__body p{line-height:1.7;font-size:15px;color:#52657a}
.otc-textlink{display:inline-flex;gap:15px;color:#96723a;font-weight:800;text-decoration:none;margin:8px 0 0}
.otc-section--navy{background:linear-gradient(135deg,#071a30,#133958 80%);color:white}
.otc-corporate{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:center}
.otc-kicker--gold{color:#e8c785}
.otc-corporate h2,.otc-final h2{color:#fff;font-size:clamp(31px,3.5vw,47px);font-weight:790;line-height:1.2;margin:0 0 20px}
.otc-corporate p,.otc-final p{color:#cbdde8;font-size:17px;line-height:1.7;margin:0 0 27px}
.otc-corporate__steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.otc-corporate__steps li{display:flex;align-items:center;gap:20px;border:1px solid #b9cbd330;background:#ffffff0a;border-radius:13px;padding:17px 20px}
.otc-corporate__steps b{font-size:24px;color:#e2c687;font-weight:750}
.otc-corporate__steps span{display:flex;flex-direction:column;font-size:13px;line-height:1.5;color:#c7d9e7}
.otc-corporate__steps strong{color:#fff;font-size:17px;margin-bottom:3px}
.otc-law{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.otc-law article{border:1px solid #e7e9ee;border-radius:16px;padding:26px;box-shadow:0 8px 26px #172c4008}
.otc-law article>span{display:inline-block;color:#a47f44;font-size:12px;font-weight:850;letter-spacing:.09em}
.otc-law h3{font-size:22px;color:#16324e;margin:17px 0 12px}
.otc-law p{line-height:1.7;color:#52677b;font-size:15px}
.otc-law a{color:#8b692e;font-weight:780;text-decoration:none}
.otc-faq{display:grid;gap:13px;max-width:1050px}
.otc-faq details{background:white;border:1px solid #e1e6eb;border-radius:13px;padding:20px 23px}
.otc-faq details[open]{border-color:#d6bd83;box-shadow:0 5px 20px #09243b0c}
.otc-faq summary{font-size:17px;font-weight:770;color:#1d3650;cursor:pointer;line-height:1.5}
.otc-faq details p{font-size:15px;line-height:1.75;color:#52677b;margin:13px 0 0}
.otc-final{background:#0b2340;border-top:3px solid #c3a05d;padding:51px 0}
.otc-final__inner{display:flex;align-items:center;justify-content:space-between;gap:45px}
.otc-final__inner>div{max-width:820px}
.otc-final h2{font-size:31px;margin-bottom:11px}.otc-final p{margin:0}
@media(min-width:1100px){.otc-hero__layout{min-height:490px}}
@media(max-width:1050px){.otc-hero__layout{grid-template-columns:1fr 360px;gap:30px}.otc-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.otc-program--wide{grid-column:span 2}.otc-selection{grid-template-columns:1fr}.otc-selection__aside{padding:24px}.otc-corporate{gap:30px}}
@media(max-width:800px){.otc-hero{padding:54px 0}.otc-hero__layout,.otc-corporate{grid-template-columns:1fr}.otc-hero__panel{max-width:650px}.otc-law{grid-template-columns:1fr}.otc-anchor>.container{gap:24px}.otc-hero__highlights{max-width:650px}}
@media(max-width:600px){.otc-hero{padding:39px 0 48px}.otc-eyebrow{font-size:10px;line-height:1.6;letter-spacing:.1em}.otc-hero h1{font-size:clamp(34px,9vw,45px)}.otc-hero__actions{display:grid;grid-template-columns:1fr}.otc-btn{width:100%;padding:15px 16px;font-size:14px}.otc-hero__highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.otc-highlight__number{font-size:18px}.otc-hero__highlights>div{font-size:10px}.otc-hero__panel{padding:24px}.otc-hero__panel h2{font-size:24px}.otc-section{padding:44px 0}.otc-heading h2{font-size:29px}.otc-heading p{font-size:15px}.otc-program-grid,.otc-docgrid{grid-template-columns:1fr}.otc-program--wide{grid-column:auto}.otc-program{min-height:unset;padding:24px}.otc-selection__aside h3{font-size:24px}.otc-document{padding:22px}.otc-document__visual{height:195px}.otc-final__inner{display:block}.otc-final__inner>.otc-btn{margin-top:26px}}
@media(prefers-reduced-motion:reduce){.otc *{transition:none!important;scroll-behavior:auto!important}}

/* Gap between hero and corporate banner, catalogue only */
.otc > .corporate{margin-top:40px}
@media(max-width:600px){.otc > .corporate{margin-top:26px}}

/* Discount details in the OT-only corporate banner */
.corporate .ot-corporate__rules{align-self:flex-start;max-width:710px;color:#deebf9;font-size:13px;line-height:1.65;margin:3px 0 0;opacity:.95}
