/* BROTH UNIT — "Off-White / Nike / Tactical" System */
:root{
  --bg:#0a0b0d;
  --ink:#e8ecf4;
  --dim:#a8b0c3;
  --muted:#7b849a;
  --line:rgba(255,255,255,.12);
  --glass:rgba(255,255,255,.05);
  --accent:#76f3ff;
  --safety:#ff5a00;  /* Virgil safety orange */
  --tag:#c7f36b;     /* neon hangtag green */
  --radius:18px;
  --space:clamp(18px, 2.6vw, 36px);
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;color:var(--ink);
  font:15px/1.65 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background:
    radial-gradient(900px 700px at 10% 10%, #111319 0%, transparent 60%),
    radial-gradient(1000px 800px at 90% 20%, #12141c 0%, transparent 60%),
    radial-gradient(1100px 800px at 50% 120%, #0f1117 0%, transparent 60%),
    var(--bg);
}

/* grid overlay & cursor light */
.grid-overlay{position:fixed;inset:0;pointer-events:none;background-image:
  linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 24px 24px, 24px 24px; opacity:.15; z-index:0}
#cursor-light{position:fixed;width:44vw;height:44vw;inset:auto auto 0 0;transform:translate(-50%,-50%);pointer-events:none;filter:blur(40px);opacity:.5;z-index:0;
  background: radial-gradient(closest-side, rgba(198,255,110,.12), transparent 70%);}

/* header */
.site-header{
  position:fixed; inset:0 0 auto 0; display:flex; align-items:center; justify-content:space-between;
  padding:10px var(--space); z-index:1000; background:linear-gradient(to bottom, rgba(10,11,13,.75), rgba(10,11,13,0));
  backdrop-filter:blur(6px); border-bottom:1px solid transparent;
}
.brand{display:flex; align-items:center; gap:12px}
.tag-rect{fill:transparent; stroke:var(--tag); stroke-width:1.2}
.tag-text{font-family:Inter,system-ui,sans-serif; font-size:10px; fill:var(--tag); font-weight:800}
.sublabel{font-size:12px; color:var(--dim); letter-spacing:.12em; text-transform:uppercase}

.site-nav{display:flex; gap:10px}
.chip{display:inline-grid; place-items:center; padding:8px 14px; border-radius:999px; border:1px dashed var(--line); color:var(--ink); text-decoration:none; background:var(--glass)}
.chip-cta{border-style:solid; border-color:var(--safety); color:var(--safety)}

/* hero */
.fullvh{min-height:100svh; display:grid; place-items:center; position:relative; overflow:hidden}
.hero-inner{text-align:center; max-width:980px; padding:0 var(--space); position:relative; z-index:2}
.mega{font-weight:900; font-size:clamp(34px, 6vw, 86px); line-height:1.02; letter-spacing:-.01em; margin:0 0 10px}
.kicker{color:var(--dim); margin:0 0 22px}
.cta-row{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}
.btn{appearance:none; border:1px solid var(--line); background:var(--glass); color:var(--ink); padding:12px 16px; border-radius:12px; cursor:pointer; text-decoration:none}
.btn.primary{border-color:var(--tag); box-shadow: 0 0 0 2px rgba(199,243,107,.12) inset}
.btn.ghost{border-color:var(--line)}

.spec{display:grid; gap:6px}
.spec .key{display:inline-block; min-width:88px; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; font-size:11px}
.spec .val{font-weight:700}

.corner{position:absolute; color:var(--muted); text-transform:uppercase; font-size:11px; letter-spacing:.15em}
.corner b{display:block; color:var(--ink); letter-spacing:.12em}
.corner--tl{left:18px; top:70px}
.corner--tr{right:18px; top:70px}

/* obelisk / tactical tape */
.obelisk{position:absolute; inset:0; display:grid; place-items:center; z-index:1; pointer-events:none}
.obelisk .panel{position:absolute; width:min(26vw,340px); height:min(56vw,720px); border-radius:12px; backdrop-filter:blur(8px);
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.02)),
              linear-gradient(120deg, rgba(199,243,107,.22), rgba(199,243,107,.05));
  border:1px solid rgba(255,255,255,.16); box-shadow: inset 0 0 120px rgba(199,243,107,.12), 0 40px 120px rgba(0,0,0,.35);
}
.p1{transform:translateZ(40px)} .p2{transform:rotateY(90deg) translateZ(40px)} .p3{transform:rotateY(180deg) translateZ(40px)} .p4{transform:rotateY(-90deg) translateZ(40px)}
.obelisk .tape{position:absolute; transform:rotate(-12deg); top:26%; left:52%; background:var(--safety); color:#000; padding:4px 10px; font-weight:900; letter-spacing:.12em}
.obelisk .arrow{position:absolute; right:10%; bottom:18%; font-size:42px; color:var(--safety)}

/* sections */
.chamber{padding:calc(var(--space) * 5) var(--space); max-width:1400px; margin:0 auto; position:relative; z-index:2}
.section-head{max-width:900px; margin:0 auto 20px; text-align:center}
.section-head h2{font-size:clamp(18px,2.4vw,28px); margin:0 0 6px}
.section-head p{color:var(--dim); margin:0}

/* reel */
.reel-frame{position:relative; border-radius:16px; border:1px dashed var(--line); background:rgba(255,255,255,.03); overflow:hidden}
.reel-frame video{width:100%; height:auto; display:block; background:#000}
.reel-label{position:absolute; left:12px; top:10px; background:#000; color:var(--tag); font-weight:800; font-size:12px; padding:4px 8px; border:1px solid rgba(199,243,107,.35)}
.strap{position:absolute; right:-80px; top:24px; transform:rotate(24deg); background:var(--safety); color:#000; font-weight:900; padding:6px 18px; letter-spacing:.12em}
.badges{list-style:none; display:flex; gap:8px; padding:10px 0 0; margin:0; flex-wrap:wrap}
.badge{border:1px solid var(--line); background:var(--glass); padding:8px 12px; border-radius:10px; font-weight:700; color:var(--ink)}

/* work cards */
.work-card{display:grid; grid-template-columns:1.25fr .75fr; gap:16px; align-items:stretch; border-top:1px solid var(--line); padding-top:18px; margin-top:18px}
.work-media{border-radius:18px; overflow:hidden; border:1px solid var(--line); background:#0f1117; position:relative}
.tag-corner{position:absolute; left:12px; top:12px; background:#000; color:var(--ink); border:1px dashed var(--line); padding:4px 10px; font-size:12px; font-weight:800}
.work-meta h3{margin:0 0 10px; font-size:clamp(18px,2vw,24px)}
.meta-anno{font-weight:900; color:var(--safety); margin-left:8px}
.meta-grid{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.meta-grid span{display:block; color:var(--muted); text-transform:uppercase; font-size:11px; letter-spacing:.12em}
.meta-grid b{font-size:14px}

/* capabilities */
.cap-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.cap-box{border:1px dashed var(--line); background:var(--glass); border-radius:14px; padding:16px}
.cap-box h3{margin:0 0 8px; font-size:14px; letter-spacing:.12em}
.list{margin:0; padding-left:18px}
.cap-spec .spec .key{min-width:84px}

.ticker{display:flex; gap:24px; margin-top:18px; color:var(--muted); text-transform:uppercase; letter-spacing:.15em; overflow:auto; white-space:nowrap}

/* contact */
.contact-form{display:grid; gap:12px; max-width:820px; margin:0 auto}
.contact-form .row{display:grid; gap:12px; grid-template-columns:1fr 1fr}
.contact-form label{display:grid; gap:6px; color:var(--ink); font-weight:700; font-size:13px}
.contact-form input, .contact-form textarea{
  width:100%; padding:12px 14px; border-radius:10px; background:#0f131a; color:var(--ink);
  border:1px solid var(--line); outline:none;
}
.alt{color:var(--dim); margin:8px 0 0}

.site-footer{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:28px var(--space); border-top:1px solid var(--line); color:var(--dim)}

/* reveal */
.reveal{opacity:0; transform:translateY(12px); transition: opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1; transform:none}

/* responsive */
@media (max-width: 1000px){
  .work-card{grid-template-columns:1fr}
  .meta-grid{grid-template-columns:1fr 1fr}
  .cap-grid{grid-template-columns:1fr 1fr}
  .corner--tl,.corner--tr{display:none}
}
@media (max-width: 640px){
  .meta-grid{grid-template-columns:1fr}
  .cta-row{justify-content:stretch}
  .chip{padding:8px 12px}
  .cap-grid{grid-template-columns:1fr}
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation:none!important; transition:none!important}
  html{scroll-behavior:auto}
  #cursor-light{display:none}
}
