/* ============================================================
   Thiam Investment Group — Design Tokens
   Palette: deep forest (trust/growth), brass gold (opportunity/warmth),
   warm ivory paper, muted clay accent, charcoal-green ink.
   Type: Newsreader (display serif) / Inter (body) / IBM Plex Mono (data)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400;1,6..72,500&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Noto+Sans+Arabic:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

:root{
  --ink:#111111;
  --ink-soft:#3A3A3A;
  --paper:#FFFFFF;
  --paper-dim:#F4F4F2;
  --forest:#111111;
  --forest-dark:#000000;
  --gold:#C59A49;
  --gold-soft:#D9BD86;
  --clay:#C59A49;
  --slate:#6B6B6B;
  --line:rgba(0,0,0,0.12);
  --line-on-dark:rgba(255,255,255,0.16);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--gold-soft); color:var(--forest-dark);}
h1,h2,h3,h4{
  font-family:'Newsreader', serif;
  margin:0;
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--forest-dark);
}
p{margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}

.mono{
  font-family:'IBM Plex Mono', monospace;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.wrap{
  max-width:1120px;
  margin:0 auto;
  padding:0 32px;
}
@media(max-width:640px){ .wrap{padding:0 22px;} }

/* texture */
.grain{
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(circle at 1px 1px, rgba(0,0,0,0.045) 1px, transparent 0);
  background-size:24px 24px;
}

/* ---------- NAV ---------- */
nav.site{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
nav.site .wrap{
  display:flex; align-items:center; justify-content:space-between; height:72px;
}
.brandmark{
  display:flex; align-items:center; gap:16px;
}
.brandmark .icon-mark{height:28px; width:auto; flex-shrink:0; display:block;}
.brandmark .word-mark{height:13px; width:auto; flex-shrink:0; display:block;}
.footer-logo.brandmark{margin-bottom:34px;}
.footer-logo .icon-mark-footer{height:38px;}
.footer-logo .word-mark-footer{height:18px;}
@media(max-width:560px){
  .brandmark .word-mark{display:none;}
  .brandmark .icon-mark{height:24px;}
  .footer-logo .icon-mark-footer{height:32px;}
}
.navlinks{display:flex; gap:30px; align-items:center;}
.navlinks a{
  font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--slate);
  border-bottom:1px solid transparent;
  padding-bottom:3px;
  transition:color .2s, border-color .2s;
}
.navlinks a:hover{color:var(--forest-dark); border-color:var(--gold);}
.navlinks a.current{color:var(--forest-dark); border-color:var(--gold);}
.navlinks .btn-nav{
  font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase;
  background:var(--forest); color:var(--paper); padding:10px 18px; border:1px solid var(--forest);
  transition:background .2s, color .2s;
}
.navlinks .btn-nav:hover{background:var(--forest-dark); border-color:var(--forest-dark);}
.navlinks a.btn-nav.current{color:var(--paper); border-color:var(--gold);}
#navToggle{display:none;}
.hamburger{display:none;}
@media(max-width:820px){
  .navlinks{
    position:fixed; top:72px; left:0; right:0; bottom:0;
    background:var(--paper); flex-direction:column; align-items:flex-start;
    padding:30px 22px; gap:22px; transform:translateX(100%); transition:transform .25s ease;
  }
  #navToggle:checked ~ .navlinks{transform:translateX(0);}
  .hamburger{
    display:flex; flex-direction:column; gap:5px; cursor:pointer; z-index:60;
  }
  .hamburger span{width:22px; height:1.5px; background:var(--ink);}
}

/* ---------- generic section scaffolding ---------- */
section{position:relative; z-index:1; padding:96px 0;}
section.tight{padding:64px 0;}
.section-head{
  display:flex; align-items:baseline; gap:16px; margin-bottom:44px;
  border-bottom:1px solid var(--line); padding-bottom:20px;
}
.section-num{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--gold);}
.section-head h2{font-size:clamp(26px,3.6vw,36px);}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--gold);
  margin-bottom:20px;
}
.eyebrow::before{content:""; width:26px; height:1px; background:var(--gold);}

/* ---------- buttons ---------- */
.btn{
  font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.06em;
  text-transform:uppercase;
  padding:14px 24px;
  display:inline-block;
  border:1px solid var(--forest-dark);
  transition:background .2s, color .2s, border-color .2s;
}
.btn.solid{background:var(--forest-dark); color:var(--paper);}
.btn.solid:hover{background:var(--gold); border-color:var(--gold); color:var(--forest-dark);}
.btn.ghost{color:var(--forest-dark);}
.btn.ghost:hover{background:var(--forest-dark); color:var(--paper);}
.btn.on-dark{border-color:var(--line-on-dark); color:var(--paper);}
.btn.on-dark:hover{background:var(--gold); border-color:var(--gold); color:var(--forest-dark);}

/* ---------- hero ---------- */
header.hero{padding:100px 0 70px; position:relative; z-index:1;}
h1.display{
  font-size:clamp(42px,6.4vw,72px);
  line-height:1.04;
}
h1.display em{font-style:italic; font-weight:500; color:var(--gold);}
.lede{
  max-width:600px; font-size:18px; line-height:1.65; color:var(--ink-soft); margin-top:22px;
}
.hero-ctas{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}

/* ---------- pillar / feature cards ---------- */
.cards3{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
@media(max-width:820px){ .cards3{grid-template-columns:1fr;} }
.cards2{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
@media(max-width:700px){ .cards2{grid-template-columns:1fr;} }
.card{background:var(--paper); padding:36px 32px;}
.card .tag{
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--gold);
  text-transform:uppercase; letter-spacing:0.08em; margin-bottom:14px; display:block;
}
.card h3{font-size:22px; margin-bottom:12px;}
.card p{font-size:14.5px; line-height:1.65; color:var(--ink-soft);}
.card a.card-link{
  display:inline-block; margin-top:18px; font-family:'IBM Plex Mono',monospace;
  font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--forest);
  border-bottom:1px solid var(--forest);
}

/* ---------- region / network diagram (signature element) ---------- */
.network{
  position:relative;
  padding:50px 20px;
  background:var(--forest-dark);
  overflow:hidden;
}
.network svg{width:100%; height:auto; display:block;}
.network .node-label{
  font-family:'IBM Plex Mono', monospace; font-size:12px; fill:var(--paper); text-transform:uppercase; letter-spacing:0.06em;
}
.network .node-sub{
  font-family:'Inter', sans-serif; font-size:10.5px; fill:var(--gold-soft);
}
.network .link-line{stroke:var(--gold-soft); stroke-width:1; stroke-dasharray:3 5; opacity:0.7;}
.network .node-dot{fill:var(--gold);}
.network .node-dot.hq{fill:var(--paper); stroke:var(--gold); stroke-width:2;}
.network .node-dot.network{fill:var(--slate); opacity:0.9;}
.network .node-label.small{font-size:10px; opacity:0.8; fill:var(--slate);}
.photo-map{position:relative; width:100%; overflow:hidden; line-height:0;}
.photo-map-img{width:100%; height:auto; display:block;}
.map-pin{
  position:absolute; transform:translate(-50%,-100%); margin-top:-20px;
  text-align:center; white-space:nowrap; pointer-events:none; line-height:1.4;
}
.map-pin .pin-label{
  display:block; font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase;
  letter-spacing:0.06em; color:var(--paper); text-shadow:0 1px 4px rgba(0,0,0,0.9), 0 0 10px rgba(0,0,0,0.7);
}
.map-pin .pin-sub{
  display:block; font-family:'Inter',sans-serif; font-size:10.5px; color:var(--gold-soft); margin-top:2px;
  text-shadow:0 1px 4px rgba(0,0,0,0.9);
}
.map-pin.point .pin-label{font-size:10px; color:rgba(255,255,255,0.8); letter-spacing:0.05em;}
.map-pin.offset-right{transform:translate(14px,-150%); text-align:left; margin-top:0;}
.map-pin.offset-below{transform:translate(-50%,14px); margin-top:0;}
.map-pin.add-dot{position:absolute;}
.map-pin.add-dot::before{
  content:""; position:absolute; left:50%; bottom:-18px; transform:translate(-50%,0);
  width:6px; height:6px; border-radius:50%; background:var(--gold);
  box-shadow:0 0 6px 2px rgba(197,154,73,0.6);
}
@media(max-width:700px){
  .map-pin .pin-label{font-size:7.5px; letter-spacing:0.02em;}
  .map-pin .pin-sub{display:none;}
  .map-pin.point .pin-label{font-size:7px;}
  .map-pin{margin-top:-12px;}
  .map-pin.offset-right{transform:translate(6px,-110%);}
  .map-pin.offset-below{transform:translate(-50%,8px);}
}
.map-legend{
  display:flex; gap:24px; justify-content:center; margin-top:14px; flex-wrap:wrap;
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--gold-soft);
}
.map-legend span{display:flex; align-items:center; gap:8px;}
.map-legend .dot{width:8px; height:8px; border-radius:50%; display:inline-block;}
.map-legend .dot.core{background:var(--gold);}
.map-legend .dot.net{background:var(--slate);}
.map-legend .swatch{width:12px; height:8px; display:inline-block; background:rgba(197,154,73,0.55); border:1px solid var(--gold);}

/* ---------- region detail rows ---------- */
.region{
  display:grid; grid-template-columns:220px 1fr; gap:40px;
  padding:38px 0; border-top:1px solid var(--line);
}
.region:last-child{border-bottom:1px solid var(--line);}
@media(max-width:700px){ .region{grid-template-columns:1fr; gap:14px;} }
.region .rname{font-family:'Newsreader',serif; font-size:24px; color:var(--forest-dark);}
.region .rstatus{
  display:inline-block; margin-top:10px; font-family:'IBM Plex Mono',monospace; font-size:10px;
  text-transform:uppercase; letter-spacing:0.08em; color:var(--gold); border:1px solid var(--gold);
  padding:4px 10px;
}
.region .ritems{display:flex; flex-direction:column; gap:18px;}
.region .ritem h4{font-size:17px; margin-bottom:6px; color:var(--ink);}
.region .ritem-head{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:6px;}
.region .ritem-head h4{margin-bottom:0;}
.region .ritem p{font-size:14.5px; line-height:1.6; color:var(--ink-soft);}

/* ---------- commodity mandate cards ---------- */
.mandate-list{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line);}
.mandates-updated{
  font-size:10.5px; color:var(--slate); text-transform:uppercase; letter-spacing:0.08em;
  margin:-20px 0 32px;
}
.mandate-group-head{margin-bottom:18px;}
.mandate-group-head h3{
  font-family:'Newsreader', serif; font-size:20px; font-weight:600; color:var(--ink); margin:0 0 6px;
}
.mandate-group-head p{font-size:13.5px; color:var(--ink-soft); margin:0;}
.broker-note{
  margin-top:40px; padding:18px 22px; border:1px solid var(--line); background:var(--paper-dim);
  font-size:13.5px; color:var(--ink-soft); max-width:640px; line-height:1.6;
}
.mandate{background:var(--paper); padding:36px 32px 32px;}
.mandate-head{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:24px;}
.mandate-head h3{font-size:24px;}
.status-chip-muted{border-color:var(--slate); color:var(--slate);}
.mandate-specs{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(170px,1fr)); gap:20px 28px;
  padding:22px 0; margin-bottom:22px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.mspec .k{font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--slate); display:block; margin-bottom:5px;}
.mspec .v{font-family:'Newsreader',serif; font-size:16px; color:var(--ink);}
.mandate-cta{font-size:11px; padding:11px 18px;}

/* ---------- commodities board (legacy, kept for reference) ---------- */
.board{border:1px solid var(--line); background:var(--paper);}
.board-row{
  display:grid; grid-template-columns:1.1fr 1fr 1fr 0.7fr;
  gap:20px; padding:26px 28px; border-bottom:1px solid var(--line); align-items:center;
}
.board-row.head{
  background:var(--forest-dark); color:var(--paper);
}
.board-row.head span{
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--gold-soft);
}
.board-row:last-child{border-bottom:none;}
@media(max-width:760px){
  .board-row{grid-template-columns:1fr; gap:6px; padding:22px 24px;}
  .board-row.head{display:none;}
  .board-row:not(.head){border-bottom:1px solid var(--line); padding-bottom:24px;}
}
.board-row .commodity{font-family:'Newsreader',serif; font-size:20px; color:var(--forest-dark);}
.board-row .field-label{
  display:none;
  font-family:'IBM Plex Mono',monospace; font-size:9.5px; color:var(--slate); text-transform:uppercase; letter-spacing:0.08em;
}
@media(max-width:760px){ .board-row:not(.head) .field-label{display:block; margin-top:10px;} }
.status-chip{
  font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.06em;
  padding:5px 11px; border:1px solid var(--forest); color:var(--forest); display:inline-block;
}

/* ---------- pull quote ---------- */
.pull{
  font-family:'Newsreader', serif; font-style:italic; font-size:24px; line-height:1.45;
  color:var(--forest-dark); border-left:2px solid var(--gold); padding-left:24px;
}

/* ---------- stat row ---------- */
.stats{display:flex; gap:0; flex-wrap:wrap; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:50px;}
.stat{flex:1; min-width:150px; padding:22px 26px; border-left:1px solid var(--line);}
.stat:first-child{border-left:none;}
.stat .num{font-family:'Newsreader',serif; font-size:30px; color:var(--forest-dark);}
.stat .lbl{font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--slate); margin-top:6px; display:block;}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:var(--forest); color:var(--paper); padding:64px 0; text-align:left;
}
.cta-banner h2{color:var(--paper); font-size:clamp(26px,3.6vw,38px); max-width:560px;}
.cta-banner p{color:rgba(255,255,255,0.78); margin-top:14px; max-width:520px; font-size:15.5px; line-height:1.6;}
.cta-banner .hero-ctas{margin-top:30px;}

/* ---------- footer ---------- */
footer.site{
  background:var(--forest-dark); color:var(--paper);
  padding:56px 0 30px; position:relative; z-index:1;
}
footer.site .fgrid{
  display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap;
  border-bottom:1px solid var(--line-on-dark); padding-bottom:36px;
}
footer.site .fcol .k{
  font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--gold-soft); margin-bottom:10px; display:block;
}
footer.site .fcol a, footer.site .fcol span.v{font-size:14.5px; display:block; margin-bottom:6px; color:rgba(255,255,255,0.88);}
footer.site .fcol a:hover{color:var(--gold-soft);}
.foot-bottom{
  margin-top:26px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:rgba(255,255,255,0.5);
}

/* ---------- founder photo + bio grid ---------- */
.founder-grid{
  display:grid; grid-template-columns:300px 1fr; gap:56px; align-items:start;
}
@media(max-width:800px){ .founder-grid{grid-template-columns:1fr; gap:28px;} }
.founder-photo-wrap{position:sticky; top:100px;}
@media(max-width:800px){ .founder-photo-wrap{position:static; max-width:280px;} }
.founder-photo{
  width:100%; aspect-ratio:4/5; object-fit:cover; display:block;
  filter:grayscale(0.15);
}
.founder-caption{
  margin-top:14px; padding-top:14px; border-top:2px solid var(--gold);
}
.founder-caption .name{font-family:'Newsreader',serif; font-size:15px; color:var(--ink); display:block;}
.founder-caption .role{font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--slate); display:block; margin-top:3px;}

.prose{min-width:0;}
.prose p{font-size:16.5px; line-height:1.75; color:var(--ink-soft); margin-bottom:18px;}
.prose h3{font-size:22px; margin:34px 0 14px; color:var(--forest-dark);}

.values{display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:20px;}
@media(max-width:760px){ .values{grid-template-columns:1fr;} }
.values .value h4{
  font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--gold); margin-bottom:10px;
}
.values .value p{font-size:14.5px; line-height:1.6; color:var(--ink-soft);}

.contact-panel{
  display:grid; grid-template-columns:1fr 1fr; gap:60px;
}
@media(max-width:760px){ .contact-panel{grid-template-columns:1fr; gap:36px;} }
.contact-block{border-top:1px solid var(--line); padding-top:20px; margin-top:20px;}
.contact-block .k{font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--gold); display:block; margin-bottom:8px;}
.contact-block .v{font-size:18px; font-family:'Newsreader',serif; color:var(--forest-dark);}
.contact-block a.v{border-bottom:1px solid var(--line); padding-bottom:2px;}

.checklist{list-style:none; margin:0; padding:0;}
.checklist li{
  position:relative; padding-left:26px; margin-bottom:12px; font-size:14.5px; color:var(--ink-soft); line-height:1.6;
}
.checklist li::before{
  content:"—"; position:absolute; left:0; color:var(--gold); font-family:'IBM Plex Mono',monospace;
}

/* ---------- contact form ---------- */
.form-card{
  border:1px solid var(--line); padding:56px; max-width:800px; background:var(--paper);
}
@media(max-width:640px){ .form-card{padding:32px 22px;} }
.contact-form.form-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:32px 28px;
}
@media(max-width:640px){ .contact-form.form-grid{grid-template-columns:1fr; gap:26px;} }
.contact-form .field{margin-bottom:0;}
.contact-form .field-full{grid-column:1 / -1;}
.contact-form label{
  display:block; font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase;
  letter-spacing:0.1em; color:var(--ink); font-weight:500; margin-bottom:10px;
}
.contact-form label .optional{text-transform:none; letter-spacing:0; font-weight:400; color:var(--slate); opacity:0.8;}
.contact-form input, .contact-form select, .contact-form textarea{
  width:100%; border:1px solid var(--line); background:var(--paper-dim);
  font-family:'Inter',sans-serif; font-size:15px; color:var(--ink); padding:14px 16px;
  outline:none; transition:border-color .2s, background-color .2s; box-sizing:border-box;
}
.contact-form select{
  appearance:none; -webkit-appearance:none; border-radius:0; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236B6B6B'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center; padding-right:36px;
}
.contact-form textarea{resize:vertical; min-height:130px; font-family:'Inter',sans-serif; line-height:1.5;}
.contact-form input::placeholder, .contact-form textarea::placeholder{color:var(--slate); opacity:0.6;}
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus{
  border-color:var(--gold); background:var(--paper);
}
.form-submit-row{
  display:flex; flex-direction:column; align-items:flex-start; gap:16px; margin-top:14px;
}
.contact-form button{
  cursor:pointer; padding:15px 34px; letter-spacing:0.08em;
}
.contact-form button:disabled{opacity:0.6; cursor:default;}
.f-status{font-size:13.5px; margin:0; line-height:1.5;}
.f-status.success{color:var(--gold);}
.f-status.error{color:#B4423C;}

/* ---------- info strip (secondary contact details) ---------- */
.info-strip{
  display:flex; flex-wrap:wrap;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.info-item{flex:1; min-width:200px; padding:26px 30px; border-left:1px solid var(--line);}
.info-item:first-child{flex:1.7; min-width:280px; border-left:none;}
@media(max-width:700px){
  .info-item, .info-item:first-child{border-left:none; border-top:1px solid var(--line); flex:1 1 100%;}
  .info-item:first-child{border-top:none;}
}
.info-item .k{
  display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase;
  letter-spacing:0.08em; color:var(--gold); margin-bottom:8px;
}
.info-item .v{font-family:'Newsreader',serif; font-size:16px; color:var(--ink); white-space:nowrap;}
@media(max-width:900px){ .info-item .v{white-space:normal; overflow-wrap:anywhere;} }
.info-item a.v{border-bottom:1px solid transparent; padding-bottom:1px; transition:border-color .2s;}
.info-item a.v:hover{border-color:var(--gold);}

/* ---------- language switcher ---------- */
.lang-switch{position:relative; margin-left:8px;}
.lang-switch #langBtn{
  font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  background:transparent; border:1px solid var(--line); color:var(--ink); padding:8px 14px;
  cursor:pointer; transition:border-color .2s, color .2s;
}
.lang-switch #langBtn:hover{border-color:var(--gold); color:var(--gold);}
.lang-menu{
  position:absolute; top:calc(100% + 6px); right:0; background:var(--paper); border:1px solid var(--line);
  min-width:140px; display:none; flex-direction:column; z-index:50; box-shadow:0 8px 24px rgba(0,0,0,0.12);
}
.lang-menu.open{display:flex;}
.lang-menu .lang-option{
  font-family:'Inter',sans-serif; font-size:13.5px; text-align:left; background:none; border:none;
  padding:10px 14px; cursor:pointer; color:var(--ink); border-bottom:1px solid var(--line);
}
.lang-menu .lang-option:last-child{border-bottom:none;}
.lang-menu .lang-option:hover{background:var(--paper-dim); color:var(--gold);}
.lang-menu .lang-option.active{color:var(--gold); font-weight:600;}
@media(max-width:700px){
  .lang-switch{margin:14px 0 0; width:100%;}
  .lang-switch #langBtn{width:100%; text-align:center;}
  .lang-menu{right:0; left:0; width:100%;}
}

/* ---------- RTL support (Arabic) ---------- */
html[dir="rtl"] .navlinks{flex-direction:row-reverse;}
html[dir="rtl"] .lang-switch{margin-left:0; margin-right:8px;}
html[dir="rtl"] .lang-menu{right:auto; left:0;}
html[dir="rtl"] .hero-ctas{flex-direction:row-reverse; justify-content:flex-start;}
html[dir="rtl"] .card-link{flex-direction:row-reverse;}
html[dir="rtl"] .checklist li::before{left:auto; right:0;}
html[dir="rtl"] .checklist li{padding-left:0; padding-right:20px;}
html[dir="rtl"] .info-item{border-left:none; border-right:1px solid var(--line);}
html[dir="rtl"] .info-item:first-child{border-right:none;}
html[dir="rtl"] .foot-bottom{flex-direction:row-reverse;}

/* ---------- script-appropriate fonts ---------- */
body.lang-ar{
  font-family:'Noto Sans Arabic', 'Inter', sans-serif;
  font-size:105%;
}
body.lang-ar *{
  font-family:'Noto Sans Arabic', 'Inter', sans-serif !important;
}
body.lang-ar p, body.lang-ar li, body.lang-ar span, body.lang-ar a, body.lang-ar label,
body.lang-ar input, body.lang-ar textarea, body.lang-ar select, body.lang-ar button,
body.lang-ar .lede, body.lang-ar .k, body.lang-ar .v{
  font-weight:500; line-height:1.85;
}
body.lang-ar h1, body.lang-ar h2, body.lang-ar h3, body.lang-ar h4{
  font-weight:700; line-height:1.5;
}
body.lang-ar .display em{font-style:normal;}
body.lang-ar .section-num.mono, body.lang-ar .k.mono{font-family:'Noto Sans Arabic', monospace !important;}
body.lang-ar *{letter-spacing:normal !important; text-transform:none !important;}
body.lang-ja, body.lang-ja .display, body.lang-ja h1, body.lang-ja h2, body.lang-ja h3, body.lang-ja h4{
  font-family:'Noto Sans JP', 'Newsreader', serif;
}
body.lang-ja .display em{font-style:normal; font-family:'Noto Sans JP', serif;}
