/* ==========================================================================
   warinsurer.com - stylesheet

   Direction: insurtech product. Dark navy hero carrying a data visual, red as
   the brand accent, white cards on a light wash, stat strip under the fold.

   Structure and copy are unchanged from the editorial build; this is a skin.
   ========================================================================== */

:root{
  --red:#C8102E;
  --red-dark:#A50D26;
  --red-tint:#FDF2F4;

  --navy:#0C1B2A;          /* hero, footer, dark panels */
  --navy-2:#132842;        /* raised surfaces on navy */
  --ink:#16202B;
  --ink-2:#41505F;
  --muted:#66727F;
  --line:#E4E8EC;
  --line-2:#EFF2F5;
  --paper:#FFFFFF;
  --wash:#F5F7F9;          /* section bands */

  /* Severity keeps its meaning; now tuned to sit beside the brand red */
  --sev-0:#A6B0BA;
  --sev-1:#E8A33D;
  --sev-2:#D4552F;
  --sev-3:#C8102E;

  --cls-land:#2E7D6B;
  --cls-marine:#1D6FA8;
  --cls-aviation:#5A6B8C;
  --cls-energy:#C08A2E;
  --cls-personnel:#B0405A;
  --ok:#2E7D6B;

  --wrap:1200px;
  --r:10px;
  --r-sm:7px;
  --sh:0 1px 2px rgba(12,27,42,.06), 0 1px 3px rgba(12,27,42,.04);
  --sh-lift:0 4px 16px rgba(12,27,42,.09);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;
}
body[dir="rtl"]{font-family:"IBM Plex Sans Arabic",sans-serif;line-height:1.9}

h1,h2,h3,h4{
  font-family:Archivo,Inter,sans-serif;font-weight:700;
  letter-spacing:-.028em;line-height:1.14;margin:0 0 .5em;color:var(--ink);
}
body[dir="rtl"] h1,body[dir="rtl"] h2,body[dir="rtl"] h3,body[dir="rtl"] h4{
  font-family:"IBM Plex Sans Arabic",sans-serif;letter-spacing:0;line-height:1.4;
}
h1{font-size:clamp(2.2rem,4.6vw,3.3rem);line-height:1.08;letter-spacing:-.033em}
h2{font-size:clamp(1.6rem,2.9vw,2.15rem)}
h3{font-size:1.1rem;font-weight:600}

p{margin:0 0 1.1em}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}

.mono,.rung,.stat .n,.tier{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}

.eyebrow{
  display:block;font-size:.76rem;font-weight:700;color:var(--red);
  letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem;
}
body[dir="rtl"] .eyebrow{letter-spacing:0;font-size:.85rem}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.lede{font-size:1.08rem;line-height:1.66;color:var(--ink-2);max-width:64ch}

/* --- Header -------------------------------------------------------------- */
.site-head{background:var(--paper);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;gap:34px;min-height:70px}
.brand{
  display:flex;align-items:baseline;gap:1px;text-decoration:none;white-space:nowrap;
  font-family:Archivo,sans-serif;font-weight:700;font-size:1.3rem;letter-spacing:-.03em;
}
.brand:hover{text-decoration:none}
.brand .b1{color:var(--red)}
.brand .b2{color:var(--ink)}
.brand .b3{color:var(--muted);font-weight:600;font-size:.98rem}
body[dir="rtl"] .brand{font-family:"IBM Plex Sans Arabic",sans-serif;font-size:1.1rem}

.site-nav{display:flex;gap:28px;margin-inline-start:auto;align-items:center}
.site-nav a{
  color:var(--ink-2);font-size:.92rem;font-weight:500;padding:6px 0;
  border-bottom:2px solid transparent;
}
.site-nav a:hover{color:var(--ink);text-decoration:none}
.site-nav a[aria-current="page"]{color:var(--ink);font-weight:600;border-bottom-color:var(--red)}
.lang-btn{
  background:var(--paper);border:1px solid var(--line);color:var(--ink-2);
  font-family:"IBM Plex Sans Arabic",Inter,sans-serif;font-size:.86rem;
  padding:7px 14px;border-radius:var(--r-sm);cursor:pointer;font-weight:500;
}
.lang-btn:hover{border-color:var(--muted);color:var(--ink)}

/* --- Journey ------------------------------------------------------------- */
.journey{background:var(--wash);border-bottom:1px solid var(--line)}
.journey ol{display:flex;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.journey ol::-webkit-scrollbar{display:none}
.journey li{flex:1 0 auto}
.journey a{
  display:flex;align-items:center;gap:10px;padding:13px 24px;
  color:var(--muted);white-space:nowrap;font-size:.88rem;font-weight:500;
}
.journey a:hover{color:var(--ink);text-decoration:none}
.journey a[aria-current="step"]{color:var(--ink);background:var(--paper);font-weight:600}
.journey .n{
  font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--red);
  background:var(--red-tint);border-radius:4px;padding:2px 6px;font-weight:600;
}

/* --- Hero ---------------------------------------------------------------- */
.hero{background:var(--navy);color:#fff;padding:62px 0 0;position:relative}
.hero h1{color:#fff;max-width:none;font-size:clamp(1.95rem,3.5vw,2.85rem);margin-bottom:.4em}
.hero .eyebrow{color:#7FA8D4;font-size:.72rem;margin-bottom:.85rem}
.hero .lede{color:#AFC0D2;font-size:1.05rem;max-width:46ch;margin-bottom:1.7rem}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding-bottom:58px}
.hero-map{margin:0;position:relative}
.hero-map svg{width:100%;height:auto;display:block}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--red);color:#fff;border:1px solid var(--red);
  font-family:Inter,sans-serif;font-weight:600;font-size:.95rem;
  padding:13px 26px;border-radius:var(--r-sm);cursor:pointer;
  transition:background .14s ease,border-color .14s ease;
}
body[dir="rtl"] .btn{font-family:"IBM Plex Sans Arabic",sans-serif}
.btn:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff;text-decoration:none}
.btn-ghost{background:transparent;color:#fff;border-color:#FFFFFF44}
.btn-ghost:hover{background:#FFFFFF12;border-color:#FFFFFF88;color:#fff}
.section .btn-ghost,.next .btn-ghost{color:var(--ink);border-color:var(--line);background:var(--paper)}
.section .btn-ghost:hover,.next .btn-ghost:hover{background:var(--wash);border-color:var(--muted);color:var(--ink)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* --- Stat strip ---------------------------------------------------------- */
.stat-strip{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--sh-lift);display:grid;grid-template-columns:repeat(4,1fr);
  position:relative;margin-bottom:-46px;overflow:hidden;
}
.stat-item{
  padding:24px 26px;border-inline-start:1px solid var(--line);
  display:block;text-decoration:none;color:inherit;transition:background .14s ease;
}
a.stat-item:hover{background:var(--wash);text-decoration:none}
a.stat-item:hover .v{color:var(--red)}
.stat-item:first-child{border-inline-start:none}
.stat-item .v{
  font-family:Archivo,sans-serif;font-weight:700;font-size:1.7rem;
  transition:color .14s ease;
  color:var(--ink);letter-spacing:-.03em;line-height:1.1;
}
body[dir="rtl"] .stat-item .v{font-family:"IBM Plex Sans Arabic",sans-serif}
.stat-item .k{font-size:.82rem;color:var(--muted);margin-top:5px;line-height:1.42}

/* --- Sections ------------------------------------------------------------ */
.section{padding:78px 0}
.hero + .section{padding-top:104px}
.section + .section{border-top:1px solid var(--line-2)}
/* Heading left, standfirst right. A single narrow column under a wide band
   leaves a dead half-page, which is what this avoids. The measure is still
   capped, because a paragraph running the full 1200px is unreadable. */
.section-head{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:10px 56px;align-items:start;margin-bottom:44px;max-width:none;
}
.section-head h2{grid-column:1;margin:0}
.section-head .lede{grid-column:2;margin:0;max-width:62ch}
/* A heading with no standfirst has nothing to sit beside, so let it breathe. */
.section-head h2:only-child{grid-column:1 / -1;max-width:24ch}
.areas,.tool{background:var(--wash);border-top:1px solid var(--line)}

.page-head{background:var(--navy);color:#fff;padding:64px 0 68px}
.page-head .wrap{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0 56px;align-items:end;
}
.page-head .eyebrow{grid-column:1 / -1;color:#7FA8D4;font-size:.72rem;margin-bottom:.9rem}
.page-head h1{grid-column:1;color:#fff;max-width:none;margin:0;
  font-size:clamp(1.9rem,3.4vw,2.6rem)}
.page-head .lede{grid-column:2;color:#AFC0D2;margin:0;max-width:56ch;padding-bottom:.35em}

/* --- Ladder -------------------------------------------------------------- */
.ladder{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ladder li{
  display:grid;grid-template-columns:54px 1fr;gap:0 20px;align-items:start;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:22px 24px;box-shadow:var(--sh);
}
.ladder .rung{
  font-size:.78rem;font-weight:600;color:#fff;background:var(--sev-0);
  border-radius:var(--r-sm);padding:5px 0;text-align:center;
}
.ladder [data-sev="1"] .rung{background:var(--sev-1)}
.ladder [data-sev="2"] .rung{background:var(--sev-2)}
.ladder [data-sev="3"] .rung{background:var(--sev-3)}
.ladder .bar{display:none}
.ladder h3{margin-bottom:.26em}
.ladder p{margin:0;color:var(--ink-2);font-size:.94rem;max-width:74ch}
.ladder .bites{
  margin-top:.9em;background:var(--wash);border-radius:var(--r-sm);
  padding:13px 16px;font-size:.89rem;color:var(--ink-2);max-width:74ch;
}
.ladder .bites b{display:block;font-size:.78rem;color:var(--ink);font-weight:600;margin-bottom:.25em}
.ladder li[data-scope="sister"]{opacity:.66;box-shadow:none;background:var(--wash)}
.ladder li[data-scope="sister"]:hover{opacity:1}
.sister-tag{display:inline-block;margin-top:.55em;font-size:.85rem;font-weight:500}
.tier-key{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
.tier-key span{
  font-size:.82rem;background:var(--paper);border:1px solid var(--line);
  padding:7px 14px;border-radius:100px;color:var(--ink-2);
}

/* --- Class cards --------------------------------------------------------- */
.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}
.class-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:28px;display:flex;flex-direction:column;box-shadow:var(--sh);
  transition:box-shadow .16s ease,transform .16s ease;
}
.class-card:hover{box-shadow:var(--sh-lift);transform:translateY(-2px)}
.class-card h3{font-size:1.12rem;margin-bottom:.3em;display:flex;align-items:center;gap:10px}
.class-card h3::before{
  content:"";width:34px;height:34px;flex:none;border-radius:var(--r-sm);
  background:var(--c,var(--red));opacity:.13;
}
.class-card .lede{font-size:.93rem;margin-bottom:1.3em}
.class-card dl{margin:0;font-size:.88rem}
.class-card dt{font-size:.78rem;color:var(--muted);margin-top:1.1em;font-weight:600;text-transform:uppercase;letter-spacing:.045em}
body[dir="rtl"] .class-card dt{letter-spacing:0;text-transform:none}
.class-card dd{margin:.15em 0 0;color:var(--ink-2)}
.class-card .note{margin:auto 0 0;padding-top:1.4em;font-size:.87rem;color:var(--muted)}
.pill{
  display:inline-block;align-self:flex-start;font-size:.76rem;font-weight:600;
  padding:4px 11px;border-radius:100px;margin-bottom:1.1em;
}
.pill-cancel{background:var(--red-tint);color:var(--red)}
.pill-annual{background:#EAF5F1;color:var(--ok)}

/* --- Areas --------------------------------------------------------------- */
.area-list{list-style:none;margin:0;padding:0;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.area-list li{display:flex;align-items:center;gap:15px;padding:16px 22px;border-top:1px solid var(--line-2)}
.area-list li:first-child{border-top:none}
.area-list .dot{width:9px;height:9px;border-radius:50%;flex:none}
.area-list [data-s="listed"] .dot{background:var(--sev-3)}
.area-list [data-s="partial"] .dot{background:var(--sev-1)}
.area-list [data-s="clear"] .dot{background:var(--ok)}
.area-list .nm{flex:1;display:flex;flex-direction:column;gap:1px;font-weight:600;font-size:.95rem}
.area-list .ports{font-style:normal;font-size:.85rem;color:var(--muted);font-weight:400}
.area-list .st{font-size:.8rem;color:var(--muted);font-weight:500}
.choke-mark{font-size:.6rem;color:var(--sev-1);margin-inline-start:7px}
.revision{margin-top:20px;font-size:.86rem;color:var(--muted);
  border-inline-start:3px solid var(--sev-1);padding-inline-start:15px;max-width:78ch}

/* --- About --------------------------------------------------------------- */
.about{background:var(--wash);border-top:1px solid var(--line)}
.offer{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.offer li{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:20px 22px;color:var(--ink-2);font-size:.91rem;box-shadow:var(--sh);
}
.offer b{display:block;font-family:Archivo,sans-serif;font-weight:700;font-size:.99rem;
  color:var(--ink);margin-bottom:.3em;letter-spacing:-.015em}
body[dir="rtl"] .offer b{font-family:"IBM Plex Sans Arabic",sans-serif;letter-spacing:0}
.offer a{font-weight:600}

/* --- Next / CTA ---------------------------------------------------------- */
.next{
  background:var(--navy);border-radius:var(--r);padding:38px 40px;
  display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;
}
.next h3{color:#fff;margin-bottom:.25em;font-size:1.3rem}
.next p{margin:0;color:#AFC0D2;font-size:.94rem;max-width:58ch}
.next .btn-ghost{color:#fff;border-color:#FFFFFF44;background:transparent}

/* --- Footer -------------------------------------------------------------- */
.site-foot{background:var(--navy);color:#93A5B8;padding:60px 0 44px;font-size:.9rem}
.site-foot a{color:#C6D2DE}
.site-foot a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;margin-bottom:38px}
.site-foot h4{color:#fff;font-size:1rem;margin-bottom:1em}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:.6em}
.disclaimer{border-top:1px solid #FFFFFF1A;padding-top:24px;font-size:.82rem;
  line-height:1.7;color:#75879A;max-width:84ch}
.entity-flag{background:#C8102E2B;border:1px solid #C8102E88;color:#FFC2C9;
  padding:11px 15px;border-radius:var(--r-sm);font-size:.85rem;margin-bottom:24px}
/* A review note is not a fault, and should not be dressed as one. */
.entity-flag[data-tone="note"]{
  background:#FFFFFF0F;border-color:#FFFFFF2E;color:#AFC0D2;
}

/* --- Table --------------------------------------------------------------- */
.table-scroll{overflow-x:auto;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--sh)}
.cmp{border-collapse:collapse;width:100%;min-width:700px;font-size:.9rem}
.cmp th,.cmp td{text-align:start;vertical-align:top;padding:16px 22px;border-top:1px solid var(--line-2)}
.cmp thead th{font-size:.78rem;font-weight:700;color:var(--muted);background:var(--wash);
  border-top:none;text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .cmp thead th{letter-spacing:0;text-transform:none}
.cmp tbody th{font-weight:600;white-space:nowrap}
.cmp tbody th a{color:var(--ink)}
.cmp tbody th a:hover{color:var(--red)}
.cmp td{color:var(--ink-2)}
.swatch{display:inline-block;width:9px;height:9px;border-radius:50%;margin-inline-end:9px}

/* --- Class detail -------------------------------------------------------- */
.cls-detail{padding:70px 0}
.cls-detail + .cls-detail{border-top:1px solid var(--line-2)}
.cls-detail-head{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:10px 56px;align-items:start;margin-bottom:40px;max-width:none;
}
.cls-detail-head .eyebrow{grid-column:1 / -1;color:var(--c)}
.cls-detail-head h2{grid-column:1;margin:0}
.cls-detail-head .lede{grid-column:2;margin:0;max-width:60ch}
.cls-cols{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.spec{margin:0 0 24px;font-size:.92rem}
.spec dt{font-size:.78rem;color:var(--muted);margin-top:1.3em;font-weight:600;
  text-transform:uppercase;letter-spacing:.045em}
body[dir="rtl"] .spec dt{letter-spacing:0;text-transform:none}
.spec dt:first-child{margin-top:0}
.spec dd{margin:.18em 0 0;color:var(--ink-2)}
.seam-note{background:var(--wash);border-radius:var(--r);padding:20px 22px;
  font-size:.91rem;color:var(--ink-2);border-inline-start:4px solid var(--sev-1)}
.seam-note b{display:block;font-size:.79rem;color:var(--ink);font-weight:700;
  margin-bottom:.35em;text-transform:uppercase;letter-spacing:.045em}
body[dir="rtl"] .seam-note b{letter-spacing:0;text-transform:none}
.cls-cols h3{font-size:.88rem;font-weight:700;color:var(--ink);margin:0 0 1em;
  text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .cls-cols h3{letter-spacing:0;text-transform:none}
.cls-cols h3:not(:first-child){margin-top:2.4em}
.tick,.asks{list-style:none;margin:0;padding:0;font-size:.91rem}
.tick li,.asks li{padding:11px 0 11px 26px;border-bottom:1px solid var(--line-2);
  color:var(--ink-2);position:relative}
body[dir="rtl"] .tick li,body[dir="rtl"] .asks li{padding:11px 26px 11px 0}
.tick-no li::before{content:"";position:absolute;inset-inline-start:0;top:1.25em;
  width:11px;height:2px;background:var(--red);border-radius:1px}
.asks{counter-reset:a}
.asks li{counter-increment:a}
.asks li::before{content:counter(a);position:absolute;inset-inline-start:0;top:.85em;
  font-family:"IBM Plex Mono",monospace;font-size:.76rem;color:var(--red);font-weight:600}
.seam-fig{margin:0}
.seam-fig svg{width:100%;height:auto}

/* --- Tools --------------------------------------------------------------- */
.tool-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:34px;box-shadow:var(--sh)}
.picker{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.picker label{font-size:.84rem;color:var(--muted);font-weight:600}
.picker select{background:var(--paper);color:var(--ink);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:11px 14px;min-width:min(330px,100%);
  font-family:inherit;font-size:.94rem;cursor:pointer}
.picker select:hover{border-color:var(--muted)}
.corridor-fig{margin:0 0 32px}
.corridor{list-style:none;margin:0;padding:0;border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden}
.corridor li{display:grid;grid-template-columns:4px 1fr auto;align-items:center;gap:0 18px;
  padding:15px 20px;background:var(--paper);border-top:1px solid var(--line-2);transition:opacity .18s}
.corridor li:first-child{border-top:none}
.corridor .seg{width:4px;height:100%;min-height:30px;border-radius:2px;background:var(--ok)}
.corridor [data-s="listed"] .seg{background:var(--sev-3)}
.corridor [data-s="partial"] .seg{background:var(--sev-1)}
.corridor [data-choke] .seg{background-image:repeating-linear-gradient(180deg,transparent 0 3px,#fff 3px 6px)}
.corridor .zname{font-weight:600;font-size:.94rem}
.corridor .zports{grid-column:2;font-size:.85rem;color:var(--muted)}
.corridor .zstat{grid-row:1 / span 2;grid-column:3;font-size:.8rem;color:var(--muted);font-weight:500}
.corridor [data-off]{opacity:.3}
.profile{border-top:1px solid var(--line);padding-top:32px}
.stats{display:flex;gap:44px;flex-wrap:wrap;margin:22px 0 34px}
.stat{display:flex;flex-direction:column;gap:4px}
.stat .n{font-size:2.4rem;line-height:1;color:var(--red);font-weight:600;font-family:Archivo,sans-serif}
.stat .k{font-size:.85rem;color:var(--muted)}
.profile h4{font-size:.86rem;font-weight:700;color:var(--ink);margin-bottom:1.1em;
  text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .profile h4{letter-spacing:0;text-transform:none}
.obligations{list-style:none;margin:0 0 24px;padding:0;font-size:.92rem}
.obligations li{padding:14px 0 14px 28px;border-bottom:1px solid var(--line-2);
  color:var(--ink-2);position:relative;max-width:80ch}
body[dir="rtl"] .obligations li{padding:14px 28px 14px 0}
.obligations li::before{content:"";position:absolute;inset-inline-start:2px;top:1.45em;
  width:8px;height:8px;border-radius:50%;background:var(--red)}

/* --- How to use this site ------------------------------------------------ */
.howto{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:16px;counter-reset:none}
.howto-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:26px 24px;box-shadow:var(--sh);display:flex;flex-direction:column;
  transition:box-shadow .16s ease,transform .16s ease;
}
.howto-card:hover{box-shadow:var(--sh-lift);transform:translateY(-2px)}
.howto-n{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:var(--r-sm);
  background:var(--red-tint);color:var(--red);font-size:.8rem;font-weight:600;
  margin-bottom:16px;
}
.howto-card h3{font-size:1.06rem;margin-bottom:.4em}
.howto-card p{font-size:.9rem;color:var(--ink-2);margin-bottom:1.4em}
.howto-cta{margin-top:auto;font-size:.9rem;font-weight:600;color:var(--red)}

/* --- Compact ladder ------------------------------------------------------ */
.rung-strip{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(8,1fr);gap:6px}
.rs a{
  display:flex;flex-direction:column;gap:9px;height:100%;
  padding:16px 14px;border-radius:var(--r-sm);text-decoration:none;
  background:var(--wash);border-top:4px solid var(--sev-0);
  transition:background .14s ease;
}
.rs[data-sev="1"] a{border-top-color:var(--sev-1)}
.rs[data-sev="2"] a{border-top-color:var(--sev-2)}
.rs[data-sev="3"] a{border-top-color:var(--sev-3)}
.rs a:hover{background:#EDF0F3}
.rs-n{font-size:.76rem;color:var(--muted);font-weight:500}
.rs-name{font-size:.87rem;font-weight:600;color:var(--ink);line-height:1.35}
.rs[data-sister] a{opacity:.55;background:transparent;border:1px dashed var(--line);border-top-width:4px}
.rs[data-sister] a:hover{opacity:.85;background:var(--wash)}
.rung-key{display:flex;gap:20px;flex-wrap:wrap;margin-top:16px;
  font-size:.83rem;color:var(--muted)}
.rung-key span{display:flex;align-items:center;gap:8px}
.rung-key span::before{content:"";width:16px;height:4px;border-radius:2px;background:var(--sev-2)}
.rung-key [data-k="sister"]::before{background:var(--sev-0)}

/* --- About grids --------------------------------------------------------- */
.offer-grid{grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}
.limits-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.limits-grid li{border-bottom:1px solid var(--line-2)}

/* --- Guided steps -------------------------------------------------------- */
.step{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:34px;box-shadow:var(--sh)}
.step + .step,[data-step2] .step{margin-top:18px}
.step-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:26px}
.step-n{
  flex:none;width:34px;height:34px;border-radius:50%;background:var(--red);
  color:#fff;font-family:Archivo,sans-serif;font-weight:700;font-size:1rem;
  display:flex;align-items:center;justify-content:center;
}
.step-head h2{font-size:1.3rem;margin:0 0 .3em}
.step-help{margin:0;color:var(--muted);font-size:.93rem;max-width:70ch}
.sub-h{font-size:.86rem;font-weight:700;color:var(--ink);margin:2em 0 1em;
  text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .sub-h{letter-spacing:0;text-transform:none}

.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.choice{
  text-align:start;font-family:inherit;cursor:pointer;
  background:var(--paper);border:2px solid var(--line);border-radius:var(--r);
  padding:22px 24px;transition:border-color .14s ease,background .14s ease;
}
.choice:hover{border-color:var(--muted)}
.choice[aria-pressed="true"]{border-color:var(--red);background:var(--red-tint)}
.choice-t{display:block;font-family:Archivo,sans-serif;font-weight:700;
  font-size:1.08rem;color:var(--ink);margin-bottom:.4em}
body[dir="rtl"] .choice-t{font-family:"IBM Plex Sans Arabic",sans-serif}
.choice-x{display:block;font-size:.9rem;color:var(--muted);line-height:1.55}

.corridor .zn{
  grid-row:1 / span 2;font-size:.76rem;color:var(--muted);
  width:22px;text-align:center;
}
.corridor li{grid-template-columns:4px 22px 1fr auto;gap:0 14px}
.corridor .zname{grid-column:3}
.corridor .zports{grid-column:3;display:block;font-style:normal}
.corridor .zstat{grid-column:4}

.legend{margin-top:20px;background:var(--wash);border-radius:var(--r);padding:20px 22px}
.legend h4{font-size:.82rem;font-weight:700;color:var(--ink);margin:0 0 .9em;
  text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .legend h4{letter-spacing:0;text-transform:none}
.legend ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.legend li{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:var(--ink-2)}
.legend .dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:.42em;background:var(--ok)}
.legend [data-s="listed"] .dot{background:var(--sev-3)}
.legend [data-s="partial"] .dot{background:var(--sev-1)}
.legend .dot-choke{background:var(--muted);
  background-image:repeating-linear-gradient(90deg,transparent 0 2px,#fff 2px 4px)}

.worst{background:var(--red-tint);border-radius:var(--r);padding:18px 20px;
  margin-bottom:24px;font-size:.91rem;color:var(--ink-2)}
.worst b{display:block;color:var(--red);font-size:.98rem;margin-bottom:.3em;
  font-family:Archivo,sans-serif}
body[dir="rtl"] .worst b{font-family:"IBM Plex Sans Arabic",sans-serif}
.empty-note{margin:26px 0 0;padding:20px 22px;background:var(--wash);
  border-radius:var(--r);color:var(--muted);font-size:.92rem}

/* --- Territories --------------------------------------------------------- */
.terr-grid{list-style:none;margin:0;padding:0}
.terr-group + .terr-group{margin-top:34px}
.terr-group h3{font-size:.86rem;font-weight:700;color:var(--ink);margin:0 0 .95em;
  text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .terr-group h3{letter-spacing:0;text-transform:none}
.terr-group ul{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:10px}
.terr-grid li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:15px 18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;box-shadow:var(--sh)}
.terr-grid [data-screen]{border-color:#C8102E44;background:var(--red-tint)}
.terr-grid .tname{flex:1;font-weight:600;font-size:.93rem}
.tier{font-size:.78rem;font-weight:600;color:var(--muted);background:var(--wash);
  padding:3px 9px;border-radius:100px}
.tier-none{color:var(--red);background:var(--red-tint)}
.screen{flex-basis:100%;font-size:.79rem;color:var(--red);font-weight:500}

/* --- Learn --------------------------------------------------------------- */
.reader{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:start}
.reader-index h2{font-size:.86rem;font-weight:700;color:var(--ink);margin-bottom:1em;
  text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .reader-index h2{letter-spacing:0;text-transform:none}
.reader-index ol{list-style:none;margin:0;padding:0;position:sticky;top:100px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--sh)}
.reader-index li{border-top:1px solid var(--line-2)}
.reader-index li:first-child{border-top:none}
.reader-index a{display:grid;grid-template-columns:8px 1fr;gap:3px 12px;align-items:baseline;
  padding:14px 18px;color:var(--ink)}
.reader-index a:hover{background:var(--wash);text-decoration:none}
.ix-swatch{width:8px;height:8px;border-radius:50%;grid-row:1}
.ix-title{font-size:.91rem;font-weight:600;line-height:1.4}
.ix-cls{grid-column:2;font-size:.79rem;color:var(--muted)}
.reader-index [aria-current="true"] a{background:var(--red-tint)}
.reader-index [aria-current="true"] .ix-title{color:var(--red)}
.reader-body{outline:none;max-width:70ch}
.reader-body h2{font-size:clamp(1.6rem,3vw,2.1rem);max-width:22ch;margin-bottom:.3em}
.art-sub{font-size:1.06rem;color:var(--muted);margin-bottom:2.1em;line-height:1.55}
.art-body{font-size:1.02rem;line-height:1.75;color:var(--ink-2)}
.art-body h3{font-size:.87rem;font-weight:700;color:var(--ink);margin:2.5em 0 .9em;
  text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .art-body h3{letter-spacing:0;text-transform:none}
.art-body ul{margin:0 0 1.5em;padding-inline-start:1.2em}
.art-body li{margin-bottom:.6em}
.art-body li::marker{color:var(--red)}
.bites-block{margin-top:2.6em;background:var(--navy);border-radius:var(--r);padding:26px 28px}
.bites-block b{display:block;font-size:.8rem;color:#7FA8D4;font-weight:700;margin-bottom:.5em;
  text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .bites-block b{letter-spacing:0;text-transform:none}
.bites-block p{margin:0;font-size:1rem;color:#DCE6F0}

/* --- Check --------------------------------------------------------------- */
.hard-warning{background:var(--red-tint);border:1px solid #C8102E33;border-radius:var(--r);
  border-inline-start:4px solid var(--red);padding:22px 26px;margin:0;
  font-size:.94rem;color:var(--ink-2);max-width:84ch}
.drop{border:2px dashed var(--line);border-radius:var(--r);padding:38px 24px;
  text-align:center;background:var(--wash);transition:border-color .14s,background .14s}
.drop.over{border-color:var(--red);background:var(--red-tint)}
.drop p{margin:0 0 14px;color:var(--ink-2);font-size:.94rem}
.drop input[type=file]{color:var(--muted);font-size:.85rem;max-width:100%}
.or{text-align:center;margin:22px 0 12px;color:var(--muted);font-size:.86rem}
.tool-panel textarea{width:100%;background:var(--paper);color:var(--ink);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;
  font-family:"IBM Plex Mono",monospace;font-size:.86rem;line-height:1.6;resize:vertical}
.tool-panel textarea:hover{border-color:var(--muted)}
.findings{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.findings li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  border-inline-start:4px solid var(--sev-0);padding:19px 22px;box-shadow:var(--sh)}
.findings [data-sev="watch"]{border-inline-start-color:var(--sev-1)}
.findings [data-sev="gap"]{border-inline-start-color:var(--red)}
.findings [data-flag]{background:var(--red-tint)}
.f-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:.4em}
.f-name{font-weight:700;font-size:1rem;color:var(--ink);font-family:Archivo,sans-serif}
body[dir="rtl"] .f-name{font-family:"IBM Plex Sans Arabic",sans-serif}
.f-state{font-size:.79rem;color:var(--muted);white-space:nowrap;font-weight:500}
.findings p{margin:0;color:var(--ink-2);font-size:.92rem;max-width:80ch}
.matched{margin-top:.8em!important;font-size:.78rem!important;color:var(--muted)!important;
  font-family:"IBM Plex Mono",monospace;word-break:break-word}

/* --- Enquiry ------------------------------------------------------------- */
.enq{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:36px;box-shadow:var(--sh)}
.enq h3{margin-bottom:.3em;font-size:1.3rem}
.enq .lede{font-size:.94rem;margin-bottom:1.9em}
.enq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.enq-grid .wide{grid-column:1 / -1}
.enq label{display:flex;flex-direction:column;gap:6px}
.enq label span{font-size:.82rem;color:var(--muted);font-weight:600}
.enq input,.enq textarea{border:1px solid var(--line);border-radius:var(--r-sm);
  padding:12px 14px;font-family:inherit;font-size:.95rem;background:var(--paper);
  color:var(--ink);width:100%}
.enq input:hover,.enq textarea:hover{border-color:var(--muted)}
.enq input:focus,.enq textarea:focus{border-color:var(--red);outline:none;
  box-shadow:0 0 0 3px var(--red-tint)}
.enq-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}
.enq-status{margin:15px 0 0;font-size:.9rem;min-height:1.2em}
.enq-status.ok{color:var(--ok)}
.enq-status.warn{color:var(--red)}
.enq-consent{margin:20px 0 0;font-size:.82rem;color:var(--muted);
  border-top:1px solid var(--line-2);padding-top:16px;max-width:76ch}

/* --- Screening ----------------------------------------------------------- */
.screen-block{background:var(--wash);border:1px solid var(--line);border-radius:var(--r);
  border-inline-start:4px solid var(--red);padding:28px;margin-bottom:32px}
.screen-block h4{font-size:1.02rem;font-weight:700;color:var(--ink);margin:0 0 .8em;
  font-family:Archivo,sans-serif}
body[dir="rtl"] .screen-block h4{font-family:"IBM Plex Sans Arabic",sans-serif}
.scr-intro{font-size:.92rem;color:var(--ink-2);max-width:78ch}
.scr-label{font-size:.92rem;margin:1.7em 0 .85em;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{font-family:inherit;font-size:.85rem;background:var(--paper);color:var(--ink-2);
  border:1px solid var(--line);border-radius:100px;padding:7px 15px;cursor:pointer;
  transition:all .12s ease;font-weight:500}
.chip:hover{border-color:var(--muted);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--red);color:#fff;border-color:var(--red)}
.chip-group{margin:1.3em 0 .55em;font-size:.81rem;font-weight:700;color:var(--muted);
  text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .chip-group{letter-spacing:0;text-transform:none}
.chip-group:first-of-type{margin-top:.2em}
.scr-q{margin-top:1.9em}
.scr-q p{margin:0 0 .75em;font-size:.92rem;max-width:76ch;color:var(--ink-2)}
.scr-opts{display:flex;gap:7px;flex-wrap:wrap}
.scr-out{margin-top:2.1em}
.scr-verdict{border-radius:var(--r-sm);padding:20px 22px;background:var(--paper);
  border:1px solid var(--line)}
.scr-verdict p{margin:0;font-size:.92rem;color:var(--ink-2);max-width:80ch}
.scr-verdict[data-state="held"]{background:var(--red-tint);border-color:#C8102E44}
.scr-verdict[data-state="pass"]{background:#EAF5F1;border-color:#2E7D6B44}
.scr-badge{display:block;font-size:.81rem;font-weight:700;margin-bottom:.55em;
  text-transform:uppercase;letter-spacing:.05em}
body[dir="rtl"] .scr-badge{letter-spacing:0;text-transform:none}
[data-state="pending"] .scr-badge{color:var(--muted)}
[data-state="held"] .scr-badge{color:var(--red)}
[data-state="pass"] .scr-badge{color:var(--ok)}
.scr-why{list-style:none;margin:1.1em 0 0;padding:0;font-size:.88rem}
.scr-why li{padding:6px 0 6px 18px;color:var(--ink-2);position:relative}
body[dir="rtl"] .scr-why li{padding:6px 18px 6px 0}
.scr-why li:not(.scr-why-h)::before{content:"";position:absolute;inset-inline-start:0;
  top:1.1em;width:6px;height:6px;border-radius:50%;background:var(--red)}
.scr-why-h{font-weight:700;color:var(--ink)!important;padding-inline-start:0!important;font-size:.83rem}
.scr-foot{margin:1.7em 0 0;font-size:.82rem;color:var(--muted);
  border-top:1px solid var(--line);padding-top:15px;max-width:78ch}

/* --- Arrival notice ------------------------------------------------------ */
.gate{
  position:fixed;inset:0;z-index:200;
  background:rgba(12,27,42,.62);backdrop-filter:blur(2px);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.gate-box{
  background:var(--paper);border-radius:var(--r);max-width:560px;width:100%;
  padding:36px 38px;box-shadow:0 20px 60px rgba(12,27,42,.32);
  border-top:4px solid var(--red);max-height:90vh;overflow-y:auto;
}
.gate-box h2{font-size:1.5rem;margin-bottom:.6em}
.gate-box p{font-size:.96rem;color:var(--ink-2);margin-bottom:1em}
.gate-box p:last-of-type{margin-bottom:1.8em}
.gate-box .btn{width:100%}
@media (max-width:640px){
  .gate{padding:16px;align-items:flex-end}
  .gate-box{padding:26px 24px}
}

/* --- Utilities ----------------------------------------------------------- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:3px}
.hero :focus-visible,.page-head :focus-visible,.site-foot :focus-visible,.next :focus-visible{outline-color:#8FB6E0}
.skip{position:absolute;left:-9999px;background:var(--red);color:#fff;padding:11px 18px;
  z-index:100;border-radius:var(--r-sm)}
.skip:focus{left:14px;top:14px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* --- Responsive ---------------------------------------------------------- */
@media (max-width:980px){
  .rung-strip{grid-template-columns:repeat(4,1fr)}
  .section-head,.cls-detail-head,.page-head .wrap{grid-template-columns:1fr;gap:14px}
  .section-head h2,.section-head .lede,
  .cls-detail-head h2,.cls-detail-head .lede,
  .page-head h1,.page-head .lede{grid-column:1}
  .page-head .lede{padding-bottom:0}
  .hero-grid{grid-template-columns:1fr;gap:40px;padding-bottom:64px}
  .hero-map{order:-1}
  .stat-strip{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(3){border-inline-start:none}
  .stat-item:nth-child(n+3){border-top:1px solid var(--line)}
  .reader{grid-template-columns:1fr;gap:32px}
  .reader-index ol{position:static}
  .cls-cols{grid-template-columns:1fr;gap:34px}
  .enq-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:28px}
  .hero{padding-top:56px}
  .section{padding:58px 0}
  .hero + .section{padding-top:86px}
  .stats{gap:30px}
  .site-nav{gap:18px}
}
@media (max-width:640px){
  .wrap{padding:0 20px}
  .choice-grid{grid-template-columns:1fr}
  .rung-strip{grid-template-columns:repeat(2,1fr)}
  .limits-grid{grid-template-columns:1fr;gap:0}
  .step{padding:22px}
  .step-head{gap:13px}
  .head-row{flex-wrap:wrap;gap:12px;padding:12px 0;min-height:0}
  .site-nav{margin-inline-start:0;width:100%;order:3;overflow-x:auto;padding-bottom:4px}
  .stat-strip{grid-template-columns:1fr;margin-bottom:-36px}
  .stat-item{border-inline-start:none;border-top:1px solid var(--line)}
  .stat-item:first-child{border-top:none}
  .next{flex-direction:column;align-items:flex-start;padding:28px}
  .enq,.tool-panel,.screen-block{padding:22px}
  .ladder li{grid-template-columns:44px 1fr;gap:0 15px;padding:18px}
  .section{padding:48px 0}
}
