@font-face{font-family:"Inter";src:url(inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(intertight.woff2) format("woff2");font-weight:100 900;font-display:swap}
/* One Defense — editorial, black-first visual system */
:root{--bg:#000;--bg-alt:#0b0b0b;--panel:#111;--line:rgba(255,255,255,.16);--text:#fff;--muted:#9a9a9a;--red:#e8e8e8;--accent:#cfd3d1;
--sans:"Inter","Helvetica Neue",Arial,sans-serif;--mono:"Inter","Helvetica Neue",Arial,sans-serif;--display:"Inter Tight","Inter",Arial,sans-serif;--gray:#8d9391}
body{background:#000;font-family:var(--sans);letter-spacing:-.01em}
.strip,.scrollcue,.ticker,.launch-stage,.brand .sub,.classification{display:none!important}
/* nav */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(#000a,#0000);border:0;backdrop-filter:none}
.nav-inner{max-width:none;padding:18px 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:auto}
.brand{display:flex;align-items:center;gap:10px}
.brand img{width:26px;height:26px;object-fit:cover;filter:invert(0)}
.brand .name{font-weight:800;font-size:18px;letter-spacing:-.02em;text-transform:uppercase}
.site-nav .links{display:flex;gap:30px;justify-content:center}
.site-nav .links a{font-size:14px;font-weight:500;color:#fff;padding:0;border:0;opacity:.9}
.site-nav .links a:hover,.site-nav .links a.active{opacity:1;text-decoration:underline;text-underline-offset:6px}
.site-nav .links a.active{border:0}
.navbtns{display:flex;gap:22px;justify-content:flex-end;align-items:center}
.searchbtn{border:0!important;background:none!important;width:auto;height:auto;color:#fff}
.btn,.btn.primary,.btn.ghost{font-family:var(--sans);text-transform:none;letter-spacing:-.005em;font-size:14px;font-weight:500;border-radius:3px;padding:11px 20px}
.btn.primary{background:#fff;color:#000;border:1px solid #fff}
.btn.primary:hover{background:#d9d9d9}
.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}
.btn.ghost:hover{background:#fff;color:#000}
.navbtns .btn{background:none;border:0;color:#fff;padding:0}
.navbtns .btn:hover{background:none;text-decoration:underline;text-underline-offset:6px}
/* type */
h1,h2,h3,h4{font-family:var(--sans)}
.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#fff;font-weight:600}
.eyebrow::before{display:none}
.h2{font-size:clamp(40px,6vw,88px);line-height:.92;letter-spacing:-.045em;font-weight:700;text-transform:uppercase}
.sub,.lede{color:#c9c9c9}
.tag{font-family:var(--sans);letter-spacing:.02em;text-transform:uppercase;font-size:11px;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:2px}
.card{background:#0e0e0e;border:1px solid var(--line);border-radius:4px}
.card .num,.stat .label,.who{font-family:var(--sans);letter-spacing:.02em}
.imgcard{border-radius:4px;border:0;overflow:hidden}
section.alt{background:var(--gray);color:#000}
.link,.btn{border-radius:3px}
footer{background:#000;border-top:1px solid var(--line)}
footer h5{font-family:var(--sans);text-transform:uppercase;letter-spacing:.02em;font-size:12px}
.a11y-btn{background:#fff;color:#000}
/* HOME */
.hero{min-height:100vh;display:block;position:relative;padding:0}
.hero-bg{position:absolute;inset:60px 28px auto 28px;height:calc(100vh - 60px);border-radius:0;overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(#0000 40%,#000 100%),linear-gradient(90deg,#000a,#0000 60%)}
.hero-content{position:absolute;left:28px;right:28px;bottom:70px;max-width:none;padding:0}
.hero h1{font-size:clamp(48px,9.4vw,168px);line-height:.86;letter-spacing:-.055em;font-weight:700;text-transform:uppercase;margin:0 0 28px;max-width:14ch}
.hero h1 span{color:#fff}
.hero .eyebrow{display:none}
.hero .lede{font-size:13px;text-transform:uppercase;font-weight:600;letter-spacing:0;max-width:340px;color:#fff;margin:0 0 22px}
.hero .ctas{display:flex;gap:12px}
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 28px 120px}
.tile{position:relative;overflow:hidden;border-radius:4px;min-height:360px;background:#111;display:block}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.tile:hover img{transform:scale(1.04)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(#0000 55%,#000b)}
.tile span{position:absolute;left:18px;bottom:16px;z-index:2;font-weight:700;font-size:22px;letter-spacing:-.02em}
.tile.wide{grid-column:span 3;min-height:520px}
.tile.two{grid-column:span 2}
.tile.tall{grid-row:span 2}
.tile.art{background:radial-gradient(circle at 70% 30%,#2a5a70,#06141c 70%)}
.tile.art2{background:radial-gradient(circle at 30% 70%,#b86a1a,#1a0c02 70%)}
.tile.art3{background:linear-gradient(135deg,#0d2f3a,#031016)}
.intro{padding:140px 28px 100px}
.intro h2{font-size:clamp(36px,5.6vw,92px);line-height:.92;letter-spacing:-.045em;font-weight:700;text-transform:uppercase;max-width:15ch;margin:0 0 30px}
.intro p{max-width:420px;font-size:13px;text-transform:uppercase;font-weight:600;color:#cfcfcf}
.rows{background:var(--gray);color:#000;padding:30px 28px 90px}
.prow{display:grid;grid-template-columns:1fr 2fr;gap:30px;border-top:1px solid #0006;padding:40px 0 30px;align-items:end;color:#000}
.prow h3{font-size:clamp(40px,5vw,76px);letter-spacing:-.045em;line-height:.95;margin:0;font-weight:600}
.prow .cap2{font-size:11px;text-transform:uppercase;font-weight:600;margin-top:90px;max-width:260px}
.prow .pic{height:190px;border-radius:3px;overflow:hidden;background:#111}
.prow .pic img{width:100%;height:100%;object-fit:cover}
.statsbar{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:90px 28px;border-top:1px solid var(--line)}
.statsbar b{display:block;font-size:clamp(44px,6vw,96px);letter-spacing:-.05em;font-weight:700;line-height:.95}
.statsbar span{font-size:11px;text-transform:uppercase;font-weight:600;color:#bbb}
.news{padding:100px 28px}
.news h2{font-size:clamp(36px,5vw,80px);letter-spacing:-.045em;text-transform:uppercase;line-height:.92;margin:0 0 40px;font-weight:700}
.news .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.news .tile{min-height:420px}
.news .tile small{position:absolute;left:18px;top:16px;z-index:2;font-size:11px;font-weight:600;text-transform:uppercase}
.news .tile span{font-size:19px;right:18px}
.cta{padding:140px 28px;border-top:1px solid var(--line)}
.cta h2{font-size:clamp(44px,8vw,140px);letter-spacing:-.055em;line-height:.86;text-transform:uppercase;margin:0 0 34px;font-weight:700;max-width:12ch}
@media(max-width:800px){.nav-inner{grid-template-columns:1fr auto}.site-nav .links{display:none}.bento,.news .grid,.statsbar{grid-template-columns:1fr}.tile.wide,.tile.two{grid-column:auto}.prow{grid-template-columns:1fr}.hero-bg{inset:56px 12px auto}}


/* bug fixes */
.site-nav{border-bottom:0!important;background:linear-gradient(#000d,#0000)!important}
.site-nav.solid{background:#000e!important;backdrop-filter:blur(10px)}
.hero{height:100vh;min-height:640px}
.hero-bg{inset:0 28px 0 28px;height:auto}
.hero h1{font-size:min(9.4vw,16vh)}
.hero-content{bottom:84px}
.a11y-btn{left:auto!important;right:24px!important;bottom:24px!important}
.a11y-panel{left:auto!important;right:24px!important;bottom:84px!important}
.back-to-top,#backToTop{bottom:84px!important;right:24px!important}
.cookie-banner .row{display:flex;grid-template-columns:none;border:0;padding:0;gap:10px}
.cookie-banner{border-radius:4px}
.tile.art,.tile.art2,.tile.art3{background-image:repeating-linear-gradient(0deg,#ffffff10 0 1px,#0000 1px 36px),repeating-linear-gradient(90deg,#ffffff10 0 1px,#0000 1px 36px),radial-gradient(circle at 70% 30%,#2a5a70,#06141c 70%)}
.tile.art2{background-image:repeating-linear-gradient(0deg,#ffffff12 0 1px,#0000 1px 36px),repeating-linear-gradient(90deg,#ffffff12 0 1px,#0000 1px 36px),radial-gradient(circle at 30% 70%,#b86a1a,#1a0c02 70%)}
.burger{display:none;background:none;border:0;color:#fff;width:34px;height:34px;padding:0;cursor:pointer}
.burger span{display:block;height:2px;background:#fff;margin:6px 6px}
@media(max-width:800px){
 .burger{display:block}
 .nav-inner{grid-template-columns:1fr auto;padding:14px 16px}
 .navbtns{gap:12px}.navbtns .btn{display:none}
 .site-nav .links{display:none;position:fixed;top:56px;left:0;right:0;background:#000;flex-direction:column;gap:0;padding:8px 16px 20px}
 .site-nav .links.open{display:flex}
 .site-nav .links a{padding:16px 0;font-size:22px;border-bottom:1px solid #fff2}
 .hero-bg{inset:0 0}.hero-content{left:16px;right:16px}
 .intro,.news,.cta,.statsbar,.rows,.bento{padding-left:16px;padding-right:16px}
 .tile.wide{min-height:320px}.tile{min-height:260px}
}

.brand img{display:block!important;width:30px!important;height:30px!important;object-fit:contain;background:none}
.foot-brand img{width:34px!important;height:34px!important;background:none}

h1,h2,h3,.hero h1,.h2,.intro h2,.news h2,.cta h2,.prow h3,.statsbar b,.tile span{font-family:var(--display)}
.brand .name{font-family:var(--display);font-weight:700;letter-spacing:.04em;font-size:16px}
.hero h1{font-weight:600;letter-spacing:-.045em}
.h2,.intro h2,.news h2,.cta h2{font-weight:600}
.prow h3{font-weight:500}

.ph{background-image:repeating-linear-gradient(0deg,#ffffff0d 0 1px,#0000 1px 36px),repeating-linear-gradient(90deg,#ffffff0d 0 1px,#0000 1px 36px),radial-gradient(circle at 65% 35%,#243746,#05090d 75%);width:100%}
.tile .ph{position:absolute;inset:0;height:100%}
.imgcard .ph{height:280px}
.prow .pic .ph{height:100%}

.strip2{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 28px 100px}
.strip2 figure{margin:0;position:relative;overflow:hidden;border-radius:4px;height:520px;background:#111}
.strip2 img{width:100%;height:100%;object-fit:cover}
.strip2 figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 20px;background:linear-gradient(#0000,#000c);font-size:13px;color:#ddd}
.strip2 figcaption b{display:block;font-family:var(--display);font-size:24px;color:#fff;margin-bottom:4px;letter-spacing:-.02em}
@media(max-width:800px){.strip2{grid-template-columns:1fr;padding:0 16px 60px}.strip2 figure{height:360px}}

.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}
.pcard{background:#0e0e0e;border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
.pimg{position:relative;height:260px;overflow:hidden;background:#111}
.pimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.pcard:hover .pimg img{transform:scale(1.04)}
.ptag{position:absolute;left:14px;top:14px;font-size:11px;font-weight:600;letter-spacing:.04em;background:#000b;padding:5px 9px;border-radius:2px}
.pbody{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.pbody h3{font-family:var(--display);font-size:30px;letter-spacing:-.03em;margin:0 0 4px;font-weight:600}
.psub{font-size:12px;text-transform:uppercase;font-weight:600;color:#aaa;margin-bottom:14px}
.pbody p{color:#cfcfcf;font-size:15px;line-height:1.6;margin:0 0 18px}
.pbody table{width:100%;border-collapse:collapse;margin-top:auto;font-size:13px}
.pbody td{padding:9px 0;border-top:1px solid var(--line);color:#9a9a9a}
.pbody td+td{text-align:right;color:#fff}
.lineup-home .intro-p{font-size:13px;text-transform:uppercase;font-weight:600;color:#cfcfcf;margin:-20px 0 36px}
.lineup-home .tile{min-height:340px}
.lineup-home .tile small{position:absolute;left:18px;top:16px;z-index:2;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
@media(max-width:900px){.pgrid{grid-template-columns:1fr}}

/* readable text on gray sections */
section.alt, .rows{color:#0a0a0a}
section.alt h1,section.alt h2,section.alt h3,section.alt h4,section.alt h5{color:#000}
section.alt .sub,section.alt .lede,section.alt p,section.alt li,section.alt .mono,section.alt .label,section.alt .who{color:#161616!important}
section.alt .eyebrow,section.alt .num{color:#000!important}
section.alt .tag{color:#000;border-color:#0007;background:transparent}
section.alt .link,section.alt a:not(.btn){color:#000}
section.alt .btn.ghost{color:#000;border-color:#000a}
section.alt .btn.ghost:hover{background:#000;color:#fff}
section.alt .stat .figure{color:#000}
section.alt td{color:#161616}
section.alt table tr{border-color:#0004!important}
/* but keep dark cards light-on-dark inside gray sections */
section.alt .card,section.alt .imgcard,section.alt .pcard,section.alt .testi-wrap{color:#fff}
section.alt .card h1,section.alt .card h2,section.alt .card h3,section.alt .card h4,section.alt .imgcard h4,section.alt .pcard h3{color:#fff}
section.alt .card p,section.alt .card li,section.alt .card .num,section.alt .imgcard p,section.alt .pcard p{color:#d6d6d6!important}
section.alt .card .num,section.alt .imgcard .tag,section.alt .card .tag{color:#fff!important;border-color:#fff5}
section.alt .card a,section.alt .imgcard a{color:#fff}
section.alt .yr,section.alt .code,section.alt .desc,section.alt .cb,section.alt .dot-label,section.alt .tl-year{color:#000!important}
section.alt .desc{color:#161616!important}
section.alt .tl-item,section.alt .timeline *{border-color:#0005}

/* product image placeholders: big red X */
.pimg,.lineup-home .tile{background:#0b0b0b}
.bigx{position:absolute;inset:0;width:100%;height:100%;display:block}
.bigx line{stroke:#e0141e;stroke-width:6;vector-effect:non-scaling-stroke;stroke-linecap:square}
.lineup-home .tile::after{background:linear-gradient(#0000 60%,#000a)}
.pcard:hover .pimg .bigx,.lineup-home .tile:hover .bigx{transform:none}

/* ---- site effects ---- */
.scrollbar{position:fixed;top:0;left:0;right:0;height:2px;background:#fff;transform-origin:0 50%;transform:scaleX(0);z-index:9999;pointer-events:none;mix-blend-mode:difference}
.site-nav{transition:background .3s,backdrop-filter .3s,box-shadow .3s}
.site-nav.scrolled{box-shadow:0 1px 0 rgba(255,255,255,.08),0 8px 30px rgba(0,0,0,.35)}
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.rv.in{opacity:1;transform:none}
.hero-bg{will-change:transform;transform:scale(1.05)}
.tile,.prow{position:relative;overflow:hidden}
.tile::after,.prow::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.10),transparent 60%)}
.tile:hover::after,.prow:hover::after{opacity:1}
.tile img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.tile:hover img{transform:scale(1.045)}
.btn{transition:transform .2s,background .2s,color .2s,border-color .2s}.btn:hover{transform:translateY(-1px)}
#livebar{display:flex;align-items:stretch;background:#000;border-top:1px solid #1d1d1d;border-bottom:1px solid #1d1d1d;font:500 11.5px/1 'Inter',system-ui,sans-serif;letter-spacing:.14em;color:#9aa0a8;overflow:hidden;min-height:46px}
#livebar .lt{display:flex;align-items:center;gap:9px;padding:0 22px;color:#fff;border-right:1px solid #1d1d1d;background:#000;z-index:2;font-weight:700}
#livebar .pulse{width:7px;height:7px;border-radius:50%;background:#fff;animation:pl 1.6s infinite}
@keyframes pl{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6)}70%{box-shadow:0 0 0 9px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
#livebar .lm{flex:1;overflow:hidden;display:flex;align-items:center}
#livebar .ls{display:flex;gap:56px;white-space:nowrap;animation:mq 46s linear infinite;padding-left:40px}
#livebar .ls b{color:#fff;font-weight:600;margin-left:6px}
#livebar:hover .ls{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}#livebar .ls{animation:none}}
#livebar:empty{display:none}
