/* TENET STANDARD v5 — brand layer driven by the logo
   Graphite #1C1E22 · Hi-vis yellow #FFD000 · Off-white #F4F4F2 · Grey #AAACB0
   Rule: yellow is a fill, a rule or a marker on light grounds; it is only ever text on dark grounds. */

:root{
  --graphite:#1C1E22; --graphite-2:#26292E; --yellow:#FFD000; --offwhite:#F4F4F2; --grey:#AAACB0;
  --accent-ink:#1C1E22;                 /* accent text on light grounds */
  --ink:#1C1E22; --navy:#1C1E22; --navy2:#26292E; --copper:#FFD000; --orange:#FFD000; --orange-soft:#FFD000;
}

/* dark grounds: accent text turns yellow */
.hero,.page-hero,.dark,.dark-section,.philosophy,.final-v4,.site-header,.mega-shell,.footer,
.mobile-nav,.mobile-bar,.panel.navy,.panel[style*="#26292E"],.trigger-grid{--accent-ink:#FFD000}

/* ---- logo ---- */
.brand-logo{display:block;height:18px;width:auto;max-width:none}
.site-header .brand-logo{filter:none!important}
.brand-footer .brand-logo{height:20px}
@media (max-width:1180px){.site-header .brand-logo{height:16px}}
@media (max-width:760px){.site-header .brand-logo{height:13px}.brand-footer .brand-logo{height:16px}}

/* ---- light-ground accents ---- */
/* eyebrow lead-in line stays hi-vis even when the label goes graphite */
.eyebrow-line{background:var(--yellow)!important;height:2px!important}
/* heading emphasis on light grounds = highlighter marker */
:is(h1,h2,h3) em{font-style:normal}
.section:not(.dark):not(.final-v4) :is(h2,h3) em,.healthcare h2 em{
  color:var(--graphite);background:linear-gradient(transparent 58%,var(--yellow) 58%,var(--yellow) 90%,transparent 90%);padding:0 .08em}
/* "Measure. Fix. Train." full stop becomes the block mark's yellow square */
.triad-col h3 em{background:none!important;padding:0!important;font-size:0}
.triad-col h3 em::after{content:'';display:inline-block;width:.42rem;height:.42rem;margin-left:.18rem;background:var(--yellow);vertical-align:.12em;font-size:1rem}

/* big step numbers on the light "Call. Walk. Done." band: graphite figures, yellow rule */
.how-step .big-n{color:var(--graphite)}
.how-step{border-top-color:var(--yellow)!important}

/* proof band: hi-vis yellow field, graphite type */
.proof-band{background:var(--yellow);color:var(--graphite)}
.proof-band *{border-color:var(--graphite)}

/* primary buttons + mobile bar CTA: yellow with graphite text */
.btn-primary,.header-cta:not(.text-arrow-cta),.mobile-bar button{background:var(--yellow)!important;color:var(--graphite)!important;border-color:var(--yellow)!important}

/* the old "Measure/Fix" photo had an orange slash; keep images as-is, nothing to do here */

/* checklist ticks: graphite on light panels, yellow on dark */
.check li::before{border-left-color:var(--accent-ink)!important;border-bottom-color:var(--accent-ink)!important}

/* ===== v5 sales components ===== */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
.price-card{background:#fff;border:1px solid var(--line,#D9DADC);border-top:4px solid var(--yellow);padding:28px 28px 26px;display:flex;flex-direction:column;gap:10px}
.price-card h3{font:700 21px/1.2 var(--head);margin:0}
.price-card h3 a{color:inherit}
.price-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:4px}
.price-from{font:700 10px var(--head);letter-spacing:.18em;text-transform:uppercase;color:#5D6066}
.price-amt{font:800 40px/1 var(--head);letter-spacing:-.02em;color:var(--graphite)}
.price-amt.custom{font-size:26px;letter-spacing:0}
.price-card p{margin:2px 0 8px;color:#4A4D53;font-size:15px;line-height:1.55;flex:1}
.price-btn{align-self:flex-start;display:inline-flex;gap:10px;align-items:center;background:var(--yellow);color:var(--graphite);border:0;font:700 14px var(--head);padding:13px 18px;cursor:pointer;transition:background .2s}
.price-btn:hover{background:#FFD000}
.price-note{margin-top:26px;font-size:14px;color:#5D6066}
/* row-style price list used on interior pages */
.price-rows{list-style:none;margin:0;padding:0}
.price-rows li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 0;border-bottom:1px solid var(--line,#D9DADC);font-size:16px}
.price-rows li b{font:700 16px var(--head)}
.price-rows li span{white-space:nowrap;font:800 20px var(--head);color:var(--graphite)}
.price-rows li span small{font:700 9px var(--head);letter-spacing:.16em;text-transform:uppercase;color:#5D6066;margin-right:8px;vertical-align:2px}
.price-rows li.total{border-top:2px solid var(--graphite);border-bottom:0;margin-top:6px}
.panel.navy .price-rows li{border-bottom-color:#ffffff1f}
.panel.navy .price-rows li span,.panel.navy .price-rows li span small{color:#fff}
/* how-step lists on the home page */
.how-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:4px 0 16px;padding:0}
.how-tags li{font:700 12px var(--head);padding:6px 10px;background:#fff;border:1px solid var(--line,#D9DADC)}
.how-step p.how-kicker{font-weight:700;color:var(--graphite);margin-top:6px}
.head-row .one-firm b{display:block;font:700 18px/1.3 var(--head);color:var(--graphite);margin-bottom:8px}
@media (max-width:980px){.price-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.price-grid{grid-template-columns:1fr}.price-amt{font-size:34px}}

/* ===== v6 launch-plan components ===== */
.panel.light{background:#fff}
.service-area{margin-top:14px;font-size:13px;color:#A9ACB1}
.hero-paths{flex-wrap:wrap;gap:22px 34px}
.paths .path h3{font:800 clamp(1.6rem,2.4vw,2.2rem)/1.1 var(--head);margin:0 0 14px}
.paths .path>p{margin:0 0 18px;opacity:.85}
.path-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:26px}
.path-link{font:700 14px var(--head);border-bottom:2px solid var(--yellow);padding-bottom:4px}
.panel.navy .path-link{color:#fff}
.cred{display:inline-block;font:800 10px var(--head);letter-spacing:.14em;text-transform:uppercase;padding:6px 9px;border:1.5px solid var(--graphite);color:var(--graphite);background:#fff;white-space:nowrap}
.cred-osha{background:var(--yellow);border-color:var(--yellow)}
.cred-cert{background:var(--graphite);color:#fff}
.cred-defs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.cred-def{border-top:3px solid var(--yellow);padding-top:20px}
.cred-def h3{font:700 20px var(--head);margin:14px 0 8px}
.cred-def p{color:#4A4D53;font-size:15px;line-height:1.55;margin:0}
.course-group{margin-bottom:58px}
.course-group-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px;border-bottom:2px solid var(--graphite);padding-bottom:14px}
.course-group-head h2{margin:0;font-size:clamp(1.6rem,2.6vw,2.4rem)}
.course-group-head p{max-width:460px;margin:0;color:#4A4D53;font-size:15px}
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.course-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line,#D9DADC);padding:22px;color:var(--graphite);transition:transform .2s,box-shadow .2s}
.course-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1C1E2214;border-color:var(--yellow)}
.course-card .cred{align-self:flex-start}
.course-card h3{font:700 19px/1.2 var(--head);margin:4px 0 0}
.course-card>p{font-size:14px;color:#4A4D53;line-height:1.5;margin:0}
.course-card dl{margin:4px 0 0;font-size:13px;line-height:1.45;flex:1}
.course-card dt{font:700 9px var(--head);letter-spacing:.16em;text-transform:uppercase;color:#6E7177;margin-top:8px}
.course-card dd{margin:2px 0 0;color:#26292E}
.course-more{font:700 13px var(--head);border-bottom:2px solid var(--yellow);align-self:flex-start;padding-bottom:3px;margin-top:6px}
.course-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:34px 0 0;border-top:2px solid var(--graphite)}
.course-facts>div{padding:22px 24px 22px 0;border-bottom:1px solid var(--line,#D9DADC)}
.course-facts dt{font:700 10px var(--head);letter-spacing:.16em;text-transform:uppercase;color:#6E7177;margin-bottom:8px}
.course-facts dd{margin:0;font-size:16px;line-height:1.5}
.course-note{margin-top:26px;border-left:4px solid var(--yellow);padding:4px 0 4px 18px}
.course-note b{font:700 12px var(--head);letter-spacing:.12em;text-transform:uppercase}
.course-note p{margin:6px 0 0;font-size:15px;line-height:1.55}
.scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:40px}
.scope-col{border-top:3px solid var(--yellow);padding-top:20px}
.scope-col h3{font:700 18px var(--head);margin:0 0 10px}
.scope-col p{margin:0;color:#4A4D53;font-size:15px;line-height:1.6}
.clock-n{display:block;font:800 clamp(1.6rem,2.4vw,2.3rem)/1.05 var(--head);color:var(--graphite);margin-bottom:14px;letter-spacing:-.02em}
.inquiry-form[hidden]{display:none!important}
@media (max-width:1180px){.course-grid{grid-template-columns:repeat(2,1fr)}.scope-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.course-grid,.cred-defs,.scope-grid,.course-facts{grid-template-columns:1fr}.course-group-head{flex-direction:column;align-items:start}}
/* header fit with the added Training link */
@media (max-width:1180px){.site-header .brand-logo{height:14px}.desktop-nav{gap:16px!important}.header-right{gap:18px!important}}
@media (max-width:1040px){.site-header .brand-logo{height:12px}.desktop-nav{gap:13px!important}.header-phone small{display:none}}
.three-up{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.three-up .path-actions{flex-direction:column;align-items:flex-start}
@media (max-width:1100px){.three-up{grid-template-columns:1fr}.three-up .path-actions{flex-direction:row}}
.three-up .path{display:flex;flex-direction:column}.three-up .path .path-actions{margin-top:auto;padding-top:26px}

/* ===== v7: CTA system — words + arrow, no underlines, no boxes ===== */
:root{--cta-mark:linear-gradient(transparent 58%,var(--yellow) 58%,var(--yellow) 92%,transparent 92%)}
.hero,.page-hero,.dark,.dark-section,.philosophy,.final-v4,.site-header,.mega-shell,.footer,.mobile-nav,.panel.navy,.panel[style*="#26292E"],.trigger-grid,.image-feature{--cta-mark:none}
.cta-big,.site-header .header-cta,.text-arrow-cta,.path-link,.course-more,.t-link,.price-btn,.card-link,.image-feature .card-link,.mega-cta,.btn-text,.triad .cta-big{
  border:0!important;border-bottom:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-decoration:none!important;
  padding:2px 0!important;width:auto!important;display:inline-flex!important;align-items:center;gap:12px;color:inherit;transition:color .2s,background-size .2s}
.cta-big::after,.text-arrow-cta::after,.header-cta::after{display:none!important;content:none!important}
.cta-big span,.site-header .header-cta span,.text-arrow-cta span,.path-link span,.course-more span,.t-link span,.price-btn span,.card-link span,.mega-cta span{
  color:var(--accent-ink)!important;display:inline-block;transition:transform .2s ease!important;transform:none!important}
:is(.cta-big,.site-header .header-cta,.text-arrow-cta,.path-link,.course-more,.t-link,.price-btn,.card-link,.mega-cta):hover{color:var(--accent-ink)!important;background:var(--cta-mark)!important}
:is(.cta-big,.site-header .header-cta,.text-arrow-cta,.path-link,.course-more,.t-link,.price-btn,.card-link,.mega-cta):hover span{transform:translateX(6px)!important}
.course-card:hover .course-more span{transform:translateX(6px)!important}
.price-btn{font:700 15px var(--head)!important;color:var(--graphite)}
.panel.navy .price-btn,.panel.navy .path-link{color:#fff}
.site-header .header-cta{font:700 13px var(--head)!important}

/* menu triggers: thin plus that turns to × when open */
.nav-trigger span{font-size:0!important;transform:none!important;display:inline-block;width:12px;height:12px;position:relative}
.nav-trigger span::before,.nav-trigger span::after{content:'';position:absolute;left:50%;top:50%;width:10px;height:1.6px;background:currentColor;transform:translate(-50%,-50%);transition:transform .2s ease,background .2s}
.nav-trigger span::after{transform:translate(-50%,-50%) rotate(90deg)}
.nav-trigger[aria-expanded=true] span{transform:rotate(45deg)!important;transition:transform .2s ease}
.nav-trigger[aria-expanded=true] span::before,.nav-trigger[aria-expanded=true] span::after,.nav-trigger:hover span::before,.nav-trigger:hover span::after{background:var(--yellow)}
.mobile-nav summary::marker{content:''}

/* How we work: editorial ruled lists instead of chips */
.how-tags{display:block!important;list-style:none;margin:6px 0 18px!important;padding:0;border-top:1px solid #C9CBCF}
.how-tags li{display:block;background:none!important;border:0!important;border-bottom:1px solid #D9DADC!important;padding:9px 0!important;font:600 15px/1.3 var(--head)!important;color:var(--graphite)}
@media (max-width:900px){.site-header .header-cta{display:none!important}}
.how.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.how.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.how.four{grid-template-columns:1fr}}
.site-header .header-cta{justify-content:flex-start!important;min-width:0!important;gap:10px!important}

/* ===== v8 experience section ===== */
.xp .head-row{align-items:center}
.xp-copy p{margin:0 0 18px}
.xp-copy p:last-child{margin-bottom:0}
.xp-copy .xp-list{font-weight:700;color:var(--graphite)}
.proof-label{font:800 12px var(--head);letter-spacing:.16em;text-transform:uppercase;margin:0 0 34px}

/* ===== v13 hover system: text goes brand yellow #FFD000 everywhere. One yellow. No highlighter, no underlines, no hover blocks. ===== */
:root{--hover-ink:var(--yellow);--cta-mark:none}
.hero,.page-hero,.dark,.dark-section,.philosophy,.final-v4,.site-header,.mega-shell,.footer,.mobile-nav,.panel.navy,.panel[style*="#26292E"],.trigger-grid,.image-feature,.cite-band,.proof-band{--cta-mark:none}
:is(h1,h2,h3) em,.section:not(.dark):not(.final-v4) :is(h2,h3) em,.healthcare h2 em{background:none!important;padding:0!important}
a,a:hover,button,button:hover{text-decoration:none!important}
.path-link,.course-more,.mega-cta,.btn-text{border-bottom:0!important;padding-bottom:0!important}
a:not(.course-card):not(.ind-row):not(.brand):not(.skip):hover,
:is(.cta-big,.site-header .header-cta,.text-arrow-cta,.path-link,.course-more,.t-link,.price-btn,.card-link,.mega-cta,.more,.svc,.hero-secondary):hover{color:var(--hover-ink)!important;background:none!important}
a:hover :is(strong,b,small,span),.cta-big:hover span,.price-btn:hover span{color:var(--hover-ink)!important}
.course-card:hover h3,.ind-row:hover h3{color:var(--hover-ink)!important}
.hero-service-links a:hover{background:none!important;color:var(--hover-ink)!important}
.cite-band{background:var(--graphite);color:#fff;padding:90px 0}
.cite-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:end}
.cite-band h2{margin:0;color:#fff}
.cite-band p{color:#C9CBCF;font-size:18px;line-height:1.65;margin:0 0 26px}
.cite-band .eyebrow{color:var(--yellow)}
@media (max-width:900px){.cite-inner{grid-template-columns:1fr}.cite-band{padding:64px 0}}

/* ===== HERO OVERLAY STANDARD (locked 16 Oct 2026) =====
   One overlay for every photo hero: interior page heroes and the home hero.
   New hero images get it automatically. Change the tokens here, nowhere else. */
:root{
  --hero-ovl-desk:linear-gradient(90deg,rgba(28,30,34,.88) 0%,rgba(28,30,34,.77) 38%,rgba(28,30,34,.40) 68%,rgba(28,30,34,.08) 100%);
  --hero-ovl-mob:linear-gradient(180deg,rgba(28,30,34,.53) 0%,rgba(28,30,34,.72) 55%,rgba(28,30,34,.87) 100%);
  --hero-ovl-foot:linear-gradient(0deg,rgba(28,30,34,.55),transparent 30%);
  --hero-text-shadow:0 1px 14px rgba(0,0,0,.45);
}
.page-hero::before{background:var(--hero-ovl-desk)!important}
.hero.v4.tenet-hero .hero-backdrop{background:var(--hero-ovl-desk),var(--hero-ovl-foot)!important}
@media (max-width:760px){
  .page-hero::before{background:var(--hero-ovl-mob)!important}
  .hero.v4.tenet-hero .hero-backdrop{background:var(--hero-ovl-mob)!important}
}
.page-hero.no-photo::before{background:radial-gradient(circle at 85% 30%,#3A3D4370,transparent 40%),linear-gradient(120deg,#1C1E22 10%,#26292E 90%)!important}
:is(.page-hero,.tenet-hero) :is(h1,.lead,.hero-lead,p,.eyebrow,.crumb){text-shadow:var(--hero-text-shadow)}

/* ===== v14 components ===== */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:40px}
.grid3 .g3{border-top:3px solid var(--yellow);padding-top:20px}
.grid3 .g3 h3{font:700 19px/1.25 var(--head);margin:0 0 10px}
.grid3 .g3 p{margin:0;color:#4A4D53;font-size:15px;line-height:1.6}
.grid3 .g3 ul{margin:12px 0 0}
.grid3 .g3 .g3-link{display:inline-flex;gap:10px;margin-top:16px;font:700 14px var(--head)}
.dark .grid3 .g3 p,.final-v4 .grid3 .g3 p{color:#C9CBCF}
.rule-list{margin:34px 0 0;border-top:2px solid var(--graphite)}
.rule-list>div{display:grid;grid-template-columns:260px 1fr;gap:28px;padding:18px 0;border-bottom:1px solid var(--line,#D9DADC)}
.rule-list dt{font:700 15px var(--head)}
.rule-list dd{margin:0;color:#4A4D53;font-size:15px;line-height:1.6}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}
.stat-row div{border-top:2px solid var(--graphite);padding-top:18px}
.stat-row strong{display:block;font:800 clamp(40px,4.4vw,60px)/1 var(--head);letter-spacing:-.03em;margin-bottom:10px}
.stat-row span{font:600 15px/1.45 var(--head)}
.prose-legal{max-width:820px}
.prose-legal h2{font-size:clamp(1.4rem,2vw,1.8rem);margin:40px 0 12px}
.prose-legal p,.prose-legal li{font-size:16px;line-height:1.7;color:#34363A}
@media (max-width:900px){.grid3,.stat-row{grid-template-columns:1fr}.rule-list>div{grid-template-columns:1fr;gap:6px}}
.grid3.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){.grid3.four{grid-template-columns:1fr 1fr}}@media (max-width:640px){.grid3.four{grid-template-columns:1fr}}

.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.service-area a{color:inherit}

/* v16: every hero fills the viewport */
.page-hero{min-height:100vh!important;min-height:100svh!important;align-items:center!important}
.page-hero .wrap{padding:150px 0 90px!important}
.hero.v4.tenet-hero,.hero.v4.tenet-hero .hero-inner{min-height:100vh!important;min-height:100svh!important}
.hero.v4.tenet-hero .hero-inner{display:flex;flex-direction:column;justify-content:center}
.hero.v4.tenet-hero .hero-bottom{margin-top:auto}
@media(max-width:900px){.page-hero .wrap{padding:120px 0 104px!important}.hero.v4.tenet-hero .hero-inner{padding-bottom:84px!important}}
/* v16: hero controls dead center */
.hero.v4.tenet-hero .hero-bottom{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;max-width:none!important;width:100%}
.hero.v4.tenet-hero .hero-controls{grid-column:2;justify-self:center}
@media(max-width:600px){.hero.v4.tenet-hero .hero-bottom{grid-template-columns:1fr;justify-items:center;gap:14px}.hero.v4.tenet-hero .hero-controls{grid-column:1}.hero.v4.tenet-hero .hero-scene-label{justify-self:center}}
/* v16: gap analysis band and strip */
.gap-band .grid3 .g3 b{display:block;font:800 11px var(--head);letter-spacing:.14em;color:var(--accent-ink);margin-bottom:10px}
.gap-band .cta-row{margin-top:34px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.gap-strip{padding:56px 0!important;border-top:1px solid var(--rule,#D9DADC)}
.gap-strip-in{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.gap-strip h3{font-size:clamp(22px,2vw,28px);margin:0 0 8px}
.gap-strip p{margin:0;max-width:720px;color:#53565B}
.gap-strip .eyebrow{margin-bottom:14px}
/* v16: exposure list inside the requirement block */
.reg ul.check{margin:14px 0 6px}
.reg ul.check li{font-size:15px;line-height:1.65;color:#3A3C41}
/* v16: OSHA vs NIOSH noise chart */
.nchart{margin:0;background:#fff;border:1px solid #D9DADC;padding:34px 36px}
.nchart h3{font-size:clamp(22px,2.2vw,30px);margin:0 0 6px;letter-spacing:-.02em}
.nchart .nsub{margin:0 0 22px;color:#53565B;font-size:15px}
.nkey{display:flex;gap:22px;flex-wrap:wrap;font:700 12px var(--head);margin-bottom:20px}
.nkey span{display:inline-flex;align-items:center;gap:8px}
.nkey i{width:14px;height:14px;display:inline-block}
.nkey .o i,.nb.o{background:#26292E}
.nkey .n i,.nb.n{background:#FFD000}
.nrow{display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:center;padding:12px 0;border-top:1px solid #EDEDEE}
.nlvl{font:800 15px var(--head)}
.nbars{display:flex;flex-direction:column;gap:10px}
.nbar{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;font-size:13px;font-weight:700;white-space:nowrap}
.nb{height:16px;width:var(--w);min-width:4px}
.nchart figcaption{margin-top:18px;font-size:12px;line-height:1.6;color:#53565B}
.nchart.compact{padding:26px 28px}
@media(max-width:600px){.nchart{padding:24px 18px}.nrow{grid-template-columns:62px 1fr;gap:10px}.nbar{font-size:12px}}

/* v16.2: hero is exactly one screen tall where the screen has room; grows only if content can't fit */
@media (min-height:640px){
  .page-hero{height:100vh!important;height:100svh!important}
  .hero.v4.tenet-hero,.hero.v4.tenet-hero .hero-inner{height:100vh!important;height:100svh!important}
}
@media (max-height:700px){
  .page-hero .wrap{padding-top:96px!important;padding-bottom:84px!important}
  .page-hero h1{font-size:clamp(2.2rem,4.6vw,4.4rem)!important;margin-bottom:16px!important}
  .page-hero .lead{margin-bottom:22px!important;font-size:16px!important}
  .hero.v4.tenet-hero .hero-inner{padding-top:110px!important}
  .tenet-hero h1{font-size:clamp(38px,5vw,76px)!important;margin:16px 0!important}
  .hero.v4.tenet-hero .hero-lead{font-size:17px!important;margin-bottom:16px!important}
  .hero-bottom{padding-top:20px!important}
}

/* v16.3: phone without the 'call' label; TENET in yellow */
.header-phone strong,.foot-phone strong,.mnav-phone{color:#fff!important}
.header-phone .tn,.foot-phone .tn,.mnav-phone .tn{color:#FFD000}
.header-phone:hover strong,.foot-phone:hover strong,.mnav-phone:hover{color:#FFD000!important}
.mnav-phone{display:block;font:800 22px var(--head);letter-spacing:.02em;padding:6px 0 18px;margin-bottom:6px;border-bottom:1px solid #ffffff26}
/* no sticky bar: give phones their full screen back */
@media(max-width:900px){body{padding-bottom:0!important}.page-hero .wrap{padding-bottom:64px!important}.hero.v4.tenet-hero .hero-inner{padding-bottom:40px!important}}
/* v16.3: the yellow line of every hero headline sits on its own line, and the headline uses the width it has */
.page-hero h1 em{display:block}
.page-hero h1{max-width:1250px!important}

/* v16.4: faint shadow behind header content; no scrim, no color change */
.site-header .desktop-nav>a,.site-header .nav-trigger,.site-header .header-phone,.site-header .header-cta{text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 10px rgba(0,0,0,.35)}
.site-header .brand-logo{filter:drop-shadow(0 1px 2px rgba(0,0,0,.55)) drop-shadow(0 0 8px rgba(0,0,0,.3))}
.site-header .mobile-toggle span{box-shadow:0 1px 3px rgba(0,0,0,.5)}

/* v16.5: every tap on a button lands on the button itself, with no hover step on touch screens */
button,a,[data-open-modal]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
[data-open-modal] *,.cta-big *,.price-btn *,.header-cta *{pointer-events:none}
@media (hover:none){
  :is(.cta-big,.site-header .header-cta,.text-arrow-cta,.path-link,.course-more,.t-link,.price-btn,.card-link,.mega-cta,.more,.svc,.hero-secondary):hover{color:inherit!important}
  :is(.cta-big,.site-header .header-cta,.text-arrow-cta,.path-link,.course-more,.t-link,.price-btn,.card-link,.mega-cta):hover span{transform:none!important}
}

/* v16.6 HERO FORMULA
   1. Text block sits in the space between the nav and the hero floor, 45% of the spare space above, 55% below.
   2. Floor under the nav: the eyebrow is never closer than max(48px, 8vh) to the nav.
   3. Spacing between eyebrow, headline, paragraph and buttons scales with screen height. */
:root{--hdr:91px;--gap-floor:max(48px,8vh)}
@media(max-width:900px){:root{--hdr:75px;--gap-floor:max(32px,5vh)}}
/* inner pages */
.page-hero{align-items:stretch!important}
.page-hero .wrap{margin:0 auto!important;align-self:stretch;display:flex!important;flex-direction:column;padding-top:var(--hdr)!important;padding-bottom:0!important}
.page-hero .wrap::before{content:'';flex:45 1 0;min-height:var(--gap-floor)}
.page-hero .wrap::after{content:'';flex:55 1 0;min-height:max(32px,5vh)}
/* homepage */
.hero.v4.tenet-hero .hero-inner{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;padding-top:var(--hdr)!important;padding-bottom:max(24px,3vh)!important}
.hero.v4.tenet-hero .hero-inner::before{content:'';flex:45 1 0;order:0;min-height:var(--gap-floor)}
.hero.v4.tenet-hero .hero-inner>*{order:1}
.hero.v4.tenet-hero .hero-inner::after{content:'';flex:55 1 0;order:2;min-height:max(24px,3vh)}
.hero.v4.tenet-hero .hero-bottom{order:3;margin-top:0!important;padding-top:0!important}
/* rhythm */
.tenet-hero .eyebrow,.page-hero .crumb{margin-bottom:clamp(14px,2.6vh,30px)!important}
.tenet-hero h1,.page-hero h1{margin-top:0!important;margin-bottom:clamp(14px,2.8vh,32px)!important}
.hero.v4.tenet-hero .hero-lead,.page-hero .lead{margin-bottom:clamp(18px,4vh,44px)!important}
.tenet-hero .hero-paths,.page-hero .cta-row{margin-top:0!important}

/* v16.6b type scale (all screen sizes, overrides earlier short-screen rules) */
.tenet-hero h1{font-size:clamp(40px,4.6vw,84px)!important;line-height:1.06!important}
.page-hero h1{font-size:clamp(38px,4.2vw,76px)!important;line-height:1.06!important}
.tenet-hero .eyebrow,.page-hero .crumb{max-width:none!important;font-size:clamp(13px,1vw,15px)!important;letter-spacing:.14em!important;line-height:1.6!important}
.hero.v4.tenet-hero .hero-lead{font-size:clamp(18px,1.35vw,22px)!important;line-height:1.6!important}
.page-hero .lead{font-size:clamp(18px,1.3vw,21px)!important;line-height:1.6!important}
.hero-scene-label,.hero-scene-name{font-size:14px!important}
.hero-scene-number{font-size:12px!important}
.hero-pause{font-size:13px!important}
@media(max-width:600px){.tenet-hero .eyebrow,.page-hero .crumb{font-size:12px!important;letter-spacing:.12em!important}.hero.v4.tenet-hero .hero-lead,.page-hero .lead{font-size:17px!important}}

/* v16.6c: on wide screens the header and every hero use an edge gutter instead of a centered 1350px column,
   so the logo and headline line up near the left edge the same way they do on a laptop */
@media(min-width:901px){
  :root{--edge:clamp(32px,3.6vw,72px);
        --hero-ovl-desk:linear-gradient(90deg,rgba(28,30,34,.86) 0,rgba(28,30,34,.74) calc(var(--edge) + 620px),rgba(28,30,34,.36) calc(var(--edge) + 1020px),rgba(28,30,34,.08) 100%)}
  .site-header .header-inner,.hero.v4.tenet-hero .hero-inner,.page-hero .wrap{width:auto!important;max-width:none!important;margin-left:var(--edge)!important;margin-right:var(--edge)!important}
}

/* v16.6d phones: show the subject (right side of every image, upper third) above the text, not under it */
@media(max-width:600px){
  .page-hero>img,.tenet-hero .hero-slide{object-position:var(--focus-x,70%) 18%!important}
  .page-hero .wrap::before,.hero.v4.tenet-hero .hero-inner::before{flex:72 1 0!important}
  .page-hero .wrap::after,.hero.v4.tenet-hero .hero-inner::after{flex:28 1 0!important}
  :root{--hero-ovl-mob:linear-gradient(180deg,rgba(28,30,34,.30) 0%,rgba(28,30,34,.18) 22%,rgba(28,30,34,.72) 46%,rgba(28,30,34,.92) 64%,rgba(28,30,34,.96) 100%)}
  .page-hero::before{background:var(--hero-ovl-mob)!important}
  .hero.v4.tenet-hero .hero-backdrop{background:var(--hero-ovl-mob)!important}
}

@media(max-width:600px){.page-hero>img{object-position:var(--focus-x,70%) var(--focus-y,18%)!important}}

.course-card{position:relative;overflow:hidden;isolation:isolate;background:var(--graphite);border-color:var(--graphite);color:#fff}
.course-card .card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s ease}
.course-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(28,30,34,.66) 0%,rgba(28,30,34,.84) 45%,rgba(28,30,34,.94) 100%)}
.course-card:hover .card-img{transform:scale(1.04)}
.course-card h3{color:#fff}
.course-card>p{color:#E4E5E7}
.course-card dt{color:#B4B7BC}
.course-card dd{color:#fff}
.course-card .course-more{color:var(--yellow)}
.course-card .cred-cert{border-color:#fff}
.course-card .cred-tenet{background:#fff;border-color:#fff}
.course-grid.three{grid-template-columns:repeat(3,1fr)}
.course-grid.wide{grid-template-columns:1fr}
.course-grid.wide .course-card{min-height:260px;justify-content:flex-end;padding:32px}
.course-grid.wide .course-card>p,.course-grid.wide .course-card dl{max-width:560px}
@media (max-width:1180px){.course-grid.three{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.course-grid.three{grid-template-columns:1fr}}

.tb-mark{position:absolute;display:none;background:no-repeat center/contain;pointer-events:none}

.course-card{padding:0!important;gap:0!important;background:var(--graphite)!important;border:0!important;color:#fff;display:flex;flex-direction:column;overflow:hidden}
.course-card::before{display:none!important}
.course-card .card-photo{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;flex:none}
.course-card .card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.course-card .card-body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.course-card .card-body>p{font-size:14px;color:#D9DADC;line-height:1.5;margin:0}
.course-card .course-more{margin-top:auto;padding-top:6px}
.group-count{display:none}
@media (max-width:760px){
 .course-group.is-collapsible{border-bottom:1px solid var(--line,#D9DADC);margin:0!important}
 .course-group.is-collapsible .course-group-head{cursor:pointer;position:relative;padding:22px 44px 22px 0;margin:0!important;border:0!important;display:block}
 .course-group.is-collapsible .course-group-head h2{margin:0;font-size:24px}
 .course-group.is-collapsible .group-count{display:block;font:700 11px var(--head);letter-spacing:.14em;text-transform:uppercase;color:#6E7177;margin-top:6px}
 .course-group.is-collapsible .course-group-head p{display:none}
 .course-group.is-collapsible.is-open .course-group-head p{display:block;margin-top:10px}
 .course-group.is-collapsible .course-group-head::after{content:"+";position:absolute;right:4px;top:18px;font:300 34px/1 var(--head);color:var(--graphite);transition:transform .2s}
 .course-group.is-collapsible.is-open .course-group-head::after{transform:rotate(45deg)}
 .course-group.is-collapsible:not(.is-open) .course-grid{display:none!important}
 .course-group.is-collapsible.is-open .course-grid{padding-bottom:26px}
}

:root{--hero-ovl-desk:linear-gradient(180deg,rgba(28,30,34,.55) 0,rgba(28,30,34,0) 16%),linear-gradient(90deg,rgba(28,30,34,.93) 0%,rgba(28,30,34,.86) 30%,rgba(28,30,34,.5) 50%,rgba(28,30,34,.12) 64%,rgba(28,30,34,0) 74%)!important;
--hero-ovl-mob:linear-gradient(180deg,rgba(28,30,34,.5) 0%,rgba(28,30,34,0) 14%,rgba(28,30,34,0) 32%,rgba(28,30,34,.82) 50%,rgba(28,30,34,.95) 66%,rgba(28,30,34,.97) 100%)!important}

.course-card:hover .cred.cred-osha,.course-card:hover .cred.cred-tenet{color:var(--graphite)!important}
.course-card:hover .cred.cred-cert{color:#fff!important}
