:root{
  --ink:#111b1f;--ink2:#17272c;--deep:#091014;--gold:#d0a14a;--gold2:#f0d18a;--paper:#e9dfc6;--paper2:#d8caa7;--text:#ede8dc;--muted:#aab6b6;--red:#9d342f;--line:rgba(214,186,118,.28)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top,#20323a 0,#0b1317 42%,#070b0d 100%);color:var(--text);font-family:"Courier New",Courier,monospace;line-height:1.55}button,input{font:inherit}button,a{transition:.18s ease}a{color:inherit;text-decoration:none}.hidden{display:none!important}.grain{position:fixed;inset:0;pointer-events:none;z-index:999;background-image:radial-gradient(rgba(255,255,255,.05) .6px,transparent .6px),radial-gradient(rgba(0,0,0,.2) .7px,transparent .7px);background-size:4px 4px,7px 7px;opacity:.22;mix-blend-mode:overlay}
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px max(22px,calc((100vw - 1220px)/2));background:rgba(9,16,20,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:0 8px 30px rgba(0,0,0,.28)}.brand-link{display:flex;align-items:center;gap:13px;min-width:0}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);color:var(--gold);font-size:26px;transform:rotate(45deg)}.brand-mark::first-letter{transform:rotate(-45deg)}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:17px;letter-spacing:.12em}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#a7b3b1}.gold{color:var(--gold2)}.top-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.ghost-btn,.primary-btn,.pill,.file-link{cursor:pointer;border:1px solid var(--gold);background:transparent;color:var(--gold2);padding:11px 15px;text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-size:12px}.ghost-btn:hover,.file-link:hover{background:rgba(208,161,74,.09)}.primary-btn{background:var(--gold);color:#111;border-color:var(--gold)}.primary-btn:hover{background:#e0b25a;transform:translateY(-1px)}
main{max-width:1220px;margin:auto}.hero{min-height:690px;display:grid;grid-template-columns:minmax(330px,.9fr) 1.15fr;gap:64px;align-items:center;padding:70px 28px 86px}.hero-media{position:relative}.hero-media img{display:block;width:100%;max-height:660px;object-fit:contain;filter:saturate(.92) contrast(1.03);box-shadow:0 28px 80px rgba(0,0,0,.45);border:1px solid rgba(222,188,106,.35)}.hero-stamp{position:absolute;right:-18px;bottom:24px;padding:13px 17px;border:3px double var(--red);color:#cf6159;background:rgba(12,19,22,.92);font-weight:800;letter-spacing:.14em;text-align:center;transform:rotate(-5deg);box-shadow:0 10px 30px rgba(0,0,0,.35)}.hero-copy h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,82px);line-height:.98;font-weight:400;margin:.25em 0 .28em}.lead{font-family:Georgia,serif;font-size:20px;color:#d5d1c7;max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:30px}.text-link{color:var(--gold2);border-bottom:1px solid rgba(240,209,138,.35)}.micro{font-size:11px;color:#81908f;margin-top:16px}
.section{padding:78px 28px;border-top:1px solid var(--line)}.section-title{max-width:760px;margin-bottom:34px}.section-title h2,.intercept h2,.book-section h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,58px);font-weight:400;margin:8px 0 12px}.section-title p,.intercept p,.book-section p{color:var(--muted)}.public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-card{background:linear-gradient(180deg,#17252a,#0f1a1e);border:1px solid var(--line);min-height:430px;display:flex;flex-direction:column;box-shadow:0 18px 45px rgba(0,0,0,.24)}.case-card>img,.classified-visual{width:100%;height:235px;object-fit:cover;border-bottom:1px solid var(--line)}.classified-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:repeating-linear-gradient(135deg,#111c20,#111c20 12px,#0c1518 12px,#0c1518 24px);color:#7e8a89}.classified-visual span{font-size:42px;color:var(--gold)}.classified-visual b{letter-spacing:.16em}.classified-visual small{color:#667270}.case-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.case-card h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:10px 0}.case-card p{color:#bbc4c2}.tag{align-self:flex-start;padding:5px 8px;border:1px solid var(--gold);color:var(--gold2);font-size:10px;font-weight:800;letter-spacing:.12em}.tag.muted{border-color:#6d7675;color:#8e9998}.file-link{align-self:flex-start;margin-top:auto;padding:9px 0;border:0;border-bottom:1px solid var(--gold)}
.intercept{margin:24px 28px 76px;padding:28px 30px;border:1px solid var(--gold);background:linear-gradient(90deg,rgba(208,161,74,.08),rgba(208,161,74,.02));display:flex;align-items:center;justify-content:space-between;gap:30px}.intercept h2{font-size:34px;margin-bottom:6px}.archive-list{border:1px solid var(--line)}.archive-row{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;padding:19px 20px;border-bottom:1px solid var(--line);background:#101b1f}.archive-row:last-child{border-bottom:0}.archive-row:nth-child(2n){background:#0d171a}.archive-code{font-size:18px;color:var(--gold2);font-weight:900}.archive-row b{display:block}.archive-row span{display:block;color:#8f9b99;font-size:12px;margin-top:2px}.archive-row.danger{background:#151111}.pill{padding:8px 10px}.pill.black{background:#050505;border-color:#343434;color:#8c8c8c}
.book-section{margin:0 28px 90px;padding:34px;border:1px solid var(--line);background:#101b1f;display:grid;grid-template-columns:minmax(210px,300px) 1fr;gap:38px;align-items:center}.book-section>img{width:100%;max-height:470px;object-fit:contain;box-shadow:0 18px 55px rgba(0,0,0,.45)}.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px;margin-top:22px}.shop-grid a{border:1px solid var(--gold);padding:12px 14px;text-align:center;color:var(--gold2);font-weight:800;font-size:12px;letter-spacing:.08em}.shop-grid a:hover{background:var(--gold);color:#111}footer{border-top:1px solid var(--line);padding:28px max(28px,calc((100vw - 1164px)/2));display:flex;justify-content:space-between;gap:20px;color:#9aa6a4;background:#091115}footer span{color:#74817f}
.modal{position:fixed;inset:0;z-index:90;display:none;place-items:center;padding:20px}.modal.is-open{display:grid}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(4px)}.modal-card{position:relative;z-index:1;width:min(720px,100%);max-height:92vh;overflow:auto;background:#101b1f;border:1px solid var(--gold);padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.65)}.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;color:#c9c2b5;font-size:32px;cursor:pointer}.modal-card h2{font-family:Georgia,serif;font-size:38px;font-weight:400;margin:8px 0 12px}.modal-intro{color:#a8b2b1}.modal-card label{display:block;margin:18px 0;color:#c9c3b6;font-size:12px;font-weight:800;letter-spacing:.08em}.modal-card label small{color:#7d8886}.modal-card input[type=text],.modal-card input[type=email]{width:100%;margin-top:7px;padding:13px;background:#081013;border:1px solid #435154;color:#eee;outline:none}.modal-card input:focus{border-color:var(--gold)}.check{display:flex!important;gap:12px;align-items:flex-start}.check input{margin-top:4px}.check span{font-weight:400;letter-spacing:0;line-height:1.45}.wide{width:100%}.privacy-note{font-size:11px;color:#75817f}.clearance-card{position:relative;margin:22px 0;padding:22px;background:linear-gradient(140deg,#e7dcc0,#cbbd99);color:#222;border:1px solid #8d7652;box-shadow:0 16px 40px rgba(0,0,0,.35)}.clearance-head{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:2px solid #6f5f43}.clearance-head span{font-size:24px;font-weight:900}.clearance-body{display:grid;gap:14px;margin-top:18px}.clearance-body small{display:block;color:#6d6049}.clearance-body strong{display:block}.approved-stamp{position:absolute;right:20px;bottom:20px;border:3px double var(--red);color:var(--red);padding:8px 12px;text-align:center;font-weight:900;transform:rotate(-7deg);opacity:.8}.approved-stamp span{font-size:10px}.center{text-align:center}
.archive-shell{position:fixed;inset:0;z-index:80;background:#081013;color:#e8e2d6;overflow:auto}.archive-header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;background:#0b1518;border-bottom:1px solid var(--line)}.archive-header strong{display:block;margin-top:3px;color:#d9cfbc}.archive-main{max-width:1280px;margin:auto;display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 74px)}.archive-sidebar{padding:30px 18px;border-right:1px solid var(--line);background:#0b1518}.seal{width:64px;height:64px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-size:38px;margin-bottom:14px}.archive-sidebar p{color:#c7c0b2}.archive-sidebar nav{display:grid;gap:8px;margin-top:30px}.nav-item{border:1px solid transparent;background:none;color:#899593;text-align:left;padding:12px;cursor:pointer;font-size:12px}.nav-item:hover,.nav-item.active{border-color:var(--gold);color:var(--gold2);background:rgba(208,161,74,.06)}.dossier{padding:36px}.dossier-top{display:grid;grid-template-columns:1fr 200px;gap:30px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line)}.dossier-top h1{font-family:Georgia,serif;font-size:52px;font-weight:400;margin:3px 0}.dossier-top p{color:#9da8a6}.dossier-top img{width:200px;height:200px;object-fit:cover;filter:saturate(.7);border:1px solid var(--gold)}.tab-panel{display:none;padding-top:28px}.tab-panel.active{display:block}.paper{position:relative;background:linear-gradient(135deg,var(--paper),var(--paper2));color:#26231d;padding:32px;box-shadow:0 14px 45px rgba(0,0,0,.35);font-family:"Courier New",monospace}.paper::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(74,61,38,.06) 32px);opacity:.7}.paper>*{position:relative}.paper-head{display:flex;justify-content:space-between;gap:18px;border-bottom:2px solid #5f523c;padding-bottom:10px;margin-bottom:22px;font-weight:900;letter-spacing:.08em}.stamp-small{border:2px solid var(--red);color:var(--red);padding:4px 7px;transform:rotate(-3deg)}.facts{display:grid;gap:1px;background:#7a6d53;border:1px solid #7a6d53}.facts div{display:grid;grid-template-columns:220px 1fr;gap:14px;background:#e5dac0;padding:11px}.facts dt{font-weight:900}.facts dd{margin:0}.typewritten{margin-top:24px}.paper blockquote{font-family:Georgia,serif;font-size:28px;line-height:1.3;margin:0 0 22px;padding-left:20px;border-left:4px solid #8e7244}.redacted-line span,.redact{background:#111;color:#111;padding:0 3px}.hand-note{font-family:Georgia,serif;font-style:italic;color:#6d2c28;transform:rotate(-1deg)}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.evidence-no{font-weight:900;color:#705f40}.evidence h3{font-family:Georgia,serif;font-size:30px;margin:10px 0}.evidence-mark{display:inline-block;margin-top:10px;border:2px solid #6a5b3d;padding:6px 9px;font-weight:900}.danger-text{color:var(--red)}.classified{border:1px solid #30383a;background:#050708;padding:46px;text-align:center;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center}.classified-lock{font-size:46px}.classified h2{font-family:Georgia,serif;font-size:50px;margin:10px 0}.classified-copy{max-width:720px;color:#818d8b}.black-bars{display:grid;gap:10px;width:min(600px,90%);margin:20px auto}.black-bars i{height:19px;background:#000;border:1px solid #252525}.archive-shops{width:min(650px,100%);margin-top:20px}
@media(max-width:900px){.topbar{align-items:flex-start}.brand-copy strong{font-size:14px}.top-actions{max-width:260px}.hero{grid-template-columns:1fr;gap:35px}.hero-media{max-width:520px;margin:auto}.public-grid{grid-template-columns:1fr}.intercept{align-items:flex-start;flex-direction:column}.book-section{grid-template-columns:1fr}.book-section>img{max-width:360px;margin:auto}.archive-main{grid-template-columns:1fr}.archive-sidebar{border-right:0;border-bottom:1px solid var(--line)}.archive-sidebar nav{grid-template-columns:repeat(2,1fr)}.dossier-top{grid-template-columns:1fr}.dossier-top img{width:160px;height:160px}.evidence-grid{grid-template-columns:1fr}.facts div{grid-template-columns:1fr}.approved-stamp{position:static;display:inline-block;margin-top:18px}.shop-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.topbar{position:relative;flex-direction:column}.top-actions{max-width:none;width:100%}.ghost-btn{flex:1;text-align:center}.hero{padding-top:40px}.section{padding:58px 18px}.hero{padding-left:18px;padding-right:18px}.intercept,.book-section{margin-left:18px;margin-right:18px}.archive-row{grid-template-columns:75px 1fr}.archive-row .pill{grid-column:2}.archive-sidebar nav{grid-template-columns:1fr}.dossier{padding:20px 14px}.dossier-top h1{font-size:38px}.paper{padding:20px 16px}.paper-head{flex-direction:column}.classified{padding:28px 16px}.classified h2{font-size:38px}.shop-grid{grid-template-columns:1fr}footer{flex-direction:column}}

/* V7 — cartographie Occulta + dossiers Calderon / Gloss */
.geo-section{padding-top:72px}.city-map{margin:30px 0 38px;border:1px solid var(--line);background:#0b1518;padding:10px;box-shadow:0 18px 50px rgba(0,0,0,.35)}.city-map img{display:block;width:100%;height:auto}.city-map figcaption{padding:12px 8px 4px;text-align:right;color:#7f8b89;font-size:11px;letter-spacing:.12em}.district-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.district-card{border:1px solid var(--line);background:#101b1f;overflow:hidden}.district-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.9)}.district-card>div{padding:20px}.district-card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:10px 0}.district-card p{margin:0;color:#b5bfbd;line-height:1.7}.character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.character-grid .case-card img{aspect-ratio:16/10;object-fit:cover}.dossier-switcher{display:grid;gap:8px;margin:24px 0;padding-bottom:20px;border-bottom:1px solid var(--line)}.dossier-select{border:1px solid #344144;background:#0a1215;color:#aab4b2;padding:12px;text-align:left;cursor:pointer;font-size:12px;letter-spacing:.06em}.dossier-select small{display:block;color:#697674;margin-bottom:3px}.dossier-select:hover,.dossier-select.active{border-color:var(--gold);color:var(--gold2);background:rgba(208,161,74,.07)}.dossier-person.hidden{display:none!important}.common-classified:empty::before{content:"DOSSIER MS-██";display:block;color:var(--gold2);font-size:12px;letter-spacing:.12em;margin-bottom:8px}.common-classified:empty::after{content:"MORTUUS SUSCITATUS  —  ACCÈS REFUSÉ  —  HABILITATION INSUFFISANTE\A\ALes événements relatifs aux studios d’Occulta et au dossier MS-██ ne sont pas consultables sous habilitation civile de niveau I.";white-space:pre-line;display:block;max-width:720px;color:#899593;font-family:Georgia,serif;font-size:22px;line-height:1.6}.primary-btn{display:inline-block;text-decoration:none}
@media(max-width:900px){.district-grid,.character-grid{grid-template-columns:1fr}.city-map{margin-left:-4px;margin-right:-4px}.district-card img{aspect-ratio:16/9}}


/* V9 — dossier institutionnel C.R.A.M. + habilitation mail réelle */
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:1.4em;margin:10px 0 0;color:#e2b76a;font-size:12px;line-height:1.5}
#accessSubmit:disabled{opacity:.55;cursor:wait}
.cram-dossier-top img{object-fit:contain!important;background:#0f2028;padding:6px}
.cram-mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.cram-mission-grid>div{border:1px solid #8c7a57;background:rgba(255,255,255,.16);padding:15px}
.cram-mission-grid b{display:block;margin-bottom:7px;letter-spacing:.08em}
.cram-mission-grid span{display:block;line-height:1.5}
.cram-file-list{display:grid;gap:1px;background:#827356;border:1px solid #827356;margin:20px 0}
.cram-file-list>div{display:grid;grid-template-columns:100px 1fr 130px;gap:14px;align-items:center;background:#e5dac0;padding:12px}
.cram-file-list b{letter-spacing:.05em}
.cram-file-list span{line-height:1.4}
.cram-file-list em{font-style:normal;font-weight:900;text-align:right;color:#5f4d2d}
.cram-file-list .locked-file{background:#d1c4a7}
.cram-file-list .locked-file em{color:#8d302b}
@media(max-width:700px){
  .cram-mission-grid{grid-template-columns:1fr}
  .cram-file-list>div{grid-template-columns:80px 1fr}
  .cram-file-list em{grid-column:2;text-align:left}
}
