:root{--ink:#0b0b0c;--charcoal:#171719;--panel:#202023;--white:#f5f5f3;--paper:#efefeb;--muted:#aaa9a5;--red:#d71920;--red-dark:#a70f14;--line:rgba(255,255,255,.14);--font-head:'Barlow Condensed',Arial,sans-serif;--font-body:'Barlow',Arial,sans-serif;--container:min(1240px,calc(100% - 64px));--section:clamp(5.5rem,9vw,9rem);--ease:cubic-bezier(.22,1,.36,1);--fast:240ms;--slow:850ms}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:var(--container);margin-inline:auto}.section{padding-block:var(--section)}.skip-link{position:fixed;z-index:9999;top:12px;left:12px;background:var(--white);color:var(--ink);padding:.75rem 1rem;transform:translateY(-150%);transition:transform var(--fast)}.skip-link:focus{transform:none}.site-header{position:fixed;z-index:1000;inset:0 0 auto;height:88px;border-bottom:1px solid transparent;transition:background var(--fast),height var(--fast),border-color var(--fast),box-shadow var(--fast)}.site-header.scrolled{height:72px;background:rgba(23,23,25,.96);border-color:var(--line);box-shadow:0 8px 30px rgba(0,0,0,.18);backdrop-filter:blur(12px)}.nav-wrap{height:100%;width:min(1440px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-head);font-size:14px;line-height:.82;letter-spacing:.16em}.brand b{font-size:20px;letter-spacing:.11em}.primary-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);font-family:var(--font-head);font-size:.83rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.primary-nav>a:not(.btn){position:relative;padding:.6rem 0}.primary-nav>a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--red);transition:right var(--fast)}.primary-nav>a:hover:after,.primary-nav>a:focus-visible:after{right:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.88rem 1.5rem;border:1px solid transparent;font-family:var(--font-head);font-weight:700;font-size:.88rem;line-height:1;letter-spacing:.1em;text-transform:uppercase;transition:background var(--fast),color var(--fast),border var(--fast),transform var(--fast)}.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark)}.btn-outline{border-color:rgba(255,255,255,.55);color:#fff}.btn-outline:hover{background:#fff;color:var(--ink);border-color:#fff}.btn-light{background:var(--white);color:var(--ink)}.btn-light:hover{background:var(--ink);color:#fff}.nav-cta{min-height:44px;padding:.75rem 1.1rem}.menu-toggle{display:none;background:none;border:0;color:#fff;width:48px;height:48px;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;margin:5px 0;background:currentColor;transition:transform var(--fast),opacity var(--fast)}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}.hero{position:relative;min-height:100svh;display:flex;isolation:isolate;overflow:hidden}.hero-media,.final-bg{position:absolute;inset:0;background:url('../images/hero-recovery.jpg') center/cover no-repeat;z-index:-3}.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,5,6,.96) 0%,rgba(5,5,6,.8) 39%,rgba(5,5,6,.22) 78%),linear-gradient(0deg,rgba(5,5,6,.8),transparent 45%)}.hero-grid{position:absolute;inset:0;z-index:-1;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 70%)}.hero-inner{display:flex;flex-direction:column;justify-content:center;padding-top:108px;padding-bottom:40px}.hero-content{max-width:850px;clip-path:inset(0 100% 0 0);animation:contentReveal 1.1s var(--ease) .42s forwards}.eyebrow,.section-index{margin:0 0 1.5rem;display:flex;align-items:center;gap:12px;font-family:var(--font-head);font-size:.75rem;font-weight:600;line-height:1.2;letter-spacing:.17em;text-transform:uppercase}.eyebrow>span{width:42px;height:1px;background:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-head);text-transform:uppercase;line-height:.9;letter-spacing:-.025em}h1{max-width:920px;margin-bottom:1.8rem;font-size:clamp(4.5rem,8.6vw,8rem);font-weight:700}h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(245,245,243,.8)}.hero-copy{max-width:610px;margin-bottom:2.2rem;color:#d8d8d5;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.55}.button-row{display:flex;flex-wrap:wrap;gap:12px}.hero-principles{margin:auto 0 0;text-transform:uppercase;font-family:var(--font-head);font-size:.72rem;font-weight:600;letter-spacing:.19em;color:#c7c7c2}.hero-principles i{display:inline-block;width:4px;height:4px;margin:0 14px;background:var(--red);transform:rotate(45deg);vertical-align:middle}.scroll-cue{position:absolute;right:3rem;bottom:2.5rem;display:flex;align-items:center;gap:12px;color:#b8b8b5;font-family:var(--font-head);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;transform:rotate(90deg);transform-origin:right center}.scroll-cue i{width:48px;height:1px;background:rgba(255,255,255,.5)}.winch-reveal{position:absolute;z-index:10;top:50%;left:0;width:100%;height:1px;pointer-events:none;transform:translateX(-105%);animation:winchTravel 1.25s var(--ease) .1s forwards}.winch-reveal span{position:absolute;left:0;right:0;height:1px;background:var(--red);box-shadow:0 0 14px rgba(215,25,32,.8)}.winch-reveal i{position:absolute;right:-5px;top:-5px;width:11px;height:11px;border:2px solid var(--red);border-radius:50%;background:var(--ink)}@keyframes winchTravel{to{transform:translateX(105%)}}@keyframes contentReveal{to{clip-path:inset(0 0 0 0)}}
.intro{background:var(--paper);color:var(--ink)}.intro-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(3rem,8vw,9rem);align-items:start}.section-index{color:#666}.section-index:before{content:"";width:22px;height:1px;background:var(--red)}.section-index.light{color:var(--muted)}h2{margin-bottom:1.5rem;font-size:clamp(3.1rem,6vw,6.2rem);font-weight:700}.intro h2 span,.system h2 span{color:var(--red)}.intro-copy{padding-top:2.2rem;border-top:1px solid #bfbfba}.intro-copy p{font-size:1.03rem;color:#4b4b49}.intro-copy .lead{font-size:clamp(1.15rem,1.8vw,1.4rem);color:var(--ink);font-weight:500}.courses{background:var(--charcoal)}.section-heading{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-bottom:3.5rem}.section-heading h2{margin:0}.section-heading>p{max-width:360px;margin:0 0 .6rem;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:18px;margin-top:1.1rem;font-family:var(--font-head);font-size:.88rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.text-link span{color:var(--red);font-size:1.3em;transition:transform var(--fast)}.text-link:hover span{transform:translateX(6px)}.status{font-family:var(--font-head);font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.status i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--red)}
.system{background:#101011;overflow:hidden}.system-heading{display:grid;grid-template-columns:1fr auto;column-gap:5rem}.system-heading .section-index{grid-column:1/-1}.system-heading h2{margin-bottom:4rem}.system-heading>p{max-width:330px;margin-top:1rem;color:var(--muted)}.system-diagram{position:relative;display:grid;grid-template-columns:1fr auto 1fr auto 1.25fr auto 1fr auto 1fr;align-items:center;gap:1.1rem;padding:5rem 0 2rem}.system-line{position:absolute;z-index:0;top:50%;left:2%;width:0;height:1px;background:var(--red);transition:width 1.7s var(--ease) .25s}.system-diagram.is-visible .system-line{width:96%}.node{position:relative;z-index:1;min-height:145px;padding:1.4rem 1rem;background:#18181a;border:1px solid #333;display:flex;flex-direction:column;justify-content:center}.node:after{content:"";position:absolute;top:-7px;left:50%;width:12px;height:12px;border:2px solid var(--red);border-radius:50%;background:#101011;transform:translateX(-50%)}.node small{position:absolute;top:8px;right:9px;color:#6d6d6d;font-family:var(--font-head);font-size:.62rem}.node b{font-family:var(--font-head);font-size:clamp(1.25rem,2vw,1.8rem);line-height:.95;text-transform:uppercase}.node span{position:absolute;left:0;bottom:-35px;color:var(--muted);font-family:var(--font-head);font-size:.64rem;letter-spacing:.13em;text-transform:uppercase}.node span:before{content:"";display:inline-block;width:18px;height:1px;margin:0 6px 3px 0;background:var(--red)}.arrow{position:relative;z-index:2;color:var(--red);font-style:normal}.knowledge{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#080809}.knowledge-grid{display:grid;grid-template-columns:repeat(4,1fr)}.knowledge article{position:relative;padding:clamp(2rem,4vw,4rem);border-right:1px solid var(--line)}.knowledge article:last-child{border:0}.knowledge article>span,.panel-grid article>span{position:absolute;top:1rem;right:1rem;color:#555;font-family:var(--font-head);font-size:.65rem}.knowledge h3{font-size:clamp(3rem,5vw,5rem);margin:.8rem 0 1rem;color:var(--white)}.knowledge h3:after{content:"";display:block;width:30px;height:2px;margin-top:1rem;background:var(--red)}.knowledge p{margin:0;color:#aaa;font-size:.9rem}.real-world{background:var(--paper);color:var(--ink)}.split-layout{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px}.split-image{overflow:hidden}.split-image img{height:100%;object-fit:cover}.split-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,8rem)}.split-copy h2{font-size:clamp(3rem,5vw,5rem)}.split-copy>p:not(.section-index){max-width:560px;color:#4b4b49}.dark-link{color:var(--ink)}
.instructor{background:var(--charcoal)}.team-training{position:relative;padding:clamp(5rem,8vw,8rem) 0;background:var(--red);color:#fff;overflow:hidden}.team-training:after{content:"";position:absolute;right:-5%;top:-100%;width:40%;height:300%;border-left:1px solid rgba(255,255,255,.24);transform:rotate(18deg)}.team-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr auto;gap:4rem;align-items:end}.team-inner h2{font-size:clamp(4rem,7vw,7rem);margin:0}.team-inner p{max-width:520px;margin:0}.principles{background:var(--paper);color:var(--ink)}.panel-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa}.panel-grid article{position:relative;min-height:280px;padding:3rem 2rem 2rem 0;border-right:1px solid #aaa}.panel-grid article+article{padding-left:2rem}.panel-grid article:last-child{border-right:0}.panel-grid h3{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:1.4rem}.panel-grid h3:before{content:"";display:block;width:28px;height:3px;margin-bottom:1.3rem;background:var(--red)}.panel-grid p{max-width:300px;color:#50504e}.final-cta{position:relative;min-height:720px;display:grid;place-items:center;text-align:center;isolation:isolate}.final-bg{background-image:url('../images/final-cta.jpg')}.final-cta:after{content:"";position:absolute;inset:0;z-index:-2;background:rgba(5,5,6,.72)}.final-inner{max-width:950px;padding-block:6rem}.centred{justify-content:center}.final-inner h2{font-size:clamp(4.5rem,8vw,8rem);margin-bottom:1.4rem}.final-inner>p:not(.eyebrow){max-width:670px;margin:0 auto 2rem;color:#d5d5d2;font-size:1.1rem}.centre{justify-content:center}.final-inner small{display:block;margin-top:1rem;color:#777;font-size:.7rem}.footer{padding-top:5rem;background:#070708;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;padding-bottom:4rem}.footer-brand{align-self:start}.footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;font-family:var(--font-head);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.footer nav a:hover{color:var(--red)}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;padding:1.3rem 0;border-top:1px solid var(--line);color:#666;font-family:var(--font-head);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.footer-bottom p{margin:0}.footer-bottom div{display:flex;gap:1.5rem}
.reveal{opacity:0;transform:translateY(20px);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1050px){.primary-nav{gap:1rem}.primary-nav>a:not(.btn){display:none}.team-inner{grid-template-columns:1fr 1fr}.team-inner .btn{grid-column:2}.system-diagram{gap:.55rem}.node{padding:1rem .65rem}.node b{font-size:1.2rem}}
@media(max-width:800px){:root{--container:min(100% - 36px,680px);--section:5rem}.site-header,.site-header.scrolled{height:72px}.nav-wrap{width:calc(100% - 28px)}.menu-toggle{display:block;position:relative;z-index:2}.menu-open .menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}.primary-nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.4rem;padding:90px 9vw 40px;background:rgba(11,11,12,.98);visibility:hidden;opacity:0;transform:translateY(-14px);transition:opacity var(--fast),transform var(--fast),visibility var(--fast)}.menu-open .primary-nav{visibility:visible;opacity:1;transform:none}.primary-nav>a:not(.btn){display:block;font-size:clamp(2.3rem,9vw,4rem);line-height:1;padding:.4rem 0}.primary-nav .nav-cta{margin-top:1.5rem;width:100%}.hero-inner{padding-top:100px}.hero-content{max-width:630px}h1{font-size:clamp(3.8rem,16vw,6rem)}.hero-copy{max-width:500px}.hero-principles{margin-top:3.5rem;max-width:450px;line-height:2}.scroll-cue{display:none}.intro-grid,.system-heading,.split-layout,.team-inner{grid-template-columns:1fr}.intro-copy{padding-top:1.5rem}.section-heading{display:block}.section-heading>p{margin-top:1.5rem}.system-heading h2{margin-bottom:1.5rem}.system-heading>p{margin-bottom:2rem}.system-diagram{grid-template-columns:1fr;gap:0;padding:2rem 0}.system-line{top:3%;bottom:3%;left:23px;width:1px;height:0}.system-diagram.is-visible .system-line{width:1px;height:94%}.node{width:calc(100% - 45px);margin-left:45px;min-height:98px}.node:after{top:50%;left:-23px;transform:translate(-50%,-50%)}.node span{position:static;margin-top:.55rem}.arrow{margin:.35rem 0 .35rem 17px;transform:rotate(90deg)}.knowledge-grid{grid-template-columns:1fr 1fr}.knowledge article{border-bottom:1px solid var(--line)}.split-layout{min-height:0}.split-image{height:55vw;min-height:360px}.split-copy{padding:5rem max(18px,calc((100vw - 680px)/2))}.team-inner{gap:2rem}.team-inner .btn{grid-column:auto;justify-self:start}.panel-grid{grid-template-columns:1fr}.panel-grid article,.panel-grid article+article{min-height:0;padding:2rem 0;border-right:0;border-bottom:1px solid #aaa}.panel-grid article:last-child{border-bottom:0}.footer-top{grid-template-columns:1fr 1fr}.footer-bottom{flex-wrap:wrap}}
@media(max-width:520px){:root{--container:calc(100% - 28px)}.hero:after{background:linear-gradient(90deg,rgba(5,5,6,.93),rgba(5,5,6,.58)),linear-gradient(0deg,rgba(5,5,6,.86),transparent 55%)}.hero-media{background-position:64% center}.hero-inner{padding-bottom:30px}h1{font-size:clamp(3.35rem,16.5vw,5rem);margin-bottom:1.35rem}.eyebrow{font-size:.65rem}.hero-copy{font-size:.95rem}.button-row{flex-direction:column}.button-row .btn{width:100%}.hero-principles{font-size:.62rem;letter-spacing:.13em}.hero-principles i{margin-inline:7px}.knowledge-grid{grid-template-columns:1fr}.knowledge article{min-height:200px;border-right:0}.split-image{height:430px}.final-cta{min-height:650px}.final-inner h2{font-size:4.2rem}.footer-top{grid-template-columns:1fr}.footer-bottom{display:grid;grid-template-columns:1fr 1fr}.footer-bottom>p:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.hero-content{clip-path:none}.winch-reveal{display:none}.reveal{opacity:1;transform:none}.system-line{width:96%}}

/* Homepage refinement: training services, ALLMI and calculator */
.brand-logo{display:flex;width:190px;height:64px;align-items:center;overflow:visible}.brand-logo img{width:100%;height:auto;max-width:100%;transform:none}.site-header.scrolled .brand-logo{height:56px}.site-header.scrolled .brand-logo img{transform:none}.footer-brand.brand-logo{width:270px;height:auto}.footer-brand.brand-logo img{height:auto;transform:none}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#3a3a3d;border:1px solid #3a3a3d}.service-card{position:relative;min-height:300px;padding:clamp(1.6rem,3vw,2.5rem);background:#171719;overflow:hidden;transition:background var(--fast),transform var(--fast)}.service-card:before{content:"";position:absolute;top:0;left:0;width:54px;height:2px;background:var(--red);transition:width var(--fast)}.service-card:hover{background:#1d1d20}.service-card:hover:before{width:100%}.service-card h3{margin:2.2rem 0 1.1rem;font-size:clamp(1.8rem,2.7vw,2.8rem);line-height:.94}.service-card p{margin:0;color:#aaa;font-size:.94rem}.service-code{font-family:var(--font-head);font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:#92928f}.service-feature{min-height:390px;display:flex;align-items:flex-end}.service-feature:first-child{grid-column:span 2;min-height:550px}.service-feature:first-child h3{font-size:clamp(3.3rem,5vw,5.2rem)}.service-feature .service-body{position:relative;z-index:2}.service-feature p{max-width:650px}.service-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,9,.98),rgba(8,8,9,.58) 60%,rgba(8,8,9,.12))}.allmi-feature{display:grid;grid-template-columns:1.05fr .95fr;min-height:650px;background:#0e0e0f}.allmi-media{position:relative;min-height:500px;border-right:1px solid var(--line)}.allmi-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem)}.allmi-copy h2{font-size:clamp(4rem,7vw,7rem);margin-bottom:1.5rem}.allmi-copy>p:not(.eyebrow){max-width:560px;color:#b9b9b5}.calculator-feature{background:#151517;overflow:hidden}.calculator-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem);align-items:center}.calculator-copy h2{font-size:clamp(4rem,7vw,7rem)}.calculator-copy h3{margin:0 0 1.5rem;color:var(--red);font-size:clamp(1.7rem,2.7vw,2.6rem);letter-spacing:0}.calculator-copy>p{max-width:530px;color:#aaa}.calculator-ui{position:relative;padding:1px;background:linear-gradient(135deg,var(--red),#333 28%,#333 72%,var(--red));box-shadow:0 28px 70px rgba(0,0,0,.34)}.calculator-ui:before{content:"";position:absolute;inset:-45px -60px;z-index:-1;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle,#000,transparent 70%)}.calc-top,.calc-fields,.calc-result{background:#0d0d0e}.calc-top{display:flex;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #333;font-family:var(--font-head);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#777}.calc-top b{color:var(--red)}.calc-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#333}.calc-fields>div{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#171719}.calc-fields label{font-family:var(--font-head);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:#858582}.calc-fields span{font-family:var(--font-head);font-size:2rem;text-transform:uppercase}.calc-fields small{font-size:.55em;color:#888}.calc-result{position:relative;padding:2.2rem}.calc-result>span{display:block;font-family:var(--font-head);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#999}.calc-result strong{display:block;margin:.3rem 0;font-family:var(--font-head);font-size:clamp(4rem,8vw,7rem);line-height:1;color:#fff}.calc-result strong small{font-size:.35em;color:var(--red)}.calc-result i{display:block;width:100%;height:3px;margin:1rem 0;background:linear-gradient(90deg,var(--red) 0 48%,#333 48%)}.calc-result>small{color:#666;font-family:var(--font-head);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}
.team-training{background:#0d0d0e;border-top:1px solid #333;border-bottom:1px solid #333}.team-training:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--red)}.team-training:after{border-left-color:rgba(215,25,32,.4);background:linear-gradient(90deg,transparent,rgba(215,25,32,.045))}.team-inner p{color:#c1c1be}.footer nav,.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;font-family:var(--font-head);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.footer nav a:hover,.contact-details a:hover{color:var(--red)}.contact-details{margin:0;font-style:normal}.contact-details p{margin:0 0 .4rem;color:#fff}.contact-details span,.contact-details a{color:#898986}
@media(min-width:1361px){.primary-nav{gap:clamp(.65rem,1.25vw,1.35rem);font-size:.74rem}.nav-cta{padding-inline:.9rem}.nav-wrap{width:min(1500px,calc(100% - 34px))}}
@media(max-width:1360px){.menu-toggle{display:block;position:relative;z-index:2}.primary-nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem;padding:86px 9vw 30px;background:rgba(11,11,12,.98);visibility:hidden;opacity:0;transform:translateY(-14px);transition:opacity var(--fast),transform var(--fast),visibility var(--fast)}.menu-open .primary-nav{visibility:visible;opacity:1;transform:none}.primary-nav>a:not(.btn){display:block;font-size:clamp(1.75rem,5vh,3rem);line-height:1;padding:.25rem 0}.primary-nav .nav-cta{margin-top:1rem;width:100%}.menu-open .menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-feature:first-child{grid-column:span 2}.allmi-feature,.calculator-grid{grid-template-columns:1fr}.allmi-media{min-height:420px;border-right:0;border-bottom:1px solid var(--line)}.calculator-copy{max-width:650px}.team-inner{grid-template-columns:1fr 1fr}.team-inner .btn{grid-column:2}}
@media(max-width:620px){.service-grid{grid-template-columns:1fr}.service-feature:first-child{grid-column:auto;min-height:600px}.service-card,.service-feature{min-height:300px}.service-feature:first-child h3{font-size:3.4rem}.allmi-media{min-height:330px}.allmi-copy{padding:4rem 1.2rem}.calc-fields{grid-template-columns:1fr}.calc-fields>div{flex-direction:row;align-items:center;justify-content:space-between;padding:1rem 1.2rem}.calc-result{padding:1.5rem 1.2rem}.team-inner{grid-template-columns:1fr}.team-inner .btn{grid-column:auto}.contact-details{grid-column:auto}}
@media(max-width:620px){.brand-logo{width:166px;height:56px}.brand-logo img,.site-header.scrolled .brand-logo img{transform:none}.footer-brand.brand-logo{width:230px;height:auto}.footer-brand.brand-logo img{transform:none}}

/* Real recovery image integration */
.networking-card{grid-column:1/-1;min-height:230px}.networking-card p{max-width:720px}.allmi-media{overflow:hidden}.allmi-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.allmi-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 70%,rgba(14,14,15,.34))}.team-training{background-image:linear-gradient(90deg,rgba(8,8,9,.94),rgba(8,8,9,.76) 56%,rgba(8,8,9,.58)),url('../images/team-training-bg.jpg');background-position:center;background-size:cover}
@media(max-width:900px){.networking-card{grid-column:1/-1}.allmi-media{min-height:520px}}
@media(max-width:620px){.networking-card{grid-column:auto}.allmi-media{min-height:440px}.allmi-media img{object-position:center 50%}.team-training{background-position:60% center}}

/* Winching calculator page */
.primary-nav a[aria-current="page"]:after{right:0}.tool-hero{position:relative;min-height:670px;display:flex;align-items:end;isolation:isolate;overflow:hidden}.tool-hero-bg{position:absolute;inset:0;z-index:-3;background:url('../images/final-cta.jpg') right 52%/cover no-repeat}.tool-hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,5,6,.98),rgba(5,5,6,.82) 52%,rgba(5,5,6,.42)),linear-gradient(0deg,rgba(5,5,6,.94),transparent 60%)}.tool-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#000,transparent 75%)}.tool-hero-inner{padding:150px 0 70px}.tool-hero .eyebrow i{font-style:normal;color:var(--red)}.tool-hero h1{margin-bottom:1.4rem;font-size:clamp(5rem,10vw,9rem)}.tool-hero h1 em{color:transparent;font-style:normal;-webkit-text-stroke:1px rgba(255,255,255,.7)}.tool-hero-inner>p:not(.eyebrow){max-width:650px;color:#d0d0cd;font-size:1.1rem}.tool-sequence{display:flex;align-items:center;gap:12px;margin-top:2rem;font-family:var(--font-head);font-size:.7rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.tool-sequence i{width:4px;height:4px;background:var(--red);transform:rotate(45deg)}.planning-notice{padding:3rem 0;background:#101011}.notice-panel{position:relative;display:grid;grid-template-columns:150px 1fr;gap:clamp(2rem,5vw,5rem);padding:clamp(2rem,4vw,3.5rem);border:1px solid #343436;border-left:5px solid var(--red);background:#171719}.notice-code,.panel-heading>span,.breakdown-heading>span{font-family:var(--font-head);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#777}.notice-panel h2{margin-bottom:1.2rem;font-size:clamp(2.6rem,4vw,4rem)}.notice-panel p{max-width:920px;color:#b7b7b3}.notice-panel p:last-child{margin-bottom:0;color:#e0e0dc}.calculator-workspace{padding:var(--section) 0;background:#0b0b0c}.workspace-heading{display:grid;grid-template-columns:1fr 420px;gap:2rem;margin-bottom:3rem}.workspace-heading .section-index{grid-column:1/-1}.workspace-heading h2{margin:0}.workspace-heading>p{align-self:end;color:#999}.resistance-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);gap:1px;background:#3b3b3d;border:1px solid #3b3b3d}.input-panel,.results-panel{background:#141416}.input-panel{padding:clamp(1.5rem,3vw,3rem)}.results-panel{position:relative;min-height:760px;padding:clamp(1.5rem,3vw,3rem);background:#101011;overflow:hidden}.panel-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1.5rem;border-bottom:1px solid #333}.panel-heading h3{margin:0;font-size:clamp(2.2rem,3vw,3.2rem)}.field-stack{display:grid;gap:1.4rem;padding-top:2rem}.form-field label{display:block;margin-bottom:.55rem;font-family:var(--font-head);font-size:.74rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#bdbdb9}.form-field input,.form-field select{width:100%;height:58px;border:1px solid #3d3d40;border-radius:0;background:#0c0c0d;color:#fff;padding:.75rem 1rem;font-family:var(--font-head);font-size:1.2rem;outline:none;transition:border-color var(--fast),background var(--fast)}.form-field input:focus,.form-field select:focus{border-color:var(--red);background:#111113}.form-field input::placeholder{color:#666}.select-wrap{position:relative}.select-wrap:after{content:"+";position:absolute;right:1rem;top:50%;color:var(--red);font-size:1.3rem;transform:translateY(-50%) rotate(45deg);pointer-events:none}.form-field select{appearance:none;padding-right:3rem}.input-unit{display:grid;grid-template-columns:1fr auto}.input-unit input{border-right:0}.input-unit>span{min-width:92px;height:58px;display:grid;place-items:center;padding:0 1rem;border:1px solid #3d3d40;background:#1c1c1e;color:#92928f;font-family:var(--font-head);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.paired-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field-error{min-height:1.25rem;margin:.35rem 0 0;color:#ff6c70;font-size:.78rem}.has-error input,.has-error select{border-color:#e84d52}.form-field input:disabled{cursor:not-allowed}.form-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}.calculate-button{flex:1;gap:1.2rem}.calculate-button span{font-size:1.25rem}.reset-button{min-height:48px;border:0;border-bottom:1px solid #666;background:none;color:#aaa;font-family:var(--font-head);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.reset-button:hover{color:#fff;border-color:var(--red)}.results-empty{min-height:610px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.target-mark{position:relative;width:90px;height:90px;margin-bottom:2rem;border:1px solid #444;border-radius:50%}.target-mark:before,.target-mark:after{content:"";position:absolute;background:#444}.target-mark:before{left:50%;top:-20px;width:1px;height:130px}.target-mark:after{top:50%;left:-20px;height:1px;width:130px}.results-empty p{margin-bottom:.4rem;font-family:var(--font-head);font-size:1rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.results-empty small{color:#666}.result-status{margin:1.5rem 0;padding:1rem 1.1rem;border-left:3px solid #3f8f68;background:#181b19;color:#c9d9d0;font-size:.88rem}.result-status.is-pending{border-color:var(--red);background:#1d1516;color:#e7c4c5}.result-list{margin:0}.result-list>div{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1.2rem 0;border-bottom:1px solid #303032}.result-list dt{font-family:var(--font-head);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#999}.result-list dd{margin:0;font-family:var(--font-head);font-size:2rem}.result-list dd small{font-size:.5em;color:#777}.total-result{position:relative;margin-top:2rem;padding:2rem;border:1px solid #464648;background:#171719}.total-result:before{content:"";position:absolute;top:-1px;left:-1px;width:90px;height:3px;background:var(--red)}.total-result>span{font-family:var(--font-head);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#aaa}.total-result strong{display:block;margin:.5rem 0;font-family:var(--font-head);font-size:clamp(5rem,8vw,7.5rem);line-height:.85}.total-result strong small{font-size:.28em;color:var(--red)}.total-result p{margin:1.5rem 0 0;color:#777;font-size:.78rem}.calculation-breakdown{margin-top:1px;border:1px solid #3b3b3d;background:#121214}.breakdown-heading{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:clamp(1.5rem,3vw,3rem);border-bottom:1px solid #333}.breakdown-heading h2{margin:0;font-size:clamp(2.5rem,4vw,4rem)}.breakdown-steps{display:grid;grid-template-columns:repeat(5,1fr)}.breakdown-steps article{position:relative;min-height:250px;padding:2rem 1.4rem;border-right:1px solid #333}.breakdown-steps article:last-child{border:0}.breakdown-steps article>span{position:absolute;right:1rem;top:1rem;color:#555;font-family:var(--font-head);font-size:.63rem}.breakdown-steps h3{margin:1.5rem 0;font-size:1.45rem}.breakdown-steps p{display:flex;flex-direction:column;gap:1rem;color:#a4a4a0;font-size:.85rem}.breakdown-steps b{font-weight:400}.breakdown-steps em{font-style:normal;color:#fff;font-family:var(--font-head);font-size:1.2rem}.breakdown-total{background:#19191b}.breakdown-total:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--red)}.calculator-reminder{background:#101011;overflow:hidden}.calculator-reminder .system-heading h2{max-width:860px}.reminder-chain{position:relative;display:grid;grid-template-columns:repeat(11,auto);align-items:center;justify-content:space-between;gap:.6rem;margin-top:2rem;padding:3rem 0}.reminder-chain:before{content:"";position:absolute;left:2%;right:2%;top:50%;height:1px;background:var(--red)}.reminder-chain div{position:relative;z-index:1;min-width:120px;padding:1.25rem 1rem;border:1px solid #3b3b3d;background:#18181a;text-align:center;font-family:var(--font-head);font-size:1.15rem;font-weight:600;text-transform:uppercase}.reminder-chain i{position:relative;z-index:2;color:var(--red);font-style:normal}.reminder-labels{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:2rem 0 0;padding:1px;background:#333;list-style:none}.reminder-labels li{padding:1rem;background:#151517;color:#aaa;font-family:var(--font-head);font-size:.7rem;letter-spacing:.13em;text-align:center;text-transform:uppercase}.reminder-labels li:before{content:"";display:inline-block;width:12px;height:1px;margin:0 7px 3px 0;background:var(--red)}
@media(max-width:1050px){.workspace-heading{grid-template-columns:1fr}.workspace-heading .section-index{grid-column:auto}.resistance-form{grid-template-columns:1fr}.results-panel{min-height:650px}.breakdown-steps{grid-template-columns:repeat(2,1fr)}.breakdown-steps article{border-bottom:1px solid #333}.breakdown-steps article:nth-child(2n){border-right:0}.breakdown-total{grid-column:1/-1}.reminder-chain{grid-template-columns:1fr;justify-content:stretch;gap:0;padding-left:45px}.reminder-chain:before{left:22px;right:auto;top:3%;bottom:3%;width:1px;height:auto}.reminder-chain div{min-width:0;text-align:left}.reminder-chain i{margin:.25rem 0 .25rem -29px;transform:rotate(90deg)}}
@media(max-width:700px){.tool-hero{min-height:600px}.tool-hero-inner{padding:125px 0 55px}.tool-hero h1{font-size:clamp(4.2rem,19vw,6.2rem)}.tool-sequence{gap:7px;letter-spacing:.1em}.notice-panel{grid-template-columns:1fr;gap:1rem}.workspace-heading>p{margin:0}.input-panel,.results-panel{padding:1.2rem}.results-panel{min-height:580px}.paired-fields{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.calculate-button,.reset-button{width:100%}.results-empty{min-height:450px}.breakdown-heading{grid-template-columns:1fr;gap:1rem}.breakdown-steps{grid-template-columns:1fr}.breakdown-steps article,.breakdown-steps article:nth-child(2n){min-height:0;border-right:0;border-bottom:1px solid #333}.breakdown-total{grid-column:auto}.reminder-labels{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.tool-hero h1{font-size:4.3rem}.tool-sequence{flex-wrap:wrap}.input-unit>span{min-width:78px;padding:0 .6rem}.result-list dd{font-size:1.6rem}.total-result{padding:1.5rem}.total-result strong{font-size:5rem}.reminder-labels{grid-template-columns:1fr}}
.control-warning{padding:1rem;border-left:3px solid var(--red);background:#211516!important;color:#edc9ca!important;font-size:.82rem!important;line-height:1.5}
.direction-total{padding-bottom:1.6rem}.direction-total+ .direction-total{padding-top:1.6rem;border-top:1px solid #3c3c3e}.direction-total>span{font-family:var(--font-head);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#aaa}.downhill-total strong{font-size:clamp(4rem,7vw,6.3rem)}

/* Compact calculator output: keep the complete summary beside the inputs. */
.results-panel{min-height:0;display:flex;flex-direction:column}
.results-empty{min-height:260px;flex:1;padding:2rem 1rem}
.results-empty[hidden]{display:none!important}
.results-empty .target-mark{width:64px;height:64px;margin-bottom:1.25rem}
.results-empty .target-mark:before{top:-14px;height:92px}
.results-empty .target-mark:after{left:-14px;width:92px}
.result-status{margin:1rem 0;padding:.7rem .9rem;font-size:.8rem}
.result-list>div{align-items:center;padding:.72rem 0}
.result-list dd{font-size:1.55rem;line-height:1}
.total-result{margin-top:1rem;padding:1rem 1.25rem}
.direction-total{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding-bottom:.8rem}
.direction-total+ .direction-total{padding-top:.8rem}
.direction-total strong,.downhill-total strong{margin:0;font-size:clamp(2.35rem,3.5vw,3.4rem);line-height:1}
.total-result>p{margin:.9rem 0 0}
.total-result .control-warning{padding:.7rem .8rem}

@media(max-width:1050px){
  .results-panel{min-height:0}
  .results-empty{min-height:240px}
}
@media(max-width:700px){
  .results-panel{min-height:0}
  .results-empty{min-height:220px;padding:1.5rem .5rem}
  .direction-total strong,.downhill-total strong{font-size:2.35rem}
}
@media(max-width:430px){
  .total-result{padding:1rem}
  .direction-total{gap:.6rem}
  .direction-total>span{font-size:.66rem;letter-spacing:.1em}
  .direction-total strong,.downhill-total strong{font-size:2rem}
}

@media(min-width:1051px){
  .results-panel{padding:2rem}
  .result-status{display:flex;min-height:40px;align-items:center;margin:.8rem 0;padding:.55rem .8rem;font-size:.72rem;line-height:1.3}
  .result-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #303032;border-bottom:1px solid #303032}
  .result-list>div{display:flex;min-width:0;align-items:flex-start;flex-direction:column;gap:.35rem;padding:.9rem .8rem;border-right:1px solid #303032;border-bottom:0}
  .result-list>div:first-child{padding-left:0}
  .result-list>div:last-child{padding-right:0;border-right:0}
  .result-list dt{font-size:.66rem;letter-spacing:.1em}
  .result-list dd{font-size:1.8rem}
  .total-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;background:#464648}
  .direction-total{display:block;min-width:0;padding:1.1rem 1.2rem;background:#171719}
  .direction-total+ .direction-total{padding-top:1.1rem;border-top:0;border-left:1px solid #464648}
  .direction-total strong,.downhill-total strong{margin:.65rem 0 0;font-size:clamp(3rem,4vw,4rem)}
  .total-result>p{grid-column:1/-1;margin:0;padding:.65rem 1rem;background:#171719}
  .total-result .control-warning{grid-column:1/-1;margin:0}
  .control-warning[hidden]{display:none!important}
}

/* Homepage technical visual system */
.home-technical .courses,.home-technical .calculator-feature,.home-technical .system{background-color:#101011;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px}
.process-strip{border-top:1px solid #29292b;border-bottom:1px solid #29292b;background:#0b0b0c}
.process-strip .container{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:1rem;min-height:74px;font-family:var(--font-head);font-size:.68rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:#91918e}
.process-strip i{height:1px;background:linear-gradient(90deg,var(--red),#3b3b3d);transform-origin:left;animation:technical-line 1.3s var(--ease) both}
.process-strip span:last-child{color:#fff}
@keyframes technical-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.home-technical .service-card{isolation:isolate;background-color:#151517;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:30px 30px}












































.home-technical .system-diagram{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 19px,rgba(255,255,255,.04) 20px);background-size:20px 8px;background-repeat:repeat-x;background-position:left 22px}
.home-technical .node:before{content:"";position:absolute;left:10px;right:10px;top:10px;height:4px;background:repeating-linear-gradient(90deg,#555 0,#555 1px,transparent 1px,transparent 8px)}
.home-technical .node:after{box-shadow:0 0 0 4px rgba(215,25,32,.12)}
.system-wide-note{grid-column:1/-1;margin:3.2rem 0 0;padding-top:1rem;border-top:1px solid #363638;color:#8f8f8b;font-family:var(--font-head);font-size:.65rem;letter-spacing:.16em;text-align:center;text-transform:uppercase}
.home-technical .knowledge article:after{content:"";position:absolute;left:clamp(2rem,4vw,4rem);right:2rem;bottom:1.1rem;height:5px;background:repeating-linear-gradient(90deg,#4b4b4d 0,#4b4b4d 1px,transparent 1px,transparent 12px)}
.home-technical .calculator-ui:after{content:"INPUT / SURFACE / SLOPE / OUTPUT";position:absolute;right:0;bottom:-24px;color:#656562;font-family:var(--font-head);font-size:.56rem;letter-spacing:.14em}
.home-technical .calc-result i{position:relative;overflow:hidden}
.home-technical .calc-result i:after{content:"";position:absolute;top:0;bottom:0;width:28px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:result-scan 3.2s ease-in-out infinite}
@keyframes result-scan{0%,45%{left:-30px}80%,100%{left:100%}}

.home-technical .real-world{background:#e8e8e4}
.home-technical .split-layout{grid-template-columns:1.08fr .92fr;min-height:650px}



















@media(max-width:900px){
  
  .home-technical .split-layout{grid-template-columns:1fr}
  
}
@media(max-width:620px){
  .process-strip .container{grid-template-columns:repeat(5,auto);justify-content:space-between;gap:.4rem;min-height:62px;font-size:.58rem;letter-spacing:.1em}
  .process-strip i{display:none}
  
  .service-feature:first-child{min-height:520px}
  
  
  
  
  
  
  
  
  
  
  
  
}
@media(prefers-reduced-motion:reduce){.process-strip i,.home-technical .calc-result i:after{animation:none}}

/* Shared internal pages */
.internal-page{background:#0b0b0c}.internal-hero{position:relative;min-height:clamp(560px,64vh,760px);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;background:#0d0d0e}.internal-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,#000,transparent 90%)}.internal-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,rgba(8,8,9,.98) 0 52%,rgba(8,8,9,.72) 75%,rgba(8,8,9,.92))}.internal-hero.has-image{background-position:center;background-size:cover}.training-hero{background-image:url('../images/roadside-safety.jpg')}.internal-hero.allmi-hero{background-color:#0d0d0e;background-image:url('../images/allmi-hero-v2.png');background-position:center center;background-size:cover;background-repeat:no-repeat}.internal-hero-inner{padding:150px 0 70px}.internal-hero h1{max-width:1050px;margin:.8rem 0 1.4rem;font-size:clamp(4.6rem,9vw,8.4rem)}.internal-hero-copy{max-width:700px;color:#cececa;font-size:1.08rem}.internal-code{display:flex;align-items:center;gap:.8rem;font-family:var(--font-head);font-size:.67rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:#aaa}.internal-code:before{content:"";width:34px;height:2px;background:var(--red)}.internal-strap{margin-top:2rem;color:#999;font-family:var(--font-head);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.internal-hero .button-row{margin-top:2rem}.internal-section{padding:var(--section) 0;background:#101011}.internal-section.paper{background:var(--paper);color:var(--ink)}.internal-section.deep{background:#080809}.internal-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:clamp(3rem,8vw,8rem);align-items:start}.internal-intro h2{font-size:clamp(3.8rem,6vw,6.5rem)}.internal-intro .lead{color:#d1d1cd;font-size:1.15rem}.paper .internal-intro .lead{color:#333}.internal-intro p:last-child{color:#999}
.directory-grid,.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:3rem;padding:1px;background:#38383a}.directory-card,.focus-card{position:relative;min-height:300px;padding:2rem;background:#151517;overflow:hidden}.directory-card:before,.focus-card:before{content:"";position:absolute;left:0;top:0;width:52px;height:2px;background:var(--red);transition:width var(--fast)}.directory-card:hover:before{width:100%}.directory-card.featured{min-height:430px}.directory-card .card-code,.focus-card .card-code{font-family:var(--font-head);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:#777}.directory-card h3,.focus-card h3{margin:2rem 0 1rem;font-size:clamp(2rem,3vw,3rem)}.directory-card p,.focus-card p{color:#aaa}.directory-card .text-link{position:absolute;left:2rem;bottom:2rem}.training-process,.route-grid,.contact-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:3rem;padding:1px;background:#3a3a3c}.training-process article,.route-grid article,.contact-card{position:relative;padding:2rem;background:#151517}.training-process span{color:var(--red);font-family:var(--font-head);font-size:.68rem;letter-spacing:.14em}.training-process h3,.route-grid h3{margin:2rem 0 1rem;font-size:2.2rem}.training-process p,.route-grid p{margin:0;color:#aaa}.cta-band{position:relative;padding:clamp(3rem,6vw,6rem);border:1px solid #3b3b3d;background:#141416;overflow:hidden}.cta-band:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--red)}.cta-band h2{max-width:900px;font-size:clamp(3.6rem,6vw,6.5rem)}.cta-band p{max-width:670px;color:#aaa}.cta-band .button-row{margin-top:2rem}

.route-grid{grid-template-columns:repeat(3,1fr)}.route-grid article{min-height:260px}.route-grid h3{font-size:3rem}.focus-grid{grid-template-columns:repeat(3,1fr)}
.request-notice{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:2rem;border:1px solid #3b3b3d;border-left:5px solid var(--red);background:#171719}.request-notice strong{font-family:var(--font-head);font-size:1.2rem;text-transform:uppercase}.request-notice p{margin:0;color:#bbb}.form-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);gap:1px;margin-top:2rem;padding:1px;background:#3a3a3c}.enquiry-form,.form-aside{background:#131315}.enquiry-form{padding:clamp(1.5rem,4vw,3rem)}.form-aside{padding:2rem}.form-group{margin:0 0 2.5rem;padding:0;border:0}.form-group legend,.form-group>h2{margin:0 0 1.5rem;font-family:var(--font-head);font-size:2rem;font-weight:700;text-transform:uppercase}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.form-control{display:flex;flex-direction:column;gap:.5rem}.form-control.full{grid-column:1/-1}.form-control label,.choice-label{font-family:var(--font-head);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#bcbcb8}.form-control input,.form-control select,.form-control textarea{width:100%;min-height:56px;padding:.8rem 1rem;border:1px solid #3d3d40;border-radius:0;background:#0c0c0d;color:#fff;font:inherit;outline:none}.form-control textarea{min-height:150px;resize:vertical}.form-control input:focus,.form-control select:focus,.form-control textarea:focus{border-color:var(--red)}.form-control small{color:#777}.form-error{min-height:1.1rem;margin:0;color:#ff777b;font-size:.76rem}.choice-row{display:flex;flex-wrap:wrap;gap:1px;padding:1px;background:#3d3d40}.choice-row label{position:relative;flex:1;min-width:105px}.choice-row input{position:absolute;opacity:0}.choice-row span{min-height:52px;display:grid;place-items:center;padding:.5rem;background:#141416;color:#aaa;font-family:var(--font-head);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.choice-row input:checked+span{background:var(--red);color:#fff}.choice-row input:focus-visible+span{outline:2px solid #fff;outline-offset:-4px}.consent-row{display:flex;align-items:flex-start;gap:.8rem;margin:1.5rem 0}.consent-row input{width:20px;height:20px;accent-color:var(--red)}.consent-row label{color:#bbb}.form-status{min-height:1.2rem;margin:1rem 0;color:#ff777b}.form-aside h2{font-size:2.4rem}.form-aside a{display:block;margin:.75rem 0;color:#ddd}.form-aside a:hover{color:var(--red)}.date-panel{margin:1.5rem 0;padding:1.2rem;border:1px solid #333;background:#0e0e0f}.date-panel span{display:block;color:var(--red);font-family:var(--font-head);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.contact-card-grid{grid-template-columns:repeat(3,1fr)}.contact-card{min-height:240px}.contact-card h2{margin:2rem 0 .8rem;font-size:2.8rem}.contact-card a{font-family:var(--font-head);font-size:1.4rem}.contact-card a:hover{color:var(--red)}.location-panel{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.location-graphic{position:relative;min-height:360px;border:1px solid #3b3b3d;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:36px 36px}.location-graphic:before{content:"DONCASTER / SOUTH YORKSHIRE";position:absolute;left:50%;top:50%;padding:1rem;border:1px solid var(--red);color:#ddd;font-family:var(--font-head);font-size:.75rem;letter-spacing:.14em;transform:translate(-50%,-50%);white-space:nowrap}.location-graphic:after{content:"";position:absolute;left:50%;top:50%;width:160px;height:160px;border:1px dashed #555;border-radius:50%;transform:translate(-50%,-50%)}.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:1px;background:#aaa}.faq-grid article{padding:2rem;background:#f5f5f3}.faq-grid h3{font-size:1.8rem}.faq-grid p{color:#555}.legal-hero{min-height:440px}.legal-content{max-width:900px}.legal-content section{padding:2rem 0;border-bottom:1px solid #333}.legal-content h2{font-size:2.4rem}.legal-content p,.legal-content li{color:#b6b6b2}.legal-content ul{padding-left:1.2rem}
@media(max-width:1000px){.directory-grid{grid-template-columns:repeat(2,1fr)}.training-process{grid-template-columns:repeat(2,1fr)}.form-layout{grid-template-columns:1fr}}
@media(max-width:760px){.internal-hero{min-height:590px}.internal-hero-inner{padding:125px 0 55px}.internal-hero h1{font-size:clamp(4rem,15vw,6rem)}.internal-intro,.location-panel{grid-template-columns:1fr}.directory-grid,.route-grid,.focus-grid,.contact-card-grid,.faq-grid{grid-template-columns:1fr}.directory-card.featured{min-height:360px}.form-grid{grid-template-columns:1fr}.form-control.full{grid-column:auto}.request-notice{grid-template-columns:1fr}.location-graphic{min-height:300px}}
@media(max-width:480px){.internal-hero h1{font-size:3.8rem}.internal-hero .button-row{flex-direction:column}.internal-hero .btn{width:100%}.directory-grid{grid-template-columns:1fr}.training-process{grid-template-columns:1fr}.choice-row{display:grid;grid-template-columns:1fr}.contact-card{min-height:200px}.form-aside,.enquiry-form{padding:1.2rem}.location-graphic:before{font-size:.62rem}}

/* Technical-accuracy refinements */
.calculator-separation{max-width:920px;margin:2rem 0 0;padding:1rem 1.2rem;border-left:3px solid var(--red);background:#18181a;color:#b8b8b4}
.knowledge p b{display:block;margin-bottom:.5rem;color:#eee;font-family:var(--font-head);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}































.reminder-chain{grid-template-columns:repeat(9,auto)}

@media(max-width:1050px){.reminder-chain{grid-template-columns:1fr}}

/* Prototype training diary */












/* Page-specific hero crops */
@media(max-width:1000px){.internal-hero.allmi-hero{background-position:62% center;background-size:cover}.tool-hero-bg{background-position:68% 52%}}
@media(max-width:760px){.internal-hero.allmi-hero{background-position:72% center;background-size:cover}.tool-hero-bg{background-position:72% center}}







/* ==========================================================================
   2026 update — professional icon system, new pages, placeholders, booking demo
   ========================================================================== */
:root{--amber:#e0a33c;--amber-soft:rgba(224,163,60,.1)}
.icon{width:1.25em;height:1.25em;flex:none;vertical-align:middle}
.btn .icon{width:1.15em;height:1.15em;margin-right:.55rem}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.42;cursor:not-allowed;transform:none}
@media(max-width:1360px){.primary-nav{overflow-y:auto;justify-content:flex-start;padding-top:max(96px,12vh)}.primary-nav>a:not(.btn){font-size:clamp(1.6rem,4.6vh,2.6rem)}}

/* Placeholders — clearly marked, easy to find: search for data-placeholder */
.placeholder-note{position:relative;display:block;margin:0;padding:.85rem 1rem .85rem 1rem;border:1px dashed rgba(224,163,60,.55);background:var(--amber-soft);color:#d8c29c;font-size:.9rem;font-style:italic;line-height:1.5}
.placeholder-note:before{content:"Placeholder";display:block;margin-bottom:.3rem;color:var(--amber);font-family:var(--font-head);font-size:.6rem;font-style:normal;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.content-slot{display:flex;flex-direction:column;justify-content:flex-start;min-height:140px;margin:1.5rem 0 0;border:1px dashed rgba(255,255,255,.14);background:repeating-linear-gradient(-45deg,transparent 0 12px,rgba(255,255,255,.015) 12px 24px)}
.content-slot .placeholder-note{border-width:0 0 1px;background:rgba(224,163,60,.07)}
.content-slot-lg{min-height:240px}.content-slot-hero{min-height:96px;max-width:700px;margin:0 0 1.5rem}
.logo-slot{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px dashed rgba(224,163,60,.5);background:repeating-linear-gradient(-45deg,transparent 0 10px,rgba(255,255,255,.02) 10px 20px);color:var(--amber)}
.logo-slot .icon{width:30px;height:30px;opacity:.8}
.logo-slot span{color:#a9a9a5;font-size:.78rem;line-height:1.35}.logo-slot b{display:block;margin-bottom:.15rem;color:#e6e6e2;font-family:var(--font-head);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.logo-slot-inline{max-width:390px;margin:1.6rem 0 .4rem}
.link-slot{display:inline-flex;align-items:center;margin-top:1rem;padding:.35rem .6rem;border:1px dashed rgba(224,163,60,.5);color:var(--amber);font-family:var(--font-head);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}
.placeholder-heading{color:#8a8a86}

/* Photo panels (replace former line-drawn diagrams) */
.photo-panel{position:relative;margin:0;overflow:hidden;background:#111}
.photo-panel img{width:100%;height:100%;object-fit:cover}
.photo-panel figcaption{position:absolute;left:1.25rem;bottom:1.25rem;padding:.4rem .6rem;border-left:2px solid var(--red);background:rgba(11,11,12,.82);color:#cfcfcb;font-family:var(--font-head);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase}
.real-world .split-image{min-height:520px}
.real-world .split-image img{position:absolute;inset:0}

/* Industry experience band */
.experience-band{padding:clamp(4rem,7vw,6.5rem) 0;background:#0d0d0e;border-bottom:1px solid #29292b}
.experience-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 3rem;margin-bottom:2.5rem}
.experience-heading .section-index{flex-basis:100%;margin-bottom:0}
.experience-heading h2{margin:0;font-size:clamp(2.8rem,5vw,4.8rem)}
.experience-heading .text-link{margin:0 0 .6rem}
.experience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:1px;background:#333335}
.experience-grid article{position:relative;display:flex;flex-direction:column;gap:.35rem;min-height:210px;padding:1.8rem 1.6rem;background:#141416}
.experience-grid article:before{content:"";position:absolute;left:0;top:0;width:44px;height:2px;background:var(--red)}
.experience-grid .icon{width:34px;height:34px;margin-bottom:1rem;color:var(--red)}
.experience-grid strong{font-family:var(--font-head);font-size:clamp(1.6rem,2.3vw,2.1rem);font-weight:700;line-height:1;text-transform:uppercase}
.experience-grid p{margin:.35rem 0 0;color:#a3a3a0;font-size:.93rem}

/* Service cards: Lucide-style icons and photo feature */
.service-icon,.card-icon{position:absolute;z-index:3;right:1.5rem;top:1.4rem;display:grid;width:56px;height:56px;place-items:center;border:1px solid #47474a;background:rgba(21,21,23,.85);color:var(--red)}
.service-icon .icon,.card-icon .icon{width:26px;height:26px}
.card-icon{width:62px;height:62px}
.service-photo>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 40%;transition:transform 1.2s var(--ease)}
.service-photo:hover>img{transform:scale(1.03)}
.service-photo .service-overlay{z-index:1;background:linear-gradient(0deg,rgba(8,8,9,.97) 0%,rgba(8,8,9,.72) 45%,rgba(8,8,9,.15) 100%)}
.service-photo p{color:#cfcfcb}
.instructor-card{grid-column:span 2}.instructor-card p{max-width:640px}
.service-card .text-link{margin-top:1.4rem}
@media(max-width:620px){.instructor-card{grid-column:auto}}

/* ALLMI page photo */
.allmi-photo-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,7vw,7rem);align-items:center}
.allmi-photo-layout .photo-panel{height:620px}
.allmi-photo-layout h2{font-size:clamp(3.4rem,6vw,6rem)}
.allmi-photo-layout .lead{max-width:560px;color:#cfcfcb;font-size:1.12rem}

/* Training directory additions */
.directory-more{display:block;border:1px dashed #4a4a4d;background:#111113}
.directory-more:hover{background:#18181a}
.directory-more .text-link{position:absolute;left:2rem;bottom:2rem}
.instructor-section{background:#0f0f10}
.instructor-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,7vw,7rem);align-items:stretch}
.instructor-photo{position:relative;min-height:560px;margin:0;overflow:hidden}
.instructor-photo img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 40%}
.instructor-photo:after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:var(--red)}
.instructor-body h2{font-size:clamp(3rem,5vw,5.2rem)}
.instructor-body .lead{color:#e1e1dd;font-size:1.18rem}
.instructor-body>p:not(.section-index):not(.lead){color:#aaa}
.experience-list{margin:2rem 0 2.2rem;padding:0;list-style:none;border-top:1px solid #333}
.experience-list li{display:flex;align-items:center;gap:1rem;padding:.95rem 0;border-bottom:1px solid #333;color:#dededa}
.experience-list .icon{width:24px;height:24px;color:var(--red)}
.upcoming-band{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2rem;align-items:center;padding:clamp(2rem,4vw,3rem);border:1px solid #3b3b3d;border-left:5px solid var(--red);background:#141416}
.upcoming-band h2{margin:0 0 .8rem;font-size:clamp(2.6rem,4vw,4rem)}.upcoming-band p:not(.section-index){margin:0;max-width:620px;color:#aaa}
.upcoming-icon{display:grid;width:84px;height:84px;place-items:center;border:1px solid #47474a;color:var(--red)}.upcoming-icon .icon{width:38px;height:38px}
.upcoming-module{padding-block:clamp(3rem,6vw,5rem)}

/* About page */
.about-hero{background-image:url('../images/real-world-training.jpg');min-height:clamp(460px,56vh,620px)}
.bio-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.bio-text h2{max-width:780px;font-size:clamp(3.2rem,5.6vw,5.8rem)}
.bio-text p:not(.section-index){max-width:720px;color:#c3c3bf;font-size:1.08rem;line-height:1.75}
.bio-text .lead{color:#f1f1ee;font-size:clamp(1.2rem,1.9vw,1.45rem);line-height:1.55}
.bio-text .bio-close{margin-top:2rem;padding:1.2rem 0 1.2rem 1.5rem;border-left:4px solid var(--red);color:#f1f1ee;font-weight:500}
.bio-photo{position:sticky;top:110px;aspect-ratio:4/5}
.af-teaser{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2rem;align-items:center;padding:clamp(2rem,4vw,3rem);border:1px solid #3b3b3d;background:#141416}
.af-teaser h2{margin:0;font-size:clamp(2.6rem,4.5vw,4.4rem)}.af-teaser .content-slot{min-height:110px}
.af-teaser-icon,.af-icon{display:grid;width:84px;height:84px;place-items:center;border:1px solid #47474a;color:var(--red)}.af-teaser-icon .icon,.af-icon .icon{width:38px;height:38px}

/* Industry memberships & affiliations */
.affiliation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;background:#3a3a3c}
.affiliation-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:1.8rem;align-items:start;padding:2rem;background:#151517}
.affiliation-card .logo-slot{flex-direction:column;justify-content:center;min-height:130px;text-align:center}
.affiliation-card .card-code{color:var(--red);font-family:var(--font-head);font-size:.72rem;font-weight:600;letter-spacing:.16em}
.affiliation-card h3{margin:.8rem 0 1.2rem;font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:.98}
.affiliations .section-heading>p.placeholder-note{max-width:380px}

/* Armed Forces Community */
.af-hero{min-height:clamp(520px,62vh,700px)}
.af-hero:after{background:linear-gradient(105deg,rgba(8,8,9,.98) 0 55%,rgba(8,8,9,.8))}
.af-jump{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}
.af-jump a{padding:.6rem .9rem;border:1px solid #4a4a4d;color:#ddd;font-family:var(--font-head);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:border-color var(--fast),background var(--fast)}
.af-jump a:hover{border-color:var(--red);background:rgba(215,25,32,.12)}
.af-layout{display:grid;grid-template-columns:110px minmax(0,1fr) 300px;gap:clamp(1.5rem,4vw,4rem);align-items:start}
.af-layout-wide{grid-template-columns:110px minmax(0,1fr)}
.af-meta{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.af-letter{font-family:var(--font-head);font-size:6rem;font-weight:800;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}
.af-body h2{margin-bottom:0;font-size:clamp(2.8rem,5vw,5rem)}
.af-media{flex-direction:column;justify-content:center;min-height:240px;text-align:center}
.initiative-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:3rem;padding:1px;background:#3a3a3c}
.initiative-card{padding:1.6rem;background:#151517}
.initiative-card .logo-slot{flex-direction:column;justify-content:center;min-height:130px;margin-bottom:1.4rem;text-align:center}
.initiative-card .card-code{color:#777;font-family:var(--font-head);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase}
.initiative-card h3{margin:.8rem 0 1rem;font-size:1.8rem}

/* ---------- Training & Event Bookings (demo) ---------- */
.booking-section{padding-bottom:clamp(4rem,7vw,6rem)}
.demo-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.2rem;align-items:start;margin:0 0 1.5rem;padding:1.3rem 1.5rem;border:1px solid rgba(224,163,60,.55);border-left:6px solid var(--amber);background:#1b1710;color:#e9dcc4}
.demo-banner-icon{color:var(--amber)}.demo-banner-icon .icon{width:30px;height:30px}
.demo-banner strong{display:block;margin-bottom:.35rem;color:#fff;font-family:var(--font-head);font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase}
.demo-banner p{margin:0;font-size:.95rem}.demo-banner a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.booking-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:0 0 1.5rem;padding:0;list-style:none;scroll-margin-top:100px}
.booking-steps li{position:relative;padding:.85rem .2rem 0;border-top:3px solid #333;color:#77777a;font-family:var(--font-head);font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.25}
.booking-steps li span{display:block;margin-bottom:.2rem;font-size:.62rem;color:inherit;opacity:.8}
.booking-steps li.is-done{border-color:#8a8a87;color:#bcbcb8}
.booking-steps li.is-current{border-color:var(--red);color:#fff}
.booking-steps li.is-future{border-top-style:dashed}
.booking-steps em{display:inline-block;margin-left:.35rem;padding:.05rem .35rem;border:1px solid rgba(224,163,60,.6);color:var(--amber);font-size:.55rem;font-style:normal;letter-spacing:.1em;vertical-align:middle}
.booking-app{scroll-margin-top:100px}
.booking-stage[hidden]{display:none!important}
.cal-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);gap:1px;padding:1px;background:#3a3a3c}
.calendar{padding:clamp(1rem,2.5vw,2rem);background:#111113}
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.3rem}
.cal-month{margin:0;font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:.01em;text-align:center}
.cal-nav{display:grid;width:48px;height:48px;place-items:center;border:1px solid #3d3d40;background:#171719;color:#fff;cursor:pointer;transition:border-color var(--fast),background var(--fast)}
.cal-nav:hover:not(:disabled){border-color:var(--red);background:#1f1416}.cal-nav:disabled{opacity:.25;cursor:not-allowed}
.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.cal-weekdays{margin-bottom:6px}.cal-weekdays span{padding:.3rem 0;color:#8a8a87;font-family:var(--font-head);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-align:center;text-transform:uppercase}
.cal-cell{min-height:84px}
.cal-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.55rem .6rem;border:1px solid #2b2b2e;background:#151517;color:#b9b9b5;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--fast),background var(--fast),color var(--fast)}
.cal-day:hover:not(:disabled){border-color:#6a6a6d;color:#fff}
.cal-num{font-family:var(--font-head);font-size:1.3rem;font-weight:600;line-height:1}
.cal-dots{display:flex;gap:4px}.cal-dots i{width:7px;height:7px;border-radius:50%;background:var(--red)}.cal-dots i.is-full{background:#6d6d70}
.cal-count{margin-top:auto;color:#f0b6b8;font-family:var(--font-head);font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.cal-day.has-events{border-color:rgba(215,25,32,.6);background:#221416;color:#fff}
.cal-day.has-events:hover{border-color:var(--red);background:#2b1719}
.cal-day.is-full{border-style:dashed;border-color:#4d4d50;background:#18181a;color:#ddd}.cal-day.is-full .cal-count{color:#8a8a87}
.cal-day.is-today{box-shadow:inset 0 0 0 1px #d9d9d5}.cal-day.is-today .cal-num{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}
.cal-day.is-past{opacity:.28;cursor:not-allowed}
.cal-day.is-selected{border-color:var(--red);background:var(--red);color:#fff}.cal-day.is-selected .cal-count{color:#fff}.cal-day.is-selected .cal-dots i{background:#fff}
.cal-day:focus-visible{outline:2px solid #fff;outline-offset:2px}
.cal-legend{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.2rem;color:#8a8a87;font-family:var(--font-head);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}
.cal-legend span{display:inline-flex;align-items:center;gap:.5rem}.cal-legend i{width:14px;height:14px;border:1px solid}
.lg-available{border-color:rgba(215,25,32,.7)!important;background:#221416}.lg-full{border-color:#5a5a5d!important;border-style:dashed!important;background:#18181a}.lg-today{border-color:#d9d9d5!important}
.day-panel{padding:clamp(1.2rem,2.5vw,2rem);background:#141416}
.day-panel-head{padding-bottom:1rem;border-bottom:1px solid #333}.day-panel-head .card-code{color:var(--red);font-family:var(--font-head);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase}
.day-panel-head h3{margin:.5rem 0 0;font-size:clamp(1.6rem,2.4vw,2.1rem)}
.day-empty{margin:1.2rem 0 0;color:#9b9b98}.day-empty a{color:#fff;text-decoration:underline}
.day-list{display:grid;gap:.6rem;margin-top:1.1rem}
.event-item{display:grid;gap:.25rem;width:100%;padding:.95rem 1rem;border:1px solid #333336;background:#18181a;color:#eee;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--fast),background var(--fast)}
.event-item:hover{border-color:#6a6a6d}.event-item.is-selected{border-color:var(--red);box-shadow:inset 4px 0 0 var(--red);background:#1f1416}
.event-item.is-full{opacity:.7}
.ei-time{color:var(--red);font-family:var(--font-head);font-size:.72rem;font-weight:600;letter-spacing:.12em}
.ei-title{font-family:var(--font-head);font-size:1.3rem;font-weight:700;line-height:1.05;text-transform:uppercase}
.ei-meta{color:#9b9b98;font-size:.85rem}
.sample-badge{display:inline-block;margin-left:.35rem;padding:.12rem .4rem;border:1px solid rgba(224,163,60,.7);color:var(--amber);font-family:var(--font-head);font-size:.58rem;font-style:normal;font-weight:600;letter-spacing:.13em;line-height:1.2;text-transform:uppercase;vertical-align:middle}
.event-detail{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid #333;scroll-margin-top:100px}
.sample-flag{display:flex;gap:.55rem;align-items:flex-start;margin:0 0 1rem;padding:.65rem .8rem;border:1px dashed rgba(224,163,60,.6);background:var(--amber-soft);color:#e3cfa9;font-size:.82rem}
.sample-flag .icon{color:var(--amber);margin-top:.1rem}
.event-detail h4{margin:0 0 1rem;font-family:var(--font-head);font-size:clamp(1.8rem,2.6vw,2.3rem);line-height:.95;text-transform:uppercase}
.ed-list,.summary-list{margin:0}
.ed-list>div,.summary-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid #2e2e31}
.ed-list dt,.summary-list dt{display:flex;align-items:center;gap:.55rem;color:#8f8f8c;font-family:var(--font-head);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.ed-list dt .icon{color:var(--red);width:18px;height:18px}
.ed-list dd,.summary-list dd{margin:0;color:#eee;text-align:right}.ed-list small,.summary-list small{color:#8f8f8c}
.is-full-text{color:#f0b6b8}
.ed-desc{margin:1rem 0 1.3rem;color:#aaa;font-size:.92rem}
.ed-book{width:100%}
.booking-form-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:1px;padding:1px;background:#3a3a3c;align-items:start}
.booking-form-layout .enquiry-form{height:100%}
.demo-tag{display:flex;align-items:center;gap:.5rem;margin:0 0 1.5rem;color:var(--amber);font-family:var(--font-head);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.qty{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;max-width:260px}
.qty input{text-align:center;font-family:var(--font-head);font-size:1.3rem;-moz-appearance:textfield}.qty input::-webkit-inner-spin-button,.qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qty-btn{display:grid;place-items:center;border:1px solid #3d3d40;background:#1c1c1e;color:#fff;cursor:pointer}.qty-btn:hover{border-color:var(--red)}
.form-control [aria-invalid="true"]{border-color:#e84d52}
.stage-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.5rem}
.booking-summary{position:sticky;top:96px;padding:2rem;background:#101012}
.booking-summary .card-code,.review-head .card-code,.confirm-body .card-code{color:var(--red);font-family:var(--font-head);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase}
.booking-summary h3{margin:.6rem 0 1.2rem;font-size:1.9rem}
.summary-total{display:flex;align-items:baseline;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:2px solid var(--red)}
.summary-total span{font-family:var(--font-head);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.summary-total strong{font-family:var(--font-head);font-size:2.5rem;line-height:1}
.summary-note{margin:1rem 0 0;color:#a58a5c;font-size:.8rem}
.review-panel{border:1px solid #3a3a3c;background:#141416}
.review-head{padding:2rem;border-bottom:1px solid #333}.review-head h3{margin:.5rem 0 .6rem;font-size:clamp(2.2rem,3.5vw,3rem)}.review-head p:last-child{margin:0;color:#aaa}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#333}
.review-grid section{padding:1.6rem 2rem;background:#151517}.review-grid h4{margin:0 0 .6rem;font-family:var(--font-head);font-size:1.2rem;letter-spacing:.04em;text-transform:uppercase}
.review-grid dd{overflow-wrap:anywhere}
.payment-preview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem 3rem;align-items:start;padding:clamp(1.5rem,4vw,3rem);border:1px dashed rgba(224,163,60,.55);background:repeating-linear-gradient(-45deg,#131315 0 14px,#151517 14px 28px)}
.payment-head h3{margin:.8rem 0 1rem;font-size:clamp(2.6rem,4vw,3.8rem)}.payment-head p{color:#bdbdb9}
.demo-chip{display:inline-block;padding:.35rem .6rem;border:1px solid var(--amber);color:var(--amber);font-family:var(--font-head);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.payment-mock{padding:1.3rem;border:1px solid #333;background:#0f0f10;opacity:.6;filter:grayscale(1)}
.pm-row{display:flex;justify-content:space-between;align-items:center;color:#bbb;font-family:var(--font-head);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.pm-row span{display:flex;gap:.5rem;align-items:center}.pm-row b{font-size:1.4rem}
.pm-field{height:44px;margin-top:.7rem;border:1px solid #2d2d30;background:#1a1a1c}.pm-split{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.pm-caption{margin-top:.9rem;color:#8a8a87;font-size:.75rem}
.payment-preview>.btn{grid-column:1/-1;justify-self:start}
.confirmation-panel{border:1px solid #3a3a3c;background:#141416;outline:none}
.confirm-flag{display:flex;align-items:center;gap:.6rem;padding:1rem 1.5rem;background:var(--amber);color:#1a1307;font-family:var(--font-head);font-size:.95rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.confirm-body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.8rem;padding:clamp(1.5rem,4vw,3rem)}
.confirm-icon{color:#63a87b}.confirm-icon .icon{width:60px;height:60px}
.confirm-body h3{margin:.6rem 0 1rem;font-size:clamp(2.2rem,3.6vw,3.2rem)}.confirm-body p{max-width:760px;color:#bdbdb9}
.confirm-body .summary-list{max-width:620px;margin-top:1.5rem}
.request-anchor{position:relative;top:-90px}
.request-intro{padding-bottom:0}.request-intro .section-heading{margin-bottom:0}
.request-section{padding-top:2rem}
@media(max-width:1000px){
  .experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cal-layout,.booking-form-layout{grid-template-columns:1fr}
  .booking-summary{position:static;order:-1}
  .review-grid{grid-template-columns:1fr}
  .payment-preview{grid-template-columns:1fr}
  .instructor-layout,.allmi-photo-layout,.bio-layout{grid-template-columns:1fr}
  .instructor-photo{min-height:420px}.allmi-photo-layout .photo-panel{height:460px}
  .bio-photo{position:relative;top:0;aspect-ratio:16/10}
  .af-layout{grid-template-columns:90px minmax(0,1fr)}.af-media{grid-column:2;min-height:180px}
  .initiative-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .affiliation-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .upcoming-band,.af-teaser{grid-template-columns:1fr}
  .booking-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:.8rem}
  .af-layout,.af-layout-wide{grid-template-columns:1fr}.af-meta{flex-direction:row;align-items:center}.af-letter{font-size:4.2rem}.af-media{grid-column:auto}
  .initiative-grid{grid-template-columns:1fr}
  .real-world .split-image{min-height:380px}
}
@media(max-width:600px){
  .experience-grid{grid-template-columns:1fr}.experience-grid article{min-height:0}
  .affiliation-card{grid-template-columns:1fr}
  .cal-weekdays,.cal-grid{gap:3px}
  .cal-weekdays span{font-size:.58rem;letter-spacing:.06em}
  .cal-cell{min-height:0;aspect-ratio:1}
  .cal-day{align-items:center;justify-content:center;gap:.25rem;padding:.2rem}
  .cal-num{font-size:1.02rem}.cal-count{display:none}.cal-dots i{width:5px;height:5px}
  .cal-toolbar{margin-bottom:.9rem}.cal-nav{width:44px;height:44px}
  .demo-banner{grid-template-columns:1fr;gap:.6rem;padding:1.1rem}
  .booking-summary{padding:1.3rem}.summary-total strong{font-size:2rem}
  .stage-actions .btn{width:100%}
  .review-head,.review-grid section{padding:1.2rem}
  .confirm-body{grid-template-columns:1fr}
  .ed-list>div,.summary-list>div{flex-direction:column;gap:.25rem}.ed-list dd,.summary-list dd{text-align:left}
}
@media(prefers-reduced-motion:reduce){.service-photo>img{transition:none}}
.allmi-media img{position:absolute;inset:0}
button.btn{cursor:pointer}button.btn-outline{background:transparent}button.btn-outline:hover{background:#fff}
.booking-form-layout{gap:0;padding:0;border:1px solid #3a3a3c;background:#101012}
.booking-form-layout .enquiry-form{border-right:1px solid #3a3a3c}
@media(max-width:1000px){.booking-form-layout .enquiry-form{border-right:0;border-top:1px solid #3a3a3c}}
.contact-card-grid,.route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-card,.route-grid article{min-width:0}
.contact-card a{overflow-wrap:anywhere;font-size:clamp(1.05rem,1.7vw,1.4rem)}
.route-grid h3{font-size:clamp(2rem,3.6vw,3rem);overflow-wrap:anywhere}
@media(max-width:760px){.contact-card-grid,.route-grid{grid-template-columns:1fr}}
