
:root{
  --ink:#0E1620; --ink-2:#131e2b; --paper:#F4F2ED;
  --paper-dim:#B9BEC6; --paper-faint:#6E7683;
  --accent:#B4242B; --accent-soft:#D9636A;
  --hair:rgba(244,242,237,.14); --hair-strong:rgba(244,242,237,.28);
  --rule:rgba(14,22,32,.15);
  --max:1200px;
  --sans:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Consolas,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:var(--sans);
     font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
@media(max-width:640px){.wrap{padding:0 20px}}

/* incident strip */
.strip{position:fixed;top:0;left:0;right:0;z-index:60;background:#0A1119;
       border-bottom:1px solid var(--hair);min-height:38px;display:flex;align-items:center}
.strip .wrap{display:flex;align-items:center;justify-content:center;gap:10px;
             width:100%;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.strip p{font-size:13px;color:var(--paper-dim);margin:0}
.strip em{font-style:normal;color:var(--accent-soft);font-weight:500}
.strip a{font-family:var(--mono);font-size:13px;color:var(--paper);
         border-bottom:1px solid var(--hair-strong);padding-bottom:2px}
.strip a:hover{color:var(--accent-soft);border-bottom-color:var(--accent-soft)}
.strip small{font-size:12px;color:var(--paper-faint)}
@media(max-width:640px){
  .strip .wrap{gap:6px;padding-top:7px;padding-bottom:7px}
  .strip p,.strip a{font-size:12px}
  .strip small{display:none}
}

/* header */
header{position:fixed;inset:38px 0 auto 0;height:72px;z-index:50;
       display:flex;align-items:center;border-bottom:1px solid transparent;
       transition:background .3s,border-color .3s}
header.solid{background:rgba(14,22,32,.94);backdrop-filter:blur(8px);
             border-bottom-color:var(--hair)}
.hd{width:100%;max-width:var(--max);margin:0 auto;padding:0 40px;
    display:flex;align-items:center;justify-content:space-between}
@media(max-width:640px){.hd{padding:0 20px}}
.brand{display:flex;flex-direction:column;line-height:1.05}
.brand b{font-size:17px;letter-spacing:.06em;font-weight:300}
.brand b i{font-style:normal;font-weight:700}
.brand b u{text-decoration:none;font-size:12px;font-weight:400;letter-spacing:.04em;
           color:var(--paper-faint);vertical-align:1px;margin-left:1px}
.brand b u s{text-decoration:none;color:var(--accent-soft)}
.brand span{font-family:var(--mono);font-size:8.5px;letter-spacing:.22em;
            color:var(--paper-faint);text-transform:uppercase;margin-top:3px}
nav{display:flex;gap:30px;font-size:14px}
nav a{color:var(--paper-dim);padding:4px 0;border-bottom:1px solid transparent;
      transition:color .2s,border-color .2s}
nav a:hover,nav a.on{color:var(--paper);border-bottom-color:var(--accent-soft)}
.menu-btn{display:none;background:none;border:1px solid var(--hair-strong);
          color:var(--paper);font-family:var(--mono);font-size:11px;
          letter-spacing:.18em;padding:12px 16px;cursor:pointer;min-height:44px}
@media(max-width:900px){nav{display:none}.menu-btn{display:block}}
.mnav{position:fixed;inset:0;background:var(--ink);z-index:70;display:none;
      flex-direction:column;justify-content:center;padding:0 28px}
.mnav.open{display:flex}
.mnav a{font-size:26px;font-weight:700;padding:16px 0;border-bottom:1px solid var(--hair)}
.mnav .mclose{position:absolute;top:16px;right:20px;font-size:26px;font-weight:400;
              border:none;background:none;color:var(--paper);padding:10px 14px;min-height:44px;cursor:pointer}
.mnav .mcontact{margin-top:36px;border:none;font-size:15px;font-weight:400;
                font-family:var(--mono);letter-spacing:.1em;color:var(--accent-soft)}

/* sections */
section{padding:110px 0}
@media(max-width:640px){section{padding:64px 0}}
.light{background:var(--paper);color:var(--ink)}
.light .lead{color:#4a4f57}
.light .sec-label{color:#8a8478}
.light .lnk{border-bottom-color:rgba(14,22,32,.25)}
.light .lnk:hover{color:var(--accent);border-bottom-color:var(--accent)}
.sec-label{font-family:var(--mono);font-size:11px;letter-spacing:.2em;
           text-transform:uppercase;color:var(--paper-faint);margin-bottom:18px}
.sec-label i{font-style:normal;color:var(--accent-soft);margin-right:10px}
h1{font-size:clamp(36px,4vw,58px);line-height:1.06;font-weight:700;letter-spacing:-.015em}
h2{font-size:clamp(26px,2.5vw,38px);line-height:1.15;font-weight:700;
   letter-spacing:-.01em;max-width:24ch}
h3{font-size:22px;font-weight:700;letter-spacing:-.01em;margin-bottom:10px}
.lead{margin-top:20px;max-width:60ch;color:var(--paper-dim)}
.prose p{margin-top:18px;max-width:64ch}
.prose p:first-child{margin-top:0}
.lnk{font-size:16px;padding-bottom:5px;border-bottom:1px solid var(--hair-strong);
     transition:border-color .2s,color .2s;display:inline-block}
.lnk:hover{border-bottom-color:var(--accent-soft);color:var(--accent-soft)}
.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.14em;
         text-transform:uppercase;color:var(--accent-soft);margin-bottom:24px}

/* page header (inner pages) */
.phead{padding:190px 0 70px;border-bottom:1px solid var(--hair)}
@media(max-width:640px){.phead{padding:150px 0 48px}}
.phead .crumb{font-family:var(--mono);font-size:11px;letter-spacing:.18em;
              text-transform:uppercase;color:var(--paper-faint);margin-bottom:22px}
.phead .crumb a:hover{color:var(--accent-soft)}
.phead p.sub{margin-top:24px;max-width:56ch;color:var(--paper-dim);font-size:20px}

/* two-column inner layout */
.cols{display:grid;grid-template-columns:1.55fr .75fr;gap:72px;align-items:start}
@media(max-width:900px){.cols{grid-template-columns:1fr;gap:48px}}
.rail{border-left:1px solid var(--hair);padding-left:30px;font-size:15px;position:sticky;top:140px}
@media(max-width:900px){.rail{position:static;border-left:none;border-top:1px solid var(--hair);
       padding-left:0;padding-top:30px}}
.light .rail{border-color:var(--rule)}
.rail h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;
         text-transform:uppercase;color:var(--paper-faint);margin-bottom:10px;margin-top:26px;font-weight:400}
.rail h4:first-child{margin-top:0}
.rail p{color:var(--paper-dim);font-size:15px}
.light .rail p{color:#4a4f57}
.rail a.cta{display:inline-block;margin-top:8px;color:var(--accent-soft);
            border-bottom:1px solid var(--accent-soft);padding-bottom:3px;font-size:15px}
.light .rail a.cta{color:var(--accent);border-color:var(--accent)}

/* lists */
ul.caps{list-style:none;margin-top:26px;border-top:1px solid var(--hair)}
.light ul.caps{border-color:var(--rule)}
ul.caps li{padding:15px 0;border-bottom:1px solid var(--hair);font-size:17px;max-width:70ch}
.light ul.caps li{border-color:var(--rule)}
ul.plain{list-style:none;margin-top:20px}
ul.plain li{padding:8px 0 8px 22px;position:relative;max-width:64ch}
ul.plain li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:1px;
                    background:var(--accent-soft)}

/* bands */
.bands{margin-top:48px;border-top:1px solid var(--hair)}
.light .bands{border-color:var(--rule)}
.band{display:grid;grid-template-columns:1fr 1.3fr auto;gap:30px;align-items:baseline;
      padding:34px 0;border-bottom:1px solid var(--hair);transition:background .2s}
.light .band{border-color:var(--rule)}
.band:hover{background:var(--ink-2)}
.light .band:hover{background:#ece9e2}
.band h3{font-size:25px;margin:0}
.band p{color:var(--paper-dim);font-size:16px;max-width:52ch}
.light .band p{color:#4a4f57}
.band .go{font-family:var(--mono);font-size:13px;color:var(--accent-soft)}
.light .band .go{color:var(--accent)}
@media(max-width:800px){.band{grid-template-columns:1fr;gap:12px}}

/* grid cards */
.grid{margin-top:48px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
      border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.grid a{padding:32px 28px;border-right:1px solid var(--rule);
        border-bottom:1px solid var(--rule);transition:background .2s}
.grid a:hover{background:#ece9e2}
.grid b{display:block;font-size:19px;letter-spacing:-.01em}
.grid span{display:block;margin-top:10px;font-size:14.5px;color:#4a4f57;line-height:1.5}
.grid .num{font-family:var(--mono);font-size:11px;color:#8a8478;letter-spacing:.15em;
           display:block;margin-bottom:14px}

/* callout */
.callout{margin-top:34px;padding:28px 30px;background:var(--ink-2);border-left:2px solid var(--accent)}
.light .callout{background:#ece9e2;border-left-color:var(--accent)}
.callout p{max-width:62ch}
.callout p+p{margin-top:14px}

/* steps */
ol.steps{list-style:none;counter-reset:s;margin-top:30px}
ol.steps li{counter-increment:s;padding:0 0 26px 54px;position:relative;max-width:64ch}
ol.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:2px;
  font-family:var(--mono);font-size:12px;color:var(--accent-soft);letter-spacing:.1em}
ol.steps li::after{content:"";position:absolute;left:14px;top:22px;bottom:4px;width:1px;
  background:var(--hair)}
.light ol.steps li::after{background:var(--rule)}
ol.steps li:last-child::after{display:none}
ol.steps b{display:block;margin-bottom:6px;font-size:18px}
ol.steps span{color:var(--paper-dim);font-size:16px}
.light ol.steps span{color:#4a4f57}

/* map */
.node circle{fill:var(--ink);stroke:var(--paper-faint);stroke-width:1}
.node.on circle{stroke:var(--accent-soft);stroke-width:1.5}
.node text{fill:var(--paper-dim);font-family:var(--mono);font-size:10px;letter-spacing:.08em}
.node.on text{fill:var(--accent-soft)}
.edge{stroke:var(--paper-faint);stroke-width:.7;opacity:.5}
.edge.on{stroke:var(--accent-soft);stroke-width:1.1;opacity:.9}
.edge.dash{stroke-dasharray:3 4}

.btn{display:inline-block;margin-top:32px;padding:15px 30px;
     border:1px solid var(--accent-soft);color:var(--accent-soft);font-size:15px;
     transition:background .2s,color .2s}
.btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.light .btn{border-color:var(--accent);color:var(--accent)}

.ctas{margin-top:40px;display:flex;flex-wrap:wrap;gap:14px}
.ctas a{font-size:15px;padding:12px 22px;border:1px solid var(--hair-strong);
        color:var(--paper-dim);transition:all .2s}
.ctas a:hover{border-color:var(--accent-soft);color:var(--accent-soft)}
.light .ctas a{border-color:var(--rule);color:#4a4f57}
.light .ctas a:hover{border-color:var(--accent);color:var(--accent)}

/* closing frame */
.close{background:var(--ink);text-align:center;padding:130px 0 110px}
.close .mark{font-size:clamp(32px,3.8vw,50px);font-weight:300;letter-spacing:.04em}
.close .motto{font-family:var(--mono);font-size:13px;letter-spacing:.24em;
              text-transform:uppercase;color:var(--accent-soft);margin-top:20px}
.close p{margin:40px auto 0;max-width:52ch;font-size:16px;color:var(--paper-dim)}

footer{border-top:1px solid var(--hair);padding:34px 0;font-size:12.5px;color:var(--paper-faint)}
footer .wrap{display:flex;flex-direction:column;gap:10px}
footer span{max-width:86ch;line-height:1.6}
footer a:hover{color:var(--accent-soft)}

/* insights list */
.ilist{margin-top:40px;border-top:1px solid var(--hair)}
.ilist a{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:24px 0;
         border-bottom:1px solid var(--hair);align-items:baseline}
.ilist a:hover b{color:var(--accent-soft)}
.ilist time{font-family:var(--mono);font-size:12px;color:var(--paper-faint);letter-spacing:.08em}
.ilist b{font-size:20px;font-weight:500;display:block;max-width:60ch}
.ilist span{display:block;margin-top:8px;color:var(--paper-dim);font-size:15.5px;max-width:64ch}
@media(max-width:640px){.ilist a{grid-template-columns:1fr;gap:8px}}

/* legal pages */
.legal h2{margin-top:44px;font-size:24px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{max-width:70ch;font-size:17px}
.legal ul{margin-top:14px;padding-left:22px}
.legal li{margin-top:8px}
.legal table{width:100%;margin-top:20px;border-collapse:collapse;font-size:15.5px}
.legal td,.legal th{border:1px solid var(--rule);padding:10px 12px;text-align:left;vertical-align:top}
.legal th{background:#ece9e2;font-weight:600}

@media(prefers-reduced-motion:no-preference){
  .fade{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
  .fade.in{opacity:1;transform:none}
}
@media print{.strip,header,.mnav{display:none}body{background:#fff;color:#000}}

/* ---------- brand assets ---------- */
.brand{max-width:62%}
.brand .wm{display:block;height:17px;width:auto;max-width:100%}
@media(max-width:900px){
  .brand{max-width:none}
  .brand .wm{height:14px}
  .brand span{display:none}
  header{height:60px}
  .hd{gap:16px}
}
@media(max-width:380px){.brand .wm{height:12px}}
.close .mark{line-height:1}
.close .mark .wm-big{height:clamp(30px,3.4vw,46px);width:auto;display:inline-block}

.strip small a{font-size:12px;color:var(--paper-faint)}
.strip small a:hover{color:var(--accent-soft)}
