
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --black:   #0a0b0a;
  --dark:    #101210;
  --dark2:   #161916;
  --card:    #131513;
  --border:  #1e221e;
  --border2: #252b25;
  --green:   #4caf50;
  --green2:  #5dc961;
  --green3:  #3d9140;
  --green-dim: rgba(76,175,80,0.12);
  --green-glow: rgba(76,175,80,0.06);
  --white:   #f0f2f0;
  --gray:    #7a857a;
  --gray2:   #3d453d;
  --text:    #c8d0c8;
}

html { scroll-behavior: smooth; }
body {
  background: var(--black);
  color: var(--white);
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
  line-height: 1.6;
}

/* ── NAV ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 64px;
  background: rgba(10,11,10,0.88);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  transition: padding 0.3s;
}
nav.scrolled { padding: 14px 64px; }
.nav-logo img { height: 36px; display: block; }
.nav-links { display: flex; gap: 32px; list-style: none; }
.nav-links a {
  color: var(--gray); font-size: 13px; text-decoration: none;
  font-weight: 500; letter-spacing: 0.4px; transition: color 0.2s;
}
.nav-links a:hover { color: var(--white); }
.nav-cta {
  background: var(--green); color: #000;
  border: none; padding: 10px 26px; border-radius: 3px;
  font-weight: 700; font-size: 12px; cursor: pointer;
  letter-spacing: 1px; text-transform: uppercase;
  transition: background 0.2s, transform 0.15s;
}
.nav-cta:hover { background: var(--green2); transform: translateY(-1px); }

/* ── TICKER ── */
.ticker {
  background: var(--green3); overflow: hidden;
  white-space: nowrap; padding: 9px 0; margin-top: 81px;
}
.ticker-track {
  display: inline-flex; gap: 56px;
  animation: ticker 28s linear infinite;
}
.ticker-track span { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #000; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── HERO ── */
.hero {
  min-height: 100vh;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; position: relative; overflow: hidden;
  padding: 100px 40px 80px;
}

.hero-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-size:10px; font-weight:700; letter-spacing:4px; text-transform:uppercase;
  color:var(--green); margin-bottom:24px;
  opacity:0; animation:fadeUp 0.8s 0.2s forwards;
}
.hero-eyebrow::before,.hero-eyebrow::after {
  content:''; display:block; width:32px; height:1px; background:var(--green); opacity:0.5;
}

.hero h1 {
  font-size: clamp(52px, 9vw, 108px);
  font-weight: 900; line-height: 0.92; letter-spacing: -3px;
  margin-bottom: 28px;
  opacity:0; animation:fadeUp 0.8s 0.35s forwards;
}
.hero h1 em {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic; color: var(--green); font-weight: 700;
}
.hero-sub {
  max-width: 560px; font-size: 17px; color: var(--gray);
  line-height: 1.75; margin-bottom: 52px;
  opacity:0; animation:fadeUp 0.8s 0.5s forwards;
}
.hero-btns {
  display:flex; gap:14px; flex-wrap:wrap; justify-content:center;
  opacity:0; animation:fadeUp 0.8s 0.65s forwards;
}
.btn-primary {
  background:var(--green); color:#000;
  padding:14px 38px; border-radius:3px;
  font-weight:700; font-size:13px; letter-spacing:0.8px; text-transform:uppercase;
  text-decoration:none; border:2px solid var(--green);
  transition: all 0.2s;
}
.btn-primary:hover { background:var(--green2); border-color:var(--green2); transform:translateY(-2px); box-shadow:0 10px 32px rgba(76,175,80,0.25); }
.btn-outline {
  background:transparent; color:var(--white);
  padding:14px 38px; border-radius:3px;
  font-weight:600; font-size:13px; letter-spacing:0.8px; text-transform:uppercase;
  text-decoration:none; border:2px solid var(--border2);
  transition: all 0.2s;
}
.btn-outline:hover { border-color:var(--green); color:var(--green); transform:translateY(-2px); }

.hero-stats {
  display:flex; gap:64px; margin-top:80px; flex-wrap:wrap; justify-content:center;
  opacity:0; animation:fadeUp 0.8s 0.85s forwards;
}
.stat { text-align:center; }
.stat-num { font-size:40px; font-weight:900; color:var(--green); line-height:1; font-family:'Cormorant Garamond',serif; }
.stat-label { font-size:10px; color:var(--gray); letter-spacing:2px; text-transform:uppercase; margin-top:6px; }

.scroll-line {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  opacity:0; animation:fadeIn 1s 1.6s forwards;
}
.scroll-line span { font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gray); }
.scroll-dot { width:1px; height:48px; background:linear-gradient(to bottom, var(--green), transparent); animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} 51%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

@keyframes fadeUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

/* ── MARQUEE ── */
.marquee-bar {
  background:var(--dark); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  overflow:hidden; padding:28px 0;
}
.marquee-track {
  display:inline-flex; gap:72px; white-space:nowrap;
  animation:ticker 32s linear infinite reverse;
}
.m-item { display:flex; align-items:center; gap:14px; }
.m-num { font-size:28px; font-weight:900; color:var(--green); font-family:'Cormorant Garamond',serif; }
.m-label { font-size:11px; color:var(--gray); letter-spacing:2px; text-transform:uppercase; }

/* ── SHARED SECTION ── */
section { padding: 120px 64px; }
.sec-label {
  font-size:10px; font-weight:700; letter-spacing:4px;
  color:var(--green); text-transform:uppercase; margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
}
.sec-label::after { content:''; display:block; width:40px; height:1px; background:var(--green); opacity:0.4; }
.sec-title {
  font-size:clamp(36px,5vw,64px);
  font-weight:900; line-height:0.95; letter-spacing:-2px; margin-bottom:20px;
}
.sec-title em { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--green); }
.sec-desc { max-width:580px; color:var(--gray); font-size:16px; line-height:1.75; }

/* REVEAL */
.reveal { opacity:0; transform:translateY(36px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.d1{transition-delay:0.1s} .d2{transition-delay:0.2s} .d3{transition-delay:0.3s} .d4{transition-delay:0.4s} .d5{transition-delay:0.5s}

/* ── SERVICES ── */
.sec-services { background:var(--dark); }
.svc-inner { max-width:1160px; margin:0 auto; }
.svc-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  border:1px solid var(--border); border-radius:6px; overflow:hidden; margin-top:56px;
}
.svc-card {
  background:var(--card); padding:44px 32px;
  position:relative; overflow:hidden;
  transition:background 0.3s;
}
.svc-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--green); transform:scaleX(0); transition:transform 0.4s;
}
.svc-card:hover::before { transform:scaleX(1); }
.svc-card:hover { background:#1a1d1a; }
.svc-icon {
  width:48px; height:48px; border-radius:6px;
  background:var(--green-dim); border:1px solid rgba(76,175,80,0.18);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; margin-bottom:22px;
  transition:transform 0.3s;
}
.svc-card:hover .svc-icon { transform:scale(1.12) rotate(4deg); }
.svc-card h3 { font-size:17px; font-weight:700; margin-bottom:10px; }
.svc-card p { font-size:13px; color:var(--gray); line-height:1.65; }

/* ── TWO-COL ── */
.sec-detail { background:var(--black); }
.detail-inner { max-width:1160px; margin:0 auto; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }

/* ── WHY ── */
.sec-why { background:var(--dark); }
.why-inner { max-width:1160px; margin:0 auto; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:56px; }
.why-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:6px; padding:32px 24px;
  transition:transform 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.why-card:hover { transform:translateY(-6px); border-color:var(--green); box-shadow:0 20px 60px rgba(76,175,80,0.08); }
.why-big { font-size:52px; font-weight:900; color:var(--border2); line-height:1; margin-bottom:14px; font-family:'Cormorant Garamond',serif; }
.why-card h3 { font-size:16px; font-weight:700; margin-bottom:8px; }
.why-card p { font-size:13px; color:var(--gray); line-height:1.6; }

/* ── PROCESS ── */
.sec-process { background:var(--black); }
.process-inner { max-width:1060px; margin:0 auto; }
.proc-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:0; margin-top:56px; position:relative;
}
.proc-grid::before {
  content:''; position:absolute; top:32px; left:0; right:0; height:1px;
  background:linear-gradient(to right, transparent, var(--border) 10%, var(--border) 90%, transparent);
}
.proc-step {
  padding:44px 24px 32px;
  border-left:1px solid var(--border);
  transition:background 0.3s;
}
.proc-step:first-child { border-left:none; }
.proc-step:hover { background:rgba(76,175,80,0.025); }
.proc-num {
  width:44px; height:44px; border-radius:50%;
  background:var(--black); border:2px solid var(--green);
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:12px; color:var(--green);
  margin-bottom:18px; position:relative; z-index:1;
  transition:background 0.3s, transform 0.3s;
}
.proc-step:hover .proc-num { background:var(--green); color:#000; transform:scale(1.1); }
.proc-step h3 { font-size:15px; font-weight:700; margin-bottom:6px; }
.proc-step p { font-size:12px; color:var(--gray); line-height:1.6; }

/* ── TABS (Vision/Mission/Story) ── */
.sec-tabs { background:var(--dark); }
.tabs-inner { max-width:1160px; margin:0 auto; }
.tab-btns { display:flex; gap:3px; background:var(--card); border-radius:5px; padding:4px; width:fit-content; margin-bottom:48px; }
.tbtn {
  padding:9px 26px; border-radius:3px; cursor:pointer;
  font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  color:var(--gray); border:none; background:none; transition:all 0.3s;
}
.tbtn.active { background:var(--green); color:#000; }
.tbtn:hover:not(.active) { color:var(--white); }
.tab-content { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.tab-pane { display:none; }
.tab-pane.active { display:contents; }
.tab-text h2 { font-size:40px; font-weight:900; letter-spacing:-1.5px; line-height:1.1; margin-bottom:22px; }
.tab-text h2 em { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--green); }
.tab-text p { color:var(--gray); font-size:15px; line-height:1.8; margin-bottom:30px; }
.tab-visual {
  border-radius:6px;
  background:var(--card); border:1px solid var(--border);
  position:relative; overflow:hidden;
  display:block; padding:0;
  min-height:320px; width:100%;
}
.tab-visual canvas { display:block; width:100%!important; height:100%!important; }

/* ── INSIGHTS ── */
.sec-insights { background:var(--black); }
.insights-inner { max-width:1160px; margin:0 auto; }
.insights-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:3px; margin-top:48px; }
.insight-item {
  aspect-ratio:3/4; background:var(--card); border:1px solid var(--border);
  border-radius:4px; overflow:hidden; position:relative; cursor:pointer;
  transition:transform 0.3s, border-color 0.3s;
}
.insight-item:hover { transform:scale(1.03); border-color:var(--green); z-index:2; }
.insight-bg { display:none; }
.insight-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.92) 0%, transparent 55%);
  padding:18px 14px; display:flex; flex-direction:column; justify-content:flex-end;
}
.insight-overlay h3 { font-size:13px; font-weight:700; line-height:1.3; }

/* ── FAQ ── */
.sec-faq { background:var(--dark); }
.faq-inner { max-width:780px; margin:0 auto; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-q {
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 0; cursor:pointer; font-size:15px; font-weight:600; gap:16px;
  transition:color 0.2s;
}
.faq-q:hover { color:var(--green); }
.faq-toggle {
  width:26px; height:26px; border-radius:50%;
  background:var(--card); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:16px; flex-shrink:0; transition:all 0.3s; color:var(--green);
}
.faq-item.open .faq-toggle { background:var(--green); color:#000; transform:rotate(45deg); }
.faq-a {
  max-height:0; overflow:hidden;
  transition:max-height 0.4s ease, padding 0.4s ease;
  color:var(--gray); font-size:14px; line-height:1.7;
}
.faq-item.open .faq-a { max-height:200px; padding-bottom:20px; }

/* ── TESTIMONIALS ── */
.sec-test { background:var(--black); padding:80px 64px; }
.test-inner { max-width:1160px; margin:0 auto; }
.test-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.test-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:6px; padding:30px;
  transition:transform 0.3s, border-color 0.3s;
}
.test-card:hover { transform:translateY(-4px); border-color:rgba(76,175,80,0.3); }
.test-stars { color:var(--green); font-size:13px; margin-bottom:14px; }
.test-text { font-size:13px; color:var(--gray); line-height:1.75; margin-bottom:22px; }
.test-author { display:flex; align-items:center; gap:12px; }
.test-avatar {
  width:42px; height:42px; border-radius:50%;
  background:var(--green-dim); border:1px solid rgba(76,175,80,0.25);
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:12px; color:var(--green);
}
.test-name { font-weight:700; font-size:13px; }
.test-role { font-size:11px; color:var(--gray); }

/* ── CTA ── */
.sec-cta {
  background:var(--black); text-align:center; padding:120px 64px;
  position:relative; overflow:hidden;
}
.cta-glow {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 55% 55% at 50% 50%, rgba(76,175,80,0.07) 0%, transparent 70%);
  animation:glowPulse 6s ease-in-out infinite;
}
@keyframes glowPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.15)} }
.sec-cta h2 { font-size:clamp(40px,6vw,76px); font-weight:900; letter-spacing:-2px; margin-bottom:16px; position:relative; }
.sec-cta h2 em { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--green); }
.sec-cta p { color:var(--gray); font-size:17px; max-width:480px; margin:0 auto 48px; position:relative; }

/* ── FOOTER ── */
footer { background:var(--black); border-top:1px solid var(--border); padding:80px 64px 40px; }
.foot-grid { max-width:1160px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:56px; margin-bottom:56px; }
.foot-brand p { color:var(--gray); font-size:13px; line-height:1.7; margin:14px 0 22px; max-width:260px; }
.foot-socials { display:flex; gap:10px; }
.soc-btn {
  width:34px; height:34px; border-radius:5px;
  background:var(--card); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; text-decoration:none; color:var(--gray); transition:all 0.2s;
}
.soc-btn:hover { background:var(--green); color:#000; border-color:var(--green); }
.foot-col h4 { font-size:10px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--green); margin-bottom:14px; }
.foot-col ul { list-style:none; }
.foot-col li { margin-bottom:9px; }
.foot-col a { color:var(--gray); font-size:13px; text-decoration:none; transition:color 0.2s; }
.foot-col a:hover { color:var(--white); }
.foot-bottom { max-width:1160px; margin:0 auto; padding-top:28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
.foot-bottom p { font-size:11px; color:var(--gray); }
.disclaimer { font-size:10px; color:var(--gray2); max-width:1160px; margin:20px auto 0; line-height:1.6; }

.news-row { display:flex; gap:8px; margin-top:12px; }
.news-row input {
  flex:1; background:var(--card); border:1px solid var(--border);
  border-radius:3px; padding:10px 14px; color:var(--white);
  font-size:12px; outline:none; font-family:'Inter',sans-serif;
  transition:border-color 0.2s;
}
.news-row input:focus { border-color:var(--green); }
.news-row button { padding:10px 16px; }

/* ── RESPONSIVE ── */
@media(max-width:920px){
  nav{ padding:16px 20px; } nav.scrolled{ padding:12px 20px; }
  .nav-links{ display:none; }
  section{ padding:80px 20px; }
  footer{ padding:60px 20px 32px; }
  .svc-grid{ grid-template-columns:1fr; }
  .two-col{ grid-template-columns:1fr; gap:40px; }
  .why-grid{ grid-template-columns:repeat(2,1fr); }
  .proc-grid{ grid-template-columns:1fr; }
  .proc-grid::before{ display:none; }
  .proc-step{ border-left:none; border-top:1px solid var(--border); }
  .tab-content{ grid-template-columns:1fr; }
  .insights-grid{ grid-template-columns:repeat(2,1fr); }
  .test-grid{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:32px; }
  .hero-stats{ gap:32px; }
  .sec-cta{ padding:80px 20px; }
}

@media(prefers-reduced-motion:reduce){
  *{ animation:none!important; transition:none!important; }
}


.ib-label{display:block;font-size:11px;font-weight:700;letter-spacing:0.5px;color:#7a857a;text-transform:uppercase;margin-bottom:6px;}
.ib-input{width:100%;background:#0e100e;border:1px solid #1e221e;border-radius:3px;padding:11px 14px;color:#f0f2f0;font-size:13px;font-family:Inter,sans-serif;outline:none;transition:border-color 0.2s;appearance:none;-webkit-appearance:none;}
.ib-input:focus{border-color:#4caf50;}
.ib-input option{background:#131513;color:#f0f2f0;}
.ib-check-label{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:3px;cursor:pointer;border:1px solid #1e221e;background:#0e100e;font-size:12px;color:#c8d0c8;transition:all 0.2s;user-select:none;}
.ib-check-label:hover{border-color:#4caf50;color:#4caf50;}
.ib-check-label input{accent-color:#4caf50;margin:0;}
.ib-rebate-label{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 6px;border-radius:3px;cursor:pointer;border:1px solid #1e221e;background:#0e100e;font-size:12px;font-weight:600;color:#c8d0c8;transition:all 0.2s;user-select:none;text-align:center;}
.ib-rebate-label:hover{border-color:#4caf50;color:#4caf50;}
.ib-rebate-label input{display:none;}
.ib-rebate-label.selected{border-color:#4caf50;background:rgba(76,175,80,0.12);color:#4caf50;}


/* ══════════════════════════════════════════════════════════
   MERGED SITE ADDITIONS — shared nav, language switch, mobile
   menu, inner pages, Arabic (RTL)
   ══════════════════════════════════════════════════════════ */
.nav-logo a { display:flex; align-items:baseline; text-decoration:none; font-size:20px; font-weight:900; letter-spacing:-0.5px; font-family:Inter,sans-serif; }
.nav-logo .c { color:var(--green); } .nav-logo .r { color:var(--white); }
.nav-links { gap:26px; }
.nav-links a.on { color:var(--green); }
.nav-right { display:flex; align-items:center; gap:12px; }
.lang-sw { color:var(--gray); font-size:13px; font-weight:600; text-decoration:none; border:1px solid var(--border2); padding:7px 11px; border-radius:3px; transition:all .2s; }
.lang-sw:hover { color:var(--green); border-color:var(--green); }
a.nav-cta { text-decoration:none; display:inline-block; }
.burger { display:none; background:none; border:1px solid var(--border2); color:var(--white); font-size:18px; line-height:1; padding:7px 11px; border-radius:3px; cursor:pointer; }
@media(max-width:920px){
  .burger { display:block; }
  #main-nav.open .nav-links { display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; background:rgba(10,11,10,0.97); border-bottom:1px solid var(--border); padding:6px 20px 12px; }
  #main-nav.open .nav-links a { display:block; padding:12px 0; border-bottom:1px solid var(--border); font-size:14px; }
  #main-nav.open .nav-links li:last-child a { border-bottom:none; }
  .nav-cta { padding:8px 14px; }
}
@media(max-width:480px){ .nav-cta { display:none; } }

/* home: new sections */
.home-link { display:inline-block; margin-top:22px; font-size:12px; color:var(--gray); text-decoration:none; letter-spacing:.5px; position:relative; z-index:2; border-bottom:1px solid var(--border2); padding-bottom:2px; }
.home-link:hover { color:var(--green); border-color:var(--green); }
a.svc-card { text-decoration:none; color:inherit; display:block; }
.svc-card .svc-tag { display:inline-block; font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--green); border:1px solid rgba(76,175,80,.35); border-radius:3px; padding:3px 9px; margin-bottom:14px; }
.svc-card .svc-tag.soon { color:var(--gray); border-color:var(--border2); }
.svc-card .svc-more { display:inline-block; margin-top:14px; font-size:12px; font-weight:700; color:var(--green); letter-spacing:.5px; }
.sec-more { text-align:center; margin-top:40px; }
.meas-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:4px; overflow:hidden; margin-top:40px; }
.meas-cell { background:var(--card); padding:30px 18px; text-align:center; }
.meas-cell .mv { font-family:'Cormorant Garamond',serif; font-size:44px; font-weight:700; color:var(--green); line-height:1; direction:ltr; }
.meas-cell .ml { font-size:11px; color:var(--gray); letter-spacing:1.5px; text-transform:uppercase; margin-top:10px; }
.meas-note { max-width:720px; margin:28px auto 0; font-size:13px; color:var(--gray); line-height:1.8; text-align:center; }
@media(max-width:920px){ .meas-grid { grid-template-columns:repeat(2,1fr); } }

/* ── INNER PAGES ───────────────────────────────────────── */
.subpage { padding-top:96px; position:relative; min-height:70vh; }
.subpage::before { content:''; position:absolute; top:-120px; left:50%; transform:translateX(-50%); width:760px; height:520px; background:radial-gradient(closest-side,rgba(76,175,80,0.10),transparent); pointer-events:none; }
.subpage .wrap { max-width:1080px; margin:0 auto; padding:0 32px; position:relative; z-index:1; }
.subpage .narrow { max-width:800px; }
.subpage .page { padding:44px 0 8px; }
.subpage .crumb { font-size:12px; color:var(--gray); margin-bottom:20px; }
.subpage .crumb a { color:var(--gray); text-decoration:none; }
.subpage .crumb a:hover { color:var(--green); }
.subpage .kicker { display:flex; align-items:center; gap:10px; font-size:10px; font-weight:700; letter-spacing:3px; color:var(--green); text-transform:uppercase; margin-bottom:16px; }
.subpage .kicker::before { content:''; width:24px; height:1px; background:var(--green); opacity:.6; }
.subpage h1 { font-size:clamp(30px,5vw,50px); font-weight:900; letter-spacing:-1.2px; line-height:1.08; color:var(--white); }
.subpage h1 b, .subpage h1 em { font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--green); font-weight:700; }
.subpage h2 { font-size:clamp(22px,3vw,30px); font-weight:800; letter-spacing:-.6px; margin:56px 0 16px; color:var(--white); line-height:1.25; }
.subpage h3 { font-size:17px; font-weight:700; margin:32px 0 10px; color:var(--white); }
.subpage p { color:var(--text); font-size:15px; line-height:1.85; margin-bottom:16px; }
.subpage .lede { color:var(--gray); font-size:17px; line-height:1.8; max-width:700px; }
.subpage ul, .subpage ol { color:var(--text); padding-inline-start:22px; margin:0 0 18px; font-size:15px; line-height:1.8; }
.subpage li { margin-bottom:8px; }
.subpage strong { color:var(--white); font-weight:700; }
.subpage a { color:var(--green); }
.subpage code { font-family:ui-monospace,Consolas,monospace; background:var(--card); border:1px solid var(--border); border-radius:3px; padding:1px 6px; font-size:.88em; color:var(--green); direction:ltr; display:inline-block; }
.subpage .eq { font-family:ui-monospace,Consolas,monospace; direction:ltr; text-align:center; background:var(--card); border:1px solid var(--border); border-radius:4px; padding:16px; margin:22px 0; color:var(--green); font-size:14px; }
.subpage .cta { display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; }
.subpage .btn { display:inline-block; padding:13px 30px; border-radius:3px; font-weight:700; font-size:12px; letter-spacing:.8px; text-transform:uppercase; text-decoration:none; transition:all .2s; border:2px solid transparent; }
.subpage .btn.primary { background:var(--green); color:#000; border-color:var(--green); }
.subpage .btn.primary:hover { background:var(--green2); border-color:var(--green2); transform:translateY(-2px); }
.subpage .btn.ghost { color:var(--white); border-color:var(--border2); }
.subpage .btn.ghost:hover { color:var(--green); border-color:var(--green); transform:translateY(-2px); }
.subpage .cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr)); gap:16px; margin-top:30px; }
.subpage .card { background:var(--card); border:1px solid var(--border); border-radius:4px; padding:28px; text-decoration:none; display:block; transition:border-color .25s, transform .25s, box-shadow .25s; position:relative; overflow:hidden; }
.subpage .card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(to right,var(--green),transparent); opacity:0; transition:opacity .25s; }
@media(hover:hover){ .subpage .card:hover { border-color:var(--green3); transform:translateY(-3px); box-shadow:0 18px 40px rgba(0,0,0,.45); } .subpage .card:hover::before { opacity:1; } }
.subpage .card h3 { margin:0 0 8px; }
.subpage .card p { color:var(--gray); font-size:14px; margin-bottom:14px; }
.subpage .card .more { color:var(--green); font-size:12px; font-weight:700; letter-spacing:.5px; }
.subpage .tag { display:inline-block; font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--green); border:1px solid rgba(76,175,80,.35); border-radius:3px; padding:3px 9px; margin-bottom:14px; }
.subpage .tag.soon { color:var(--gray); border-color:var(--border2); }
.subpage .stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:4px; overflow:hidden; margin:32px 0; }
.subpage .stat { background:var(--card); padding:24px 18px; text-align:center; }
.subpage .stat .n { font-family:'Cormorant Garamond',serif; font-size:40px; font-weight:700; color:var(--green); line-height:1.1; direction:ltr; }
.subpage .stat .l { font-size:12px; color:var(--gray); margin-top:8px; }
.subpage table { width:100%; border-collapse:collapse; font-size:14px; }
.subpage th, .subpage td { border:1px solid var(--border); padding:11px 14px; text-align:start; color:var(--text); }
.subpage th { background:var(--dark2); color:var(--gray); font-weight:600; font-size:12px; }
.subpage td.num { direction:ltr; text-align:end; font-family:ui-monospace,Consolas,monospace; color:var(--green); }
.subpage .tbl { overflow-x:auto; -webkit-overflow-scrolling:touch; margin:24px 0; }
.subpage .note { border:1px solid var(--border); border-inline-start:3px solid var(--green); border-radius:0 4px 4px 0; padding:20px 22px; background:rgba(76,175,80,0.05); margin:26px 0; }
.subpage .note.warn { border-inline-start-color:#c8553d; background:rgba(200,85,61,0.05); }
.subpage .note p:last-child { margin-bottom:0; }
.subpage .note strong { color:var(--green); font-weight:600; }
.subpage .note.warn strong { color:#e07a5f; }
.subpage .pillars { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:16px; margin-top:28px; }
.subpage .pillar { padding:24px; border-inline-start:2px solid var(--green3); background:rgba(255,255,255,0.015); }
.subpage .pillar h3 { margin:0 0 8px; color:var(--green); font-size:15px; }
.subpage .pillar p { color:var(--gray); font-size:14px; margin:0; }
.subpage .solid, .subpage .solid-band { display:none; }
.subpage ol.steps li { margin-bottom:10px; }
.page-end { margin-top:34px; }

/* chart video frames */
.subpage .stage { perspective:2600px; margin:36px 0 8px; position:relative; }
.subpage .shot { position:relative; border-radius:6px; overflow:hidden; cursor:zoom-in; border:1px solid var(--border2); background:var(--dark2); transform:rotateY(-5deg) rotateX(2deg); box-shadow:0 44px 80px -24px rgba(0,0,0,.85),0 0 0 1px rgba(76,175,80,.10),0 0 70px -16px rgba(76,175,80,.22); transition:transform .5s cubic-bezier(.2,.7,.3,1); }
html[dir="rtl"] .subpage .shot { transform:rotateY(5deg) rotateX(2deg); }
@media(hover:hover){ .subpage .stage:hover .shot, html[dir="rtl"] .subpage .stage:hover .shot { transform:none; } }
@media(max-width:860px){ .subpage .shot, html[dir="rtl"] .subpage .shot { transform:none; } }
.subpage .shot .chrome { display:flex; align-items:center; gap:7px; padding:9px 13px; background:#101310; border-bottom:1px solid var(--border); }
.subpage .shot .dot { width:9px; height:9px; border-radius:50%; background:#2a302a; }
.subpage .shot .label { margin-inline-start:10px; font-size:11px; color:var(--gray); font-family:ui-monospace,Consolas,monospace; direction:ltr; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.subpage .shot .vbtn { margin-inline-start:auto; display:flex; gap:7px; }
.subpage .shot .vbtn button { background:none; border:1px solid var(--border2); color:var(--gray); border-radius:3px; padding:2px 10px; font-size:11px; cursor:pointer; font-family:inherit; }
.subpage .shot .vbtn button:hover { color:var(--green); border-color:var(--green3); }
.subpage .shot img, .subpage .shot-media { display:block; width:100%; height:auto; background:var(--dark2); }
.subpage .shot-cap { margin-top:20px; color:var(--gray); font-size:13px; text-align:center; }
.subpage .tv-open { display:inline-block; padding:9px 20px; border:1px solid var(--border2); border-radius:3px; color:var(--green); text-decoration:none; font-size:12px; font-weight:600; }
.subpage .tv-open:hover { border-color:var(--green); }
#lb { position:fixed; inset:0; z-index:999; background:rgba(5,6,5,.95); display:none; align-items:center; justify-content:center; padding:24px; cursor:zoom-out; }
#lb.on { display:flex; }
#lb img { max-width:100%; max-height:100%; border-radius:6px; border:1px solid var(--border2); }
#lb .x { position:absolute; top:18px; inset-inline-end:24px; color:var(--gray); font-size:28px; line-height:1; }

/* code page */
.subpage .codebar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:18px 0 12px; }
.subpage .codebar .meta { color:var(--gray); font-size:12px; margin-inline-start:auto; }
.subpage .codebar button, .subpage .codebar a { font:inherit; font-size:13px; padding:9px 18px; border-radius:3px; cursor:pointer; border:1px solid var(--border2); background:transparent; color:var(--white); text-decoration:none; }
.subpage .codebar button:hover, .subpage .codebar a:hover { border-color:var(--green); color:var(--green); }
.subpage .codebar .copy.done { border-color:var(--green); color:var(--green); }
.subpage pre.code { direction:ltr; text-align:left; max-height:620px; overflow:auto; margin:0 0 26px; padding:18px 20px; background:#060806; border:1px solid var(--border); border-radius:4px; font:12.5px/1.6 ui-monospace,Consolas,monospace; color:#c8d0c8; white-space:pre; tab-size:4; }
.subpage pre.code .c { color:#5f6b5f; }

@media(max-width:760px){
  .subpage { padding-top:80px; }
  .subpage .wrap { padding:0 20px; }
  .subpage .page { padding-top:28px; }
  .subpage h2 { margin-top:40px; }
  .subpage .stats { grid-template-columns:1fr 1fr; }
  .subpage .stat .n { font-size:32px; }
  .subpage .card { padding:22px; }
  .subpage table { font-size:13px; }
  .subpage th, .subpage td { padding:9px 10px; min-width:90px; }
  .subpage .shot .dot { display:none; }
}

/* ── ARABIC (RTL) ──────────────────────────────────────── */
html[dir="rtl"] body { font-family:'IBM Plex Sans Arabic','Inter',sans-serif; }
html[dir="rtl"] * { letter-spacing:0 !important; }
html[dir="rtl"] .hero h1 { line-height:1.25; }
html[dir="rtl"] .hero h1 em, html[dir="rtl"] .sec-title em, html[dir="rtl"] .tab-text h2 em, html[dir="rtl"] h2 em, html[dir="rtl"] .subpage h1 b, html[dir="rtl"] .subpage h1 em, html[dir="rtl"] .sec-cta h2 em { font-family:inherit; font-style:normal; }
html[dir="rtl"] .proc-step { border-left:none; border-right:1px solid var(--border); }
html[dir="rtl"] .ticker-track, html[dir="rtl"] .marquee-track { direction:ltr; }
html[dir="rtl"] .ticker-track span, html[dir="rtl"] .marquee-track .m-item { direction:rtl; }
html[dir="rtl"] .ib-label, html[dir="rtl"] .stat-label, html[dir="rtl"] .sec-label { text-transform:none; }
html[dir="rtl"] .ib-input[type="email"], html[dir="rtl"] .ib-input[type="tel"] { direction:ltr; text-align:right; }
html[dir="rtl"] .modal-close { right:auto !important; left:20px; }
html[dir="rtl"] .story-box { border-left:none !important; border-right:3px solid #4caf50; border-radius:4px 0 0 4px !important; }
html[dir="rtl"] .subpage .kicker::before { order:0; }
.svc-grid.ind-grid { grid-template-columns:repeat(2,1fr); }
@media(max-width:920px){ .svc-grid.ind-grid { grid-template-columns:1fr; } }

/* RTL: keep the wordmark and signed numbers left-to-right */
html[dir="rtl"] .nav-logo a, html[dir="rtl"] .hero-logo, html[dir="rtl"] .foot-brand > div:first-child { direction:ltr; }
html[dir="rtl"] .stat-num, html[dir="rtl"] .m-num, html[dir="rtl"] .meas-cell .mv { direction:ltr; unicode-bidi:isolate; }
/* RTL: Arabic headings need more line spacing than the tight Latin display settings */
html[dir="rtl"] .sec-title, html[dir="rtl"] .tab-text h2, html[dir="rtl"] .sec-cta h2 { line-height:1.35; }
html[dir="rtl"] .hero h1 { line-height:1.3; }
/* indicator cards: details + TradingView links */
.card-links { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; margin-top:14px; }
.card-links a { text-decoration:none; }
.card-links .svc-more, .card-links .more { margin-top:0; }
.card-links .tv { font-size:12px; font-weight:700; color:var(--white); border:1px solid var(--border2); border-radius:3px; padding:5px 12px; transition:border-color .2s, color .2s; direction:ltr; unicode-bidi:isolate; }
.card-links .tv:hover { border-color:var(--green); color:var(--green); }
html[dir="rtl"] .card-links .tv { direction:rtl; }


/* ══════════════════════════════════════════════════════════
   GUIDES LIBRARY — indexed long-form guides (Arabic)
   ══════════════════════════════════════════════════════════ */
.g-progress { position:fixed; top:0; left:0; right:0; height:3px; z-index:1200; pointer-events:none; }
.g-progress i { display:block; height:100%; width:0; background:var(--green); box-shadow:0 0 8px rgba(76,175,80,.6); }
html[dir=rtl] .g-progress i { margin-left:auto; }

.g-wrap { max-width:1200px; margin:0 auto; padding:0 32px; position:relative; }
.subpage.guide::before { z-index:-1; }
.g-hero { padding:44px 0 34px; border-bottom:1px solid var(--border); margin-bottom:40px; }
.g-hero .lede { max-width:760px; }
.g-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.g-meta span { font-size:12px; color:var(--gray); border:1px solid var(--border2); border-radius:3px; padding:5px 11px; }
.g-meta span b { color:var(--green); font-weight:700; }

.g-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:56px; align-items:start; }

/* side index */
.g-side { position:sticky; top:86px; max-height:calc(100vh - 104px); overflow-y:auto; padding-bottom:20px; scrollbar-width:thin; scrollbar-color:var(--border2) transparent; }
.g-side-h { font-size:10px; font-weight:700; letter-spacing:3px; color:var(--green); text-transform:uppercase; margin-bottom:12px; display:flex; justify-content:space-between; align-items:center; }
.g-side-x { display:none; background:none; border:1px solid var(--border2); color:var(--white); border-radius:3px; padding:4px 10px; cursor:pointer; font-size:14px; }
.g-side ol { list-style:none; padding:0; margin:0; }
.g-side .g-nav > ol > li { border-bottom:1px solid var(--border); }
.g-side a { display:flex; gap:10px; text-decoration:none; color:var(--gray); font-size:13.5px; line-height:1.55; padding:9px 12px; border-inline-start:2px solid transparent; transition:color .15s, background .15s, border-color .15s; }
.g-side a:hover { color:var(--white); background:rgba(255,255,255,.02); }
.g-side a .n { color:var(--gray2); font-weight:700; min-width:18px; font-size:12px; padding-top:1px; }
.g-side li.on > a { color:var(--white); border-inline-start-color:var(--green); background:var(--green-glow); }
.g-side li.on > a .n { color:var(--green); }
.g-side ol ol { display:none; padding:0 0 8px; }
.g-side li.on > ol { display:block; }
.g-side ol ol a { font-size:12.5px; padding:5px 12px 5px 12px; padding-inline-start:40px; }
.g-side ol ol li.on > a { color:var(--green); background:none; border-inline-start-color:transparent; }
.g-side .g-lib { display:block; margin-top:18px; font-size:12.5px; color:var(--gray); border:1px solid var(--border2); border-radius:3px; padding:10px 12px; text-align:center; }
.g-side .g-lib:hover { color:var(--green); border-color:var(--green); }

/* contents card at top of article */
.g-contents { background:var(--card); border:1px solid var(--border); border-radius:6px; padding:24px 26px; margin-bottom:48px; scroll-margin-top:96px; }
.g-contents h2 { margin:0 0 14px !important; font-size:20px !important; }
.g-contents ol { list-style:none; padding:0 !important; margin:0 !important; display:grid; grid-template-columns:1fr 1fr; gap:2px 28px; }
.g-contents li { margin:0 !important; }
.g-contents a { display:flex; gap:12px; padding:8px 0; border-bottom:1px dashed var(--border2); text-decoration:none; color:var(--text); font-size:14.5px; line-height:1.55; }
.g-contents a:hover { color:var(--green); }
.g-contents a .n { color:var(--green); font-weight:800; min-width:20px; }

/* article body */
.g-body { min-width:0; }
.g-body section { scroll-margin-top:92px; padding:34px 0 0; margin-top:22px; border-top:1px solid var(--border); }
.g-body section:first-of-type { border-top:none; padding-top:0; margin-top:0; }
@media(max-width:900px){ .g-body section { padding:30px 0 0; } }
.g-body .chno { font-size:11px; font-weight:700; letter-spacing:2px; color:var(--green); margin:0 0 6px; }
.g-body h2.ch { margin:0 0 16px; font-size:clamp(23px,3vw,31px); }
.g-body h3 { scroll-margin-top:92px; font-size:19px; margin:34px 0 10px; }
.g-body h2 .hl, .g-body h3 .hl { color:var(--gray2); text-decoration:none; font-weight:400; margin-inline-start:8px; opacity:0; transition:opacity .15s; font-size:.8em; }
.g-body h2:hover .hl, .g-body h3:hover .hl { opacity:1; }
.g-body .hl:hover { color:var(--green); }
.g-body p { font-size:16px; line-height:1.95; }
.g-body .lede { font-size:17.5px; color:var(--gray); line-height:1.85; margin-bottom:20px; }
.g-body li { font-size:16px; line-height:1.85; }
.g-body li::marker { color:var(--green); }
.g-body .ltr { direction:ltr; unicode-bidi:isolate; }
.g-body .small, .g-body p.small { font-size:13px; color:var(--gray); line-height:1.75; }

.g-body .box { background:var(--card); border:1px solid var(--border); border-inline-start:3px solid var(--green); border-radius:4px; padding:16px 20px; margin:22px 0; }
.g-body .box.warn { border-inline-start-color:#e0605a; background:rgba(224,96,90,.05); }
.g-body .box .t { display:block; font-weight:800; color:var(--white); margin-bottom:6px; font-size:15px; }
.g-body .box.warn .t { color:#ef7a73; }
.g-body .box p:last-child, .g-body .box ul:last-child { margin-bottom:0; }

.g-body .tbl { overflow-x:auto; margin:16px 0 24px; border:1px solid var(--border); border-radius:4px; }
.g-body table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.7; min-width:440px; }
.g-body th { background:#0e120e; color:var(--white); font-weight:700; text-align:start; padding:11px 12px; border-bottom:1px solid var(--border2); }
.g-body td { padding:10px 12px; border-bottom:1px solid var(--border); color:var(--text); vertical-align:top; }
.g-body tr:last-child td { border-bottom:none; }
.g-body tr:nth-child(even) td { background:rgba(255,255,255,.015); }
.g-body td.n { direction:ltr; text-align:end; white-space:nowrap; font-weight:700; color:var(--white); }
.g-body .check td:first-child { width:28px; text-align:center; color:var(--green); font-weight:800; }
.g-body .redline td:first-child { color:#ef7a73; }
.g-body .eq { direction:ltr; text-align:center; background:var(--card); border:1px solid var(--border2); color:var(--green2); padding:14px; border-radius:4px; margin:14px 0 22px; font-weight:700; font-family:ui-monospace,Consolas,monospace; font-size:14.5px; overflow-x:auto; }

.g-body .flow { margin:18px auto 26px; max-width:520px; text-align:center; }
.g-body .fb { border:1px solid var(--border2); background:var(--card); border-radius:5px; padding:10px 14px; font-weight:700; color:var(--white); font-size:15px; }
.g-body .fb small { display:block; font-weight:400; color:var(--gray); font-size:12.5px; margin-top:2px; }
.g-body .fb.dark { background:var(--green-dim); border-color:rgba(76,175,80,.45); }
.g-body .fa { color:var(--green); font-size:14px; line-height:1.5; margin:3px 0; }

.g-body figure { margin:20px 0 26px; text-align:center; }
.g-body figure img { max-width:100%; height:auto; border:1px solid var(--border2); border-radius:4px; cursor:zoom-in; background:#fff; }
.g-body figure.half img { max-width:72%; }
.g-body figcaption { font-size:13px; color:var(--gray); margin-top:8px; line-height:1.7; text-align:start; }
.g-body .two { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; margin:18px 0; }
.g-body .two > * { min-width:0; }
.g-body .two figure { margin:0; }
.g-body .two .tbl { margin:0; }
.g-body .two table { min-width:0; font-size:13px; }

.g-body .src li { font-size:13.5px; line-height:1.7; }
.g-body .src .u { direction:ltr; unicode-bidi:isolate; color:var(--gray); font-size:12px; word-break:break-all; }

/* end-of-chapter row */
.g-end { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-top:30px; padding-top:14px; border-top:1px dashed var(--border2); font-size:13px; }
.g-end a { color:var(--gray) !important; text-decoration:none; }
.g-end a:hover { color:var(--green) !important; }
.g-end a.nx { color:var(--text) !important; }
.g-end a.nx b { color:var(--green); font-weight:700; }

/* prev / next guide */
.g-pn { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:64px 0 10px; }
.g-pn a { display:block; background:var(--card); border:1px solid var(--border); border-radius:5px; padding:18px 20px; text-decoration:none; transition:border-color .2s, transform .2s; }
.g-pn a:hover { border-color:var(--green); transform:translateY(-2px); }
.g-pn a small { display:block; font-size:11px; color:var(--gray); letter-spacing:1px; margin-bottom:6px; }
.g-pn a span { color:var(--white); font-weight:800; font-size:16px; }
.g-pn a.nx { text-align:end; }
.g-pn .ph { visibility:hidden; }

/* floating buttons */
.g-fab, .g-top { position:fixed; z-index:950; border:1px solid var(--border2); background:rgba(19,21,19,.94); color:var(--white); border-radius:30px; cursor:pointer; font-family:inherit; box-shadow:0 6px 24px rgba(0,0,0,.45); }
.g-fab { display:none; bottom:20px; right:20px; padding:11px 18px; font-size:13.5px; font-weight:700; }
.g-fab b { color:var(--green); }
.g-top { bottom:20px; left:20px; width:44px; height:44px; font-size:18px; opacity:0; pointer-events:none; transition:opacity .2s; }
.g-top.on { opacity:1; pointer-events:auto; }
.g-top:hover, .g-fab:hover { border-color:var(--green); }
.g-shade { display:none; }

#glb { position:fixed; inset:0; z-index:2000; background:rgba(0,0,0,.9); display:none; align-items:center; justify-content:center; padding:24px; cursor:zoom-out; }
#glb.on { display:flex; }
#glb img { max-width:100%; max-height:100%; border-radius:4px; background:#fff; }

@media(max-width:980px){
  .g-layout { grid-template-columns:minmax(0,1fr); gap:0; }
  .g-side { position:fixed; top:0; bottom:0; right:0; width:min(340px,88vw); max-height:none; background:var(--dark); border-left:1px solid var(--border); z-index:1100; padding:22px 16px 30px; transform:translateX(105%); transition:transform .25s ease; }
  html[dir=ltr] .g-side { right:auto; left:0; border-left:none; border-right:1px solid var(--border); transform:translateX(-105%); }
  body.toc-open .g-side { transform:none; }
  .g-side-x { display:inline-block; }
  .g-shade { display:block; position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:1050; opacity:0; pointer-events:none; transition:opacity .25s; }
  body.toc-open .g-shade { opacity:1; pointer-events:auto; }
  .g-fab { display:block; }
  .g-contents ol { grid-template-columns:1fr; }
  .g-body .two { grid-template-columns:1fr; }
  .g-body figure.half img { max-width:100%; }
}
@media(max-width:600px){
  .g-wrap { padding:0 18px; }
  .g-pn { grid-template-columns:1fr; }
  .g-body p, .g-body li { font-size:15.5px; }
}

/* ── library index ─────────────────────────────────────── */
.lib-search { position:relative; max-width:620px; margin:30px 0 8px; }
.lib-search input { width:100%; background:var(--card); border:1px solid var(--border2); border-radius:4px; color:var(--white); font-family:inherit; font-size:15px; padding:14px 16px; outline:none; }
.lib-search input:focus { border-color:var(--green); }
.lib-res { list-style:none; padding:0 !important; margin:0 0 10px !important; max-width:620px; background:var(--card); border:1px solid var(--border); border-radius:4px; display:none; max-height:420px; overflow:auto; }
.lib-res.on { display:block; }
.lib-res li { margin:0 !important; border-bottom:1px solid var(--border); }
.lib-res a { display:block; padding:10px 16px; text-decoration:none; color:var(--text) !important; font-size:14.5px; }
.lib-res a:hover { background:var(--green-glow); color:var(--white) !important; }
.lib-res a small { display:block; color:var(--gray); font-size:12px; margin-top:2px; }
.lib-res mark { background:none; color:var(--green); font-weight:700; }
.lib-res .none { padding:12px 16px; color:var(--gray); font-size:14px; }

.lib-path { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:26px 0 6px; font-size:13px; color:var(--gray); }
.lib-path a { color:var(--text) !important; text-decoration:none; border:1px solid var(--border2); border-radius:30px; padding:5px 13px; }
.lib-path a:hover { border-color:var(--green); color:var(--green) !important; }
.lib-path i { color:var(--gray2); font-style:normal; }

.lib-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:34px 0 20px; }
.lib-card { background:var(--card); border:1px solid var(--border); border-radius:6px; padding:26px 26px 18px; display:flex; flex-direction:column; transition:border-color .2s; }
.lib-card:hover { border-color:rgba(76,175,80,.45); }
.lib-card .no { font-family:'Cormorant Garamond',serif; font-size:44px; font-weight:700; color:var(--green); line-height:1; }
.lib-card .lv { display:inline-block; font-size:10px; font-weight:700; letter-spacing:1.5px; color:var(--green); border:1px solid rgba(76,175,80,.35); border-radius:3px; padding:3px 8px; margin-inline-start:10px; vertical-align:middle; }
.lib-card h2 { margin:14px 0 8px !important; font-size:22px !important; }
.lib-card h2 a { color:var(--white) !important; text-decoration:none; }
.lib-card h2 a:hover { color:var(--green) !important; }
.lib-card p { font-size:14.5px !important; color:var(--gray) !important; line-height:1.8 !important; margin-bottom:12px !important; }
.lib-card .mt { font-size:12px; color:var(--gray); margin-bottom:12px; }
.lib-card details { border-top:1px solid var(--border); margin-top:auto; padding-top:10px; }
.lib-card summary { cursor:pointer; color:var(--green); font-size:13px; font-weight:700; list-style:none; padding:4px 0; }
.lib-card summary::-webkit-details-marker { display:none; }
.lib-card summary::before { content:'+ '; }
.lib-card details[open] summary::before { content:'− '; }
.lib-card details ol { list-style:none; padding:0 !important; margin:8px 0 4px !important; }
.lib-card details li { margin:0 !important; }
.lib-card details a { display:flex; gap:10px; padding:6px 0; color:var(--text) !important; text-decoration:none; font-size:13.5px; line-height:1.6; border-bottom:1px dashed var(--border); }
.lib-card details a:hover { color:var(--green) !important; }
.lib-card details a .n { color:var(--green); font-weight:700; min-width:18px; }
.lib-card .go { display:inline-block; margin-top:12px; font-size:13px; font-weight:700; color:var(--green) !important; text-decoration:none; }
@media(max-width:820px){ .lib-grid { grid-template-columns:1fr; } }

.lib-banner { display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; background:var(--card); border:1px solid rgba(76,175,80,.35); border-radius:6px; padding:20px 24px; margin:28px 0 6px; text-decoration:none !important; }
.lib-banner b { display:block; color:var(--white); font-size:17px; margin-bottom:4px; }
.lib-banner span { color:var(--gray); font-size:14px; line-height:1.7; }
.lib-banner em { font-style:normal; color:var(--green); font-weight:700; font-size:14px; white-space:nowrap; }
.lib-banner:hover { border-color:var(--green); }
.lib-card.soon { border-style:dashed; }
.lib-card.soon h2 { color:var(--text) !important; }
.lib-card .lv.ar { color:var(--gray); border-color:var(--border2); }
.lib-path .off { color:var(--gray2); border:1px dashed var(--border2); border-radius:30px; padding:5px 13px; }

/* learn hub (guides + articles on one page) */
.lib-sec { padding:40px 0 10px; scroll-margin-top:90px; }
.lib-sec > h2 { font-size:clamp(24px,3vw,32px); font-weight:800; margin:0 0 6px; color:var(--white); }
.lib-sub { color:var(--gray) !important; font-size:15px !important; margin-bottom:6px !important; }
.lib-jump { display:flex; gap:10px; flex-wrap:wrap; margin:22px 0 0; }
.lib-jump a { color:var(--text) !important; text-decoration:none; border:1px solid var(--border2); border-radius:4px; padding:9px 16px; font-size:14px; font-weight:700; }
.lib-jump a b { color:var(--green); margin-inline-start:6px; }
.lib-jump a:hover { border-color:var(--green); }
.lib-card .lc-h { margin:14px 0 8px !important; font-size:22px !important; font-weight:800; line-height:1.35; }
.lib-card .lc-h a { color:var(--white) !important; text-decoration:none; }
.lib-card .lc-h a:hover { color:var(--green) !important; }
.lib-card.soon .lc-h { color:var(--text); }
.card.soon-card { border-style:dashed; }


/* ══════════════════════════════════════════════════════════
   TOOLS — calculators, trade desk, economic impact
   ══════════════════════════════════════════════════════════ */
.tool { max-width:1200px; margin:0 auto; padding:0 32px 40px; position:relative; }
.tool-hero { padding:44px 0 26px; }
.tool-hero .lede { max-width:760px; }
.tl-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 22px; }
.tl-tab { background:var(--card); border:1px solid var(--border2); color:var(--text); font-family:inherit; font-size:14px; font-weight:700; padding:10px 16px; border-radius:4px; cursor:pointer; transition:all .15s; }
.tl-tab:hover { border-color:var(--green); }
.tl-tab.on { background:var(--green-dim); border-color:var(--green); color:var(--green2); }
.tl-pane { display:none; } .tl-pane.on { display:block; }

.tl-grid { display:grid; grid-template-columns:340px minmax(0,1fr); gap:20px; align-items:start; }
.tl-col { display:flex; flex-direction:column; gap:20px; min-width:0; }
.tc { background:var(--card); border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.tc-h { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid var(--border); }
.tc-h h2, .tc-h h3 { margin:0 !important; font-size:16px !important; font-weight:800; color:var(--white); letter-spacing:0; }
.tc-h .mini { font-size:12px; color:var(--gray); font-family:ui-monospace,Consolas,monospace; direction:ltr; unicode-bidi:isolate; }
.tc-b { padding:16px 18px; }
.fr { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.fr.three { grid-template-columns:1fr 1fr 1fr; }
.fr.one { grid-template-columns:1fr; }
.fl label { display:block; font-size:12.5px; color:var(--gray); margin-bottom:6px; font-weight:600; }
.fl input, .fl select { width:100%; background:#0e100e; border:1px solid var(--border2); border-radius:4px; padding:10px 12px; color:var(--white); font-size:15px; font-family:ui-monospace,Consolas,"IBM Plex Sans Arabic",monospace; outline:none; transition:border-color .15s; }
.fl select { font-family:inherit; }
.fl input { direction:ltr; text-align:end; }
html[dir=ltr] .fl input { text-align:start; }
.fl input:focus, .fl select:focus { border-color:var(--green); }
.fl input:disabled { opacity:.45; }
.fl select option { background:#131513; }
.hint { font-size:12.5px; color:var(--gray); line-height:1.7; margin:4px 0 0; }
.infobox { background:#0e100e; border:1px dashed var(--border2); border-radius:4px; padding:10px 12px; font-size:12.5px; color:var(--gray); line-height:1.8; font-family:ui-monospace,Consolas,"IBM Plex Sans Arabic",monospace; }
.infobox b { color:var(--text); font-weight:600; }

.seg { display:grid; grid-auto-flow:column; grid-auto-columns:1fr; background:#0e100e; border:1px solid var(--border2); border-radius:5px; padding:3px; gap:3px; margin-bottom:12px; }
.seg button { background:none; border:none; color:var(--gray); font-family:inherit; font-size:14px; font-weight:700; padding:9px 8px; border-radius:3px; cursor:pointer; }
.seg button.on { background:var(--card); color:var(--white); box-shadow:0 0 0 1px var(--border2); }
.seg button.on.buy { color:var(--green2); } .seg button.on.sell { color:#ef7a73; }
.sep { border:none; border-top:1px solid var(--border); margin:6px 0 14px; }

.kpis { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--border); }
.kpi { padding:14px 16px; border-inline-start:1px solid var(--border); min-width:0; }
.kpi:first-child { border-inline-start:none; }
.kpi .k { font-size:12px; color:var(--gray); }
.kpi .v { font-size:24px; font-weight:800; font-family:ui-monospace,Consolas,monospace; color:var(--white); direction:ltr; unicode-bidi:isolate; display:block; margin:4px 0 2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kpi .s { font-size:11.5px; color:var(--gray); }
.v.pos, .pos { color:var(--green2) !important; } .v.neg, .neg { color:#ef7a73 !important; } .v.gold { color:#e0b04a !important; }

.alerts { padding:0 18px 4px; }
.alert { border-radius:4px; padding:10px 14px; font-size:13.5px; line-height:1.7; margin:10px 0; }
.alert.err { background:rgba(224,96,90,.08); border:1px solid rgba(224,96,90,.35); color:#ef9a94; }
.alert.warn { background:rgba(224,176,74,.07); border:1px solid rgba(224,176,74,.35); color:#e8c27a; }
.alert.ok { background:var(--green-glow); border:1px solid rgba(76,175,80,.3); color:var(--green2); }

.ttab { width:100%; border-collapse:collapse; font-size:13.5px; }
.ttab th { text-align:start; color:var(--gray); font-weight:600; font-size:12px; padding:10px 12px; border-bottom:1px solid var(--border); white-space:nowrap; }
.ttab td { padding:10px 12px; border-bottom:1px solid var(--border); color:var(--text); }
.ttab td.n { font-family:ui-monospace,Consolas,monospace; direction:ltr; unicode-bidi:isolate; text-align:end; white-space:nowrap; }
html[dir=rtl] .ttab td.n { text-align:start; }
.ttab tr.bad td { background:rgba(224,96,90,.06); } .ttab tr.good td { background:rgba(76,175,80,.07); }
.ttab tr:last-child td { border-bottom:none; }
.tscroll { overflow-x:auto; }
.ttab input, .ttab select { width:100%; min-width:70px; background:#0e100e; border:1px solid var(--border2); border-radius:3px; padding:7px 8px; color:var(--white); font-family:ui-monospace,Consolas,monospace; font-size:13.5px; }
.ttab select { font-family:inherit; }
.rm { background:none; border:1px solid var(--border2); color:var(--gray); border-radius:3px; cursor:pointer; padding:5px 9px; }
.rm:hover { color:#ef7a73; border-color:#ef7a73; }

.brk { padding:6px 18px 12px; }
.brk-row { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:10px 0; border-bottom:1px dashed var(--border); }
.brk-row:last-child { border-bottom:none; }
.brk-row .l { color:var(--text); font-size:14px; } .brk-row .l small { display:block; color:var(--gray); font-size:11.5px; direction:ltr; unicode-bidi:isolate; text-align:start; }
html[dir=rtl] .brk-row .l small { text-align:right; }
.brk-row .r { font-family:ui-monospace,Consolas,monospace; direction:ltr; unicode-bidi:isolate; color:var(--white); white-space:nowrap; }
.brk-row.tot { border-top:1px solid var(--border2); border-bottom:none; font-weight:800; }

.tbtn { background:var(--green); color:#000; border:none; font-family:inherit; font-size:14px; font-weight:800; padding:11px 20px; border-radius:4px; cursor:pointer; }
.tbtn:hover { background:var(--green2); }
.tbtn.ghost { background:none; color:var(--text); border:1px solid var(--border2); font-weight:700; padding:8px 14px; font-size:13px; }
.tbtn.ghost:hover { border-color:var(--green); color:var(--green); }
.tbtn-row { display:flex; gap:8px; flex-wrap:wrap; }
.note-s { font-size:12.5px; color:var(--gray); line-height:1.8; padding:0 18px 14px; }
.empty { text-align:center; color:var(--gray); font-size:14px; padding:24px 12px; }
.tool-disc { margin-top:22px; border:1px dashed var(--border2); border-radius:6px; padding:14px 18px; font-size:13px; color:var(--gray); line-height:1.85; }
.tool-disc b { color:var(--text); }

/* economic impact */
.ei-res { margin-top:20px; }
.ei-sum { padding:16px 18px; font-size:15px; line-height:1.9; color:var(--text); }
.ei-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border-top:1px solid var(--border); }
.ei-a { background:var(--card); padding:14px 16px; }
.ei-a .t { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.ei-a .nm { font-weight:800; color:var(--white); font-size:14.5px; }
.ei-a .tk { font-size:11.5px; color:var(--gray); font-family:ui-monospace,Consolas,monospace; direction:ltr; }
.ei-a .dir { margin-top:8px; font-weight:800; font-size:14px; }
.ei-a .dir.up { color:var(--green2); } .ei-a .dir.down { color:#ef7a73; } .ei-a .dir.neutral { color:var(--gray); }
.ei-a .bars { display:inline-flex; gap:3px; margin-inline-start:8px; vertical-align:middle; }
.ei-a .bars i { width:14px; height:5px; border-radius:2px; background:var(--border2); display:inline-block; }
.ei-a .bars i.f { background:currentColor; }
.ei-a .nt { font-size:12.5px; color:var(--gray); line-height:1.7; margin-top:6px; }
.ei-desc { font-size:14px; color:var(--text); line-height:1.9; }
.ei-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.ei-meta span { font-size:12px; color:var(--gray); border:1px solid var(--border2); border-radius:3px; padding:4px 10px; }

@media(max-width:980px){
  .tl-grid { grid-template-columns:minmax(0,1fr); }
  .kpis { grid-template-columns:1fr 1fr; }
  .kpi:nth-child(3) { border-inline-start:none; }
  .kpi:nth-child(n+3) { border-top:1px solid var(--border); }
  .ei-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px){
  .tool { padding:0 16px 30px; }
  .fr.three { grid-template-columns:1fr 1fr; }
  .ei-grid { grid-template-columns:1fr; }
  .kpi .v { font-size:20px; }
}

/* nav: 8 items — keep labels on one line, tighten before the burger takes over */
.nav-links a, a.nav-cta, button.nav-cta { white-space:nowrap; }
@media(max-width:1280px) and (min-width:921px){
  .nav-links { gap:16px; }
  .nav-links a { font-size:12.5px; }
  #main-nav { padding-left:28px; padding-right:28px; }
  .nav-cta { padding:9px 14px; }
}
@media(max-width:1080px) and (min-width:921px){
  .nav-links { gap:12px; }
  .nav-links a { font-size:12px; }
}
