:root{--ink:#10241e;--ink2:#1b3a30;--leaf:#1f7a4d;--leaf-d:#155a38;--sky:#1e7fb8;--mist:#f2f6f4;--line:#d5e0da;--text:#25362f;--mute:#5d6f67;--white:#fff;--r:6px;
--f-d:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif;--f-b:'Hanken Grotesk','Segoe UI',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 1.0625rem/1.65 var(--f-b);color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}a{color:var(--leaf-d)}a:hover{color:var(--sky)}
h1,h2,h3,h4{font-family:var(--f-d);color:var(--ink);line-height:1.1;margin:0 0 .6em;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(2.4rem,5.4vw,4.4rem);font-weight:800}h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}h3{font-size:1.3rem;letter-spacing:-.01em}
p{margin:0 0 1em;max-width:68ch}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.wrap{width:min(1200px,92%);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:99}.skip:focus{left:0}
.topbar{background:#0a1914;color:#c9ddd3;font-size:.9rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}
header.site{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:1px solid #29463a}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);font:800 1.35rem var(--f-d);letter-spacing:-.02em}
.brand img{height:62px;width:auto}.brand small{display:block;font:500 .7rem var(--f-b);color:var(--mute);letter-spacing:.02em;margin-top:-2px}
nav.main ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0;align-items:center}
nav.main a{display:block;padding:.55rem .65rem;color:#dbeae2;text-decoration:none;font-weight:600;font-size:.93rem;border-radius:var(--r)}
nav.main a:hover,nav.main a[aria-current=page]{background:var(--ink2);color:#fff}
nav.main a.cta{background:var(--leaf);color:#fff;margin-left:.5rem}nav.main a.cta:hover{background:var(--leaf-d);color:#fff}
.burger{display:none;background:none;border:1px solid #3a5a4d;border-radius:var(--r);padding:.5rem .7rem;font:600 .95rem var(--f-b);color:#fff;cursor:pointer}
@media(max-width:1120px){.burger{display:block}nav.main{position:absolute;inset:76px 0 auto 0;background:var(--ink);border-bottom:1px solid #29463a;display:none;padding:.6rem 4%}
nav.main.open{display:block}nav.main ul{flex-direction:column;align-items:stretch}nav.main a.cta{margin:.4rem 0 0;text-align:center}}
.btn{display:inline-block;padding:.85rem 1.4rem;border-radius:var(--r);font:700 1rem var(--f-b);text-decoration:none;border:2px solid var(--leaf);background:var(--leaf);color:#fff;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--leaf-d);border-color:var(--leaf-d);color:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.line{background:transparent;color:var(--leaf-d)}.btn.line:hover{background:var(--mist);color:var(--leaf-d)}
.row{display:flex;gap:.8rem;flex-wrap:wrap}
.hero{background:var(--ink);color:#d3e4db;padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,6vw,5rem);overflow:hidden}
.hero h1{color:#fff}.hero .grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.hero p.lead{font-size:1.2rem;color:#c3d8cd}
@media(max-width:960px){.hero .grid{grid-template-columns:1fr}}
.field{background:#0b1b16;border:1px solid #2a4a3d;border-radius:10px;padding:1rem}
.field-grid{position:relative;display:grid;grid-template-columns:repeat(16,1fr);gap:3px}
.field-grid i{aspect-ratio:1;border-radius:2px;background:#183228;transition:background .5s}
.field-grid .scan{position:absolute;top:-4px;bottom:-4px;width:3px;background:#fff;box-shadow:0 0 14px 4px rgba(255,255,255,.55);left:0;opacity:0;pointer-events:none}
.field-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid #2f5646;border-radius:var(--r);overflow:hidden}
.seg button{background:none;border:0;color:#b9d2c6;padding:.5rem .9rem;font:600 .9rem var(--f-b);cursor:pointer}
.seg button[aria-pressed=true]{background:#e9f5ee;color:var(--ink)}
.legend{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.82rem;color:#a9c4b7;align-items:center}
.legend span{display:inline-flex;align-items:center;gap:.3rem}.legend b{width:12px;height:12px;border-radius:2px;display:inline-block}
.field-read{font-size:.92rem;color:#d3e4db;min-height:2.6em;margin:.8rem 0 0}
section.s{padding:clamp(3rem,7vw,6rem) 0}.s.alt{background:var(--mist)}.s.dark{background:var(--ink2);color:#cfe1d8}.s.dark h2,.s.dark h3{color:#fff}
.intro{max-width:760px;margin-bottom:2.5rem}.intro p{color:var(--mute);font-size:1.12rem}.s.dark .intro p{color:#b5cdc0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.domain{display:grid;grid-template-columns:90px 1fr auto;gap:1.5rem;align-items:start;padding:1.8rem 0;border-top:1px solid var(--line)}
.domain:last-child{border-bottom:1px solid var(--line)}.domain .ic{width:72px;height:72px;border-radius:50%;background:var(--mist);display:grid;place-items:center}
.domain .ic svg{width:36px;height:36px;stroke:var(--leaf-d);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.domain p{margin:0;color:var(--mute)}.domain h3{margin-bottom:.3rem}
@media(max-width:700px){.domain{grid-template-columns:1fr}}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.steps li{counter-increment:s;padding:1.6rem 1.3rem;border-right:1px solid var(--line)}.steps li:last-child{border-right:0}
.steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--leaf);color:#fff;font:700 .95rem var(--f-d);margin-bottom:.8rem}
.steps h3{font-size:1.1rem;margin-bottom:.3rem}.steps p{font-size:.95rem;color:var(--mute);margin:0}
@media(max-width:960px){.steps{grid-template-columns:1fr}.steps li{border-right:0;border-bottom:1px solid var(--line)}.steps li:last-child{border-bottom:0}}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2rem 2.5rem;margin:0;padding:0;list-style:none}
.facts li{border-left:3px solid var(--leaf);padding-left:1rem}.facts strong{display:block;font:700 1.15rem var(--f-d);color:var(--ink);margin-bottom:.2rem}.s.dark .facts strong{color:#fff}.s.dark .facts li{border-color:#9bc85a}
.facts span{color:var(--mute);font-size:.98rem}.s.dark .facts span{color:#b5cdc0}
.plate{border-radius:12px;background:linear-gradient(160deg,#dfeee5,#c4dfd0);padding:1.5rem;border:1px solid var(--line)}.plate svg{width:100%;height:auto}
table{width:100%;border-collapse:collapse;font-size:.98rem;background:#fff}th,td{padding:.75rem .9rem;text-align:left;border-bottom:1px solid var(--line)}
th{font:700 .95rem var(--f-d);color:var(--ink);background:var(--mist)}.tw{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.plist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 2.5rem;border-top:1px solid var(--line)}
.plist li{padding:1.4rem 0;border-bottom:1px solid var(--line)}.plist h3{margin-bottom:.2rem}.plist p{margin:0 0 .5rem;color:var(--mute);font-size:.98rem}
.tag{display:inline-block;font:600 .8rem var(--f-b);background:var(--mist);color:var(--leaf-d);padding:.15rem .6rem;border-radius:99px;margin-right:.3rem}
.check{list-style:none;padding:0;margin:0 0 1.2rem}.check li{padding-left:1.7rem;position:relative;margin-bottom:.5rem}
.check li::before{content:"";position:absolute;left:0;top:.5em;width:.9rem;height:.5rem;border-left:2.5px solid var(--leaf);border-bottom:2.5px solid var(--leaf);transform:rotate(-45deg)}
.page-hero{background:var(--ink);color:#c9ddd3;padding:clamp(2.5rem,5vw,4.5rem) 0}.page-hero h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.4rem);margin-bottom:.4em}.page-hero p{font-size:1.18rem;margin:0}
.crumbs{font-size:.9rem;margin-bottom:1rem}.crumbs a{color:#9fd0b4}
.band{background:var(--leaf);color:#fff;padding:3rem 0}.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.band h2{color:#fff;margin:0;font-size:1.9rem}.band .btn{background:#fff;color:var(--leaf-d);border-color:#fff}.band .btn:hover{background:var(--mist)}
form .f{margin-bottom:1.1rem}label{display:block;font-weight:700;margin-bottom:.3rem;color:var(--ink);font-size:.97rem}
input,select,textarea{width:100%;padding:.8rem .9rem;border:1.5px solid #b8c9c0;border-radius:var(--r);font:inherit;background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus{border-color:var(--leaf);outline:3px solid rgba(31,122,77,.2)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.two{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px}.msg{padding:.9rem 1rem;border-radius:var(--r);margin-top:1rem;display:none}.msg.ok{display:block;background:#e3f4ea;color:#14532d}.msg.err{display:block;background:#fde8e6;color:#7a1d16}
.contact-box{background:var(--mist);border-radius:10px;padding:1.8rem}.contact-box dt{font-weight:700;color:var(--ink);margin-top:1rem}.contact-box dt:first-child{margin-top:0}.contact-box dd{margin:0}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem}.team figure{margin:0}
.team .ph{aspect-ratio:1;border-radius:10px;background:linear-gradient(150deg,var(--ink2),var(--leaf));display:grid;place-items:center;color:#cfe8da;font:700 2.4rem var(--f-d);margin-bottom:.8rem}
.team figcaption strong{display:block;font:700 1.1rem var(--f-d);color:var(--ink)}.team figcaption span{color:var(--mute);font-size:.95rem}
.prose{max-width:760px}.prose h2{font-size:1.6rem;margin-top:2rem}
footer.site{background:var(--ink);color:#aac4b8;padding:3.5rem 0 1.5rem;font-size:.97rem}
footer.site .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2rem}@media(max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}@media(max-width:520px){footer.site .cols{grid-template-columns:1fr}}
footer.site h4{color:#fff;font-size:1rem;margin-bottom:.8rem}footer.site ul{list-style:none;margin:0;padding:0}footer.site li{margin-bottom:.4rem}footer.site a{color:#cfe3d8;text-decoration:none}footer.site a:hover{color:#fff;text-decoration:underline}
footer.site .base{border-top:1px solid #29463a;margin-top:2.5rem;padding-top:1.2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.88rem}
.wa{position:fixed;right:18px;bottom:18px;background:#25d366;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:60}.wa svg{width:28px;height:28px;fill:#fff}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.chartbox{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem}.chartbox svg{width:100%;height:auto;margin-top:.6rem}
.seg.lt{border-color:var(--line)}.seg.lt button{color:var(--ink)}.seg.lt button[aria-pressed=true]{background:var(--ink);color:#fff}
.note{font-size:.85rem;color:var(--mute);margin:.4rem 0 0}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1rem}.kpis div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.8rem}
.kpis span{display:block;font-size:.8rem;color:var(--mute)}.kpis strong{font:700 1.6rem var(--f-d);color:var(--ink)}
.alertbox{border-left:5px solid var(--leaf);background:#fff;border-radius:8px;padding:1.1rem 1.2rem;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.alertbox.mod{border-left-color:#e9a02f}.alertbox.sev{border-left-color:#b4382f}.alertbox h3{margin-bottom:.4rem}.alertbox p{margin:0 0 .5rem;font-size:.97rem}
.check.x li::before{width:.9rem;height:.9rem;border:0;transform:none;top:.35em;background:linear-gradient(45deg,transparent 43%,#b4382f 43% 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,#b4382f 43% 57%,transparent 57%)}
@media(max-width:520px){.kpis{grid-template-columns:1fr}}
.bars{display:grid;gap:.7rem}.bars div{display:grid;grid-template-columns:170px 1fr 56px;align-items:center;gap:.8rem}
.bars span{font-size:.95rem;color:#cfe1d8}.bars i{display:block;height:20px;border-radius:4px;background:linear-gradient(90deg,#3f9a56,#9bc85a)}.bars b{font:700 1rem var(--f-d);color:#fff;text-align:right}
@media(max-width:600px){.bars div{grid-template-columns:1fr 50px}.bars span{grid-column:1/-1}}
/* ---- Training page ---- */
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.6rem}
.tabs button{background:#fff;border:1.5px solid var(--line);color:var(--ink);border-radius:99px;padding:.6rem 1.1rem;font:700 .95rem var(--f-b);cursor:pointer;transition:background .2s,border-color .2s}
.tabs button:hover{border-color:var(--leaf)}
.tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.track{display:none;grid-template-columns:1fr 1.25fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.track.on{display:grid}
@media(max-width:900px){.track.on{grid-template-columns:1fr}}
.track .plate{padding:1.2rem}
.track .meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 0}
.mods{list-style:none;margin:0 0 1.2rem;padding:0;counter-reset:m;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.mods li{counter-increment:m;display:grid;grid-template-columns:2.2rem 1fr;gap:.8rem;padding:1rem 1.1rem;border-bottom:1px solid var(--line)}
.mods li:last-child{border-bottom:0}
.mods li::before{content:counter(m);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--mist);color:var(--leaf-d);font:700 .9rem var(--f-d)}
.mods strong{display:block;font:700 1.02rem var(--f-d);color:var(--ink)}.mods span{font-size:.95rem;color:var(--mute)}
.aud{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}
.aud article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.5rem}
.aud article h3{margin-bottom:.5rem}.aud article p{font-size:.97rem;color:var(--mute)}
.aud .ic{width:46px;height:46px;border-radius:50%;background:var(--mist);display:grid;place-items:center;margin-bottom:.9rem}
.aud .ic svg{width:24px;height:24px;stroke:var(--leaf-d);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.s.dark .aud article{background:#173128;border-color:#2c4d40}.s.dark .aud article p{color:#b5cdc0}.s.dark .aud .ic{background:#21443a}.s.dark .aud .ic svg{stroke:#9bc85a}
.timeline{list-style:none;margin:0;padding:0;border-left:3px solid var(--leaf)}
.timeline li{position:relative;padding:0 0 1.6rem 1.5rem}.timeline li::before{content:"";position:absolute;left:-9px;top:.45rem;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--leaf)}
.timeline b{font:700 .9rem var(--f-d);color:var(--leaf-d);display:block}.timeline h3{font-size:1.15rem;margin:.1rem 0 .2rem}.timeline p{margin:0;color:var(--mute);font-size:.97rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.gallery figure{margin:0;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.gallery .m{aspect-ratio:16/10;background:#0b1b16;position:relative}
.gallery .m img,.gallery .m video,.gallery .m iframe{width:100%;height:100%;object-fit:cover;border:0;display:block}
.gallery button.zoom{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.gallery figcaption{padding:.7rem .9rem;font-size:.93rem;color:var(--mute)}.gallery figcaption b{display:block;color:var(--ink);font:700 .78rem var(--f-b);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem}
.drivebox iframe{width:100%;height:520px;border:1px solid var(--line);border-radius:10px;background:#fff}
.creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem}
.creds article{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.creds img{width:100%;aspect-ratio:4/3;object-fit:cover}.creds div{padding:1.1rem}
.creds h3{font-size:1.1rem;margin-bottom:.2rem}.creds p{margin:0;font-size:.93rem;color:var(--mute)}
.lb{position:fixed;inset:0;background:rgba(5,14,11,.92);display:none;place-items:center;z-index:90;padding:4vw}.lb.on{display:grid}
.lb img{max-height:84vh;max-width:100%;width:auto;border-radius:6px}.lb p{color:#cfe1d8;text-align:center;margin:.8rem auto 0}
.lb button{position:absolute;top:14px;right:18px;background:#fff;border:0;border-radius:var(--r);padding:.5rem .9rem;font:700 .95rem var(--f-b);cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin:0;padding:0;list-style:none}
.stats li{border-top:3px solid #9bc85a;padding-top:.8rem}.stats strong{display:block;font:800 clamp(1.8rem,3.4vw,2.6rem) var(--f-d);color:#fff;line-height:1}.stats span{font-size:.95rem;color:#b5cdc0}
.qnav{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.6rem}
.qnav a{color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:.4rem .9rem;text-decoration:none;font-weight:600;font-size:.92rem}.qnav a:hover{background:rgba(255,255,255,.14);color:#fff}
@media(max-width:1240px){.burger{display:block}nav.main{position:absolute;inset:76px 0 auto 0;background:var(--ink);border-bottom:1px solid #29463a;display:none;padding:.6rem 4%}nav.main.open{display:block}nav.main ul{flex-direction:column;align-items:stretch}nav.main a.cta{margin:.4rem 0 0;text-align:center}}
