/* What The Files Say v2: declassified-dossier / noir theme. Self-hosted fonts (OFL / Apache 2.0), no third-party requests. */
@font-face{font-family:"Special Elite";src:url(/assets/fonts/specialelite-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(/assets/fonts/playfairdisplay-900.woff2) format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(/assets/fonts/playfairdisplay-700i.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
:root{--paper:#ece2cc;--paper2:#f6efdf;--folder:#d6b170;--folder2:#c79b52;--ink:#1b1510;--ink2:#4b4034;--rule:#cbbb98;--red:#b3261e;--red2:#e0483c;--green:#1f6b3a;--amber:#9a6a00;
--night:#0c0a08;--night2:#16120e;--smoke:#2a231c;--cream:#f1e6cc;
--type:"Special Elite","Courier New",Courier,monospace;--mono:"Courier New",Courier,"Liberation Mono",monospace;--display:"Playfair Display",Georgia,"Times New Roman",serif;--serif:Georgia,"Times New Roman","DejaVu Serif",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper) var(--grain);color:var(--ink);font:18px/1.7 var(--serif)}
a{color:#8a1f17}a:hover{color:var(--red)}img{max-width:100%;height:auto;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
/* ---------- header ---------- */
.top{background:rgba(12,10,8,.96);color:var(--cream);border-bottom:3px solid var(--red);position:sticky;top:0;z-index:20;backdrop-filter:blur(6px)}
.top-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font:20px var(--type);letter-spacing:.5px}
.brand b{font-weight:400;background:var(--red);color:#fff;padding:0 6px;margin:0 2px}
.nav a{color:#dccfb2;text-decoration:none;font:13px var(--mono);margin-left:20px;text-transform:uppercase;letter-spacing:1.4px;font-weight:700}
.nav a:hover{color:#fff;box-shadow:0 2px 0 var(--red2)}
.menu{display:none;background:none;border:0;padding:8px;cursor:pointer}.menu span{display:block;width:24px;height:2px;background:var(--cream);margin:5px 0}
/* ---------- heroes ---------- */
.hero{position:relative;overflow:hidden;color:var(--cream);background:radial-gradient(ellipse at 70% 0%,#3a2c1d 0%,var(--night2) 45%,var(--night) 100%);padding:60px 0 54px;isolation:isolate}
.hero:after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.55;z-index:-1;pointer-events:none}
.hero .bgimg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.1) brightness(.5) sepia(.4) blur(1px);transform:scale(1.02)}
.hero .bgimg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,8,.97) 0%,rgba(12,10,8,.86) 50%,rgba(12,10,8,.5) 100%),linear-gradient(0deg,rgba(12,10,8,.9),transparent 40%)}
.hero h1{font:900 clamp(34px,5.4vw,62px)/1.06 var(--display);margin:8px 0 16px;max-width:900px;letter-spacing:-.5px;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.hero .lede{font-size:20px;max-width:720px;color:#d9ccaf;margin:0}
.kicker{font:13px var(--type);letter-spacing:4px;text-transform:uppercase;color:var(--red2);margin:0}
.crumbs{font:13px var(--mono);color:#bfb090;margin-bottom:14px;letter-spacing:.5px}.crumbs a{color:#e5d6b6}
.meta{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:22px;font:14px var(--mono)}
.meta .fileno{background:var(--cream);color:var(--ink);padding:2px 10px;font-family:var(--type)}
.meta a{border:1px solid rgba(241,230,204,.4);color:var(--cream);padding:3px 11px;border-radius:30px;text-decoration:none}.meta a:hover{background:var(--cream);color:var(--ink)}
.vh{vertical-align:middle;margin-left:14px}
.hl{position:relative;display:inline-block;color:#fff;font-style:italic;font-weight:700}
.hl:before{content:"";position:absolute;left:-6px;right:-6px;top:12%;bottom:6%;background:var(--ink);transform-origin:right;animation:declass 1.2s .5s cubic-bezier(.7,0,.2,1) forwards;z-index:1;box-shadow:0 0 0 2px #000}
.hl:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:5px;background:var(--red)}
@keyframes declass{to{transform:scaleX(0)}}
.redbar{background:#000;color:#000;padding:0 6px;user-select:none}
/* home hero */
.hero.home{padding:70px 0 80px;min-height:560px}
.hero.home .wrap{position:relative;z-index:2}
.hero.home .copy{max-width:640px}
.collage{position:absolute;right:-30px;top:30px;width:min(560px,48vw);height:520px;z-index:1;pointer-events:none}
.collage img{position:absolute;width:250px;box-shadow:0 18px 40px rgba(0,0,0,.7);border:6px solid #f3ead6;filter:sepia(.35) contrast(1.05) brightness(.92);opacity:0;animation:drop .8s ease-out forwards}
.collage img:nth-child(1){left:40px;top:10px;transform:rotate(-8deg);animation-delay:.1s}
.collage img:nth-child(2){left:250px;top:0;transform:rotate(6deg);animation-delay:.25s}
.collage img:nth-child(3){left:150px;top:190px;transform:rotate(-2deg);width:330px;animation-delay:.4s}
.collage img:nth-child(4){left:330px;top:230px;transform:rotate(9deg);width:200px;animation-delay:.55s}
.collage img:nth-child(5){left:10px;top:270px;transform:rotate(4deg);width:190px;animation-delay:.7s}
@keyframes drop{from{opacity:0;translate:0 -24px}to{opacity:1;translate:0 0}}
.collage .stampbig{position:absolute;left:150px;top:150px;z-index:3;font-size:44px;color:var(--red2);border-color:var(--red2);background:rgba(20,10,8,.25);transform:rotate(-14deg);animation:thump .5s 1.1s cubic-bezier(.3,1.6,.6,1) both;letter-spacing:6px}
@keyframes thump{from{opacity:0;transform:rotate(-14deg) scale(2.4)}to{opacity:.92;transform:rotate(-14deg) scale(1)}}
.stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.stats a{display:flex;flex-direction:column;min-width:130px;text-decoration:none;color:var(--cream);border:1px solid rgba(241,230,204,.25);background:rgba(255,255,255,.04);padding:10px 16px;border-radius:4px}
.stats a:hover{border-color:var(--cream);background:rgba(255,255,255,.08)}
.stats b{font:900 32px/1 var(--display)}.stats span{font:12px var(--mono);text-transform:uppercase;letter-spacing:1.5px;color:#cbbd9e;margin-top:6px}
.cta{display:inline-block;margin-top:28px;background:var(--red);color:#fff;font:15px var(--type);letter-spacing:2px;text-transform:uppercase;padding:13px 24px;text-decoration:none;box-shadow:4px 4px 0 #000}
.cta:hover{background:var(--red2);color:#fff;transform:translate(-1px,-1px);box-shadow:5px 5px 0 #000}
/* ---------- stamps ---------- */
.stamp{display:inline-block;font:15px/1.1 var(--type);text-transform:uppercase;letter-spacing:2px;padding:5px 11px 4px;border:3px double;border-radius:5px;transform:rotate(-4deg);white-space:nowrap;background:rgba(255,255,255,.08)}
.stamp.big,.stampbig{font-size:22px;padding:8px 18px 6px;border-width:5px;border-style:double}
.stampbig{display:inline-block;font-family:var(--type);text-transform:uppercase;border:5px double;border-radius:6px;padding:6px 18px}
.st-record{color:#2f9a58;border-color:#2f9a58}.st-partial{color:#e0a326;border-color:#e0a326}.st-unproven{color:var(--red2);border-color:var(--red2)}
.paper .st-record,.card .st-record,.legend .st-record,.file .st-record{color:var(--green);border-color:var(--green)}
.paper .st-partial,.card .st-partial,.legend .st-partial,.file .st-partial{color:var(--amber);border-color:var(--amber)}
.paper .st-unproven,.card .st-unproven,.legend .st-unproven,.file .st-unproven{color:var(--red);border-color:var(--red)}
.hero .stamp.big{animation:thump2 .45s .2s cubic-bezier(.3,1.6,.6,1) both;background:rgba(0,0,0,.25)}
@keyframes thump2{from{opacity:0;transform:rotate(-4deg) scale(2)}to{opacity:1;transform:rotate(-4deg) scale(1)}}
/* ---------- sections ---------- */
.sect{font:900 clamp(28px,3.4vw,40px)/1.1 var(--display);margin:56px 0 8px;display:flex;align-items:center;gap:14px}
.sect:before{content:"";width:46px;height:12px;background:var(--ink);flex:0 0 auto}
.sectsub{font:15px var(--mono);color:var(--ink2);margin:0 0 18px}
/* featured file */
.feature{display:grid;grid-template-columns:1.25fr 1fr;margin:46px 0 10px;background:var(--night);color:var(--cream);text-decoration:none;box-shadow:0 20px 50px rgba(30,20,8,.35);border-radius:3px;overflow:hidden;position:relative}
.feature:hover{color:var(--cream)}.feature .ph{position:relative;min-height:340px;overflow:hidden}
.feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.85) sepia(.3) contrast(1.1);transition:filter .5s,transform .8s}
.feature:hover img{filter:none;transform:scale(1.04)}
.feature .tx{padding:34px 34px 30px;background:var(--night2) var(--grain)}
.feature .lbl{font:12px var(--type);letter-spacing:3px;text-transform:uppercase;color:var(--red2)}
.feature h3{font:900 34px/1.1 var(--display);margin:12px 0 12px}.feature p{color:#d6c9ab;margin:0 0 16px}
.feature .more{font:14px var(--type);letter-spacing:2px;text-transform:uppercase;border-bottom:2px solid var(--red2)}
.feature .stamp{position:absolute;left:20px;top:20px;z-index:2;background:rgba(10,8,6,.55)}
/* chips as folder tabs */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 4px;border-bottom:3px solid var(--ink);padding-left:4px}
.chips button{font:14px var(--type);background:var(--folder);border:0;border-radius:10px 10px 0 0;padding:9px 15px 7px;cursor:pointer;color:var(--ink);box-shadow:inset 0 -3px 0 rgba(0,0,0,.12);transition:transform .15s}
.chips button:hover{transform:translateY(-2px)}.chips button.on{background:var(--ink);color:var(--cream)}
/* case-file cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px 26px;margin:28px 0 30px}
.card{position:relative;display:flex;flex-direction:column;background:var(--paper2) var(--grain);color:var(--ink);text-decoration:none;border-radius:3px 3px 4px 4px;box-shadow:0 2px 0 var(--rule),0 12px 26px rgba(50,35,12,.18);transition:transform .25s,box-shadow .25s;margin-top:18px}
.card:before{content:attr(data-no);position:absolute;top:-24px;left:0;height:26px;padding:5px 14px 0;background:var(--folder);border-radius:9px 9px 0 0;font:12px var(--type);letter-spacing:1.5px;color:var(--ink)}
.card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 2px 0 var(--rule),0 22px 40px rgba(50,35,12,.3);color:var(--ink)}
.card .ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--night);border-top:6px solid var(--folder)}
.card .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.35) contrast(1.12) brightness(.92);transition:filter .5s,transform .7s}
.card:hover .ph img{filter:grayscale(0) sepia(.1);transform:scale(1.06)}
.card .ph:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,10,8,.55),transparent 55%)}
.card .ph .stamp{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(246,239,223,.92)}
.card .clip{position:absolute;top:-14px;right:26px;width:16px;height:46px;border:3px solid #8d8a83;border-radius:9px;z-index:3;background:transparent}
.card .tx{padding:16px 20px 26px;flex:1}
.card .era{font:12px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink2)}
.card h3{font:21px/1.25 var(--type);margin:6px 0 8px}.card p{font-size:16px;line-height:1.55;margin:0;color:var(--ink2)}
.card .redact{position:absolute;left:20px;bottom:12px;display:flex;gap:6px}.card .redact i{height:7px;background:var(--ink);display:block;transition:width .4s}
.card .redact i:nth-child(1){width:70px}.card .redact i:nth-child(2){width:34px}.card .redact i:nth-child(3){width:52px}
.card:hover .redact i{width:12px}
.card.hide{display:none}
/* legend */
.legend{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}
.legend a{display:block;text-decoration:none;color:var(--ink);background:var(--paper2) var(--grain);padding:26px 22px 22px;border:1px solid var(--rule);box-shadow:0 10px 20px rgba(50,35,12,.12);position:relative;transition:transform .2s}
.legend a:hover{transform:translateY(-4px)}
.legend .stamp{font-size:20px;margin-bottom:16px;border-width:4px}.legend span{display:block;font-size:16px;line-height:1.55}.legend b{display:block;margin-top:10px;font:15px var(--type)}
/* pitch / memo */
.pitch{position:relative;background:var(--night) var(--grain);color:var(--cream);padding:40px 44px;margin:60px 0 50px;border-radius:3px;overflow:hidden}
.pitch:before{content:"MEMORANDUM FOR THE READER";display:block;font:12px var(--type);letter-spacing:4px;color:var(--red2);margin-bottom:8px}
.pitch h2{font:900 34px var(--display);margin:0 0 18px}
.pitch ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pitch li{border-top:2px solid var(--red);padding-top:12px;font-size:16px;color:#d6c9ab}.pitch li b{display:block;color:#fff;font:18px var(--type);margin-bottom:6px}
.more-link{font:15px var(--type);letter-spacing:1px}
/* ---------- file page ---------- */
.hero.filehero{padding:54px 0 60px;min-height:420px}
.two{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:40px;align-items:start}
.file{position:relative;background:var(--paper2) var(--grain);padding:42px 46px 36px;margin:-40px 0 30px;box-shadow:0 2px 0 var(--rule),0 24px 50px rgba(40,28,10,.22);z-index:3}
.file:before{content:"";position:absolute;top:-16px;left:40px;width:18px;height:54px;border:3px solid #8d8a83;border-radius:10px;z-index:4}
.file h2{font:24px/1.3 var(--type);margin:40px 0 12px}.file h2:first-child{margin-top:0}
.tab{display:inline-block;background:var(--ink);color:var(--cream);font:15px var(--type);padding:3px 9px 1px;margin-right:8px;vertical-align:3px;transform:rotate(-2deg)}
.verdict-note{background:#fff8e3;border-left:6px solid var(--amber);padding:14px 18px;font-size:16px;margin-top:0}
.exhibit{margin:26px 0 30px;background:#fff;padding:12px 12px 10px;box-shadow:0 10px 26px rgba(40,28,10,.2);transform:rotate(-.6deg);max-width:640px;position:relative}
.exhibit:before{content:"EXHIBIT A";position:absolute;top:-12px;left:-10px;background:var(--red);color:#fff;font:13px var(--type);letter-spacing:2px;padding:3px 10px;transform:rotate(-4deg);z-index:2}
.exhibit img{width:100%;max-height:560px;object-fit:contain;background:#eee6d6;filter:sepia(.15)}
.exhibit figcaption{font:14px/1.45 var(--mono);color:var(--ink2);padding:10px 4px 2px}.exhibit figcaption a{color:var(--ink2)}
.record{border-left:6px solid var(--green);padding-left:20px}.unproven{border-left:6px solid var(--red);padding-left:20px}
.docs{padding-left:0;list-style:none}.docs li{margin:12px 0;padding-left:30px;position:relative}
.docs li:before{content:"✓";position:absolute;left:0;top:0;font:700 18px var(--mono);color:var(--green)}
.small{font-size:14px;color:var(--ink2);font-family:var(--mono)}
.qs li{margin:10px 0;font-style:italic}.qs li::marker{font-family:var(--type);color:var(--red)}
.srcs ol{font-size:15px;font-family:var(--mono)}.srcs li{margin:7px 0}
.side{position:sticky;top:90px;margin-top:30px}
.toc{background:var(--folder) var(--grain);padding:20px 18px;border-radius:3px 14px 4px 4px;font:14px var(--mono);box-shadow:0 10px 20px rgba(40,28,10,.18)}
.toc h4{margin:0 0 10px;font:15px var(--type);letter-spacing:2px;text-transform:uppercase}.toc a{display:block;color:var(--ink);padding:5px 0;border-bottom:1px dashed rgba(0,0,0,.2);text-decoration:none}.toc a:hover{color:var(--red)}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:34px 0 10px;font:14px var(--mono)}
.share a,.share button{background:var(--ink);color:var(--cream);border:0;padding:8px 14px;border-radius:2px;text-decoration:none;font:14px var(--type);cursor:pointer}.share a:hover,.share button:hover{background:var(--red);color:#fff}
.shelf{background:var(--night) var(--grain);color:var(--cream);padding:24px 26px;margin:30px 0;border-radius:3px}.shelf h2{margin-top:0;color:#fff}
.shelf .disc{font-size:14px;color:#cbbd9e;font-family:var(--sans)}.shelf .disc a{color:#f3c6a8}
.shelf ul{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.shelf li a{display:block;height:100%;border:1px solid rgba(241,230,204,.25);padding:12px 14px 12px 16px;text-decoration:none;color:var(--cream);background:rgba(255,255,255,.04);border-left:5px solid var(--folder);transition:background .2s}
.shelf li a:hover{background:rgba(255,255,255,.1)}.shelf li b{font-family:var(--type);font-weight:400}.shelf li span{display:block;font-size:14px;color:#cbbd9e;font-family:var(--sans);margin-top:4px}
.prose{max-width:860px;margin-left:auto;margin-right:auto}.rate{display:flex;gap:18px;align-items:flex-start;margin:16px 0}.rate p{margin:0}.rate .stamp{flex:0 0 auto}
.credits{display:grid;gap:18px;margin:20px 0}.credit{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:start;border-bottom:1px dashed var(--rule);padding-bottom:16px}
.credit img{width:200px;aspect-ratio:16/10;object-fit:cover}.credit p{margin:0;font-size:15px;line-height:1.5}
/* ---------- footer ---------- */
.foot{background:var(--night) var(--grain);color:#cdbf9f;margin-top:60px;padding:46px 0 28px;font:15px/1.6 var(--sans);border-top:3px solid var(--red)}
.foot a{color:#efe1c2}.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}
.foot h4{font:14px var(--type);text-transform:uppercase;letter-spacing:2px;margin:4px 0 10px;color:var(--red2)}.fgrid div>a:not(.brand){display:block;margin:3px 0;text-decoration:none}
.legal{font-size:13px;color:#a89c82;margin:10px 0 0}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.hl:before{display:none}.collage img{opacity:1}}
@media (max-width:980px){.collage{display:none}.hero.home{min-height:0}.feature{grid-template-columns:1fr}.feature .ph{min-height:240px}.pitch ul,.legend{grid-template-columns:1fr}}
@media (max-width:860px){.two{grid-template-columns:1fr}.side{display:none}.fgrid{grid-template-columns:1fr 1fr}
.nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--night);padding:10px 22px 16px;border-bottom:3px solid var(--red)}
.open .nav{display:block}.nav a{display:block;margin:12px 0}.menu{display:block}.file{padding:30px 20px 24px;margin-top:-30px}body{font-size:17px}.credit{grid-template-columns:110px 1fr}.credit img{width:110px}}
@media (max-width:520px){.fgrid{grid-template-columns:1fr}.hero{padding:40px 0 50px}.hero.home{padding:44px 0 50px}.stats a{min-width:0;flex:1 1 40%}.pitch{padding:30px 22px}.brand{font-size:17px}.feature .tx{padding:24px 20px}.feature h3{font-size:27px}.hero .lede{font-size:18px}}
