:root{
  --bg:#F2F4F3; --surface:#FFFFFF; --ink:#10282C; --muted:#4F6466; --line:#D3DBDA;
  --road:#C98A00; --rail:#1D5D86; --sea:#5E8FA8; --land:#E4E9E7; --band:#10282C; --band-ink:#EEF3F2;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0D1A1C; --surface:#132427; --ink:#E6EEEC; --muted:#9DB0AF; --line:#28403F;
  --road:#E3A72A; --rail:#5AA7D6; --sea:#6FA3BD; --land:#17302F; --band:#071113; --band-ink:#E6EEEC; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0D1A1C; --surface:#132427; --ink:#E6EEEC; --muted:#9DB0AF; --line:#28403F;
  --road:#E3A72A; --rail:#5AA7D6; --sea:#6FA3BD; --land:#17302F; --band:#071113; --band-ink:#E6EEEC; color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--body)}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);line-height:1.05;text-wrap:balance;margin:0}
h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:700;letter-spacing:.01em}
h3{font-size:1.45rem;font-weight:600}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--road);outline-offset:2px}
.eyebrow{font:500 .78rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mono{font-family:var(--mono)}
section{padding-block:72px}
.lead{max-width:62ch;color:var(--muted);font-size:1.05rem}

/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--band)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--band);color:var(--band-ink)}
header .wrap{display:flex;align-items:center;gap:20px;padding-block:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.mark{height:44px;width:auto;flex:none;color:var(--road)}
.brand b{font:700 1.5rem/1 var(--display);letter-spacing:.04em}
.brand small{display:block;font:400 .72rem/1.2 var(--body);opacity:.75}
nav{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto;font-size:.92rem}
nav a{text-decoration:none;opacity:.85}
nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.langs{display:flex;gap:4px;font:500 .75rem/1 var(--mono)}
.langs span{padding:6px 7px;border:1px solid rgba(255,255,255,.25);border-radius:3px}
.langs span.on{background:var(--road);color:#10282C;border-color:var(--road)}
.btn{display:inline-block;font:600 .95rem/1 var(--body);padding:13px 20px;border-radius:3px;text-decoration:none;border:2px solid var(--road);background:var(--road);color:#10282C;cursor:pointer}
.btn.ghost{background:transparent;color:inherit}

/* hero */
.hero{padding-block:56px 40px}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.4rem);font-weight:700;margin-block:14px 18px}
.hero h1 em{font-style:normal;color:var(--road)}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.map{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px;overflow-x:auto}
.map svg{display:block;width:100%;min-width:560px;height:auto}
.legend{display:flex;gap:18px;flex-wrap:wrap;font:400 .75rem/1 var(--mono);color:var(--muted);padding:10px 4px 2px}
.legend i{display:inline-block;width:22px;height:0;border-top:3px solid var(--road);vertical-align:middle;margin-right:6px}
.legend i.rail{border-top:3px dashed var(--rail)}
.legend i.sea{border-top:3px dotted var(--sea)}
.svg-t{fill:var(--ink);font-family:var(--body);font-size:13px}
.svg-s{fill:var(--muted);font-family:var(--mono);font-size:10.5px;letter-spacing:.04em}
.svg-c{fill:var(--ink);font-family:var(--display);font-weight:600;font-size:16px}

/* facts strip */
.facts{border-block:1px solid var(--line);background:var(--surface)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:22px}
.facts b{display:block;font:700 2rem/1 var(--display)}
.facts span{font-size:.85rem;color:var(--muted)}

/* destinations table */
.tbl{margin-top:32px;overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
table{width:100%;border-collapse:collapse;min-width:640px;font-size:.95rem}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
th{font:500 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
tr:last-child td{border-bottom:0}
td:first-child{font:600 1.15rem/1.2 var(--display)}
.tag{display:inline-block;font:500 .7rem/1 var(--mono);padding:4px 6px;border-radius:3px;margin:0 4px 4px 0;border:1px solid var(--line)}
.tag.road{color:var(--road);border-color:var(--road)}
.tag.rail{color:var(--rail);border-color:var(--rail)}
.tag.sea{color:var(--sea);border-color:var(--sea)}
.ll{font:500 .68rem/1 var(--mono);color:var(--road);letter-spacing:.06em;display:block;margin-top:4px}

/* two-way flow */
.flowgrid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:16px;align-items:center;margin-top:32px}
.fcol{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:20px;display:grid;gap:10px;align-self:stretch}
.fcol.gate{border:2px solid var(--road)}
.fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font:600 1.15rem/1.2 var(--display)}
.farrows{display:grid;gap:10px;font:500 .72rem/1 var(--mono);letter-spacing:.08em}
.fa.in{color:var(--road)}
.fa.out{color:var(--rail)}
.dirs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.dirs article{display:grid;gap:8px;border-top:3px solid var(--road);padding-top:14px}
.dirs article+article{border-top-color:var(--rail)}
@media (max-width:900px){.flowgrid{grid-template-columns:1fr}.farrows{grid-auto-flow:column;justify-content:center;gap:24px}.dirs{grid-template-columns:1fr}}

/* corridors */
.corr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px}
.corr article{background:var(--bg);padding:26px;display:grid;gap:10px;align-content:start}
.corr .route{font:400 .85rem/1.5 var(--mono);color:var(--muted)}

/* project cargo band */
.band{background:var(--band);color:var(--band-ink)}
.band .lead{color:var(--band-ink);opacity:.8}
.band .eyebrow{color:var(--road)}
.steps{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;counter-reset:s}
.steps li{border-top:3px solid var(--road);padding-top:14px;counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);font:500 .75rem/1 var(--mono);color:var(--road);display:block;margin-bottom:8px}
.steps b{display:block;font:600 1.2rem/1.1 var(--display);margin-bottom:6px}
.steps span{font-size:.9rem;opacity:.8}
.cargo-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.cargo-list span{font:500 .78rem/1 var(--mono);padding:8px 10px;border:1px solid rgba(255,255,255,.22);border-radius:3px}

/* group */
.group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.co{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:24px;display:grid;gap:10px;align-content:start}
.co .since{font:500 .75rem/1 var(--mono);color:var(--road)}
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:40px;border-top:1px solid var(--line);padding-top:20px}
.timeline b{font:700 1.7rem/1 var(--display);display:block}
.timeline span{font-size:.88rem;color:var(--muted)}

/* quote */
.quote{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:40px;align-items:start}
form{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:6px;font-size:.82rem;color:var(--muted)}
label.full{grid-column:1/-1}
input,select,textarea{font:inherit;font-size:.95rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:10px 12px;width:100%}
textarea{min-height:90px;resize:vertical}
.note{grid-column:1/-1;font-size:.85rem;color:var(--muted)}
.contact{display:grid;gap:14px;margin-top:22px}
.contact div{display:grid;gap:2px}
.contact .mono{font-size:1rem;user-select:all}

footer{border-top:1px solid var(--line);padding-block:28px;font-size:.85rem;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

@media (max-width:900px){
  .hero-grid,.quote{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .group{grid-template-columns:1fr}
  .facts .wrap,.timeline{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .corr{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  form{grid-template-columns:1fr}
  section{padding-block:52px}
}
@media (prefers-reduced-motion:no-preference){
  .flow{stroke-dashoffset:0;animation:dash 14s linear infinite}
  @keyframes dash{to{stroke-dashoffset:-200}}
}
/* phones: compact header, nav scrolls sideways instead of wrapping */
@media (max-width:620px){
  header{position:relative;top:0}
  header .wrap{gap:10px;padding-block:10px}
  header nav{order:3;width:100%;margin-left:0;flex-wrap:nowrap;overflow-x:auto;gap:16px;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  header nav::-webkit-scrollbar{display:none}
  header nav a{white-space:nowrap}
  header .langs{margin-left:auto}
}
.langs span.soon{opacity:.45;cursor:default}

/* multi-page additions */
nav a[aria-current="page"]{opacity:1;color:var(--road)}
.page-head{padding-block:56px 32px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:700;margin-block:12px 16px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:24px;display:grid;gap:12px;align-content:start;min-width:0}
.card h3{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.card h3 small{font:500 .7rem/1 var(--mono);color:var(--muted);letter-spacing:.08em}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.92rem;margin:0}
.kv dt{font:500 .7rem/1.9 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kv dd{margin:0}
.region-title{margin-top:56px}
.prose{max-width:68ch;display:grid;gap:16px}
.prose p{color:var(--ink)}
.cta-band{background:var(--surface);border-block:1px solid var(--line)}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-block:36px}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.sectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:28px}
.sectors div{border-top:3px solid var(--road);padding-top:12px;display:grid;gap:6px}
.sectors b{font:600 1.2rem/1.1 var(--display)}
.sectors span{font-size:.9rem;opacity:.8}
.checklist{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px;max-width:68ch}
.checklist li{padding-left:26px;position:relative}
.checklist li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border:2px solid var(--road)}
@media (max-width:900px){.cards{grid-template-columns:1fr}.sectors{grid-template-columns:1fr 1fr}}
@media (max-width:620px){
  nav{display:flex;width:100%;margin-left:0;flex-wrap:nowrap;overflow-x:auto;gap:16px;padding-bottom:4px}
  nav a{white-space:nowrap}
  .sectors{grid-template-columns:1fr}
}

/* 3D model viewer */
.v3d{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px;display:grid;gap:14px;min-width:0}
.v3d .ctabs{display:flex;flex-wrap:wrap;gap:6px}
.v3d .ctabs button{font:500 .78rem/1 var(--mono);padding:8px 10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:3px;cursor:pointer}
.v3d .ctabs button[aria-pressed="true"]{background:var(--rail);border-color:var(--rail);color:#fff}
.v3d-body{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px;align-items:start}
.v3d-stage{position:relative;height:400px;border-radius:4px;overflow:hidden;cursor:grab;touch-action:pan-y;background:linear-gradient(180deg,color-mix(in srgb,var(--land) 60%,var(--surface)),var(--surface))}
.v3d-stage:active{cursor:grabbing}
.v3d-stage canvas{display:block;width:100%!important;height:100%!important}
.v3d-tools{position:absolute;right:10px;top:10px;display:flex;gap:6px;opacity:0;transition:opacity .2s}
.v3d-ready .v3d-tools{opacity:1}
.v3d-tools button{display:grid;place-items:center;padding:0;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 1rem/1 var(--mono);cursor:pointer}
.v3d-hint{position:absolute;left:12px;bottom:10px;font:500 .7rem/1.3 var(--mono);color:var(--muted);pointer-events:none}
.v3d-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:var(--muted);font-size:.9rem}
.v3d-ready .v3d-fallback{display:none}
.v3d-info{display:grid;gap:12px;min-width:0}
.v3d-info[hidden]{display:none}
.v3d-info h3{font-size:1.6rem}
.v3d-info p{color:var(--muted);font-size:.95rem}
.v3d .spec{width:100%;border-collapse:collapse;font-size:.9rem}
.v3d .spec td{padding:7px 0;border-bottom:1px solid var(--line);vertical-align:top}
.v3d .spec td:first-child{font:500 .7rem/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-right:12px}
.v3d .spec td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.v3d-note{font:500 .72rem/1.4 var(--mono);color:var(--muted)}
.v3d.compact .v3d-body{grid-template-columns:1fr}
.v3d.compact .v3d-stage{height:340px}
@media (max-width:900px){.v3d-body{grid-template-columns:1fr}.v3d-stage{height:320px}}
@media (max-width:620px){.v3d-stage{height:250px}.v3d-hint{display:none}}

/* container door explainer */
.door-x{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px;display:grid;gap:14px;min-width:0}
.door-x .ctabs{display:flex;flex-wrap:wrap;gap:6px}
.door-x .ctabs button{font:500 .78rem/1 var(--mono);padding:8px 10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:3px;cursor:pointer}
.door-x .ctabs button[aria-pressed="true"]{background:var(--rail);border-color:var(--rail);color:#fff}
.door-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start}
.door-svg{width:100%;height:auto;display:block;border-radius:4px;background:#d9dee0;direction:ltr}
.door-svg text{font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;font-weight:600}
.door-x .hs{cursor:help;outline:none}
.door-x .hs .hit{fill:transparent;stroke:transparent;stroke-width:4}
.door-x .hs:hover .hit,.door-x .hs:focus .hit,.door-x .hs.on .hit{stroke:#F2C21B;fill:rgba(242,194,27,.18)}
.door-panel{display:grid;gap:10px;min-width:0;position:sticky;top:12px}
.door-panel h3{font-size:1.5rem}
.door-panel .dp-text{color:var(--muted);font-size:.95rem}
.door-panel .dp-text b{color:var(--ink)}
.door-panel .eyebrow{color:var(--rail)}
.door-plate{display:none;gap:8px}
.door-plate.show{display:grid}
.door-plate svg{width:100%;height:auto;direction:ltr;border-radius:4px}
.door-plate .ptext{font-size:.9rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:10px 12px;min-height:3.2em}
.door-check{display:none;gap:6px;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:10px 12px}
.door-check.show{display:grid}
.door-check input{font:500 1rem/1.2 var(--mono);padding:8px;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--ink);direction:ltr;text-transform:uppercase;width:100%}
.door-check output{font:500 .85rem/1.4 var(--mono)}
.door-hint{font:500 .72rem/1.4 var(--mono);color:var(--muted)}
@media (max-width:900px){.door-body{grid-template-columns:1fr}.door-panel{position:static}}

/* knowledge center */
.kc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.kc-item{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px;display:grid;gap:10px;align-content:start;text-decoration:none;min-width:0}
a.kc-item:hover{border-color:var(--road)}
.kc-item .status{font:500 .68rem/1 var(--mono);letter-spacing:.1em;color:var(--road)}
.kc-item.soon{opacity:.7}
.kc-item.soon .status{color:var(--muted)}
.kc-cat{margin-top:56px}
.article{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:start;padding-block:40px 72px}
.article .body{display:grid;gap:18px;max-width:70ch;min-width:0}
.article .body h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-top:24px}
.article .body ol,.article .body ul{margin:0;padding-left:1.3em;display:grid;gap:8px}
.article aside{position:sticky;top:96px;display:grid;gap:10px;font-size:.9rem;border-left:2px solid var(--line);padding-left:16px}
.article aside a{text-decoration:none;color:var(--muted)}
.article aside a:hover{color:var(--ink)}
.field{border:1px dashed var(--road);border-radius:6px;padding:16px 18px;display:grid;gap:6px;background:var(--surface)}
.field b{font:500 .7rem/1 var(--mono);letter-spacing:.1em;color:var(--road)}
.field p{color:var(--muted);font-size:.93rem}
.disclaimer{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.steps-v{list-style:none;padding:0!important;counter-reset:v;display:grid;gap:0!important}
.steps-v li{counter-increment:v;display:grid;grid-template-columns:44px 1fr;gap:14px;padding-block:14px;border-bottom:1px solid var(--line)}
.steps-v li::before{content:counter(v);font:700 1.6rem/1 var(--display);color:var(--road)}
.steps-v b{display:block;font:600 1.15rem/1.2 var(--display);margin-bottom:4px}
/* 3D container viewer */
.viewer{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px;display:grid;gap:14px;min-width:0}
.ctabs{display:flex;flex-wrap:wrap;gap:6px}
.ctabs button{font:500 .78rem/1 var(--mono);padding:8px 10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:3px;cursor:pointer}
.ctabs button[aria-pressed="true"]{background:var(--rail);border-color:var(--rail);color:#fff}
.stage{height:300px;perspective:1100px;display:grid;place-items:center;overflow:hidden;cursor:grab;touch-action:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:24px 24px;border-radius:4px}
.stage:active{cursor:grabbing}
.box{position:relative;width:0;height:0;transform-style:preserve-3d}
.face{position:absolute;border:1.5px solid var(--rail);background:color-mix(in srgb,var(--rail) 10%,transparent);
  background-image:repeating-linear-gradient(90deg,transparent 0 10px,color-mix(in srgb,var(--rail) 22%,transparent) 10px 11px)}
.face.end{background-image:linear-gradient(90deg,transparent 49.5%,var(--rail) 49.5% 50.5%,transparent 50.5%)}
.face.top,.face.bottom{background-image:none}
.face.open{background:transparent;border-style:dashed;opacity:.6}
.face.gone{display:none}
.dimline{font:500 .75rem/1.4 var(--mono);color:var(--muted);text-align:center}
.spec{width:100%;border-collapse:collapse;min-width:0;font-size:.92rem}
.spec td{padding:8px 0;border-bottom:1px solid var(--line)}
.spec td:first-child{font:500 .72rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-family:var(--mono)}
.spec td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.ctable{margin-top:8px}
@media (max-width:900px){.kc-grid{grid-template-columns:1fr 1fr}.article{grid-template-columns:1fr}.article aside{display:none}}
@media (max-width:620px){.kc-grid{grid-template-columns:1fr}.stage{height:240px}}
@media (prefers-reduced-motion:reduce){.box{transition:none}}
.gloss{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:10px 24px;margin:0}.gloss dt{font:600 1.05rem/1.3 var(--display)}.gloss dd{margin:0;color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--line)}@media (max-width:620px){.gloss{grid-template-columns:1fr}.gloss dt{margin-top:8px}}
/* Persian / RTL */
[dir="rtl"] body,[dir="rtl"]{font-family:"Vazirmatn",var(--body)}
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3{font-family:"Vazirmatn",var(--display);font-weight:800;line-height:1.3}
[dir="rtl"] .eyebrow{font-family:"Vazirmatn",var(--mono);letter-spacing:0}
[dir="rtl"] nav{margin-left:0;margin-right:auto}
[dir="rtl"] th,[dir="rtl"] td{text-align:right}
[dir="rtl"] .kv dt,[dir="rtl"] th,[dir="rtl"] .field b{font-family:"Vazirmatn",var(--mono);letter-spacing:0;text-transform:none}
[dir="rtl"] .article aside{border-left:0;border-right:2px solid var(--line);padding-left:0;padding-right:16px}
[dir="rtl"] .steps-v li{grid-template-columns:44px 1fr}
.code{font:600 1rem/1 var(--mono);color:var(--rail);font-variant-numeric:tabular-nums;direction:ltr;display:inline-block}
.search{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}
.search input{max-width:360px}
.search select{max-width:220px}
.count{font-size:.9rem;color:var(--muted)}
.factbox{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:20px;display:grid;gap:8px}
.yes-no{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.yes-no ul{list-style:none;padding:0!important}
.yes-no li::before{content:"✓ ";color:var(--rail);font-weight:700}
.yes-no .no li::before{content:"✕ ";color:var(--road)}
.verify{font-size:.85rem;color:var(--road)}
@media (max-width:620px){.yes-no{grid-template-columns:1fr}}

/* Persian header dropdowns (fa_menu.py) */
header nav .dd{display:flex;align-items:center}
header nav .dd-top{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;opacity:.85;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
header nav .dd-top:hover,header nav .dd.open .dd-top{opacity:1}
header nav .dd-top::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px);opacity:.75;transition:transform .15s}
header nav .dd.open .dd-top::after{transform:rotate(-135deg) translateY(-2px)}
header nav .dd:has(a[aria-current]) .dd-top{opacity:1;color:var(--road)}
.dd-panel{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);color:var(--ink);border-top:3px solid var(--road);border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.22);z-index:20;max-height:calc(100vh - 90px);overflow-y:auto}
.dd.open .dd-panel{display:block}
.dd-panel .wrap{display:grid!important;grid-template-columns:repeat(var(--dd-cols,5),minmax(0,1fr));gap:20px;padding-block:22px 18px!important;align-items:start}
.dd-panel .dd-col{display:grid;gap:4px;align-content:start;min-width:0}
.dd-panel .dd-cat{display:block;background:var(--band);color:var(--band-ink);border-bottom:3px solid var(--road);border-radius:5px;padding:9px 12px;margin-bottom:6px;font-weight:700;font-size:.95rem;line-height:1.5;text-decoration:none;opacity:1;white-space:normal}
.dd-panel .dd-cat::after{content:" ←";color:var(--road)}
.dd-panel .dd-cat:hover{background:var(--rail);text-decoration:none}
.dd-panel .dd-law{display:block;padding:6px 8px;border-radius:4px;font-size:.92rem;line-height:1.6;text-decoration:none;opacity:1;white-space:normal;color:var(--ink)}
.dd-panel .dd-law:hover{background:var(--land);text-decoration:none}
.dd-panel .dd-all{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;display:flex;gap:22px;flex-wrap:wrap}
.dd-panel .dd-all a{color:var(--rail);font-weight:600;text-decoration:none;opacity:1;white-space:normal}
.dd-panel .dd-all a[aria-current]{color:var(--rail)}
@media (max-width:1100px){.dd-panel .wrap{grid-template-columns:repeat(3,minmax(0,1fr))}}
header nav .dd + .dd{margin-inline-start:0}
@media (max-width:760px){.dd-panel .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.dd-panel .wrap{grid-template-columns:1fr;gap:12px}.dd-panel{max-height:calc(100vh - 120px)}}
.dd-panel .dd-feat{display:grid;gap:6px;align-content:start;background:var(--land);border:2px solid var(--road);border-radius:6px;padding:14px;min-width:0}
.dd-panel .dd-feat .dd-big{font-weight:800;font-size:1.15rem;line-height:1.45;text-decoration:none;color:var(--ink);opacity:1;white-space:normal}
.dd-panel .dd-feat .dd-big::after{content:" ←";color:var(--road)}
.dd-panel .dd-feat p{margin:0;font-size:.86rem;line-height:1.7;color:var(--muted);white-space:normal}
.dd-panel .dd-feat .dd-law{padding:4px 0}
.dd-panel .dd-h{display:block;font-weight:700;font-size:.85rem;color:var(--muted);border-bottom:1px solid var(--line);padding:4px 8px 8px;margin-bottom:4px}
.dd-panel a[aria-current]{color:var(--road)}
main [id]{scroll-margin-top:96px}
@media print{.dd-panel{display:none!important}}
[dir=rtl] .v3d .spec td:last-child{text-align:left}[dir=rtl] .v3d .spec td:first-child{padding-right:0;padding-left:12px;font-family:var(--body,inherit);letter-spacing:0;text-transform:none;font-size:.8rem}[dir=rtl] .v3d .ctabs button{font-family:inherit}[dir=rtl] .v3d-note,[dir=rtl] .v3d-hint{font-family:inherit}
.fa-art{display:grid;gap:18px;max-width:75ch;padding-block:40px 72px}.fa-art h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:20px}.fa-art ul{margin:0;padding-right:1.3em;display:grid;gap:8px}
.dg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:14px}.dg-card{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:10px}.dg-card b{display:block;font-family:var(--display);font-size:1.1rem}.dg-card span{color:var(--muted);font-size:.88rem}.dg-card svg text{font-family:Arial,sans-serif;font-weight:700}

/* news */
.news-list{display:grid;gap:28px;padding-block:40px 72px}
.news-item{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:start;border-top:1px solid var(--line);padding-top:28px}
.news-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}
.news-item h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:6px 0 10px}
.news-item h2 a{color:inherit;text-decoration:none}
.news-meta{font:500 .75rem/1.4 var(--mono);color:var(--muted);letter-spacing:.06em}
[dir="rtl"] .news-meta{font-family:"Vazirmatn",var(--mono);letter-spacing:0}
.news-hero{margin:0;padding-top:32px}
.news-hero img{width:100%;max-height:560px;object-fit:cover;border-radius:6px;display:block}
.news-hero figcaption,.gallery figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}
.source{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
@media (max-width:760px){.news-item{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}}
