:root {
  --ink: #09213a;
  --ink-soft: #163754;
  --paper: #f6f5ef;
  --paper-deep: #e7e5dc;
  --mist: #eef4f4;
  --gold: #d3a64f;
  --gold-light: #f4e4bd;
  --line: rgba(9, 33, 58, .14);
  --white: #fff;
  --danger-bg: #fbe9e4;
  --danger-ink: #7a2b1b;
  --radius: 1.25rem;
  --shadow: 0 1.25rem 3.5rem rgba(6, 28, 51, .14);
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Arabic", "Noto Sans SC", "Noto Sans JP", "Noto Sans KR", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", "Noto Serif", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
}
a { color: inherit; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.shell { overflow: clip; }
.wrap { width: min(1160px, calc(100% - 2rem)); margin-inline: auto; }

.utility {
  background: var(--ink);
  color: #d9e5ed;
  font-size: .78rem;
  letter-spacing: .015em;
}
.utility .wrap {
  min-height: 2.15rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.utility a { color: #fff; text-decoration: none; }

.nav {
  position: relative;
  z-index: 4;
  background: rgba(246, 245, 239, .94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}
.nav .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 4.6rem;
  gap: 1.2rem;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: .62rem;
  text-decoration: none;
  white-space: nowrap;
}
.brand-logo {
  display: block;
  width: 3rem;
  height: 3rem;
  object-fit: contain;
}
.brand span {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: .035em;
}
.nav-links { display: flex; align-items: center; gap: .8rem; }
.nav-links a {
  color: var(--ink-soft);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 650;
}
.nav-links a:hover { color: var(--ink); }
.nav-links .call { 
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ink); border-radius: 100vmax; padding: .48rem .8rem; color: var(--ink);
}

.market-strip {
  background: var(--white);
  border-bottom: 1px solid var(--line);
}
.market-strip .wrap {
  padding-block: .65rem;
  display: flex;
  gap: .5rem;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: thin;
}
.market-strip a {
  flex: 0 0 auto;
  font-size: .78rem;
  text-decoration: none;
  color: var(--ink-soft);
  background: #f2f4f3;
  border: 1px solid transparent;
  border-radius: 100vmax;
  padding: .33rem .66rem;
}
.market-strip a.active, .market-strip a:hover { border-color: rgba(9, 33, 58, .35); color: var(--ink); background: var(--gold-light); }

.availability {
  border-bottom: 1px solid rgba(122, 43, 27, .18);
  background: var(--danger-bg);
  color: var(--danger-ink);
}
.availability .wrap { display: grid; grid-template-columns: auto 1fr; gap: .72rem; padding-block: .8rem; align-items: start; }
.availability b { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; margin-top: .15rem; }
.availability p { margin: 0; font-size: .9rem; }

.hero {
  position: relative;
  isolation: isolate;
  min-height: min(46rem, 75vh);
  display: grid;
  align-items: end;
  color: #fff;
  background: var(--ink);
}
.hero::before {
  content: "";
  position: absolute; inset: 0; z-index: -2;
  background-image: url("/assets/iran-sunlit-isfahan.png");
  background-size: cover;
  background-position: center;
}
.hero::after {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(5, 22, 41, .84) 0%, rgba(5, 22, 41, .54) 42%, rgba(5, 22, 41, .10) 82%), linear-gradient(0deg, rgba(5, 22, 41, .38), transparent 62%);
}
.hero-ru::before { background-image: url("/assets/iran-sunlit-persepolis.png"); }
.hero-ar-sa::before { background-image: url("/assets/iran-green-north.png"); }
.hero .wrap { padding-block: 5.8rem 4.5rem; }
.hero-copy { width: min(43rem, 100%); }
.eyebrow { display: block; color: var(--gold-light); font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1rem; }
h1, h2, h3 { line-height: 1.12; margin: 0; }
h1 { max-width: 16ch; font-family: var(--serif); font-size: clamp(2.4rem, 5vw, 5.2rem); letter-spacing: -.035em; }
.hero p { max-width: 42rem; margin: 1.4rem 0 0; font-size: clamp(1rem, 1.6vw, 1.25rem); color: #e3edf2; }
.hero-actions { margin-top: 2rem; display: flex; gap: .75rem; flex-wrap: wrap; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 2.9rem;
  padding: .66rem 1rem; border-radius: .62rem; font-weight: 750; text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn.primary { background: var(--gold); color: #1d260e; box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.18); }
.btn.secondary { color: #fff; border: 1px solid rgba(255,255,255,.65); background: rgba(255,255,255,.08); }
.btn.dark { background: var(--ink); color: #fff; }

.metrics {
  position: relative;
  margin-top: -1px;
  background: var(--ink);
  color: #fff;
}
.metrics .wrap { display: grid; grid-template-columns: repeat(3, 1fr); }
.metric { padding: 1.2rem 1.35rem; border-right: 1px solid rgba(255,255,255,.16); }
.metric:last-child { border-right: 0; }
.metric b { display: block; color: var(--gold-light); font-size: .75rem; letter-spacing: .09em; text-transform: uppercase; }
.metric span { display: block; font-size: .92rem; margin-top: .25rem; color: #e3edf2; }

.section { padding-block: clamp(3.5rem, 7vw, 6.2rem); }
.section.paper { background: var(--paper); }
.section.white { background: var(--white); }
.section.mist { background: var(--mist); }
.section-head { display: grid; grid-template-columns: minmax(0, .7fr) minmax(16rem, 1fr); gap: 2rem; align-items: end; margin-bottom: 2.1rem; }
.section-head h2 { font-family: var(--serif); font-size: clamp(1.9rem, 3.3vw, 3.3rem); letter-spacing: -.025em; }
.section-head p { margin: 0; color: var(--ink-soft); max-width: 46rem; }

.grid { display: grid; gap: 1rem; }
.grid.three { grid-template-columns: repeat(3, 1fr); }
.grid.four { grid-template-columns: repeat(4, 1fr); }
.card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.35rem;
  background: var(--white);
}
.card .kicker { display: block; margin-bottom: .6rem; color: #8b671e; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 750; }
.card h3 { font-size: 1.12rem; letter-spacing: -.01em; }
.card p { margin: .7rem 0 0; color: var(--ink-soft); font-size: .93rem; }
.card.featured { background: var(--ink); color: #fff; border-color: var(--ink); }
.card.featured p { color: #d5e2ea; }
.card.featured .kicker { color: var(--gold-light); }

.journey {
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); gap: 1rem;
}
.journey-main {
  border-radius: var(--radius); padding: clamp(1.5rem, 4vw, 3.25rem);
  background: var(--ink); color: #fff; min-height: 22rem; display: flex; flex-direction: column; justify-content: end;
}
.journey-main h2 { font-family: var(--serif); font-size: clamp(2rem, 3.4vw, 3.55rem); max-width: 14ch; }
.journey-main p { color: #dce8ee; max-width: 34rem; margin: 1rem 0 0; }
.journey-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; }
.journey-meta span { border: 1px solid rgba(255,255,255,.25); border-radius: 100vmax; padding: .34rem .6rem; color: #e4edf1; font-size: .8rem; }
.journey-side { display: grid; gap: 1rem; }
.soft-card { border-radius: var(--radius); padding: 1.5rem; background: #edf2ef; border: 1px solid rgba(9,33,58,.08); }
.soft-card h3 { font-size: 1.15rem; }
.soft-card p { color: var(--ink-soft); margin: .65rem 0 0; }

.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.step { padding: 1.35rem; background: var(--white); border-right: 1px solid var(--line); }
.step:last-child { border-right: 0; }
.step b { display: block; color: #8b671e; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .65rem; }
.step h3 { font-size: 1.06rem; }
.step p { margin: .55rem 0 0; color: var(--ink-soft); font-size: .9rem; }

.proof { display: grid; grid-template-columns: .9fr 1.1fr; gap: 2rem; align-items: start; }
.proof-panel { border-left: .22rem solid var(--gold); padding-left: 1rem; }
.proof-panel h2 { font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.1rem); }
.proof-panel p { color: var(--ink-soft); }
.proof-list { display: grid; gap: .8rem; }
.proof-list div { padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: .8rem; background: rgba(255,255,255,.74); }
.proof-list b { display:block; font-size: .94rem; }
.proof-list span { display:block; color: var(--ink-soft); font-size:.86rem; margin-top: .25rem; }

.agency {
  border-radius: calc(var(--radius) + .25rem);
  padding: clamp(1.65rem, 4vw, 3.5rem);
  background: linear-gradient(120deg, #08213a, #154266);
  color: #fff;
}
.agency-grid { display: grid; grid-template-columns: 1fr minmax(15rem, .75fr); gap: 2rem; align-items: end; }
.agency h2 { max-width: 16ch; font-family: var(--serif); font-size: clamp(2rem, 3.2vw, 3.3rem); }
.agency p { max-width: 41rem; color: #dbe6ed; }
.agency .list { padding: 0; margin: 1.25rem 0 0; list-style: none; }
.agency .list li { padding: .47rem 0; border-bottom: 1px solid rgba(255,255,255,.18); color: #eff6f8; }
.agency .list li:last-child { border-bottom: 0; }

.final-cta { text-align: center; padding-block: clamp(4.5rem, 8vw, 7rem); background: var(--gold-light); }
.final-cta h2 { max-width: 23ch; margin-inline: auto; font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 3.6rem); }
.final-cta p { max-width: 43rem; margin: 1rem auto 0; color: var(--ink-soft); }
.final-cta .hero-actions { justify-content: center; }
.contact-note { margin-top: 1rem; font-size: .8rem; color: #4d5c67; }

.footer { background: var(--ink); color: #dce8ee; padding-block: 2.5rem; }
.footer-grid { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 1.5rem; }
.footer p { margin: .7rem 0 0; max-width: 36rem; font-size: .85rem; }
.footer-links { display:flex; gap: .7rem; flex-wrap: wrap; }
.footer-links a { color: #fff; font-size: .84rem; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); }

.market-home .hero { min-height: min(50rem, 80vh); }
.market-home .hero h1 { max-width: 17ch; }
.country-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.country {
  position:relative; min-height: 15rem; overflow:hidden; border-radius: var(--radius); padding: 1.35rem;
  background: #12344f url("/assets/iran-sunlit-isfahan.png") center/cover; color:#fff; text-decoration:none; display:flex; flex-direction:column; justify-content:end;
  border:1px solid rgba(255,255,255,.14);
}
.country::before { content:""; position:absolute; inset:0; background: linear-gradient(145deg, rgba(10,32,52,.08), rgba(2,14,29,.74)); }
.country:nth-child(2n) { background-image:url("/assets/iran-sunlit-persepolis.png"); }
.country:nth-child(3n) { background-image:url("/assets/iran-green-north.png"); }
.country > * { position:relative; }
.country .language { color: var(--gold-light); font-size:.75rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.country h3 { margin-top:.35rem; font-size:1.35rem; }
.country p { color: #e2edf2; font-size:.89rem; margin:.55rem 0 0; }
.country .open { margin-top: 1rem; font-weight:700; font-size:.84rem; }

/* Useful, fully readable page content when JavaScript is unavailable or not yet rendered. */
.seo-static {
  width: min(760px, calc(100% - 2rem));
  margin: 0 auto;
  padding-block: clamp(3rem, 8vw, 6rem);
}
.seo-static .eyebrow { color: #8b671e; }
.seo-static h1 { max-width: 18ch; color: var(--ink); }
.seo-static > p { max-width: 48rem; color: var(--ink-soft); font-size: 1.1rem; }
.seo-static section { margin-top: 2.4rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.seo-static h2 { font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2.2rem); }
.seo-static section p { color: var(--ink-soft); }

html[dir="rtl"] body { text-align: right; }
html[dir="rtl"] .availability .wrap { grid-template-columns: 1fr auto; }
html[dir="rtl"] .proof-panel { border-left: 0; border-right: .22rem solid var(--gold); padding-left: 0; padding-right: 1rem; }
html[dir="rtl"] .step { border-right: 0; border-left: 1px solid var(--line); }
html[dir="rtl"] .step:last-child { border-left: 0; }
html[dir="rtl"] .metric { border-right: 0; border-left: 1px solid rgba(255,255,255,.16); }
html[dir="rtl"] .metric:last-child { border-left: 0; }

@media (max-width: 800px) {
  .nav .wrap { min-height: 4.15rem; }
  .nav-links a:not(.call) { display:none; }
  .utility .wrap { font-size: .7rem; }
  .hero { min-height: 42rem; }
  .hero .wrap { padding-block: 6rem 3.2rem; }
  .hero::after { background: linear-gradient(90deg, rgba(5,22,41,.84), rgba(5,22,41,.45)), linear-gradient(0deg, rgba(5,22,41,.72), transparent 60%); }
  .metrics .wrap, .grid.three, .grid.four, .country-grid { grid-template-columns: repeat(2, 1fr); }
  .metric:nth-child(2) { border-right:0; }
  .metric:nth-child(3) { grid-column: 1 / -1; border-top:1px solid rgba(255,255,255,.16); }
  .section-head, .journey, .proof, .agency-grid { grid-template-columns: 1fr; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .step:nth-child(2) { border-right: 0; }
  .step:nth-child(n+3) { border-top: 1px solid var(--line); }
  html[dir="rtl"] .step:nth-child(2) { border-left: 0; }
  .journey-main { min-height: 18rem; }
}

@media (max-width: 500px) {
  .wrap { width: min(100% - 1.25rem, 1160px); }
  .brand { gap: .42rem; }
  .brand-logo { width: 2.35rem; height: 2.35rem; }
  .brand span { display:inline; font-size:.9rem; letter-spacing:.02em; }
  .metrics .wrap, .grid.three, .grid.four, .country-grid, .steps { grid-template-columns: 1fr; }
  .metric, .metric:nth-child(2), .metric:nth-child(3) { grid-column:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); border-top:0; }
  .metric:last-child { border-bottom:0; }
  .step, .step:nth-child(2), .step:nth-child(n+3) { border-right:0; border-top:0; border-bottom:1px solid var(--line); }
  .step:last-child { border-bottom:0; }
  html[dir="rtl"] .step, html[dir="rtl"] .step:nth-child(2) { border-left:0; }
  .availability .wrap { grid-template-columns:1fr; gap:.2rem; }
  html[dir="rtl"] .availability .wrap { grid-template-columns:1fr; }
  .hero-actions .btn { width:100%; }
}
