:root{
--navy:#101826; --paper:#FFFFFF; --bg:#EDF1F4;
--accent:#0E7C86; --warn:#C23B2B; --warn-bg:#FBEAE7;
--line:#D7DEE3; --muted:#55636F;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--bg); color:var(--navy); font-family:'Inter',system-ui,sans-serif; line-height:1.65; }
h1,h2,h3{ font-family:'Space Grotesk',sans-serif; color:var(--navy); margin:0 0 .4em; line-height:1.1; }
.mono{ font-family:'IBM Plex Mono',monospace; }
a{ color:var(--accent); }
:focus-visible{ outline:3px solid var(--accent); outline-offset:2px; }
.wrap{ max-width:900px; margin:0 auto; padding:0 24px; }

.topbar{ background:var(--navy); color:#EAF1F2; position:sticky; top:0; z-index:10; }
.topbar-row{ max-width:900px; margin:0 auto; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:1.05rem; font-family:'Space Grotesk',sans-serif; }
.brand .sq{ width:28px; height:28px; background:var(--accent); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:.85rem; color:var(--navy); }
nav.top{ display:flex; gap:18px; }
nav.top a{ color:#B9C6CC; text-decoration:none; font-size:.85rem; font-family:'IBM Plex Mono',monospace; }
nav.top a:hover{ color:#fff; }
@media (max-width:720px){ nav.top{ display:none; } }

.alert-strip{ background:var(--warn); color:#fff; text-align:center; font-size:.85rem; padding:9px 24px; font-family:'IBM Plex Mono',monospace; }
.alert-strip a{ color:#fff; text-decoration:underline; }

/* Hero dossier header */
.hero{ padding:50px 0 34px; border-bottom:2px solid var(--navy); }
.meta-row{ display:flex; gap:26px; flex-wrap:wrap; font-family:'IBM Plex Mono',monospace; font-size:.76rem; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; margin-bottom:22px; }
.meta-row span b{ color:var(--navy); display:block; font-size:.9rem; text-transform:none; margin-top:2px; font-family:'IBM Plex Mono',monospace; }
.hero h1{ font-size:2.6rem; max-width:16ch; }
.hero p.lede{ font-size:1.08rem; color:var(--muted); max-width:60ch; margin-top:14px; }

.byline{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:18px; }
.byline-item{ display:flex; flex-direction:column; }
.byline-label{ font-family:'IBM Plex Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--accent); }
.byline-name{ font-weight:600; font-size:.92rem; color:var(--navy); margin-top:2px; }
.byline-role{ font-size:.78rem; color:var(--muted); font-family:'IBM Plex Mono',monospace; }
.byline-div{ width:1px; height:32px; background:var(--line); }
@media (max-width:560px){ .byline-div{ display:none; } }

/* Timeline */
.timeline{ margin-top:34px; background:var(--paper); border:2px solid var(--navy); padding:24px 26px; }
.timeline h3{ font-size:.95rem; text-transform:uppercase; letter-spacing:.03em; font-family:'IBM Plex Mono',monospace; margin-bottom:4px; }
.timeline .sub{ font-size:.85rem; color:var(--muted); margin-bottom:22px; }
.tl-track{ position:relative; display:flex; justify-content:space-between; }
.tl-track::before{ content:""; position:absolute; top:8px; left:0; right:0; height:2px; background:var(--line); }
.tl-point{ position:relative; flex:1; text-align:center; }
.tl-dot{ width:16px; height:16px; background:var(--accent); margin:0 auto; position:relative; z-index:1; }
.tl-point .t{ font-size:.78rem; font-weight:600; color:var(--navy); margin-top:10px; font-family:'IBM Plex Mono',monospace; }
.tl-point .d{ font-size:.75rem; color:var(--muted); margin-top:2px; }

/* Sections with ghost numerals */
main section{ position:relative; padding:52px 0; border-bottom:1px solid var(--line); overflow:hidden; }
.ghost-num{ position:absolute; right:-6px; top:20px; font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:7rem; color:var(--navy); opacity:.045; line-height:1; pointer-events:none; user-select:none; }
section .kicker{ font-family:'IBM Plex Mono',monospace; font-size:.76rem; letter-spacing:.05em; text-transform:uppercase; color:var(--accent); font-weight:600; margin-bottom:8px; }
section h2{ font-size:1.6rem; margin-bottom:14px; max-width:24ch; }
section p{ max-width:66ch; }
section p + p{ margin-top:12px; }

.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:20px; background:var(--navy); border:2px solid var(--navy); }
@media (max-width:640px){ .grid-2{ grid-template-columns:1fr; } }
.info-card{ background:var(--paper); padding:20px 22px; }
.info-card h3{ font-size:.92rem; font-family:'IBM Plex Mono',monospace; font-weight:600; margin-bottom:8px; color:var(--accent); text-transform:uppercase; letter-spacing:.02em; }
.info-card p{ font-size:.93rem; color:var(--muted); }

.warn-list{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }
.warn-list li{ background:var(--paper); padding:14px 18px; font-size:.94rem; position:relative; padding-left:34px; }
.warn-list li::before{ content:"!"; position:absolute; left:14px; top:14px; width:16px; height:16px; background:var(--warn); color:#fff; font-family:'IBM Plex Mono',monospace; font-size:.72rem; font-weight:700; display:flex; align-items:center; justify-content:center; }

.table-wrap{ overflow-x:auto; margin-top:18px; border:2px solid var(--navy); }
table.compare-table{ width:100%; border-collapse:collapse; font-size:.9rem; min-width:480px; font-family:'IBM Plex Mono',monospace; }
table.compare-table th{ text-align:left; background:var(--navy); color:#EAF1F2; font-weight:600; padding:11px 16px; font-size:.75rem; text-transform:uppercase; letter-spacing:.03em; }
table.compare-table td{ padding:11px 16px; border-top:1px solid var(--line); color:var(--navy); }
table.compare-table tr:nth-child(even){ background:#F5F8F9; }

details.faq{ background:var(--paper); border:1px solid var(--line); border-left:3px solid var(--accent); padding:2px 20px; margin-bottom:8px; }
details.faq summary{ cursor:pointer; font-weight:600; padding:15px 0; list-style:none; position:relative; padding-right:28px; padding-left:32px; }
details.faq summary::before{ content:"Q"; position:absolute; left:0; top:14px; font-family:'IBM Plex Mono',monospace; font-size:.78rem; font-weight:700; color:var(--accent); }
details.faq summary::-webkit-details-marker{ display:none; }
details.faq summary::after{ content:"+"; position:absolute; right:0; top:12px; font-size:1.3rem; color:var(--accent); transition:transform .2s ease; }
details.faq[open] summary::after{ transform:rotate(45deg); }
details.faq p{ padding:0 0 18px 32px; color:var(--muted); font-size:.94rem; margin:0; }

.report-block{ background:var(--warn-bg); border:2px solid var(--warn); padding:30px 30px; margin-top:6px; position:relative; }
.stamp{ position:absolute; top:24px; right:26px; border:2px solid var(--warn); color:var(--warn); font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:.72rem; padding:5px 10px; transform:rotate(6deg); letter-spacing:.05em; }
@media (max-width:560px){ .stamp{ display:none; } }
.report-block .kicker{ color:var(--warn); }
.report-block h2{ color:#7A241A; }
.report-block p{ color:#7A3A2E; max-width:60ch; }
.cimer-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--warn); color:#fff; text-decoration:none; font-weight:600; font-family:'IBM Plex Mono',monospace; padding:12px 20px; margin-top:16px; font-size:.88rem; }
.cimer-btn:hover{ background:#9C2E21; }
.report-note{ font-size:.8rem; color:#8C5346; margin-top:12px; }

.disclaimer{ border:1px dashed var(--navy); padding:20px 24px; font-size:.88rem; color:var(--navy); margin-top:6px; background:var(--paper); font-family:'IBM Plex Mono',monospace; }
footer{ padding:34px 0 60px; color:var(--muted); font-size:.83rem; font-family:'IBM Plex Mono',monospace; }
footer a{ color:var(--accent); }
