
:root{
  --ft-black:#000000;
  --ft-black-2:#0a0a0a;
  --ft-charcoal:#555555;
  --ft-charcoal-dim:#2a2a2a;
  --ft-white:#F2F2F2;
  --ft-white-dim:#8a8a8a;
  --ft-red:#FF2028;
  --ft-red-dim:#5c0f13;

  --space-1:4px; --space-2:8px; --space-3:16px; --space-4:24px;
  --space-5:40px; --space-6:64px; --space-7:96px; --space-8:140px;

  --container:1200px;
  --border:1px solid var(--ft-charcoal-dim);
  --ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ft-black);
  color:var(--ft-white);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.nav-open{overflow:hidden;}
::selection{background:var(--ft-red); color:var(--ft-black);}

.wrap{max-width:var(--container); margin:0 auto; padding:0 var(--space-4);}
/* editorial asymmetry: content drifts off-center on wide viewports, tracking
   where the 3D object is composed for that section's state (see JS STATES) */
.wrap.push-left{margin-right:9vw;}
.wrap.push-right{margin-left:9vw;}

h1,h2,h3,.display{
  font-family:'Oswald',sans-serif;
  font-weight:600;
  letter-spacing:0.01em;
  text-transform:uppercase;
  line-height:1.05;
}

.mono{font-family:'JetBrains Mono',monospace;}

a{color:inherit; text-decoration:none;}

/* ---------- STATUS DOT ---------- */
.status-dot{
  width:6px; height:6px; background:var(--ft-red);
  display:inline-block; border-radius:50%;
  box-shadow:0 0 8px var(--ft-red);
  animation:pulse 2.2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}

/* ---------- NAV ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  border-bottom:1px solid transparent;
  transition:background .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s var(--ease);
}
header.scrolled{
  background:rgba(0,0,0,0.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ft-charcoal-dim);
}
nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:var(--space-3) var(--space-4);
  max-width:var(--container); margin:0 auto;
  position:relative; z-index:2;
}
.logo{
  font-family:'Oswald',sans-serif; font-weight:700; font-size:18px;
  letter-spacing:.02em; text-transform:uppercase;
  display:flex; align-items:center; gap:2px;
}
.logo .brk{color:var(--ft-red);}
.nav-links{display:flex; gap:var(--space-5); align-items:center;}
.nav-links a{
  font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ft-white-dim); position:relative; padding-bottom:4px;
}
.nav-links a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--ft-red); transition:width .3s var(--ease);
}
.nav-links a:hover{color:var(--ft-white);}
.nav-links a:hover::after{width:100%;}
.nav-cta{
  border:1px solid var(--ft-red); color:var(--ft-white)!important;
  padding:8px 16px; font-size:11px!important; letter-spacing:.14em!important;
}
.nav-cta:hover{background:var(--ft-red); color:var(--ft-black)!important;}
.nav-cta::after{display:none;}
.mobile-toggle{
  display:none; background:none; border:1px solid var(--ft-charcoal); color:var(--ft-white);
  font-size:16px; width:38px; height:38px; cursor:pointer; position:relative; z-index:102;
}
.mobile-toggle .bar{display:block; width:16px; height:1px; background:var(--ft-white); margin:4px auto; transition:transform .25s var(--ease), opacity .25s var(--ease);}
.mobile-toggle[aria-expanded="true"] .bar:nth-child(1){transform:translateY(5px) rotate(45deg);}
.mobile-toggle[aria-expanded="true"] .bar:nth-child(2){opacity:0;}
.mobile-toggle[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

/* ---------- HERO ---------- */
.hero{
  min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  position:relative; padding:140px var(--space-4) var(--space-7);
  border-bottom:var(--border);
  background:
    linear-gradient(var(--ft-charcoal-dim) 1px, transparent 1px) 0 0/100% 64px,
    linear-gradient(90deg, var(--ft-charcoal-dim) 1px, transparent 1px) 0 0/64px 100%;
  background-color:var(--ft-black);
}
.hero::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 62% 45%, rgba(0,0,0,0) 0%, var(--ft-black) 78%);
  pointer-events:none;
}
.hero-inner{
  max-width:var(--container); margin:0 auto; width:100%;
  position:relative; z-index:2;
}
.eyebrow{
  font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.14em;
  color:var(--ft-red); text-transform:uppercase; margin-bottom:var(--space-3);
  display:flex; align-items:center; gap:8px;
  overflow:hidden;
}
.hero h1{font-size:clamp(42px,6vw,84px); margin-bottom:var(--space-4); overflow:hidden;}
.hero h1 span.line{display:block; overflow:hidden;}
.hero h1 span.line em{display:block; font-style:normal;}
.hero h1 .red{color:var(--ft-red);}
.hero p.desc{
  max-width:480px; color:var(--ft-white-dim); font-size:17px; margin-bottom:var(--space-5);
}
.cta-row{display:flex; gap:var(--space-3); flex-wrap:wrap;}
.btn{
  font-family:'Inter',sans-serif; font-weight:600; font-size:13px;
  letter-spacing:.08em; text-transform:uppercase;
  padding:14px 26px; clip-path:polygon(0 0,100% 0,100% 70%,94% 100%,0 100%);
  transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease);
  display:inline-block;
}
.btn-primary{background:var(--ft-red); color:var(--ft-black);}
.btn-primary:hover{transform:translateY(-2px); background:#ff444c;}
.btn-ghost{border:1px solid var(--ft-charcoal); color:var(--ft-white);}
.btn-ghost:hover{border-color:var(--ft-white); transform:translateY(-2px);}

/* ---------- HERO INIT SEQUENCE (~1.4s, non-blocking) ---------- */
#initOverlay{
  position:fixed; inset:0; z-index:60; pointer-events:none;
  display:flex; align-items:center; justify-content:center;
  background:var(--ft-black);
}
#initOverlay .init-text{
  font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.14em;
  color:var(--ft-white-dim); text-align:center; text-transform:uppercase;
}
#initOverlay .init-logo{
  width:min(150px,32vw); height:auto; display:block; margin:0 auto var(--space-4); opacity:0;
}
#initOverlay .init-text .accent{color:var(--ft-red);}
#initOverlay .init-line{opacity:0; margin-bottom:8px;}

/* ---------- GLITCH FLASH (fires once, at the instant FAIL begins) ---------- */
#glitchFlash{
  position:fixed; inset:0; z-index:55; pointer-events:none; opacity:0;
  background:
    repeating-linear-gradient(0deg, rgba(255,32,40,.08) 0 2px, transparent 2px 4px);
  mix-blend-mode:screen;
}

/* ---------- THREE.JS SCENE LAYER ---------- */
#scene-canvas{
  position:fixed; inset:0; width:100%; height:100%;
  z-index:0; pointer-events:none;
}
#scene-fallback{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  display:none; align-items:center; justify-content:center;
}
#scene-fallback svg{width:min(50vw,420px); opacity:.5;}

/* HUD: persistent status readout, fixed to viewport */
.scene-hud{
  position:fixed; right:var(--space-4); bottom:var(--space-4); z-index:5;
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em;
  text-align:right; pointer-events:none; transition:opacity .3s ease;
}
.scene-hud .state-label{color:var(--ft-red); display:block;}
.scene-hud .state-id{color:var(--ft-white-dim); display:block; font-size:10px; margin-top:3px;}

/* Diagnostic annotations: HTML labels projected from 3D anchors, plus an SVG
   layer for the thin connector lines drawn between anchor and label. */
#diagSvg{position:fixed; inset:0; width:100%; height:100%; z-index:4; pointer-events:none;}
#diagSvg line{stroke:var(--ft-charcoal); stroke-width:1; opacity:0; transition:stroke .3s ease, opacity .3s ease;}
#diagSvg line.is-fault{stroke:var(--ft-red);}
.diag-label{
  position:fixed; z-index:4; transform:translate(-50%,-50%); pointer-events:none;
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.08em;
  color:var(--ft-white-dim); white-space:nowrap; opacity:0; transition:opacity .35s ease;
  text-align:left;
}
.diag-label .k{display:block; color:var(--ft-white);}
.diag-label .v{display:block; font-size:9px; margin-top:2px;}
.diag-label.is-fault .k{color:var(--ft-red);}
.diag-label.is-visible{opacity:.85;}

/* content sections sit above the canvas; editorial scrims keep text legible
   while leaving negative space where the model should read through */
section, header, footer{position:relative; z-index:2;}
.hero{background-color:var(--ft-black);}

section:not(.hero)::before{
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse var(--scrim-w,72%) 100% at var(--scrim-x,50%) 50%,
    rgba(0,0,0,.97) var(--scrim-stop,52%), rgba(0,0,0,.55) 84%, rgba(0,0,0,0) 100%);
}
#research::before{ --scrim-x:40%; --scrim-w:64%; --scrim-stop:50%; }
#reports::before{ --scrim-x:56%; --scrim-w:82%; --scrim-stop:44%; }
#lab::before{ --scrim-x:34%; --scrim-w:52%; --scrim-stop:58%; }
#training::before{ --scrim-x:50%; --scrim-w:68%; --scrim-stop:52%; }
.loop-section::before{ --scrim-x:50%; --scrim-w:86%; --scrim-stop:58%; }
footer{background:linear-gradient(rgba(0,0,0,.85),rgba(0,0,0,.97));}

/* ---------- SECTION SCAFFOLD ---------- */
section{padding:var(--space-8) 0; border-bottom:var(--border); position:relative;}
.section-head{margin-bottom:var(--space-6); display:flex; justify-content:space-between; align-items:flex-end; gap:var(--space-4); flex-wrap:wrap;}
.section-tag{
  font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--ft-red);
  letter-spacing:.14em; text-transform:uppercase; margin-bottom:var(--space-2);
  display:flex; align-items:center; gap:8px;
}
.section-title{font-size:clamp(28px,3.4vw,44px); overflow:hidden;}
.section-title span{display:block;}
.section-sub{color:var(--ft-white-dim); max-width:440px; font-size:15px;}

/* ---------- RESEARCH AREAS (numbered rows) ---------- */
.row{
  display:grid; grid-template-columns:80px 1fr 140px 120px; gap:var(--space-4);
  align-items:center; padding:var(--space-5) 0; border-top:var(--border);
  transition:background .3s var(--ease);
}
.row:last-child{border-bottom:var(--border);}
.row:hover{background:rgba(255,32,40,0.03);}
.row-num{font-family:'JetBrains Mono',monospace; color:var(--ft-charcoal); font-size:14px;}
.row-title{font-family:'Oswald',sans-serif; font-size:20px; text-transform:uppercase; letter-spacing:.01em; margin-bottom:6px;}
.row-desc{color:var(--ft-white-dim); font-size:14px; max-width:560px;}
.row-status{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; color:var(--ft-white-dim); text-align:right;}
.row-status.active{color:var(--ft-red);}
.row-arrow{text-align:right; font-size:20px; color:var(--ft-charcoal); transition:transform .3s var(--ease), color .3s var(--ease);}
.row:hover .row-arrow{color:var(--ft-red); transform:translateX(4px);}

/* ---------- RESEARCH DOSSIER CARDS ---------- */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--ft-charcoal-dim); border:var(--border);}
.dossier{
  background:var(--ft-black); padding:var(--space-4); display:flex; flex-direction:column; gap:var(--space-3);
  transition:background .3s var(--ease); position:relative;
}
.dossier::before{content:''; position:absolute; top:0; left:0; width:var(--lineW,0%); height:2px; background:var(--ft-red);}
.dossier:hover{background:var(--ft-black-2);}
.dossier-id{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ft-red); letter-spacing:.08em;}
.dossier-title{font-family:'Oswald',sans-serif; font-size:19px; text-transform:uppercase; line-height:1.2;}
.tag-row{display:flex; gap:6px; flex-wrap:wrap;}
.tag{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.06em; border:1px solid var(--ft-charcoal); padding:3px 8px; color:var(--ft-white-dim);}
.dossier-meta{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ft-charcoal); border-top:var(--border); padding-top:var(--space-3);}
.dossier-abstract{font-size:13.5px; color:var(--ft-white-dim); flex-grow:1;}
.read-link{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ft-white); font-weight:600; margin-top:auto;}
.read-link:hover{color:var(--ft-red);}

/* ---------- LAB ---------- */
.lab-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--ft-charcoal-dim); border:var(--border);}
.lab-card{background:var(--ft-black); padding:var(--space-5); position:relative; min-height:220px; display:flex; flex-direction:column; justify-content:space-between;}
.lab-card::before{content:''; position:absolute; top:0; left:0; width:0; height:2px; background:var(--ft-red); transition:width .4s var(--ease);}
.lab-card:hover::before{width:100%;}
.lab-status{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; color:var(--ft-red); margin-bottom:var(--space-3);}
.lab-title{font-family:'Oswald',sans-serif; font-size:22px; text-transform:uppercase; margin-bottom:var(--space-2);}
.lab-desc{color:var(--ft-white-dim); font-size:14px;}

/* ---------- TRAINING ---------- */
.training-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4);}
.training-card{border:var(--border); padding:var(--space-4); clip-path:polygon(0 0,100% 0,100% 92%,92% 100%,0 100%); background:rgba(0,0,0,.4);}
.training-card h3{font-size:18px; margin-bottom:var(--space-2);}
.training-card p{color:var(--ft-white-dim); font-size:14px;}

/* ---------- METHODOLOGY LOOP ---------- */
.loop-section{text-align:center;}
.loop-chain{
  display:flex; align-items:center; justify-content:center; gap:var(--space-3);
  font-family:'Oswald',sans-serif; font-size:clamp(18px,3vw,32px); text-transform:uppercase;
  flex-wrap:wrap; margin:var(--space-6) 0;
}
.loop-chain span.node{color:var(--ft-white);}
.loop-chain span.node.fail{color:var(--ft-red);}
.loop-chain span.arrow{color:var(--ft-charcoal); font-size:.6em;}
.loop-stages{display:grid; grid-template-columns:repeat(5,1fr); gap:var(--space-3); text-align:left; margin-top:var(--space-6);}
.loop-stage{border-top:2px solid var(--ft-charcoal); padding-top:var(--space-3); position:relative;}
.loop-stage::before{content:''; position:absolute; top:-2px; left:0; width:var(--lineW,0%); height:2px; background:var(--ft-red);}
.loop-stage.is-fail{border-top-color:var(--ft-red);}
.loop-stage h4{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.1em; color:var(--ft-white-dim); margin-bottom:6px;}
.loop-stage p{font-size:13px; color:var(--ft-white-dim);}

/* ---------- FOOTER ---------- */
footer{padding:var(--space-6) 0 var(--space-4);}
.footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:var(--space-5); padding-bottom:var(--space-6);}
.footer-brand .logo{margin-bottom:var(--space-3);}
.footer-logo{width:min(150px,40vw); height:auto; display:block; margin-bottom:var(--space-3);}
.footer-brand p{color:var(--ft-white-dim); font-size:13px; max-width:260px;}
.footer-col h5{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; color:var(--ft-white-dim); margin-bottom:var(--space-3);}
.footer-col a{display:block; font-size:13.5px; color:var(--ft-white); margin-bottom:10px;}
.footer-col a:hover{color:var(--ft-red);}
.footer-bottom{
  border-top:var(--border); padding-top:var(--space-4);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--space-3);
  font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ft-charcoal); letter-spacing:.06em;
}
.footer-bottom .status{color:var(--ft-red); display:flex; align-items:center; gap:6px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .wrap.push-left, .wrap.push-right{margin-left:auto; margin-right:auto;}
  .card-grid, .lab-grid, .training-grid{grid-template-columns:1fr;}
  .loop-stages{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .mobile-toggle{display:block;}
  .diag-label{display:none;}

  .nav-links{
    position:fixed; inset:0 0 0 auto; width:min(78vw,320px); height:100vh;
    background:rgba(0,0,0,.98); border-left:var(--border);
    display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
    gap:var(--space-4); padding:var(--space-6);
    transform:translateX(100%); transition:transform .35s var(--ease);
    z-index:101;
  }
  .nav-links.is-open{transform:translateX(0);}
  .nav-links a{font-size:15px;}

  .row{grid-template-columns:40px 1fr; row-gap:8px;}
  .row-status, .row-arrow{display:none;}
  section:not(.hero)::before{ --scrim-w:100%; --scrim-stop:70%; }
}
@media (max-width:520px){
  .loop-stages{grid-template-columns:1fr 1fr;}
  .footer-top{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .status-dot{animation:none;}
}

/* ==========================================================================
   ARTICLE TEMPLATE (single research report)
   ========================================================================== */
.article-header{padding:160px 0 var(--space-6); border-bottom:var(--border);}
.article-kicker{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.14em; color:var(--ft-red); margin-bottom:var(--space-2);}
.article-id{font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--ft-white-dim); margin-bottom:var(--space-3); display:block;}
.article-title{font-size:clamp(30px,4.6vw,56px); max-width:900px; margin-bottom:var(--space-4);}
.article-tags{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:var(--space-5);}

.meta-panel{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--ft-charcoal-dim); border:var(--border);
}
.meta-cell{background:var(--ft-black); padding:var(--space-3);}
.meta-cell .k{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; color:var(--ft-white-dim); display:block; margin-bottom:4px;}
.meta-cell .v{font-family:'Inter',sans-serif; font-size:14px; font-weight:600;}
.meta-cell .v.status-published{color:var(--ft-red);}

.article-body{padding:var(--space-7) 0; max-width:760px; margin:0 auto;}
.article-body h2{
  font-size:26px; margin:var(--space-6) 0 var(--space-3);
  display:flex; align-items:baseline; gap:12px;
}
.article-body h2 .num{font-family:'JetBrains Mono',monospace; color:var(--ft-red); font-size:16px;}
.article-body h3{font-size:19px; margin:var(--space-5) 0 var(--space-2); text-transform:none; font-family:'Inter',sans-serif; font-weight:700;}
.article-body p{color:var(--ft-white-dim); margin-bottom:var(--space-3); font-size:16px; line-height:1.75;}
.article-body strong{color:var(--ft-white);}
.article-body a{color:var(--ft-red); text-decoration:underline; text-underline-offset:3px;}
.article-body ul, .article-body ol{color:var(--ft-white-dim); margin:0 0 var(--space-3) 20px;}
.article-body img{width:100%; display:block; margin:var(--space-4) 0; border:var(--border);}
.article-body figcaption{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--ft-white-dim); margin-top:8px;}

.article-body code{font-family:'JetBrains Mono',monospace; font-size:.9em; background:var(--ft-black-2); padding:2px 6px; border:1px solid var(--ft-charcoal-dim);}
.article-body pre{
  background:var(--ft-black-2); border:var(--border); padding:var(--space-4);
  overflow-x:auto; margin:var(--space-4) 0; font-family:'JetBrains Mono',monospace; font-size:13px; line-height:1.6;
}
.article-body pre code{background:none; border:none; padding:0;}

.article-body table{width:100%; border-collapse:collapse; margin:var(--space-4) 0; font-size:14px;}
.article-body th, .article-body td{border:var(--border); padding:10px 12px; text-align:left;}
.article-body th{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; color:var(--ft-white-dim); text-transform:uppercase;}

.article-body blockquote{
  border-left:2px solid var(--ft-red); padding:var(--space-2) var(--space-4);
  margin:var(--space-4) 0; color:var(--ft-white); font-style:normal; font-size:17px;
}

.callout{border:var(--border); border-left:3px solid var(--ft-charcoal); padding:var(--space-3) var(--space-4); margin:var(--space-4) 0;}
.callout .callout-label{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; color:var(--ft-white-dim); margin-bottom:6px; display:block;}
.callout.finding{border-left-color:var(--ft-red);}
.callout.finding .callout-label{color:var(--ft-red);}
.callout.warning{border-left-color:var(--ft-red); background:rgba(255,32,40,0.05);}
.callout.warning .callout-label{color:var(--ft-red);}

.references{list-style:none; margin:0; padding:0; font-size:13.5px; color:var(--ft-white-dim);}
.references li{border-top:var(--border); padding:var(--space-2) 0;}

/* ==========================================================================
   ARCHIVES (research / labs index)
   ========================================================================== */
.archive-header{padding:160px 0 var(--space-5); border-bottom:var(--border);}
.archive-grid-wrap{padding:var(--space-6) 0;}
.pagination{display:flex; gap:var(--space-3); justify-content:center; padding:var(--space-6) 0; font-family:'JetBrains Mono',monospace; font-size:13px;}
.pagination a, .pagination span{border:var(--border); padding:8px 14px;}
.pagination a:hover{border-color:var(--ft-red); color:var(--ft-red);}

/* ==========================================================================
   404 / SEARCH
   ========================================================================== */
.error-page{min-height:100svh; display:flex; align-items:center; padding:160px 0;}
.error-code{font-family:'JetBrains Mono',monospace; color:var(--ft-red); font-size:14px; letter-spacing:.14em; margin-bottom:var(--space-3);}
.error-title{font-size:clamp(32px,5vw,56px); margin-bottom:var(--space-3);}
.error-desc{color:var(--ft-white-dim); max-width:480px; margin-bottom:var(--space-5);}

.search-form{display:flex; gap:0; border:var(--border); margin-bottom:var(--space-6);}
.search-form input[type="search"]{
  flex:1; background:none; border:none; color:var(--ft-white); padding:14px 16px;
  font-family:'Inter',sans-serif; font-size:15px;
}
.search-form input[type="search"]:focus{outline:none;}
.search-form button{background:var(--ft-red); border:none; color:var(--ft-black); padding:0 20px; font-weight:600; text-transform:uppercase; font-size:12px; letter-spacing:.08em; cursor:pointer;}
.search-result{border-top:var(--border); padding:var(--space-4) 0;}
.search-result:last-child{border-bottom:var(--border);}
.search-result h2{font-size:20px; margin-bottom:6px;}
.search-result p{color:var(--ft-white-dim); font-size:14px;}

:focus-visible{outline:2px solid var(--ft-red); outline-offset:2px;}
