/* WCC redesign prototype. Motion follows Emil Kowalski's rules: custom ease-out, UI under 300ms, only transform/opacity/clip-path, reduced-motion respected. */
:root{
  --bg:#050505;--bg-2:#0c0c0b;--panel:#111110;--line:#262624;--line-2:#3a3a36;
  --ink:#f3f2ec;--muted:#a3a29a;--dim:#6e6d66;
  --yellow:#fddf00;--yellow-ink:#121000;
  --red:#e5484d;--amber:#f5a524;--orange:#ff7a1a;--grey:#8f8f88;--blue:#6ea8ff;
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);
  --mono:"IBM Plex Mono",ui-monospace,monospace;--sans:"Rubik",system-ui,sans-serif;
  --wrap:min(1240px,100% - 48px);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.65;background:var(--bg);overflow-x:clip}
a{color:inherit;text-decoration:none}
::selection{background:var(--yellow);color:var(--yellow-ink)}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:2px}
.wrap{width:var(--wrap);margin-inline:auto}
.mono{font-family:var(--mono);letter-spacing:.04em}
.skip{position:absolute;inset-inline-start:12px;top:-60px;background:var(--yellow);color:var(--yellow-ink);padding:10px 14px;z-index:100;font-weight:700}
.skip:focus{top:12px}

/* grain overlay */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* classification ticker */
.ticker{height:34px;border-bottom:1px solid var(--line);background:var(--yellow);color:var(--yellow-ink);overflow:hidden;font:500 12px/34px var(--mono);letter-spacing:.14em;direction:ltr}
.ticker-track{display:flex;width:max-content;animation:ticker 40s linear infinite}
.ticker-track span{padding-inline:28px;white-space:nowrap}
.ticker-track span::before{content:"■";margin-inline-end:12px;font-size:8px;vertical-align:2px}
@keyframes ticker{to{transform:translateX(-50%)}}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(5,5,5,.72);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid transparent;transition:border-color 200ms ease,background-color 200ms ease}
.hdr.is-scrolled{border-bottom-color:var(--line);background:rgba(5,5,5,.9)}
.hdr-in{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;gap:12px;font:700 13px/1.05 var(--sans);letter-spacing:.18em;direction:ltr}
.brand-mark{width:36px;height:36px;display:grid;place-items:center;border:1.5px solid var(--ink);font:900 18px var(--sans);letter-spacing:0;transition:background-color 160ms ease,color 160ms ease}
.brand:hover .brand-mark{background:var(--ink);color:var(--bg)}
.brand small{display:block;color:var(--muted);font-weight:500;letter-spacing:.32em;margin-top:3px}
.nav{display:flex;gap:6px;margin-inline-start:auto}
.nav a{position:relative;padding:8px 12px;font-size:15px;color:var(--muted);transition:color 160ms ease}
.nav a::after{content:"";position:absolute;inset-inline:12px;bottom:4px;height:1.5px;background:var(--yellow);transform:scaleX(0);transform-origin:var(--from,right);transition:transform 220ms var(--ease-out)}
.nav a:hover{color:var(--ink)}.nav a:hover::after{transform:scaleX(1)}
.langs{display:flex;border:1px solid var(--line-2);direction:ltr}
.langs a{font:500 12px/1 var(--mono);padding:9px 10px;color:var(--muted);transition:background-color 160ms ease,color 160ms ease}
.langs a[aria-current]{background:var(--yellow);color:var(--yellow-ink)}
.langs a:not([aria-current]):hover{color:var(--ink);background:var(--panel)}

/* buttons */
.btn{--h:52px;display:inline-flex;align-items:center;gap:12px;height:var(--h);padding-inline:22px;font-weight:700;font-size:16px;border:1px solid var(--yellow);background:var(--yellow);color:var(--yellow-ink);position:relative;overflow:hidden;transition:transform 160ms var(--ease-out),background-color 200ms ease,color 200ms ease}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn .arr{transition:transform 220ms var(--ease-out)}
.btn:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
  .btn:hover .arr{transform:translateX(-4px)}
  .btn.ghost:hover{border-color:var(--ink)}
}

/* hero */
.hero{position:relative;min-height:calc(100svh - 102px);display:grid;align-items:end;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.08) brightness(.55);transform:scale(1.08);will-change:transform}
.hero-media::after{content:"";position:absolute;inset:0;background:
  linear-gradient(to top,var(--bg) 2%,rgba(5,5,5,.55) 45%,rgba(5,5,5,.25)),
  repeating-linear-gradient(to bottom,transparent 0 3px,rgba(0,0,0,.18) 3px 4px)}
.grid-lines{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:96px 96px;opacity:.28;mask-image:radial-gradient(ellipse at 50% 60%,#000 20%,transparent 75%)}
.hero-in{position:relative;z-index:2;padding-block:120px 64px;display:grid;grid-template-columns:1.7fr .8fr;gap:56px;align-items:end}
.kicker{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.2em;color:var(--yellow);text-transform:uppercase}
.kicker i{width:8px;height:8px;background:var(--yellow);border-radius:50%;box-shadow:0 0 0 0 rgba(253,223,0,.6);animation:ping 2s var(--ease-out) infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(253,223,0,0)}100%{box-shadow:0 0 0 0 rgba(253,223,0,0)}}
.hero h1{margin:22px 0 0;font-weight:900;font-size:clamp(44px,5.6vw,92px);line-height:.98;letter-spacing:-.02em}
.hero h1 .line{display:block;white-space:nowrap;overflow:hidden;padding-bottom:.08em}
.hero h1 .line>span{display:inline-block}
.hero h1 .hl{color:var(--yellow)}
.hero-lede{max-width:560px;margin:26px 0 34px;color:#cfcec7;font-size:19px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-file{border:1px solid var(--line-2);background:rgba(10,10,9,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:22px;position:relative}
.hero-file::before,.hero-file::after{content:"";position:absolute;width:16px;height:16px;border:2px solid var(--yellow)}
.hero-file::before{top:-1px;inset-inline-start:-1px;border-inline-end:0;border-bottom:0}
.hero-file::after{bottom:-1px;inset-inline-end:-1px;border-inline-start:0;border-top:0}
.hero-file h2{margin:0 0 16px;font:500 12px/1 var(--mono);letter-spacing:.2em;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.stat{background:var(--bg-2);padding:16px 14px}
.stat b{display:block;font:500 34px/1 var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}
.stat span{font-size:13px;color:var(--muted)}
.hero-file p{margin:16px 0 0;font:400 12px/1.6 var(--mono);color:var(--dim)}
.scroll-cue{position:absolute;z-index:2;bottom:22px;inset-inline-start:50%;translate:50% 0;font:500 11px var(--mono);letter-spacing:.2em;color:var(--dim);display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-cue span{width:1px;height:38px;background:linear-gradient(var(--yellow),transparent);transform-origin:top;animation:cue 1.8s var(--ease-in-out) infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* section heads */
.sec{padding-block:110px}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:40px;border-bottom:1px solid var(--line);padding-bottom:22px}
.sec-head .num{font:500 12px var(--mono);letter-spacing:.2em;color:var(--yellow)}
.sec-head h2{margin:10px 0 0;font-size:clamp(32px,4.4vw,56px);line-height:1;font-weight:900;letter-spacing:-.015em}
.sec-head p{max-width:420px;margin:0;color:var(--muted)}

/* filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chip{font:500 13px/1 var(--sans);padding:10px 14px;border:1px solid var(--line-2);background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;gap:8px;align-items:center;transition:transform 160ms var(--ease-out),border-color 160ms ease,color 160ms ease,background-color 160ms ease}
.chip:active{transform:scale(.97)}
.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip .n{font:500 11px var(--mono);opacity:.7}
@media (hover:hover) and (pointer:fine){.chip:not([aria-pressed=true]):hover{border-color:var(--ink);color:var(--ink)}}

/* case files */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:1px}
.case{position:relative;background:var(--bg);box-shadow:0 0 0 1px var(--line);padding:26px 24px 22px;display:flex;flex-direction:column;min-height:330px;isolation:isolate;transition:background-color 220ms ease}
.case::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(253,223,0,.07),transparent 55%);opacity:0;transition:opacity 220ms ease}
.case-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font:500 12px var(--mono);letter-spacing:.08em;color:var(--dim)}
.status{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid currentColor;font:500 11px/1 var(--mono);letter-spacing:.12em}
.status::before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}
.s-charged{color:var(--amber)}.s-convicted{color:var(--red)}.s-suspended{color:var(--orange)}.s-expelled{color:#ff4fa3}.s-suspect{color:var(--blue)}.s-research{color:var(--grey)}
.case h3{margin:22px 0 12px;font-size:21px;line-height:1.3;font-weight:700}
.case p{margin:0;color:var(--muted);font-size:15px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.case-foot{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:center;font:500 12px var(--mono);color:var(--dim)}
.case-foot .open{color:var(--ink);display:inline-flex;gap:8px;align-items:center}
.case-foot .open i{display:inline-block;font-style:normal;transition:transform 220ms var(--ease-out)}
.case:active{transform:scale(.99)}
@media (hover:hover) and (pointer:fine){
  .case:hover::before{opacity:1}
  .case:hover .open i{transform:translateX(-5px)}
  .case:hover h3{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:5px;text-decoration-thickness:1.5px}
}
.case[hidden]{display:none}
.case.feature{grid-column:span 2;min-height:380px;background:var(--panel)}
.case.feature h3{font-size:clamp(26px,2.6vw,36px)}
.case.feature p{-webkit-line-clamp:4;font-size:17px;max-width:620px}

/* index teaser */
.index{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.search{display:flex;align-items:center;gap:12px;border:1px solid var(--line-2);background:var(--panel);padding:0 18px;height:60px}
.search input{flex:1;background:none;border:0;color:var(--ink);font:400 18px var(--sans);outline:0}
.search input::placeholder{color:var(--dim)}
.search kbd{font:500 11px var(--mono);border:1px solid var(--line-2);padding:4px 7px;color:var(--dim)}
.legend{margin-top:22px;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.legend div{background:var(--bg);padding:14px 16px;display:flex;gap:14px;align-items:baseline}
.legend div span:last-child{color:var(--muted);font-size:14px}
.steps{counter-reset:s;display:grid;gap:22px}
.steps li{list-style:none;display:grid;grid-template-columns:56px 1fr;gap:14px;border-top:1px solid var(--line);padding-top:18px}
.steps li::before{counter-increment:s;content:"0" counter(s);font:500 28px/1 var(--mono);color:var(--yellow)}
.steps b{display:block;font-size:19px;margin-bottom:4px}
.steps span{color:var(--muted);font-size:15px}
.badge-wip{display:inline-block;margin-inline-start:10px;font:500 11px var(--mono);letter-spacing:.14em;color:var(--yellow);border:1px solid var(--yellow);padding:4px 8px;vertical-align:middle}

/* library */
.docs{border-top:1px solid var(--line)}
.doc{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center;padding:22px 4px;border-bottom:1px solid var(--line);position:relative}
.doc::after{content:"";position:absolute;inset:0;background:var(--yellow);transform:scaleY(0);transform-origin:bottom;z-index:-1;transition:transform 260ms var(--ease-out)}
.doc{isolation:isolate}
.doc time{font:500 13px var(--mono);color:var(--yellow)}
.doc b{display:block;font-size:18px}
.doc span{color:var(--muted);font-size:14px}
.doc .dl{font:500 12px var(--mono);letter-spacing:.1em;border:1px solid var(--line-2);padding:10px 14px;transition:border-color 160ms ease}
@media (hover:hover) and (pointer:fine){
  .doc:hover::after{transform:scaleY(1)}
  .doc:hover,.doc:hover span,.doc:hover time{color:var(--yellow-ink)}
  .doc:hover .dl{border-color:var(--yellow-ink)}
}

/* footer */
.ftr{border-top:1px solid var(--line);padding-block:72px 40px;background:var(--bg-2)}
.ftr-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.ftr h2{margin:0 0 14px;font-size:22px}
.ftr p{color:var(--muted);font-size:15px;margin:0 0 14px}
.ftr a.u{border-bottom:1px solid var(--line-2);transition:border-color 160ms ease}
.ftr a.u:hover{border-color:var(--yellow)}
.contact-list{display:grid;gap:10px;font:500 15px var(--mono);direction:ltr;text-align:end}
.legal{margin-top:56px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font:400 12px var(--mono);color:var(--dim)}

/* reveal initial states (only when JS + motion allowed) */
.js-motion [data-reveal]{opacity:0;transform:translateY(18px)}
.js-motion .hero h1 .line>span{transform:translateY(105%)}
.js-motion [data-clip]{clip-path:inset(0 0 100% 0)}

/* responsive */
@media(max-width:1000px){
  .hero-in{grid-template-columns:1fr}.cases{grid-template-columns:repeat(2,1fr)}.index{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  :root{--wrap:min(1240px,100% - 32px)}
  .nav{display:none}.hdr-in{gap:14px}.langs{margin-inline-start:auto}
  .cases{grid-template-columns:1fr}.case.feature{grid-column:auto}
  .sec{padding-block:72px}.sec-head{flex-direction:column;align-items:start}
  .doc{grid-template-columns:1fr;gap:8px}.ftr-grid{grid-template-columns:1fr}
  .hero-in{padding-block:80px 48px}
}
@media (prefers-reduced-motion:reduce){
  .ticker-track,.kicker i,.scroll-cue span{animation:none}
  *{transition-duration:0ms!important}
}
html:is([lang=he],[lang=ar]) :is(.eyebrow,.meta,.kicker,.status,.case-top,.case-foot,.doc time,.sources,.contents b,.updated,.chip .n,.stat span,.hero-file p,.num,.legal,.search kbd,.badge-wip,body .status::before){letter-spacing:0!important}
.sec-alt{background:var(--bg-2);border-block:1px solid var(--line)}
.sec-head.bare{border:0;margin:0;padding:0}
.index-p{color:var(--muted);margin:22px 0 28px}
html[dir=ltr] .btn:hover .arr,html[dir=ltr] .case:hover .open i{--dir:1}
@media (hover:hover) and (pointer:fine){html[dir=ltr] .btn:hover .arr{transform:translateX(4px)}html[dir=ltr] .case:hover .open i{transform:translateX(5px)}}
html[dir=ltr] .nav a::after{--from:left}
html[lang=ar]{--sans:"IBM Plex Sans Arabic","Rubik",system-ui,sans-serif}
.hero-in>*{min-width:0}
@media(max-width:720px){.hero h1{font-size:clamp(34px,10.5vw,48px)}.hero h1 .line{white-space:normal}.hero-lede{font-size:17px}.brand{font-size:11px}}
.kbd-btn{font:500 12px var(--mono);border:1px solid var(--line-2);background:transparent;color:var(--muted);padding:7px 10px;cursor:pointer;transition:color 160ms ease,border-color 160ms ease,transform 160ms var(--ease-out)}
.kbd-btn:hover{color:var(--ink);border-color:var(--ink)}.kbd-btn:active{transform:scale(.97)}
.idx-cta{margin-top:18px}
.search input{min-width:0;width:100%}.search kbd,.search .kbd-btn{flex:none}
