﻿/* ============================================================
   Ø¬Ù…Ø¹ÙŠØ© Ø§Ù„Ø¨ØµØ§Ù„Ø© â€” Ø§Ù„Ø³ÙˆØ¯Ø§Ù†  |  Basala Sudan
   Premium Agricultural-Editorial Design System
   Deep Emerald Â· Golden Harvest Â· Earthy Bronze
   ============================================================ */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Almarai:wght@300;400;700;800&family=Sora:wght@300;400;600;700;800&display=swap');

/* ---------- Tokens ---------- */
:root {
  --green-950: #06210f;
  --green-900: #0a2e1a;
  --green-800: #0e3b1e;
  --green-700: #14502a;
  --green-600: #1e6b3c;
  --emerald:   #2e8b57;
  --leaf:      #4ca86a;

  --gold:      #e9b53d;
  --gold-strong:#f2b705;
  --gold-soft:  #f8d97a;
  --amber:     #c97c2d;
  --bronze:    #8a5a2b;
  --brown-soft:#9c6b43;

  --cream:     #f6f1e5;
  --paper:     #fdfbf5;
  --ink:       #1f2a23;
  --muted:     #5c6b61;
  --line:      #e6dfd0;

  --white:     #ffffff;
  --shadow-min:0 2px 8px rgba(10,46,26,0.06);
  --shadow-sm: 0 10px 30px rgba(10,46,26,0.09);
  --shadow-md: 0 24px 60px rgba(10,46,26,0.14);
  --shadow-lg: 0 40px 90px rgba(10,46,26,0.22);
  --shadow-gold:0 16px 44px rgba(242,183,5,0.35);

  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-xl: 40px;
  --radius-pill: 999px;

  --trans-fast: 0.18s ease;
  --trans: 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
  --trans-slow: 0.7s cubic-bezier(0.16, 1, 0.3, 1);

  --font-head: 'Almarai', 'Segoe UI', sans-serif;
  --font-body: 'Almarai', 'Segoe UI', sans-serif;
  --font-num:  'Sora', 'Almarai', sans-serif;

  --header-h: 78px;
  --gutter: 92%;
  --maxw: 1220px;
}

/* ---------- Reset & Base ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--font-body);
  background: var(--paper);
  color: var(--ink);
  line-height: 1.75;
  direction: rtl;
  text-align: right;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

body.ltr { direction: ltr; text-align: left; }

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; border: 0; }
.hero-slide, .card-media img, .complex-feature-img img, .about-mini-img img,
.news-thumb img, .map-panel img, .cta-band::before {
  image-rendering: auto;
}
.card-media img, .news-thumb img { filter: saturate(1.04) contrast(1.02); }
.about-mini-img img, .complex-feature-img img { filter: saturate(1.05) contrast(1.03); }
.hero-slide { image-rendering: -webkit-optimize-contrast; }
ul, ol { list-style: none; }
button, input, textarea, select { font-family: var(--font-body); font-size: inherit; }
button { cursor: pointer; background: none; border: none; }

h1, h2, h3, h4 {
  font-family: var(--font-head);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

::selection { background: var(--gold-strong); color: var(--green-950); }

/* ---------- Container ---------- */
.container { width: var(--gutter); max-width: var(--maxw); margin: 0 auto; }
.section { padding: 92px 0; position: relative; }

/* ---------- Section heads ---------- */
.section-header { margin-bottom: 40px; max-width: 780px; }
.section-title { font-size: clamp(1.9rem, 4vw, 2.8rem); color: var(--green-800); }
.section-subtitle { color: var(--muted); font-size: 1.08rem; margin-top: 16px; max-width: 700px; }

.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-weight: 800; font-size: 0.82rem; letter-spacing: 0.14em;
  color: var(--bronze); text-transform: uppercase; margin-bottom: 14px;
}
.eyebrow::before { content:''; width: 30px; height: 2px; background: var(--gold-strong); border-radius: 2px; }

.text-center { text-align: center; }
.ltr .text-center { text-align: center; }
.center-block { margin-inline-start: auto; margin-inline-end: auto; }
.bg-soft { background: var(--cream); }
.muted { color: var(--muted); }
.gold { color: var(--gold-strong); }
/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 14px 30px; border-radius: var(--radius-pill);
  font-weight: 800; font-size: 0.98rem; line-height: 1;
  transition: var(--trans); white-space: nowrap; border: 2px solid transparent;
  position: relative; overflow: hidden;
}
.btn svg { width: 18px; height: 18px; flex-shrink: 0; }
.btn-primary {
  background: linear-gradient(120deg, var(--gold-strong), var(--gold));
  color: var(--green-950); box-shadow: var(--shadow-gold);
}
.btn-primary::after { content:''; position:absolute; inset:0; background: linear-gradient(120deg, rgba(255,255,255,0), rgba(255,255,255,0.35)); transform: translateX(-110%); transition: transform 0.6s ease; }
.ltr .btn-primary::after { transform: translateX(110%); }
.btn-primary:hover { transform: translateY(-3px); box-shadow: 0 22px 44px rgba(242,183,5,0.45); }
.btn-primary:hover::after { transform: translateX(0); }
.btn-secondary { background: linear-gradient(120deg, var(--green-700), var(--green-600)); color: #fff; box-shadow: var(--shadow-sm); }
.btn-secondary:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.btn-outline { background: rgba(255,255,255,0.08); color:#fff; border-color: rgba(255,255,255,0.5); backdrop-filter: blur(6px); }
.btn-outline:hover { background:#fff; color: var(--green-800); }
.btn-light { background:#fff; color: var(--green-800); }
.btn-light:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }

/* ---------- Header ---------- */
.header { position: fixed; top:0; right:0; left:0; z-index:1000; height: var(--header-h); transition: var(--trans); }
.header.top { background: linear-gradient(180deg, rgba(6,33,15,0.5), rgba(6,33,15,0.2)); border-bottom: 1px solid rgba(255,255,255,0.08); }
.header.scrolled { background: rgba(250,249,243,0.86); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-min); }
.header .container { height:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; }

.logo { display:flex; align-items:center; gap:12px; font-weight:800; color:var(--green-700); font-size:1.18rem; }
.header.top .logo { color:#fff; }
.logo-icon { width:46px; height:46px; border-radius:14px; flex-shrink:0; background:linear-gradient(135deg,var(--green-700),var(--green-600)); display:grid; place-items:center; color:var(--gold-strong); box-shadow:0 8px 20px rgba(20,80,42,0.35); }
.logo-icon svg { width:26px; height:26px; }

.nav { display:flex; align-items:center; gap:20px; }
.nav-links { display:flex; gap:6px; }
.nav-links a { padding:10px 16px; border-radius:var(--radius-pill); font-weight:700; font-size:0.96rem; color:var(--muted); transition:var(--trans); }
.header.top .nav-links a { color:rgba(255,255,255,0.85); }
.nav-links a:hover { color:var(--green-700); background:rgba(20,110,42,0.08); }
.nav-links a.active { color:#fff; background:linear-gradient(120deg,var(--green-700),var(--green-600)); box-shadow:var(--shadow-sm); }
.header.top .nav-links a.active { color:#fff; }

.lang-toggle { display:inline-flex; align-items:center; gap:7px; padding:10px 18px; border-radius:var(--radius-pill); font-weight:800; font-size:0.9rem; color:#fff; background:linear-gradient(120deg,var(--green-700),var(--green-600)); border:1px solid var(--gold-strong); box-shadow:var(--shadow-min); transition:var(--trans); }
.header.top .lang-toggle { color:var(--green-950); background:var(--gold-strong); }
.lang-toggle:hover { transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.lang-toggle svg { width:17px; height:17px; }

.mobile-menu-btn { display:none; width:44px; height:44px; place-items:center; border-radius:12px; color:var(--green-700); }
.header.top .mobile-menu-btn { color:#fff; }

.mobile-nav {
  position:fixed; top:0; right:0; left:0; z-index:3000;
  min-height:100%; max-height:100vh; overflow-y:auto;
  background:var(--paper);
  padding:76px 26px 34px;
  transform:translateY(-100%);
  visibility:hidden;
  transition:transform var(--trans), visibility 0s linear .32s;
  display:flex; flex-direction:column; gap:6px; text-align:center;
  box-shadow:var(--shadow-lg);
}
.mobile-nav.open {
  transform:translateY(0);
  visibility:visible;
  transition:transform var(--trans), visibility 0s;
}
.mobile-nav .nav-links { display:flex; flex-direction:column; align-items:stretch; }
.mobile-nav a { display:block; padding:15px 18px; border-radius:var(--radius-md); font-weight:800; font-size:1.12rem; color:var(--green-700); text-align:center; }
.mobile-nav a:hover, .mobile-nav a.active { background:var(--cream); color:var(--green-800); }
.mobile-nav .btn { margin-top:16px; justify-content:center; width:100%; padding:15px; }
.mobile-close { position:absolute; top:18px; inset-inline-end:18px; width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--cream); color:var(--green-700); z-index:3002; }
body.menu-open { overflow:hidden; }
body.menu-open::after { content:''; position:fixed; inset:0; background:rgba(6,21,12,0.4); z-index:2500; backdrop-filter:blur(2px); }
.mobile-menu-btn { position:relative; z-index:3001; }

/* ---------- HERO ---------- */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; padding-top:var(--header-h); overflow:hidden; isolation:isolate; }
.hero-slider { position:absolute; inset:0; z-index:-2; }
.hero-slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.5s ease; will-change:transform; }
.hero-slide.active { opacity:1; }
.hero-slide-1 { background-color:#0b3b1e; background-image: linear-gradient(180deg, rgba(5,28,12,0.82), rgba(11,46,22,0.35) 55%, rgba(6,33,15,0.9)), url('../assets/images/hero-1.jpg'); }
.hero-slide-2 { background-color:#0d3a22; background-image: linear-gradient(180deg, rgba(5,28,12,0.85), rgba(11,46,22,0.3) 55%, rgba(6,33,15,0.9)), url('../assets/images/hero-2.jpg'); }
.hero-slide-3 { background-color:#17351f; background-image: linear-gradient(180deg, rgba(11,28,15,0.82), rgba(11,46,22,0.35) 55%, rgba(6,33,15,0.9)), url('../assets/images/hero-3.jpg'); }
.hero-slide.active { animation: kenburns 16s ease-in-out infinite alternate; }
@keyframes kenburns { from { transform:scale(1); } to { transform:scale(1.12); } }

.hero::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background: radial-gradient(120% 90% at 15% 20%, transparent 30%, rgba(6,21,12,0.55)); }

.hero-orb { position:absolute; border-radius:50%; filter:blur(70px); z-index:-1; pointer-events:none; opacity:0.55; }
.hero-orb.o1 { width:340px; height:340px; background:rgba(242,183,5,0.4); top:18%; inset-inline-start:-60px; animation: float 9s ease-in-out infinite; }
.hero-orb.o2 { width:260px; height:260px; background:rgba(46,139,87,0.45); bottom:10%; inset-inline-end:-40px; animation: float 11s ease-in-out infinite reverse; }
@keyframes float { 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-22px);} }

.hero-content { position:relative; z-index:2; color:#fff; max-width:840px; padding:70px 0; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(242,183,5,0.16); border:1px solid rgba(242,183,5,0.4); color:var(--gold-soft); padding:8px 18px; border-radius:var(--radius-pill); font-weight:700; font-size:0.88rem; margin-bottom:24px; backdrop-filter:blur(6px); }
.hero-badge svg { width:16px; height:16px; }
.hero h1 { font-size: clamp(2.2rem, 5.6vw, 4.1rem); color:#fff; margin-bottom:22px; text-shadow:0 6px 40px rgba(0,0,0,0.35); }
.hero p { font-size:1.18rem; line-height:1.9; color:rgba(255,255,255,0.92); max-width:660px; margin-bottom:34px; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:14px; }

.hero-chips { display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; }
.chip { display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:var(--radius-md); background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.22); backdrop-filter:blur(8px); font-weight:800; font-size:.92rem; }
.chip svg { width:20px; height:20px; color:var(--gold-soft); }

.hero-dots { position:absolute; bottom:34px; right:0; left:0; z-index:3; display:flex; justify-content:center; gap:10px; }
.hero-dot { width:12px; height:12px; border-radius:50%; background:rgba(255,255,255,0.4); transition:var(--trans); }
.hero-dot.active { width:34px; border-radius:var(--radius-pill); background:var(--gold-strong); }

.scroll-hint { position:absolute; bottom:34px; left:clamp(4%, 6vw, 10%); z-index:3; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,0.85); font-size:0.82rem; font-weight:700; writing-mode:horizontal-tb; }
.scroll-hint span { width:1px; height:44px; background:linear-gradient(180deg, var(--gold-strong), transparent); position:relative; overflow:hidden; display:block; }
.scroll-hint span::after { content:''; position:absolute; top:-100%; left:0; width:100%; height:100%; background:#fff; animation: scrolldot 1.8s ease-in-out infinite; }
@keyframes scrolldot { 0%{ top:-100%; } 60%,100%{ top:100%; } }

/* ---------- STATS band ---------- */
.stats { position:relative; z-index:6; width:calc(var(--gutter)); max-width:var(--maxw); margin:-66px auto 0; }
.stats-inner { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; background:rgba(255,255,255,0.9); backdrop-filter:blur(14px); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:14px; overflow:hidden; }
.stat-item { padding:26px 22px; text-align:center; border-radius:var(--radius-md); position:relative; }
.stat-item + .stat-item::before { content:''; position:absolute; top:22%; bottom:22%; inset-inline-start:0; width:1px; background:var(--line); }
.stat-number { font-family:var(--font-num); font-size:2.6rem; font-weight:800; color:var(--green-700); display:block; line-height:1.1; }
.stat-number .suf { color:var(--gold-strong); }
.stat-label { font-size:.95rem; color:var(--muted); font-weight:700; display:block; margin-top:6px; }

/* ---------- Brand marquee ---------- */
.marquee { background:linear-gradient(120deg, var(--green-900), var(--green-700)); color:rgba(255,255,255,0.85); overflow:hidden; padding:18px 0; position:relative; }
.marquee-track { display:flex; gap:44px; width:max-content; animation: slide 22s linear infinite; }
.marquee-track span { display:inline-flex; align-items:center; gap:44px; font-weight:800; font-size:1.02rem; letter-spacing:.04em; white-space:nowrap; }
.marquee-track i { font-style:normal; color:var(--gold-strong); }
@keyframes slide { to { transform: translateX(50%); } }
.ltr .marquee-track { animation: slideL 22s linear infinite; }
@keyframes slideL { to { transform: translateX(-50%); } }

/* ---------- About mini ---------- */
.about-mini { background:var(--paper); }
.about-mini-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; }
.about-mini-img { position:relative; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); padding:10px; box-shadow:var(--shadow-md); }
.about-mini-img img { width:100%; aspect-ratio:5/4; object-fit:cover; border-radius:var(--radius-lg); }
.about-mini-img::after { content:''; position:absolute; inset:10px; border-radius:calc(var(--radius-lg) - 10px); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.4); pointer-events:none; }
.about-mini-img .badge { position:absolute; bottom:20px; inset-inline-start:20px; display:inline-flex; align-items:center; gap:8px; background:rgba(6,33,15,0.72); color:var(--gold-soft); backdrop-filter:blur(8px); padding:10px 18px; border-radius:var(--radius-pill); font-weight:800; font-size:.9rem; }
.about-mini-img .badge svg { width:18px; height:18px; }
.about-mini-text h2 { font-size:clamp(1.8rem,3.6vw,2.5rem); color:var(--green-800); margin-bottom:6px; }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:22px; }
.value-tile { display:flex; align-items:center; gap:10px; background:var(--cream); border:1px solid var(--line); border-radius:var(--radius-md); padding:14px 16px; font-weight:700; color:var(--green-700); }
.value-tile svg { width:22px; height:22px; color:var(--green-600); flex-shrink:0; }

/* ---------- Feature cards (3D tilt) ---------- */
.card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:30px; margin-top:44px; }
.card { position:relative; border-radius:var(--radius-lg); overflow:hidden; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow-sm); transition:box-shadow var(--trans), transform var(--trans-fast); transform-style:preserve-3d; }
.card-media { aspect-ratio:4/3; overflow:hidden; position:relative; }
.card-media img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease; }
.card-media::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(6,33,15,0.5)); }
.card-body { padding:26px 26px 24px; position:relative; }
.card-icon { width:52px; height:52px; border-radius:16px; display:grid; place-items:center; margin-bottom:18px; background:linear-gradient(135deg, var(--green-700), var(--green-600)); color:#fff; box-shadow:var(--shadow-sm); }
.card-icon svg { width:26px; height:26px; }
.card h3 { font-size:1.28rem; color:var(--green-800); margin-bottom:10px; }
.card p { color:var(--muted); font-size:.96rem; line-height:1.75; }
.card .arrow { position:absolute; top:22px; inset-inline-end:22px; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:var(--green-700); background:rgba(255,255,255,0.06); transition:var(--trans); }
.card:hover .arrow { background:var(--gold-strong); color:var(--green-950); transform:translateY(0); }
.card:hover { box-shadow:var(--shadow-lg); }
.card:hover .card-media img { transform:scale(1.12); }
.card-link { position:absolute; inset:0; z-index:1; border-radius:inherit; }
.card .arrow { z-index:2; }
.about-mini-text p { color:var(--muted); margin-bottom:14px; line-height:1.8; }

/* ---------- Complex feature ---------- */
.complex-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:52px; align-items:center; margin-top:46px; }
.complex-feature.reverse { direction:ltr; }
.ltr .complex-feature.reverse { direction:rtl; }
.complex-feature-img { border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-md); position:relative; }
.complex-feature-img img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.complex-feature-img .num { position:absolute; top:20px; inset-inline-start:20px; width:52px; height:52px; border-radius:14px; display:grid; place-items:center; background:rgba(6,33,15,0.78); color:var(--gold-soft); font-family:var(--font-num); font-size:1.15rem; font-weight:800; backdrop-filter:blur(6px); }
.complex-feature-text h3 { font-size:1.7rem; color:var(--green-800); margin-bottom:12px; }
.complex-feature-text p { color:var(--muted); margin-bottom:18px; }
.complex-feature-text .ticks { display:grid; gap:12px; }
.complex-feature-text .ticks li { display:flex; align-items:center; gap:10px; color:var(--ink); font-weight:600; }
.complex-feature-text .ticks li .tick { width:18px; height:18px; border-radius:50%; background:var(--gold-strong); color:var(--green-950); display:grid; place-items:center; flex-shrink:0; font-size:.7rem; font-weight:900; }

/* ---------- Map ---------- */
.map-panel { position:relative; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-md); background:var(--cream); }
.map-panel img { width:100%; aspect-ratio:16/8; object-fit:cover; }
.map-panel .map-float { position:absolute; bottom:22px; inset-inline-start:22px; background:rgba(250,249,243,0.92); backdrop-filter:blur(10px); border:1px solid var(--line); border-radius:var(--radius-md); padding:14px 20px; box-shadow:var(--shadow-sm); display:flex; align-items:center; gap:10px; }
.map-float svg { width:22px; height:22px; color:var(--bronze); }
.map-float b { color:var(--green-800); font-size:.95rem; display:block; }
.map-float small { color:var(--muted); font-size:.8rem; }

/* ---------- CTA band ---------- */
.cta-band { position:relative; overflow:hidden; background:linear-gradient(120deg, var(--green-900), var(--green-700) 60%, var(--green-600)); border-radius:var(--radius-xl); padding:clamp(56px,9vw,96px); color:#fff; box-shadow:var(--shadow-lg); }
.cta-band::before { content:''; position:absolute; inset:0; background:url('../assets/images/about-farm.jpg') center/cover; opacity:.16; mix-blend-mode:luminosity; }
.cta-band::after { content:''; position:absolute; inset:0; background:radial-gradient(80% 70% at 85% 20%, transparent, rgba(6,21,12,0.4)); }
.cta-band h2 { font-size:clamp(2rem,4.6vw,3rem); margin-bottom:14px; }
.cta-band p { font-size:1.08rem; opacity:.92; max-width:620px; margin-bottom:30px; }
.cta-band .btn, .cta-band .inner { position:relative; z-index:2; }

/* ---------- Forms ---------- */
.form-section { background:var(--cream); }
.form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:start; }
.form-card { background:var(--paper); padding:36px; border-radius:var(--radius-lg); border:1px solid var(--line); box-shadow:var(--shadow-md); position:relative; }
.form-card::before { content:''; position:absolute; top:0; inset-inline:36px; height:4px; background:linear-gradient(90deg, var(--gold-strong), var(--green-600)); border-radius:0 0 6px 6px; }
.form-card h2, .form-card h3 { color:var(--green-800); margin-bottom:24px; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-weight:800; color:var(--ink); font-size:.92rem; margin-bottom:8px; }
.form-group input, .form-group textarea, .form-group select {
  width:100%; background:#fff; border:2px solid var(--line); border-radius:var(--radius-sm);
  padding:13px 16px; color:var(--ink); transition:var(--trans); outline:none; font-size:.98rem;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color:var(--green-600); box-shadow:0 0 0 4px rgba(46,139,87,0.12); }
.form-group textarea { min-height:130px; resize:vertical; }
.form-result { margin-top:14px; padding:12px; border-radius:var(--radius-sm); display:none; font-weight:700; }
.form-result.success { display:block; background:rgba(46,139,87,0.1); color:var(--green-700); border:1px solid rgba(46,139,87,0.25); }

/* ---------- Calculator ---------- */
.calculator { background:linear-gradient(160deg, var(--green-900), var(--green-700)); color:#fff; padding:36px; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.calculator h3 { color:#fff; margin-bottom:20px; }
.calculator-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.calculator .form-group label { color:rgba(255,255,255,0.92); }
.calculator .form-group input { background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.18); color:#fff; }
.calculator .form-group input::placeholder { color:rgba(255,255,255,0.5); }
.calculator-output { margin-top:22px; padding:22px; border-radius:var(--radius-md); background:rgba(255,255,255,0.08); text-align:center; border:1px solid rgba(255,255,255,0.15); }
.calculator-output .value { font-family:var(--font-num); font-size:2.4rem; font-weight:800; color:var(--gold-strong); }
.calculator-output .label { opacity:.85; font-size:.92rem; }

/* ---------- News / Media ---------- */
.news-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:30px; margin-top:44px; }
.news-card { background:var(--paper); border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-min); transition:var(--trans), border-radius 0s; }
.news-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.news-thumb { aspect-ratio:16/10; overflow:hidden; position:relative; }
.news-thumb img { width:100%; height:100%; object-fit:cover; transition:transform 1s ease; }
.news-card:hover .news-thumb img { transform:scale(1.1); }
.news-thumb::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 45%, rgba(6,33,15,0.5)); }
.news-thumb .tag { position:absolute; top:14px; inset-inline-start:14px; z-index:2; background:rgba(6,33,15,0.75); color:var(--gold-soft); font-size:.74rem; font-weight:800; padding:6px 12px; border-radius:var(--radius-pill); backdrop-filter:blur(6px); }
.news-body { padding:22px; }
.news-meta { font-family:var(--font-num); font-size:.8rem; color:var(--bronze); font-weight:700; margin-bottom:6px; }
.news-card h3 { font-size:1.15rem; color:var(--green-800); margin-bottom:8px; line-height:1.4; }
.news-card p { color:var(--muted); font-size:.92rem; line-height:1.7; }

/* ---------- Contact ---------- */
.contact-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:40px; align-items:start; }
.contact-info { display:grid; gap:16px; }
.contact-item { display:flex; align-items:center; gap:16px; background:var(--paper); padding:20px; border-radius:var(--radius-md); border:1px solid var(--line); box-shadow:var(--shadow-min); }
.contact-item .ci { width:52px; height:52px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(135deg,var(--green-700),var(--green-600)); color:#fff; flex-shrink:0; }
.contact-item .ci svg { width:24px; height:24px; }
.contact-item h4 { font-size:1rem; color:var(--green-800); margin-bottom:3px; }
.contact-item p, .contact-item a { color:var(--muted); font-size:.93rem; }
.contact-item a:hover { color:var(--green-600); }
.social-links { display:flex; gap:12px; margin-top:6px; }
.social-links a { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:var(--cream); color:var(--green-700); border:1px solid var(--line); transition:var(--trans); }
.social-links a:hover { background:var(--green-600); color:#fff; transform:translateY(-3px); }

/* ---------- Footer ---------- */
.footer { background:var(--green-950); color:rgba(255,255,255,0.82); padding:70px 0 26px; position:relative; overflow:hidden; }
.footer::before { content:''; position:absolute; top:-120px; inset-inline-end:-60px; width:360px; height:360px; background:radial-gradient(circle, rgba(242,183,5,0.18), transparent 70%); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:48px; margin-bottom:44px; position:relative; z-index:1; }
.footer-brand .logo { color:#fff; margin-bottom:16px; }
.footer-brand p { max-width:360px; font-size:.95rem; line-height:1.9; opacity:.85; }
.footer h4 { color:var(--gold-strong); font-size:1.05rem; margin-bottom:20px; }
.footer-links li { margin-bottom:11px; }
.footer-links a { opacity:.82; transition:var(--trans); display:inline-flex; align-items:center; gap:8px; }
.footer-links a::before { content:''; width:0; height:1.5px; background:var(--gold-strong); transition:width var(--trans); }
.footer-links a:hover { opacity:1; color:var(--gold-soft); }
.footer-links a:hover::before { width:14px; }
.footer-contact-mail a { opacity:.9; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.12); padding-top:24px; text-align:center; font-size:.88rem; color:rgba(255,255,255,0.55); position:relative; z-index:1; }

/* ---------- Page hero (inner pages) ---------- */
.page-hero { align-items:flex-end; }
.page-hero .hero-content { padding-bottom:40px; }
.page-hero h1 { font-size:clamp(2rem,5vw,3.2rem); }

/* ---------- Utilities ---------- */
.highlight { color:var(--gold-strong); }
.divider { height:1px; background:var(--line); border:0; margin:0; }

/* ---------- Reveal animations ---------- */
.animate-on-scroll { opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.animate-on-scroll.visible { opacity:1; transform:translateY(0); }
.reveal-left { transform:translateX(-40px); }
.ltr .reveal-left { transform:translateX(40px); }
.reveal-right { transform:translateX(40px); }
.ltr .reveal-right { transform:translateX(-40px); }
.reveal-left.visible, .reveal-right.visible, .animate-on-scroll.visible { transform:translate(0,0); }
[data-stagger] > * { opacity:0; transform:translateY(26px); transition:opacity .7s var(--trans-slow), transform .7s var(--trans-slow); }
[data-stagger].visible > * { opacity:1; transform:translateY(0); }
[data-stagger].visible > *:nth-child(2) { transition-delay:.08s; }
[data-stagger].visible > *:nth-child(3) { transition-delay:.16s; }
[data-stagger].visible > *:nth-child(4) { transition-delay:.24s; }
[data-stagger].visible > *:nth-child(5) { transition-delay:.32s; }
[data-stagger].visible > *:nth-child(6) { transition-delay:.40s; }

/* ---------- 3D tilt ---------- */
.tilt { transform:perspective(900px); }
.tilt-inner { transform-style:preserve-3d; }
.tilt .tilt-float-1 { transform:translateZ(34px); }

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001s !important; animation-iteration-count:1 !important; transition-duration:.001s !important; }
  .animate-on-scroll, .animate-on-scroll.visible { opacity:1; transform:none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .values-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 992px) {
  :root { --gutter: 94%; }
  .nav-links { display:none; }
  .mobile-menu-btn { display:grid; }
  .about-mini-grid, .form-grid, .contact-grid, .complex-feature { grid-template-columns:1fr; gap:34px; }
  .complex-feature.reverse { direction:rtl; }
  .ltr .complex-feature.reverse { direction:ltr; }
  .stats-inner { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(3)::before { display:none; }
  .footer-grid { grid-template-columns:1fr; gap:34px; }
  .scroll-hint { display:none; }
  .hero { min-height:92vh; }
}

@media (max-width: 640px) {
  :root { --header-h: 68px; --gutter: 92%; }
  .section { padding:64px 0; }
  .btn { padding:13px 22px; }
  .stats { margin-top:-44px; }
  .stats-inner { grid-template-columns:1fr 1fr; padding:10px; }
  .stat-number { font-size:2rem; }
  .stats-inner .stat-item:nth-child(2)::before { display:none; }
  .hero-buttons .btn { width:100%; }
  .hero { min-height:88vh; }
  .hero-content { padding:40px 0; }
  .hero-chips { gap:8px; }
  .chip { padding:10px 14px; font-size:.82rem; }
  .values-grid { grid-template-columns:1fr; }
  .card-grid { grid-template-columns:1fr; }
  .news-grid { grid-template-columns:1fr; }
  .calculator-row { grid-template-columns:1fr; }
  .cta-band { padding:48px 26px; }
  .footer-grid { gap:26px; }
}



.grad-text {
  background: linear-gradient(100deg, var(--gold-strong), var(--bronze) 55%, var(--green-600));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---------- Facts band (real sector data) ---------- */
.facts-band { position:relative; overflow:hidden; background:linear-gradient(120deg, var(--green-950), var(--green-800) 55%, var(--green-700)); color:#fff; padding:76px 0 66px; }
.facts-band::before { content:''; position:absolute; top:-140px; inset-inline-start:-80px; width:420px; height:420px; background:radial-gradient(circle, rgba(242,183,5,0.22), transparent 70%); }
.facts-band::after { content:''; position:absolute; bottom:-160px; inset-inline-end:-60px; width:380px; height:380px; background:radial-gradient(circle, rgba(46,139,87,0.28), transparent 70%); }
.facts-band .inner { position:relative; z-index:2; }
.facts-band .section-title { color:#fff; }
.facts-band .section-subtitle { color:rgba(255,255,255,0.82); }
.facts-band .eyebrow { color:var(--gold-soft); }
.facts-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:38px; }
.fact {
  background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.16);
  border-radius:var(--radius-lg); padding:30px 24px; text-align:center;
  backdrop-filter:blur(8px); transition:var(--trans);
}
.fact:hover { transform:translateY(-6px); border-color:rgba(242,183,5,0.45); box-shadow:var(--shadow-md); }
.fact-num { display:block; font-family:var(--font-num); font-size:clamp(1.9rem,3.4vw,2.7rem); font-weight:800; line-height:1.05; color:var(--gold-strong); }
.fact-num small { font-size:.5em; font-weight:700; color:var(--gold-soft); margin-inline-start:2px; }
.fact-label { display:block; margin-top:10px; font-weight:700; font-size:.95rem; color:rgba(255,255,255,0.88); line-height:1.6; }
.src-note { margin-top:26px; font-size:.82rem; color:rgba(255,255,255,0.62); line-height:1.8; max-width:820px; }
.src-note b { color:rgba(255,255,255,0.85); font-weight:700; }

/* why-sudan highlight list inside cards */
.mini-fact { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; padding-top:14px; border-top:1px dashed var(--line); }
.mini-fact b { font-family:var(--font-num); font-size:1.35rem; color:var(--green-700); white-space:nowrap; }
.mini-fact span { font-size:.85rem; color:var(--muted); line-height:1.5; }

@media (max-width: 900px) {
  .facts-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 520px) {
  .facts-grid { grid-template-columns:1fr; }
}