@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Kufi+Arabic:wght@400;500;600;700;800&display=swap');

:root {
  --font-en: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-ar: 'Noto Kufi Arabic', Tahoma, Arial, sans-serif;
  --bg: #f8f8fb;
  --surface: rgba(255,255,255,.86);
  --surface-solid: #ffffff;
  --surface-2: #f0edf5;
  --text: #1b1530;
  --muted: #6f6a7a;
  --border: rgba(43,29,76,.12);
  --shadow: 0 24px 70px rgba(38,20,66,.14);
  --shadow-soft: 0 14px 38px rgba(38,20,66,.09);
  --purple: #2d1b63;
  --violet: #51206d;
  --crimson: #c51f3a;
  --orange: #ef7426;
  --gold: #f1cc31;
  --brand-gradient: linear-gradient(105deg, var(--purple) 0%, var(--crimson) 52%, var(--orange) 78%, var(--gold) 100%);
  --hero-gradient: radial-gradient(circle at 78% 25%, rgba(241,204,49,.25), transparent 29%), radial-gradient(circle at 32% 14%, rgba(239,116,38,.24), transparent 27%), linear-gradient(125deg, #170d33 0%, #2e154a 42%, #6e173b 73%, #a74425 100%);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 30px;
  --container: min(1180px, calc(100% - 40px));
  --header-h: 82px;
}

html[data-theme='dark'] {
  --bg: #0e0a18;
  --surface: rgba(27,20,42,.84);
  --surface-solid: #191326;
  --surface-2: #251b36;
  --text: #f8f5ff;
  --muted: #b9b1c7;
  --border: rgba(255,255,255,.10);
  --shadow: 0 24px 70px rgba(0,0,0,.36);
  --shadow-soft: 0 14px 38px rgba(0,0,0,.22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-en);
  background: var(--bg);
  color: var(--text);
  line-height: 1.7;
  overflow-x: hidden;
  transition: background .25s ease, color .25s ease;
}
html[dir='rtl'] body { font-family: var(--font-ar); }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: rgba(197,31,58,.22); }

.container { width: var(--container); margin-inline: auto; }
.section { padding: 100px 0; position: relative; }
.section-sm { padding: 70px 0; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 44px; }
.section-head.center { display: block; max-width: 780px; margin: 0 auto 48px; text-align: center; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 13px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--crimson);
  background: var(--surface);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
html[dir='rtl'] .eyebrow { letter-spacing: 0; }
.eyebrow::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--brand-gradient); box-shadow: 0 0 0 5px rgba(197,31,58,.10); }
h1,h2,h3,h4,p { margin-top: 0; }
h1,h2,h3,h4 { line-height: 1.14; letter-spacing: -.035em; }
html[dir='rtl'] h1, html[dir='rtl'] h2, html[dir='rtl'] h3, html[dir='rtl'] h4 { letter-spacing: 0; }
h1 { font-size: clamp(3rem, 7vw, 6.3rem); margin-bottom: 22px; }
h2 { font-size: clamp(2rem, 4.2vw, 3.55rem); margin-bottom: 18px; }
h3 { font-size: clamp(1.18rem, 2vw, 1.55rem); }
.lead { font-size: clamp(1rem, 1.6vw, 1.18rem); color: var(--muted); max-width: 690px; }
.gradient-text { background: var(--brand-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.muted { color: var(--muted); }

.btn {
  min-height: 52px;
  padding: 0 22px;
  border-radius: 14px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 800;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
  position: relative;
  overflow: hidden;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--brand-gradient); box-shadow: 0 16px 34px rgba(197,31,58,.25); }
.btn-primary::after { content:''; position:absolute; inset:0; background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.28), transparent 70%); transform: translateX(-120%); transition: transform .65s ease; }
.btn-primary:hover::after { transform: translateX(120%); }
.btn-secondary { background: var(--surface); border-color: var(--border); color: var(--text); }
.btn-secondary:hover { border-color: rgba(197,31,58,.35); box-shadow: var(--shadow-soft); }
.btn-link { color: var(--crimson); min-height: auto; padding: 0; border: 0; background: transparent; }
.btn-icon { width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 13px; border: 1px solid var(--border); background: var(--surface); color: var(--text); }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.announcement { background: #1b1130; color: rgba(255,255,255,.82); font-size: .82rem; }
.announcement .container { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center; }
.announcement strong { color: #fff; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  height: var(--header-h);
  border-bottom: 1px solid transparent;
  background: rgba(248,248,251,.84);
  background: color-mix(in srgb, var(--bg) 75%, transparent);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: border-color .2s ease, box-shadow .2s ease;
}
html[data-theme='dark'] .site-header { background: rgba(14,10,24,.84); }
.site-header.scrolled { border-color: var(--border); box-shadow: 0 12px 35px rgba(28,15,45,.08); }
.navbar { height: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand img { width: 54px; height: 54px; object-fit: contain; }
.brand-copy { line-height: 1.05; }
.brand-title { display: block; font-size: 1rem; font-weight: 900; letter-spacing: -.03em; }
.brand-subtitle { display: block; margin-top: 5px; color: var(--muted); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
html[dir='rtl'] .brand-subtitle { letter-spacing: 0; }
.nav-links { display: flex; justify-content: center; gap: 6px; }
.nav-link { padding: 10px 12px; border-radius: 10px; color: var(--muted); font-size: .9rem; font-weight: 750; transition: .2s ease; }
.nav-link:hover, .nav-link.active { color: var(--text); background: var(--surface-2); }
.nav-actions { display: flex; align-items: center; gap: 8px; }
.lang-toggle { min-width: 52px; font-weight: 900; }
.mobile-toggle { display: none; }
.mobile-menu { display: none; }

.hero {
  min-height: calc(100vh - 116px);
  display: flex;
  align-items: center;
  color: #fff;
  position: relative;
  overflow: hidden;
  background: var(--hero-gradient);
  isolation: isolate;
}
.hero::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-3;
  background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 95%);
}
.hero::after {
  content:'';
  position:absolute;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  right: -220px;
  top: -100px;
  box-shadow: 0 0 0 80px rgba(255,255,255,.035), 0 0 0 160px rgba(255,255,255,.025);
  z-index:-2;
}
html[dir='rtl'] .hero::after { right: auto; left: -220px; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .56; z-index:-1; animation: floatOrb 11s ease-in-out infinite; }
.hero-orb.one { width: 190px; height: 190px; background: radial-gradient(circle at 35% 35%, rgba(255,226,92,.9), rgba(235,111,33,.25), transparent 68%); top: 12%; left: 45%; }
.hero-orb.two { width: 280px; height: 280px; background: radial-gradient(circle at 50% 50%, rgba(194,35,61,.55), transparent 67%); bottom: -40px; left: -80px; animation-delay: -4s; }
@keyframes floatOrb { 0%,100%{ transform: translate3d(0,0,0) scale(1);} 50%{ transform: translate3d(18px,-18px,0) scale(1.06);} }
.hero-grid { width: 100%; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 64px; padding: 72px 0 78px; }
.hero-copy { position: relative; z-index: 2; }
.hero .eyebrow { color: #fff; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.hero .eyebrow::before { background: linear-gradient(135deg, #f7dc5b, #ef7426); }
.hero h1 { max-width: 760px; text-wrap: balance; }
.hero p { max-width: 650px; font-size: clamp(1rem, 1.7vw, 1.22rem); color: rgba(255,255,255,.74); }
.hero .btn-secondary { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); }
.hero .btn-secondary:hover { background: rgba(255,255,255,.14); }
.hero-trust { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 26px; color: rgba(255,255,255,.72); font-size: .86rem; }
.hero-trust span { display: inline-flex; gap: 8px; align-items: center; }
.hero-trust span::before { content:'✓'; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,.12); color:#f9d95d; font-weight:900; }
.hero-visual { min-height: 540px; position: relative; display: grid; place-items: center; }
.world-orbit { position: relative; width: min(520px, 100%); aspect-ratio: 1; display: grid; place-items: center; }
.orbit-ring { position:absolute; width: 92%; height: 38%; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; transform: rotate(var(--r)); animation: spinOrbit var(--d) linear infinite; }
.orbit-ring:nth-child(1){ --r:8deg; --d:16s; }
.orbit-ring:nth-child(2){ --r:-12deg; --d:22s; width:78%; }
.orbit-ring:nth-child(3){ --r:22deg; --d:28s; width:64%; }
@keyframes spinOrbit { to { transform: rotate(calc(var(--r) + 360deg)); } }
.hero-card {
  width: 76%;
  min-height: 360px;
  border-radius: 34px;
  background: linear-gradient(155deg, rgba(255,255,255,.16), rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 40px 90px rgba(0,0,0,.24);
  backdrop-filter: blur(22px);
  padding: 26px;
  position: relative;
  overflow: hidden;
  transform: rotate(-3deg);
}
html[dir='rtl'] .hero-card { transform: rotate(3deg); }
.hero-card::before { content:''; position:absolute; width:230px; height:230px; border-radius:50%; background:radial-gradient(circle, rgba(250,217,68,.34), transparent 68%); top:-60px; right:-60px; }
.pilgrim-visual { height: 250px; border-radius: 22px; position:relative; overflow:hidden; background: linear-gradient(180deg, rgba(15,10,25,.08), rgba(15,10,25,.48)), radial-gradient(circle at 50% 15%, #eab845 0%, #7b3155 42%, #25143f 100%); }
.pilgrim-visual .moon { position:absolute; width:74px; height:74px; border-radius:50%; background:#ffe67a; right:42px; top:32px; box-shadow:0 0 60px rgba(255,230,122,.55); }
.pilgrim-visual .moon::after { content:''; position:absolute; width:62px; height:62px; border-radius:50%; background:#9c4f54; top:-4px; left:-10px; }
.kaaba { position:absolute; width:145px; height:125px; background:#15111a; left:50%; bottom:26px; transform:translateX(-50%); box-shadow:0 22px 30px rgba(0,0,0,.35); }
.kaaba::before { content:''; position:absolute; left:0; right:0; top:22px; height:16px; background:linear-gradient(90deg,#bb852c,#f1d475,#aa7422); }
.kaaba::after { content:''; position:absolute; width:33px; height:62px; background:linear-gradient(#bf8c35,#e4be61); right:24px; bottom:0; }
.mosque-line { position:absolute; left:0; right:0; bottom:0; height:44px; background:linear-gradient(180deg,#2c193d,#180d2a); clip-path:polygon(0 100%,0 58%,6% 58%,8% 20%,10% 58%,18% 58%,21% 32%,24% 58%,34% 58%,37% 10%,40% 58%,51% 58%,54% 30%,57% 58%,66% 58%,70% 16%,74% 58%,84% 58%,87% 35%,90% 58%,100% 58%,100% 100%); }
.hero-card-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:18px; }
.hero-card-meta strong { display:block; font-size:1.03rem; }
.hero-card-meta small { color:rgba(255,255,255,.62); }
.mini-logo { width:56px; height:56px; padding:6px; background:#fff; border-radius:16px; object-fit:contain; box-shadow:0 12px 28px rgba(0,0,0,.2); }
.float-chip { position:absolute; padding:12px 15px; border:1px solid rgba(255,255,255,.2); border-radius:15px; background:rgba(23,14,42,.63); backdrop-filter:blur(14px); box-shadow:0 18px 36px rgba(0,0,0,.2); font-size:.78rem; font-weight:800; }
.float-chip.one { left:-6px; top:20%; }
.float-chip.two { right:-16px; bottom:20%; }
.float-chip b { color:#f7d850; }

.page-hero { position:relative; overflow:hidden; color:#fff; padding: 105px 0 90px; background: var(--hero-gradient); }
.page-hero::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle at 80% 20%,rgba(255,255,255,.12),transparent 24%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:auto,42px 42px,42px 42px; }
.page-hero .container { position:relative; z-index:1; }
.page-hero h1 { font-size:clamp(2.8rem,6vw,5.4rem); max-width:880px; }
.page-hero p { color:rgba(255,255,255,.74); max-width:740px; font-size:1.1rem; }
.breadcrumbs { display:flex; gap:9px; align-items:center; margin-bottom:24px; color:rgba(255,255,255,.66); font-size:.84rem; }
.breadcrumbs a:hover { color:#fff; }

.stats-strip { margin-top:-38px; position:relative; z-index:5; }
.stats-card { display:grid; grid-template-columns:repeat(4,1fr); background:var(--surface-solid); border:1px solid var(--border); border-radius:24px; box-shadow:var(--shadow); overflow:hidden; }
.stat { padding:30px; text-align:center; position:relative; }
.stat:not(:last-child)::after { content:''; position:absolute; top:24%; bottom:24%; width:1px; background:var(--border); inset-inline-end:0; }
.stat strong { display:block; font-size:1.65rem; line-height:1; margin-bottom:10px; background:var(--brand-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat span { color:var(--muted); font-size:.82rem; font-weight:700; }

.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:var(--shadow-soft); overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.card:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:rgba(197,31,58,.25); }
.card-body { padding:25px; }
.icon-box { width:50px; height:50px; display:grid; place-items:center; border-radius:15px; background:linear-gradient(135deg,rgba(45,27,99,.12),rgba(197,31,58,.12)); color:var(--crimson); font-size:1.25rem; margin-bottom:20px; }
.feature-card h3 { margin-bottom:10px; }
.feature-card p { color:var(--muted); font-size:.92rem; margin-bottom:0; }

.package-card { position:relative; }
.package-visual { height:220px; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:20px; color:#fff; background:linear-gradient(145deg,#281550,#7b1c49 58%,#e26928); }
.package-visual::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle at 75% 24%,rgba(255,223,92,.58),transparent 18%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:auto,28px 28px,28px 28px; }
.package-visual.gold { background:linear-gradient(145deg,#372315,#8f5221 54%,#e1af38); }
.package-visual.blue { background:linear-gradient(145deg,#172d55,#304f78 54%,#8e4a5f); }
.package-visual .mini-kaaba { position:absolute; width:86px; height:76px; background:#16131b; right:28px; bottom:28px; box-shadow:0 16px 28px rgba(0,0,0,.3); }
.package-visual .mini-kaaba::before { content:''; position:absolute; left:0; right:0; top:14px; height:10px; background:#d7aa48; }
html[dir='rtl'] .package-visual .mini-kaaba { right:auto; left:28px; }
.package-visual-content { position:relative; z-index:2; }
.package-visual small { display:block; opacity:.74; margin-bottom:4px; }
.package-visual strong { font-size:1.35rem; }
.package-badge { position:absolute; z-index:3; top:16px; left:16px; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.2); backdrop-filter:blur(10px); color:#fff; font-size:.72rem; font-weight:800; }
html[dir='rtl'] .package-badge { left:auto; right:16px; }
.package-card h3 { margin-bottom:8px; }
.package-meta { display:flex; flex-wrap:wrap; gap:8px; margin:17px 0; }
.package-meta span { padding:7px 9px; border-radius:9px; background:var(--surface-2); color:var(--muted); font-size:.74rem; font-weight:750; }
.package-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid var(--border); padding-top:18px; }
.package-price small { display:block; color:var(--muted); font-size:.68rem; }
.package-price strong { font-size:1.04rem; }

.filter-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px; background:var(--surface); border:1px solid var(--border); border-radius:18px; margin-bottom:30px; box-shadow:var(--shadow-soft); }
.filter-pills { display:flex; flex-wrap:wrap; gap:8px; }
.filter-pill { border:1px solid var(--border); background:transparent; color:var(--muted); padding:9px 14px; border-radius:999px; font-weight:800; font-size:.8rem; }
.filter-pill.active, .filter-pill:hover { color:#fff; border-color:transparent; background:var(--brand-gradient); }

.split { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.visual-panel { min-height:500px; position:relative; border-radius:32px; overflow:hidden; background:linear-gradient(145deg,#23133f,#771e47 60%,#dc6529); box-shadow:var(--shadow); }
.visual-panel::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle at 72% 19%,rgba(255,225,96,.58),transparent 18%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:auto,32px 32px,32px 32px; }
.visual-panel .kaaba { width:190px; height:165px; bottom:80px; }
.visual-panel .mosque-line { height:90px; }
.visual-panel-label { position:absolute; left:24px; right:24px; top:24px; padding:16px 18px; border:1px solid rgba(255,255,255,.18); border-radius:18px; color:#fff; background:rgba(255,255,255,.09); backdrop-filter:blur(14px); z-index:3; }
.check-list { display:grid; gap:15px; margin:26px 0 30px; }
.check-item { display:grid; grid-template-columns:34px 1fr; gap:13px; align-items:start; }
.check-icon { width:34px; height:34px; border-radius:11px; background:linear-gradient(135deg,rgba(45,27,99,.14),rgba(197,31,58,.15)); color:var(--crimson); display:grid; place-items:center; font-weight:900; }
.check-item strong { display:block; margin-bottom:3px; }
.check-item span { color:var(--muted); font-size:.88rem; }

.process { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; counter-reset:step; }
.process-card { counter-increment:step; padding:25px; border-radius:20px; border:1px solid var(--border); background:var(--surface); position:relative; overflow:hidden; }
.process-card::before { content:'0' counter(step); position:absolute; top:14px; right:16px; font-size:3rem; line-height:1; font-weight:900; color:rgba(197,31,58,.08); }
html[dir='rtl'] .process-card::before { right:auto; left:16px; }
.process-card .icon-box { margin-bottom:32px; }
.process-card p { color:var(--muted); font-size:.86rem; margin-bottom:0; }

.testimonial-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:22px; }
.quote-card { padding:36px; }
.quote-mark { font-size:4rem; line-height:.75; color:var(--crimson); opacity:.35; }
.quote-card blockquote { font-size:1.25rem; line-height:1.7; margin:18px 0 24px; }
.person { display:flex; align-items:center; gap:13px; }
.avatar { width:50px; height:50px; border-radius:50%; background:var(--brand-gradient); display:grid; place-items:center; color:#fff; font-weight:900; }
.person small { display:block; color:var(--muted); }
.note-card { padding:30px; background:var(--brand-gradient); color:#fff; }
.note-card p { color:rgba(255,255,255,.78); }

.faq-list { display:grid; gap:12px; max-width:900px; margin:0 auto; }
.faq-item { border:1px solid var(--border); border-radius:17px; background:var(--surface); overflow:hidden; }
.faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 22px; border:0; color:var(--text); background:transparent; text-align:start; font-weight:850; }
.faq-plus { width:30px; height:30px; border-radius:9px; background:var(--surface-2); display:grid; place-items:center; flex:0 0 auto; transition:transform .2s ease; }
.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .25s ease; }
.faq-answer > div { overflow:hidden; }
.faq-answer p { padding:0 22px 20px; color:var(--muted); margin:0; }
.faq-item.open .faq-answer { grid-template-rows:1fr; }
.faq-item.open .faq-plus { transform:rotate(45deg); }

.cta-band { padding:0 0 95px; }
.cta-inner { position:relative; overflow:hidden; border-radius:30px; padding:52px; color:#fff; background:var(--hero-gradient); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:space-between; gap:35px; }
.cta-inner::before { content:''; position:absolute; width:320px; height:320px; border-radius:50%; border:1px solid rgba(255,255,255,.16); right:-120px; top:-130px; box-shadow:0 0 0 60px rgba(255,255,255,.035),0 0 0 120px rgba(255,255,255,.025); }
html[dir='rtl'] .cta-inner::before { right:auto; left:-120px; }
.cta-copy { position:relative; z-index:1; max-width:700px; }
.cta-copy h2 { font-size:clamp(2rem,4vw,3.3rem); margin-bottom:12px; }
.cta-copy p { color:rgba(255,255,255,.74); margin-bottom:0; }
.cta-inner .btn { position:relative; z-index:1; flex:0 0 auto; background:#fff; color:#27143f; }

.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:28px; }
.contact-panel { padding:30px; }
.contact-item { display:grid; grid-template-columns:44px 1fr; gap:14px; padding:17px 0; border-bottom:1px solid var(--border); }
.contact-item:last-child { border-bottom:0; }
.contact-item .icon-box { width:44px; height:44px; margin:0; }
.contact-item strong { display:block; margin-bottom:3px; }
.contact-item span, .contact-item a { color:var(--muted); font-size:.88rem; }
.form-card { padding:34px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:grid; gap:8px; }
.field.full { grid-column:1 / -1; }
.field label { font-size:.82rem; font-weight:800; }
.field input, .field select, .field textarea { width:100%; min-height:50px; border:1px solid var(--border); border-radius:13px; background:var(--surface-solid); color:var(--text); padding:12px 14px; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.field textarea { min-height:126px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:rgba(197,31,58,.58); box-shadow:0 0 0 4px rgba(197,31,58,.09); }
.form-message { display:none; margin-top:14px; padding:12px 14px; border-radius:12px; font-size:.84rem; }
.form-message.success { display:block; background:rgba(23,157,92,.12); color:#168251; }
.form-message.error { display:block; background:rgba(197,31,58,.12); color:var(--crimson); }
.honeypot { position:absolute !important; left:-9999px !important; }

.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.resource-card { padding:25px; }
.resource-card small { color:var(--crimson); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.resource-card h3 { margin:12px 0 10px; }
.resource-card p { color:var(--muted); font-size:.88rem; }

.site-footer { background:#130c22; color:#fff; padding:70px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.35fr repeat(3,.75fr); gap:42px; }
.footer-brand p { color:rgba(255,255,255,.6); max-width:360px; font-size:.88rem; }
.footer-brand .brand-subtitle { color:rgba(255,255,255,.5); }
.footer-col h4 { font-size:.9rem; margin-bottom:18px; }
.footer-col a { display:block; color:rgba(255,255,255,.58); font-size:.84rem; padding:5px 0; }
.footer-col a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); margin-top:48px; padding-top:22px; display:flex; align-items:center; justify-content:space-between; gap:18px; color:rgba(255,255,255,.48); font-size:.78rem; }
.socials { display:flex; gap:8px; }
.socials a { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:11px; color:rgba(255,255,255,.72); }
.socials a:hover { color:#fff; background:rgba(255,255,255,.08); }

.modal { position:fixed; inset:0; z-index:300; display:grid; place-items:center; padding:20px; opacity:0; pointer-events:none; transition:opacity .2s ease; }
.modal.open { opacity:1; pointer-events:auto; }
.modal-backdrop { position:absolute; inset:0; background:rgba(12,8,19,.72); backdrop-filter:blur(8px); }
.modal-dialog { position:relative; width:min(720px,100%); max-height:min(90vh,820px); overflow:auto; border-radius:25px; border:1px solid var(--border); background:var(--surface-solid); box-shadow:0 40px 100px rgba(0,0,0,.35); padding:32px; transform:translateY(15px) scale(.98); transition:transform .2s ease; }
.modal.open .modal-dialog { transform:none; }
.modal-close { position:absolute; top:16px; right:16px; }
html[dir='rtl'] .modal-close { right:auto; left:16px; }
body.modal-open { overflow:hidden; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
.skip-link { position:fixed; top:-60px; left:20px; z-index:500; padding:10px 14px; border-radius:10px; background:#fff; color:#111; }
.skip-link:focus { top:20px; }

@media (max-width: 1020px) {
  .nav-links, .nav-actions .btn-primary { display:none; }
  .mobile-toggle { display:inline-grid; }
  .navbar { grid-template-columns:auto 1fr auto; }
  .nav-actions { justify-self:end; }
  .mobile-menu { display:block; position:fixed; top:calc(34px + var(--header-h)); left:20px; right:20px; z-index:150; border:1px solid var(--border); border-radius:20px; background:var(--surface-solid); box-shadow:var(--shadow); padding:12px; opacity:0; transform:translateY(-10px); pointer-events:none; transition:.2s ease; }
  .mobile-menu.open { opacity:1; transform:none; pointer-events:auto; }
  .mobile-menu a { display:block; padding:12px 14px; border-radius:10px; color:var(--muted); font-weight:750; }
  .mobile-menu a:hover, .mobile-menu a.active { background:var(--surface-2); color:var(--text); }
  .mobile-menu .btn { margin-top:8px; color:#fff; }
  .hero-grid, .split, .contact-grid, .testimonial-grid { grid-template-columns:1fr; }
  .hero { min-height:auto; }
  .hero-grid { padding:70px 0 55px; gap:32px; }
  .hero-copy { text-align:center; }
  .hero-copy .eyebrow { margin-inline:auto; }
  .hero-copy p { margin-inline:auto; }
  .hero-copy .btn-row, .hero-trust { justify-content:center; }
  .hero-visual { min-height:480px; }
  .world-orbit { width:min(500px,92vw); }
  .card-grid, .resource-grid { grid-template-columns:repeat(2,1fr); }
  .process { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1.2fr 1fr 1fr; }
  .footer-col:last-child { grid-column:2 / -1; }
}

@media (max-width: 720px) {
  :root { --container:min(1180px, calc(100% - 28px)); --header-h:72px; }
  .section { padding:72px 0; }
  .section-sm { padding:52px 0; }
  .announcement { font-size:.72rem; }
  .announcement .container { min-height:38px; }
  .brand img { width:46px; height:46px; }
  .brand-title { font-size:.88rem; }
  .brand-subtitle { font-size:.56rem; }
  .hero-grid { padding-top:52px; }
  .hero h1 { font-size:clamp(2.6rem,14vw,4.1rem); }
  .hero-visual { min-height:390px; }
  .hero-card { width:82%; min-height:300px; padding:18px; border-radius:26px; }
  .pilgrim-visual { height:205px; }
  .float-chip { font-size:.68rem; padding:9px 11px; }
  .float-chip.one { left:0; top:16%; }
  .float-chip.two { right:0; bottom:14%; }
  .section-head { display:block; }
  .section-head .btn { margin-top:15px; }
  .stats-card { grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(2)::after { display:none; }
  .stat:nth-child(-n+2) { border-bottom:1px solid var(--border); }
  .card-grid, .resource-grid, .process { grid-template-columns:1fr; }
  .filter-bar { align-items:flex-start; flex-direction:column; }
  .visual-panel { min-height:400px; }
  .cta-inner { padding:34px 25px; display:block; }
  .cta-inner .btn { margin-top:24px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1 / -1; }
  .footer-col:last-child { grid-column:auto; }
  .footer-bottom { align-items:flex-start; flex-direction:column; }
  .modal-dialog { padding:26px 18px 22px; }
}

@media (max-width: 440px) {
  .nav-actions { gap:5px; }
  .btn-icon { width:40px; height:40px; min-height:40px; }
  .hero .btn { width:100%; }
  .hero-card { width:88%; }
  .hero-card-meta { align-items:flex-start; }
  .stats-card { grid-template-columns:1fr 1fr; }
  .stat { padding:23px 12px; }
  .package-footer { align-items:flex-start; flex-direction:column; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand, .footer-col:last-child { grid-column:auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
