  :root{
    --bg:#F6F3EA;
    --surface:#FFFFFF;
    --surface-raised:#FBF7EE;
    --text:#1C2233;
    --text-soft:#5B6275;
    --border:#E4DDC9;
    --gold:#0f766e;
    --gold-light:#0b5c54;
    --shadow:rgba(20,30,50,0.10);
    --navy:#0A1B33;
    --navy-2:#11294D;
    --on-navy-text:#F3EFE1;
    --on-navy-soft:#B9C0D6;
    --on-navy-border:rgba(243,239,225,0.16);
    --on-navy-gold:#2dd4bf;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0C1220;
      --surface:#131B2C;
      --surface-raised:#182337;
      --text:#EDE9DA;
      --text-soft:#A6ACBD;
      --border:#26304A;
      --gold:#14b8a6;
      --gold-light:#2dd4bf;
      --shadow:rgba(0,0,0,0.45);
      --navy:#070D18;
      --navy-2:#0C1830;
    }
  }
  :root[data-theme="dark"]{
    --bg:#0C1220;
    --surface:#131B2C;
    --surface-raised:#182337;
    --text:#EDE9DA;
    --text-soft:#A6ACBD;
    --border:#26304A;
    --gold:#14b8a6;
    --gold-light:#2dd4bf;
    --shadow:rgba(0,0,0,0.45);
    --navy:#070D18;
    --navy-2:#0C1830;
  }

  *{box-sizing:border-box;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:"Public Sans", "Segoe UI", system-ui, sans-serif;
    -webkit-font-smoothing:antialiased;
    padding-inline:0;
    transition:background .3s ease, color .3s ease;
  }
  body.lang-ar{ font-family:"Tajawal","Public Sans",system-ui,sans-serif; }
  h1,h2,h3, .display{
    font-family:"Fraunces", Georgia, serif;
    font-weight:600;
    text-wrap:balance;
    letter-spacing:-0.01em;
    margin:0;
  }
  body.lang-ar h1, body.lang-ar h2, body.lang-ar h3, body.lang-ar .display{
    font-family:"Tajawal","Public Sans",system-ui,sans-serif;
    font-weight:800;
    letter-spacing:0;
  }
  p{ margin:0; color:var(--text-soft); line-height:1.65; }
  img{max-width:100%; display:block;}
  [hidden]{display:none!important;}
  a{color:inherit;}
  .wrap{ max-width:1180px; margin-inline:auto; padding-inline:clamp(18px,4vw,48px); }
  .eyebrow{
    text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:700;
    color:var(--gold); display:inline-flex; align-items:center; gap:.5em;
  }
  body.lang-ar .eyebrow{ letter-spacing:0; text-transform:none; font-size:.8rem; }
  .eyebrow::before{ content:""; width:1.4em; height:1.5px; background:var(--gold); display:inline-block; }
  body.lang-ar .eyebrow::before{ order:2; }

  /* ---------- Header ---------- */
  header{
    position:sticky; top:env(safe-area-inset-top,0px); z-index:40;
    background:var(--navy); color:var(--on-navy-text);
    border-bottom:1px solid var(--on-navy-border);
  }
  .header-row{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding-block:14px;
  }
  .brand{ display:flex; align-items:center; gap:.65em; text-decoration:none; }
  .brand img{ width:34px; height:auto; flex:none; }
  .brand-word{ font-family:"Fraunces",serif; font-weight:600; font-size:1.15rem; letter-spacing:.02em; color:var(--on-navy-text); }
  body.lang-ar .brand-word{ font-family:"Tajawal",sans-serif; font-weight:800; }
  .brand-sub{ font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--on-navy-soft); display:block; margin-top:1px; }
  body.lang-ar .brand-sub{ letter-spacing:0; text-transform:none; }

  nav.primary{ display:flex; align-items:center; gap:clamp(10px,2vw,22px); flex-wrap:wrap; }
  nav.primary a{
    font-size:.84rem; font-weight:600; color:var(--on-navy-soft); text-decoration:none;
    padding-block:6px; border-bottom:1px solid transparent; white-space:nowrap;
  }
  nav.primary a:hover, nav.primary a:focus-visible{ color:var(--on-navy-text); border-color:var(--on-navy-gold); }
  nav.primary a.active{ color:var(--on-navy-text); border-color:var(--on-navy-gold); }
  .mobile-nav a.active{ color:var(--on-navy-gold); }
  .nav-links{ display:flex; align-items:center; gap:clamp(14px,2.4vw,26px); }
  .header-actions{ display:flex; align-items:center; gap:10px; }
  @media (max-width:900px){ .nav-links{ display:none; } }
  .btn-quote{
    background:var(--on-navy-gold); color:var(--navy); font-weight:700; font-size:.8rem;
    padding:.55em 1.1em; border-radius:999px; text-decoration:none; white-space:nowrap; flex:none;
  }
  .btn-quote:hover{ opacity:.88; }

  .lang-btn{
    appearance:none; border:1px solid var(--on-navy-border); background:transparent; color:var(--on-navy-text);
    font:inherit; font-weight:700; font-size:.78rem; letter-spacing:.04em;
    padding:.5em .95em; border-radius:999px; cursor:pointer;
    display:inline-flex; align-items:center; gap:.4em; flex:none;
  }
  .lang-btn:hover, .lang-btn:focus-visible{ border-color:var(--on-navy-gold); color:var(--on-navy-gold); outline:none; }

  .menu-btn{
    appearance:none; border:1px solid var(--on-navy-border); background:transparent; color:var(--on-navy-text);
    width:38px; height:38px; border-radius:8px; cursor:pointer; display:none;
    align-items:center; justify-content:center; flex:none;
  }
  .menu-btn svg{ width:18px; height:18px; }
  @media (max-width:900px){ .menu-btn{ display:inline-flex; } }
  .mobile-nav{
    display:none; flex-direction:column; background:var(--navy-2);
    border-top:1px solid var(--on-navy-border); border-bottom:1px solid var(--on-navy-border);
  }
  .mobile-nav.is-open{ display:flex; }
  .mobile-nav a{
    color:var(--on-navy-text); text-decoration:none; font-weight:600; font-size:.92rem;
    padding:13px clamp(18px,4vw,48px); border-bottom:1px solid var(--on-navy-border);
  }
  .mobile-nav a:last-child{ border-bottom:none; }
  @media (min-width:901px){ .mobile-nav{ display:none!important; } }

  /* ---------- Hero ---------- */
  .hero{
    position:relative; overflow:clip; background:var(--navy); color:var(--on-navy-text);
  }
  .hero-photo{ background-size:cover; background-position:center; }
  .hero-photo::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(7,13,24,.6), rgba(7,13,24,.9));
  }
  .hero-route{ position:absolute; inset:0; width:100%; height:100%; opacity:.55; pointer-events:none; }
  .hero-route path{ fill:none; stroke:var(--on-navy-gold); stroke-width:1.25; stroke-dasharray:2 7; stroke-linecap:round; animation:dash 26s linear infinite; }
  .hero-route circle{ fill:var(--on-navy-gold); opacity:.9; }
  @keyframes dash{ to{ stroke-dashoffset:-400; } }
  @media (prefers-reduced-motion:reduce){ .hero-route path{ animation:none; } }

  .hero-inner{ position:relative; padding-block:clamp(56px,10vw,108px) clamp(48px,8vw,88px); display:grid; gap:26px; max-width:760px; }
  .hero h1{ font-size:clamp(2.3rem,5.4vw,4rem); line-height:1.05; color:var(--on-navy-text); }
  .hero .lede{ font-size:clamp(1rem,1.6vw,1.2rem); color:var(--on-navy-soft); max-width:52ch; }
  .cta-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:6px; }
  .btn{
    display:inline-flex; align-items:center; gap:.5em; font-weight:700; font-size:.92rem;
    padding:.85em 1.5em; border-radius:8px; text-decoration:none; border:1px solid transparent; cursor:pointer;
  }
  .btn-gold{ background:var(--gold); color:var(--navy); }
  .btn-gold:hover{ background:var(--gold-light); }
  .btn-ghost{ border-color:var(--on-navy-border); color:var(--on-navy-text); }
  .btn-ghost:hover{ border-color:var(--on-navy-gold); color:var(--on-navy-gold); }
  .btn-outline{ border-color:var(--border); color:var(--text); }
  .btn-outline:hover{ border-color:var(--gold); color:var(--gold); }

  /* Inner-page hero (About / Services / Products / Contact) */
  .page-hero-inner{ position:relative; padding-block:clamp(44px,8vw,76px) clamp(36px,6vw,56px); display:grid; gap:16px; max-width:720px; }
  .page-hero-inner h1{ font-size:clamp(2rem,4.4vw,3rem); line-height:1.08; color:var(--on-navy-text); }
  .page-hero-inner .lede{ font-size:clamp(.96rem,1.4vw,1.08rem); color:var(--on-navy-soft); max-width:60ch; }

  /* Forms */
  .form-grid{ display:grid; gap:16px; max-width:640px; }
  .form-row{ display:grid; gap:16px; grid-template-columns:1fr 1fr; }
  @media (max-width:560px){ .form-row{ grid-template-columns:1fr; } }
  .field{ display:grid; gap:6px; }
  .field label{ font-size:.82rem; font-weight:600; color:var(--text); }
  .field input, .field select, .field textarea{
    font:inherit; font-size:.92rem; padding:.75em .9em; border-radius:8px;
    border:1px solid var(--border); background:var(--surface); color:var(--text);
  }
  .field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--gold); }
  .field textarea{ resize:vertical; min-height:110px; }
  .form-status{ font-size:.86rem; font-weight:600; min-height:1.2em; }
  .form-status[data-state="ok"]{ color:var(--gold); }
  .form-status[data-state="err"]{ color:#c0392b; }
  .form-note{ font-size:.78rem; color:var(--text-soft); }

  /* ---------- Stats ---------- */
  .stats{ background:var(--navy-2); color:var(--on-navy-text); border-top:1px solid var(--on-navy-border); }
  .stats-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding-block:26px; }
  @media (max-width:700px){ .stats-row{ grid-template-columns:repeat(2,1fr); } }
  .stat b{ display:block; font-family:"Fraunces",serif; font-size:clamp(1.5rem,3vw,2.1rem); color:var(--on-navy-gold); font-variant-numeric:tabular-nums; }
  body.lang-ar .stat b{ font-family:"Tajawal",sans-serif; font-weight:800; }
  .stat span{ font-size:.78rem; color:var(--on-navy-soft); }

  /* ---------- Sections ---------- */
  section{ padding-block:clamp(52px,8vw,92px); }
  .section-head{ max-width:620px; margin-bottom:clamp(28px,5vw,48px); display:grid; gap:12px; }
  .section-head h2{ font-size:clamp(1.7rem,3.4vw,2.5rem); }

  /* About */
  #about{ background:var(--bg); }
  .about-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,5vw,56px); align-items:start; }
  @media (max-width:820px){ .about-grid{ grid-template-columns:1fr; } }
  .about-copy p + p{ margin-top:1em; }
  .manifest{
    background:var(--surface); border:1px solid var(--border); border-radius:4px;
    padding:clamp(18px,3vw,28px); box-shadow:0 20px 40px -28px var(--shadow);
  }
  .manifest-title{ font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; color:var(--text-soft); margin-bottom:14px; }
  body.lang-ar .manifest-title{ letter-spacing:0; text-transform:none; }
  .manifest-row{ display:flex; justify-content:space-between; gap:12px; padding-block:9px; border-bottom:1px dashed var(--border); font-size:.9rem; }
  .manifest-row:last-child{ border-bottom:none; }
  .manifest-row dt{ color:var(--text-soft); font-weight:500; }
  .manifest-row dd{ margin:0; font-weight:700; text-align:end; }

  /* Services */
  #services{ background:var(--surface); }
  .card-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px; }
  .svc-card{
    background:var(--surface-raised); border:1px solid var(--border); border-radius:10px;
    padding:22px; display:grid; gap:12px; align-content:start;
  }
  .svc-card .icon{ width:34px; height:34px; color:var(--gold); }
  .svc-card h3{ font-size:1.02rem; font-weight:700; font-family:"Public Sans",sans-serif; }
  body.lang-ar .svc-card h3{ font-family:"Tajawal",sans-serif; }
  .svc-card p{ font-size:.88rem; }

  /* Markets */
  #markets{ background:var(--bg); }
  .market-groups{ display:grid; gap:28px; }
  .market-group h3{ font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:var(--text-soft); font-family:"Public Sans",sans-serif; font-weight:700; margin-bottom:12px; }
  body.lang-ar .market-group h3{ font-family:"Tajawal",sans-serif; letter-spacing:0; text-transform:none; }
  .chip-row{ display:flex; flex-wrap:wrap; gap:10px; }
  .chip{
    border:1px solid var(--border); background:var(--surface); border-radius:999px;
    padding:.55em 1.1em; font-size:.86rem; font-weight:600;
  }
  .chip.is-active{ border-color:var(--gold); color:var(--gold-light); }

  /* Why us */
  #why{ background:var(--surface-raised); }
  .why-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px; }
  .why-card{ padding:22px 0; border-top:1px solid var(--border); display:grid; gap:8px; }
  .why-card h3{ font-family:"Public Sans",sans-serif; font-size:1rem; font-weight:700; }
  body.lang-ar .why-card h3{ font-family:"Tajawal",sans-serif; }
  .why-card p{ font-size:.88rem; }

  /* CTA band (per-page, above footer) */
  .cta-band{ background:var(--navy); color:var(--on-navy-text); }
  .cta-band-inner{ padding-block:clamp(48px,8vw,84px); display:grid; gap:22px; max-width:640px; }
  .cta-band-inner h2{ color:var(--on-navy-text); font-size:clamp(1.7rem,3.4vw,2.4rem); }
  .cta-band-inner p{ color:var(--on-navy-soft); }

  /* Footer */
  footer{ background:var(--navy); color:var(--on-navy-text); }
  .foot-bottom{
    border-top:1px solid var(--on-navy-border); padding-block:18px;
    display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px;
    font-size:.78rem; color:var(--on-navy-soft);
  }
  .foot-brand{ display:flex; align-items:center; gap:.5em; }
  .foot-brand img{ width:20px; }

  /* Products */
  #products{ background:var(--surface); }
  .prod-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px; }
  .prod-card{
    background:var(--surface-raised); border:1px solid var(--border); border-radius:10px;
    padding:22px; display:grid; gap:10px; align-content:start;
  }
  .prod-card .icon{ width:32px; height:32px; color:var(--gold); }
  .prod-card h3{ font-size:1rem; font-weight:700; font-family:"Public Sans",sans-serif; }
  body.lang-ar .prod-card h3{ font-family:"Tajawal",sans-serif; }
  .prod-card p{ font-size:.86rem; }
  .reg-note{
    margin-top:clamp(24px,4vw,36px); background:var(--surface); border:1px solid var(--border);
    border-inline-start:3px solid var(--gold); border-radius:8px; padding:20px 24px; display:grid; gap:6px;
  }
  .reg-note h4{ font-family:"Public Sans",sans-serif; font-weight:700; font-size:.92rem; color:var(--text); margin:0; }
  body.lang-ar .reg-note h4{ font-family:"Tajawal",sans-serif; }
  .reg-note p{ font-size:.86rem; margin:0; }

  /* Expansion / roadmap */
  #expansion{ background:var(--surface-raised); }
  .road-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:18px; }
  .road-card{
    background:var(--surface); border:1px solid var(--border); border-radius:10px;
    padding:20px; display:grid; gap:8px; align-content:start;
  }
  .road-card h3{ font-family:"Public Sans",sans-serif; font-size:.98rem; font-weight:700; }
  body.lang-ar .road-card h3{ font-family:"Tajawal",sans-serif; }
  .road-card p{ font-size:.85rem; }
  .road-tag{
    justify-self:start; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em;
    color:var(--gold-light); background:rgba(20,184,166,0.12); border-radius:999px; padding:.3em .8em;
  }
  body.lang-ar .road-tag{ letter-spacing:0; }

  /* Process */
  #process{ background:var(--bg); }
  .step-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:20px; counter-reset:step; }
  .step-item{ display:grid; gap:8px; }
  .step-num{
    width:36px; height:36px; border-radius:50%; border:1.5px solid var(--gold); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center; font-family:"Fraunces",serif; font-weight:600; font-size:1rem;
  }
  body.lang-ar .step-num{ font-family:"Tajawal",sans-serif; font-weight:800; }
  .step-item h3{ font-family:"Public Sans",sans-serif; font-size:.95rem; font-weight:700; }
  body.lang-ar .step-item h3{ font-family:"Tajawal",sans-serif; }
  .step-item p{ font-size:.85rem; }

  /* Partners */
  #partners{ background:var(--surface); }
  .partners-inner{ display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(28px,5vw,56px); align-items:center; }
  @media (max-width:820px){ .partners-inner{ grid-template-columns:1fr; } }
  .partners-inner .copy p + p{ margin-top:1em; }
  .partner-types{ display:grid; gap:10px; }
  .partner-type{
    display:flex; align-items:center; gap:.7em; background:var(--surface-raised); border:1px solid var(--border);
    border-radius:8px; padding:.85em 1.1em; font-size:.88rem; font-weight:600;
  }
  .partner-type .dot{ width:8px; height:8px; border-radius:50%; background:var(--gold); flex:none; }

  /* FAQ */
  #faq{ background:var(--surface-raised); }
  .faq-list{ display:grid; gap:2px; max-width:820px; }
  .faq-item{
    background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:4px 20px;
  }
  .faq-item + .faq-item{ margin-top:10px; }
  .faq-item summary{
    cursor:pointer; padding-block:16px; font-weight:700; font-family:"Public Sans",sans-serif; font-size:.94rem;
    list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px;
  }
  body.lang-ar .faq-item summary{ font-family:"Tajawal",sans-serif; }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{ content:"+"; color:var(--gold); font-size:1.3rem; font-weight:400; flex:none; }
  .faq-item[open] summary::after{ content:"–"; }
  .faq-item p{ font-size:.88rem; padding-bottom:16px; margin:0; }

  /* Section banner photo (decorative, full-width) */
  .section-photo{
    width:100%; aspect-ratio:21/8; object-fit:cover; border-radius:14px;
    margin-bottom:clamp(24px,4vw,40px);
  }
  @media (max-width:700px){ .section-photo{ aspect-ratio:16/10; } }

  /* CTA band with background photo */
  .cta-band-photo{ position:relative; background-size:cover; background-position:center; }
  .cta-band-photo::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(7,13,24,.75), rgba(7,13,24,.92));
  }
  .cta-band-photo .cta-band-inner{ position:relative; }

  /* Industries grid */
  .industry-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px; }
  .industry-card{
    position:relative; aspect-ratio:4/3; border-radius:12px; overflow:hidden;
    background-size:cover; background-position:center; display:flex; align-items:end;
  }
  .industry-card::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(10,27,51,0) 40%, rgba(10,27,51,.88) 100%);
  }
  .industry-card span{
    position:relative; padding:16px; color:#fff; font-weight:700; font-size:.98rem;
    font-family:"Public Sans",sans-serif;
  }
  body.lang-ar .industry-card span{ font-family:"Tajawal",sans-serif; }

  /* Operations photo gallery */
  .gallery-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
  .gallery-grid img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:10px; }

  /* Founders */
  .founder-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:28px; max-width:520px; }
  .founder-card{ text-align:center; display:grid; gap:8px; justify-items:center; }
  .founder-card img{ width:150px; height:150px; object-fit:cover; border-radius:50%; }
  .founder-card .f-name{ font-weight:700; font-family:"Public Sans",sans-serif; font-size:1.05rem; }
  body.lang-ar .founder-card .f-name{ font-family:"Tajawal",sans-serif; }
  .founder-card .f-title{ font-size:.84rem; color:var(--gold-light); font-weight:600; }
  .founder-card .f-sub{ font-size:.76rem; color:var(--text-soft); }

  /* Photo cards (Precious Metals / Projects / Partners) */
  .photo-card-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px; }
  .photo-card{ background:var(--surface-raised); border:1px solid var(--border); border-radius:10px; overflow:hidden; }
  .photo-card img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
  .photo-card-body{ padding:18px; display:grid; gap:6px; }
  .photo-card-body h3{ font-size:1rem; font-weight:700; font-family:"Public Sans",sans-serif; }
  body.lang-ar .photo-card-body h3{ font-family:"Tajawal",sans-serif; }
  .photo-card-body p{ font-size:.86rem; }

  /* Footer nav */
  .foot-nav{
    display:flex; flex-wrap:wrap; gap:10px 22px; padding-block:20px;
    border-bottom:1px solid var(--on-navy-border); font-size:.82rem;
  }
  .foot-nav a{ color:var(--on-navy-soft); text-decoration:none; }
  .foot-nav a:hover, .foot-nav a.active{ color:var(--on-navy-text); }

  /* WhatsApp floating button */
  .whatsapp-float{
    position:fixed; bottom:22px; right:22px; z-index:60;
    width:56px; height:56px; border-radius:50%; background:#25D366;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 24px rgba(0,0,0,.28); text-decoration:none;
    transition:transform .15s ease;
  }
  .whatsapp-float:hover{ transform:scale(1.07); }
  .whatsapp-float svg{ width:29px; height:29px; fill:#fff; }
  @media (max-width:600px){
    .whatsapp-float{ width:50px; height:50px; bottom:16px; right:16px; }
    .whatsapp-float svg{ width:26px; height:26px; }
  }

  /* RFQ wizard */
  .rfq-progress{ display:flex; align-items:center; gap:8px; margin-bottom:clamp(20px,4vw,32px); }
  .rfq-progress .rp-num{
    width:32px; height:32px; border-radius:50%; border:1.5px solid var(--border); color:var(--text-soft);
    display:flex; align-items:center; justify-content:center; font-family:"Fraunces",serif; font-weight:600; font-size:.9rem;
    flex:none; transition:all .2s ease;
  }
  body.lang-ar .rfq-progress .rp-num{ font-family:"Tajawal",sans-serif; font-weight:800; }
  .rfq-progress .rp-num.is-active{ border-color:var(--gold); color:var(--gold); background:rgba(20,184,166,0.08); }
  .rfq-progress .rp-num.is-done{ border-color:var(--gold); background:var(--gold); color:var(--navy); }
  .rfq-progress .rp-line{ flex:1; height:1px; background:var(--border); }
  .rfq-step[hidden]{ display:none; }
  .rfq-category-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:12px; }
  .rfq-category{
    display:block; cursor:pointer; border:1px solid var(--border); background:var(--surface);
    border-radius:10px; padding:14px 16px; font-size:.88rem; font-weight:600; position:relative;
  }
  .rfq-category input{ position:absolute; opacity:0; }
  .rfq-category:has(input:checked){ border-color:var(--gold); background:rgba(20,184,166,0.08); color:var(--gold); }
  .rfq-nav{ display:flex; justify-content:space-between; gap:12px; margin-top:22px; }
  .rfq-summary{ display:grid; gap:8px; background:var(--surface-raised); border:1px solid var(--border); border-radius:10px; padding:16px 18px; margin-bottom:18px; font-size:.86rem; }
  .rfq-summary div{ display:flex; justify-content:space-between; gap:12px; }
  .rfq-summary dt{ color:var(--text-soft); }
  .rfq-summary dd{ margin:0; font-weight:600; }

  /* Interactive world map */
  .world-map-wrap{ position:relative; max-width:820px; }
  .world-map-wrap svg{ width:100%; height:auto; display:block; }
  .world-map-wrap svg path{ fill:var(--border); stroke:var(--surface); stroke-width:0.6; }
  .world-map-wrap svg path.is-planned{ fill:var(--gold); cursor:pointer; transition:fill .15s ease; }
  .world-map-wrap svg path.is-planned:hover, .world-map-wrap svg path.is-planned:focus{ fill:var(--gold-light); outline:none; }
  .map-tooltip{
    position:absolute; pointer-events:none; background:var(--navy); color:var(--on-navy-text);
    padding:6px 12px; border-radius:8px; font-size:.8rem; font-weight:700; white-space:nowrap;
    transform:translate(-50%,-130%); box-shadow:0 10px 24px rgba(0,0,0,.3); opacity:0;
    transition:opacity .15s ease; z-index:5;
  }
  .map-tooltip.is-visible{ opacity:1; }
