
:root{--bg:#070809;--panel:#11151a;--text:#f5f6f7;--muted:#aeb6bf;--line:#2a3037;--red:#d9232e;--red2:#f13a45;--green:#7fd39a;--amber:#f0bd63;--max:1220px;--shadow:0 26px 80px rgba(0,0,0,.40)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 12% 0%,rgba(217,35,46,.12),transparent 30rem),linear-gradient(180deg,#08090b,#0b0d10 55%,#08090b);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(calc(100% - 38px),var(--max));margin:auto}
h1,h2,h3{margin:0 0 1rem;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(3rem,7vw,6.7rem);font-weight:950;text-transform:uppercase}h2{font-size:clamp(2rem,4.8vw,4rem);font-weight:930;text-transform:uppercase}h3{font-size:1.34rem}
p{margin:0 0 1rem}.lead{font-size:clamp(1.05rem,2vw,1.28rem);color:#d5d9de;max-width:860px}.muted,.small{color:var(--muted)}.small{font-size:.88rem}
.kicker{display:inline-flex;align-items:center;gap:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:850;font-size:.76rem}.kicker:before{content:"";height:4px;width:38px;background:var(--red)}
header{position:sticky;top:0;z-index:30;background:rgba(7,8,9,.91);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.85rem;font-weight:950;text-transform:uppercase}.brand-logo{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#171a1f;box-shadow:0 0 0 1px #555}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy span{font-size:.65rem;color:#9ca4ad;letter-spacing:.13em;margin-top:.35rem}
nav{display:flex;align-items:center;gap:1.05rem}nav a{font-size:.84rem;font-weight:740;color:#d7dce1}.menu{display:none;background:#14181d;border:1px solid var(--line);color:#fff;padding:.65rem .85rem;border-radius:10px}
.btn-row{display:flex;gap:.8rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.3rem;border-radius:999px;text-transform:uppercase;letter-spacing:.055em;font-size:.81rem;font-weight:880;border:1px solid transparent}.btn-primary{background:var(--red)}.btn-primary:hover{background:var(--red2)}.btn-secondary{border-color:#4b535d;background:rgba(255,255,255,.025)}
.hero{min-height:690px;display:grid;align-items:center;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-photo{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(5,6,7,.98),rgba(5,6,7,.88) 48%,rgba(5,6,7,.46)),url('assets/jackleg-history.jpg') center 44%/cover no-repeat}.hero-grid{display:grid;grid-template-columns:1.1fr .55fr;gap:3rem;align-items:center;padding:6rem 0 5rem}.hero-copy h1 .accent{color:var(--red2)}.hero-mark{justify-self:end;text-align:center;background:rgba(5,6,7,.72);border:1px solid rgba(255,255,255,.15);border-radius:28px;padding:1.3rem;box-shadow:var(--shadow)}.hero-mark img{width:min(310px,70vw);border-radius:50%;margin:auto}.hero-mark p{font-size:.88rem;color:#cbd1d7;margin:.9rem 0 0}
.page-hero{padding:6rem 0 4rem;border-bottom:1px solid var(--line);background:linear-gradient(115deg,#08090b,#14181d)}.page-hero h1{font-size:clamp(2.8rem,6.4vw,6rem);max-width:1080px}
.trust-band{border-bottom:1px solid var(--line);background:#0d1013}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}.trust-item{padding:1.35rem 1rem;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;text-transform:uppercase;font-size:.84rem}.trust-item span{font-size:.81rem;color:var(--muted)}
section{padding:5.3rem 0}.section-head{max-width:920px;margin-bottom:2.2rem}.grid-2,.grid-3,.grid-4{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.042),rgba(255,255,255,.018));border:1px solid var(--line);border-radius:20px;padding:1.6rem;overflow:hidden;box-shadow:var(--shadow)}.card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--red),transparent 60%)}.card .num{color:#ed737b;font-size:.73rem;letter-spacing:.15em;text-transform:uppercase;font-weight:900;margin-bottom:1.1rem}.card p{color:var(--muted)}
.tag-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.tag{display:inline-block;border:1px solid #353d46;border-radius:999px;padding:.4rem .68rem;font-size:.76rem;color:#dce1e6}.tag.open{border-color:#376945;color:var(--green)}.tag.hold{border-color:#795d2b;color:var(--amber)}
.notice{border:1px solid #6d3b40;background:rgba(217,35,46,.08);padding:1.05rem 1.15rem;border-radius:15px}.notice.green{border-color:#315b3b;background:rgba(88,180,112,.07)}.notice.amber{border-color:#6f592e;background:rgba(240,189,99,.06)}
.checks{display:grid;gap:.8rem;margin-top:1.35rem}.check{display:grid;grid-template-columns:28px 1fr;gap:.7rem}.check i{font-style:normal;color:#ff747c;font-weight:900}
.price{font-size:2.2rem;font-weight:950;margin:.35rem 0}.price small{font-size:.85rem;color:var(--muted)}
.schedule{display:grid;gap:.75rem}.date-row{display:grid;grid-template-columns:190px 1fr 170px;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem;background:#101419}.date-row strong{display:block}.date-status{font-size:.74rem;text-transform:uppercase;font-weight:900;color:var(--amber)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.step{border-top:3px solid var(--red);padding-top:1rem}.step .n{color:#ef777f;font-weight:950}
.cta{border-radius:30px;padding:clamp(2.2rem,5vw,4rem);border:1px solid #642e33;background:linear-gradient(120deg,rgba(217,35,46,.18),rgba(18,22,27,.96) 50%,#11161a);box-shadow:var(--shadow)}
footer{border-top:1px solid var(--line);padding:3rem 0;background:#080a0c}.footer-grid{display:grid;grid-template-columns:1.25fr .55fr .55fr .65fr;gap:2rem}.footer-brand{display:flex;align-items:center;gap:1rem}.footer-brand img{width:78px;height:78px;border-radius:50%}
.policy h2{text-transform:none;font-size:2rem}.policy h3{margin-top:2rem}.policy li{margin:.45rem 0;color:#cbd1d7}.approval{border-left:5px solid var(--red);padding:1rem 1.2rem;background:#12161b;margin:1rem 0}
code{background:#151a20;border:1px solid var(--line);border-radius:6px;padding:.15rem .35rem}
@media(max-width:980px){nav{display:none;position:absolute;top:82px;left:0;right:0;flex-direction:column;align-items:stretch;background:#0b0e11;padding:1rem 19px 1.3rem}nav.open{display:flex}.menu{display:block}.hero-grid,.grid-3,.grid-4,.steps,.footer-grid{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.hero-mark{justify-self:start}.date-row{grid-template-columns:1fr}.trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.container{width:min(calc(100% - 26px),var(--max))}.nav{height:72px}.brand-logo{width:48px;height:48px}.brand-copy span{display:none}nav{top:72px}.hero{min-height:auto}.hero-grid{padding:5rem 0 3.5rem}.hero-mark{display:none}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}section{padding:4.1rem 0}}

/* Candidate reliability and accessibility repairs. */
[hidden]{display:none!important}
.hero{isolation:isolate}.hero-photo{z-index:-1}
a:focus-visible,button:focus-visible{outline:3px solid #f0bd63;outline-offset:5px}
a:not(.btn):not(.brand):hover{text-decoration:underline;text-underline-offset:.2em}
.skip-link{position:fixed;top:8px;left:12px;z-index:100;background:#fff;color:#111;padding:.7rem 1rem;border-radius:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.card-title{font-size:clamp(1.8rem,3.8vw,2.8rem)}
.contact-email{font-size:clamp(1rem,2.5vw,1.5rem);font-weight:750;overflow-wrap:anywhere}
.contact-note{margin-top:1rem}.card p:last-child,.notice p:last-child{margin-bottom:0}
.nav{min-height:82px;height:auto;padding-block:12px}.brand{min-width:0}.brand-copy strong{font-size:1rem}.brand-copy span{font-size:.625rem}
nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:.35em}
.btn{max-width:100%;white-space:normal;text-align:center;min-height:44px;font-size:.875rem;letter-spacing:.03em}
nav a{font-size:.875rem}.kicker{font-size:.875rem}.footer-grid>*,.grid-2>*,.hero-grid>*{min-width:0}.footer-grid a{overflow-wrap:anywhere}
h1,h2,h3{overflow-wrap:break-word}li{padding-left:.1rem}li+li{margin-top:.5rem}
@media(max-width:1100px){nav{gap:.8rem}.brand-copy span{letter-spacing:.06em}}
@media(max-width:980px){header .nav{min-height:82px}nav{top:100%;max-height:calc(100dvh - 82px);overflow-y:auto}nav a{padding:.65rem .2rem;min-height:44px}.menu{font:inherit;min-height:44px;flex-shrink:0}.hero-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}}
@media(max-width:580px){header .nav{min-height:72px}.brand{gap:.6rem}.brand-copy strong{font-size:.91rem}.hero-copy h1{font-size:clamp(2.5rem,10.5vw,3.8rem)}.page-hero h1{font-size:clamp(2.2rem,10vw,3.5rem)}.page-hero{padding:3.5rem 0 3rem}.hero{padding:0}.hero-grid{padding:2rem 0 2.5rem}.card{padding:1.3rem}.menu{padding:.55rem .65rem}nav{max-height:calc(100dvh - 72px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:980px){html:not(.js-enabled) .menu{display:none}html:not(.js-enabled) .nav{flex-wrap:wrap}html:not(.js-enabled) nav{display:flex;position:static;flex-direction:row;flex-wrap:wrap;width:100%;padding:0;max-height:none}html:not(.js-enabled) header{position:static}}

/* Authentic field photography and expanded biography, October 5 review. */
.field-photo{margin:0;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#0d1115}
.field-photo img{display:block;width:100%;height:auto;background:#080a0c}
.field-photo figcaption{padding:.85rem 1rem;color:#bac3cd;font-size:.875rem;line-height:1.5}
.about-intro{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.portrait-photo img{aspect-ratio:3/4;object-fit:cover;object-position:center 25%}
.bio-copy h2{font-size:clamp(2.5rem,5vw,4.6rem)}.bio-copy p{font-size:1.0625rem;color:#cbd1d7}.bio-copy .lead{font-size:clamp(1.125rem,2vw,1.35rem);color:#eef0f3}
.bio-copy .btn{margin-top:.75rem}.experience-section{background:#0c1014;border-block:1px solid var(--line)}
.bio-detail-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:start;gap:clamp(1.5rem,4vw,4rem)}
.inspector-photo{max-width:440px;justify-self:end}.inspector-photo img{aspect-ratio:1/1;object-fit:cover}.experience-list{padding-left:1.25rem;color:#cbd1d7;display:grid;gap:.5rem;margin:1.5rem 0}
.field-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}.field-gallery img{aspect-ratio:4/5;object-fit:contain}.field-gallery .tall-photo img{object-fit:cover}
.home-field-photo{align-self:start}.home-field-photo img{aspect-ratio:4/5;object-fit:cover;object-position:center 25%}
.training-photo-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(1.5rem,4vw,4rem)}.training-photo{max-width:440px;width:100%;justify-self:center}
.project-photo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:center}.project-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.small-archive-photo{max-width:280px}.small-archive-photo img{aspect-ratio:4/5;object-fit:contain}.text-link{text-decoration:underline;text-underline-offset:.3em}
@media(max-width:980px){.about-intro,.bio-detail-grid,.training-photo-grid,.project-photo-grid{grid-template-columns:1fr}.portrait-photo{max-width:540px;width:100%;justify-self:center}.inspector-photo{justify-self:center}.field-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.home-field-photo{max-width:520px;justify-self:center}.project-photo-pair{max-width:576px}.about-hero h1{font-size:clamp(2.5rem,7vw,5rem)}}
@media(max-width:580px){.field-gallery{grid-template-columns:1fr}.field-gallery img{aspect-ratio:auto;max-height:580px;object-fit:contain}.project-photo-pair{gap:.65rem}.field-photo figcaption{padding:.75rem;font-size:.875rem}.about-hero h1{font-size:clamp(2.1rem,10vw,3.5rem)}}

.hero-mark img{height:auto}

/* Employer-associated and uncertain project imagery removed from this review. */
.bio-text-intro{max-width:1000px}.field-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:580px){.field-gallery{grid-template-columns:1fr}}

/* Direct business-contact routes for the October launch. */
.contact-details{margin:1.5rem 0}.contact-details p{margin-bottom:1.2rem}.contact-label{display:block;color:var(--muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem}.contact-phone{font-size:clamp(1.25rem,3vw,1.8rem);font-weight:750}.contact-topics{padding-top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.press-section{padding-top:0}.press-feature{display:flex;gap:2rem;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:2.5rem}.press-feature h2{font-size:clamp(1.75rem,3.5vw,3rem);margin-top:.75rem}.press-feature .lead{max-width:660px;font-size:1.05rem}.press-feature .btn{flex-shrink:0}@media(max-width:760px){.press-feature{display:block}.press-feature .btn{margin-top:.5rem}}

/* October 13: clearer offerings, rates, and a real empty-state training calendar. */
.section-actions{margin-top:1.6rem}.subsection-head{margin-top:4.5rem}.closing-note{padding-bottom:3rem}.hero-price-link{align-self:center;font-weight:800;padding:.8rem .25rem}.leadership-feature{background:linear-gradient(130deg,#141013,#0c1014)}
.split-content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}.split-content>*,.grid-3>*,.grid-4>*{min-width:0}.plain-list{padding-left:1.2rem;color:#cbd1d7}
.curriculum-card h3{font-size:2.2rem}.curriculum-card details{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1rem}.curriculum-card summary{cursor:pointer;font-weight:750;color:#f5f6f7;padding:.5rem 0}.curriculum-card summary:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.module-list{list-style:none;counter-reset:module;padding:0;margin:1rem 0 0;display:grid;gap:0}.module-list li{counter-increment:module;padding:1rem 0 1rem 2.6rem;position:relative;border-top:1px solid var(--line);margin:0}.module-list li:before{content:counter(module,decimal-leading-zero);position:absolute;left:0;top:1.1rem;color:#ed737b;font-size:.8rem;font-weight:850}.module-list strong{display:block;font-size:1rem;line-height:1.4}.module-list span{display:block;color:var(--muted);font-size:.94rem;margin-top:.2rem}
.jump-links{display:flex;flex-wrap:wrap;gap:.75rem}.jump-links a{border:1px solid #5b626a;border-radius:999px;padding:.6rem 1rem;font-weight:750}.pricing-list{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#101419}.pricing-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:1rem;padding:1.5rem;border-bottom:1px solid var(--line);align-items:center}.pricing-row:last-child{border-bottom:0}.pricing-row h3{font-size:1.22rem;line-height:1.25;margin-bottom:.45rem}.pricing-row p{font-size:.94rem;color:var(--muted);margin:0;max-width:740px}.rate{font-size:clamp(1.3rem,2.2vw,1.75rem);font-weight:850;line-height:1.25;text-align:right}.rate small{display:block;font-size:.85rem;color:var(--muted);font-weight:500;margin-top:.25rem}
[id]{scroll-margin-top:110px}.calendar-notice{margin-bottom:2rem}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.5rem;align-items:start}.calendar-panel{border:1px solid var(--line);border-radius:20px;background:#101419;padding:1.4rem;min-width:0}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.6rem}.calendar-toolbar h2{font-size:clamp(1.5rem,3vw,2rem);margin:0;text-transform:none;letter-spacing:-.025em}.calendar-controls{display:flex;gap:.4rem}.calendar-button{background:#20262d;border:1px solid #505b67;color:#fff;border-radius:9px;min-width:44px;min-height:44px;padding:.5rem .75rem;font:inherit;font-size:.875rem;cursor:pointer}.calendar-button:hover{background:#323a44}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{color:var(--muted);font-size:.8rem;text-align:center;font-weight:700;margin-bottom:.5rem}.calendar-day{min-height:79px;padding:.65rem;border-top:1px solid var(--line);border-right:1px solid var(--line);font-size:.9rem}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{color:#6b7480;background:#0d1115}.calendar-day.today span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;background:var(--red);border-radius:50%;font-weight:800}.calendar-empty{border:1px dashed #5b6470;border-radius:10px;text-align:center;padding:1rem;color:#d4dae1;margin:1rem 0}.calendar-sidebar{display:grid;gap:1rem}.calendar-sidebar .btn{width:100%}
@media(max-width:1180px){nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#0b0e11;padding:1rem 19px 1.3rem;max-height:calc(100dvh - 82px);overflow-y:auto}nav.open{display:flex}nav a{padding:.65rem .2rem;min-height:44px}.menu{display:block;font:inherit;min-height:44px;flex-shrink:0}html:not(.js-enabled) .menu{display:none}html:not(.js-enabled) .nav{flex-wrap:wrap}html:not(.js-enabled) nav{display:flex;position:static;flex-direction:row;flex-wrap:wrap;width:100%;padding:0;max-height:none}html:not(.js-enabled) header{position:static}}
@media(max-width:980px){.split-content,.calendar-layout{grid-template-columns:1fr}.calendar-sidebar{grid-template-columns:1fr 1fr}.pricing-row{grid-template-columns:minmax(0,1fr) minmax(170px,auto)}}
@media(max-width:580px){.pricing-row{grid-template-columns:1fr;padding:1.2rem}.rate{text-align:left;font-size:1.65rem}.rate small{display:inline;font-size:.85rem}.calendar-panel{padding:.8rem}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-day{min-height:50px;padding:.4rem}.calendar-sidebar{grid-template-columns:1fr}.calendar-empty{font-size:.9rem}.calendar-weekdays{font-size:.7rem}.curriculum-card h3{font-size:1.8rem}.subsection-head{margin-top:3.5rem}}
/* Keep the month grid on larger screens; use readable class entries on phones. */
.calendar-day.has-event{background:rgba(240,189,99,.09);box-shadow:inset 0 0 0 1px #806230}.calendar-event{display:block;font-size:.875rem;font-weight:750;line-height:1.45;color:var(--amber);padding-top:.35rem;overflow-wrap:anywhere}
@media(max-width:580px){.calendar-weekdays,.calendar-day:not(.has-event){display:none}.calendar-days{grid-template-columns:minmax(0,1fr)}.calendar-day.has-event{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.75rem;padding:1rem;border:0;border-radius:10px}.calendar-day.has-event>span{font-size:1.5rem;font-weight:800;text-align:center}.calendar-event{display:flex;align-items:center;min-height:44px;font-size:1rem;padding:0}}
.course-facts{margin:1.5rem 0}.course-facts>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1rem;border-top:1px solid var(--line);padding:.85rem 0}.course-facts dt{color:var(--muted);font-size:.9rem}.course-facts dd{margin:0;font-weight:700}.calendar-event:hover{text-decoration:underline}@media(max-width:580px){.course-facts>div{grid-template-columns:1fr;gap:.2rem}}

/* Keep the training summary near the top of the registration page. */
.registration-hero{padding:3rem 0}.registration-quick{max-width:740px}.registration-summary{font-weight:750;margin:1rem 0}.registration-note{font-size:.9375rem;line-height:1.5;color:#d5d9de;margin:1rem 0 0}
@media(max-width:580px){.registration-hero{padding:1.75rem 0 2rem}.registration-hero h1{font-size:clamp(2rem,9vw,3rem)}.registration-hero .lead{font-size:1rem}.registration-summary{font-size:1rem}}

.registration-details{max-width:860px}.registration-note a{overflow-wrap:anywhere}

/* Direct requests sit alongside the existing service and rate details. */
.service-request-link{margin:1rem 0 0!important;font-size:.92rem}.pricing-row .service-request-link{margin-top:.7rem!important}.footer-owner-link{font-size:.78rem}.date-row>.service-request-link{grid-column:2/-1;margin:0!important}@media(max-width:980px){.date-row>.service-request-link{grid-column:auto}}
