@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');

:root {
  --map-navy: #071b2b;
  --map-navy-soft: #102b3d;
  --map-gold: #c69a4b;
  --map-gold-light: #e6cf9e;
  --map-ivory: #f7f3e9;
  --map-paper: #fffdf8;
  --map-ink: #17242e;
  --map-muted: #60707b;
  --map-line: rgba(7, 27, 43, .13);
  --map-serif: 'Libre Caslon Display', Georgia, serif;
  --map-sans: 'DM Sans', Arial, sans-serif;
}

.map-home, .map-home * { box-sizing: border-box; }
.map-home { width: 100vw; margin-left: calc(50% - 50vw); overflow: hidden; color: var(--map-ink); background: var(--map-paper); font-family: var(--map-sans); }
.map-home a { text-decoration: none; }
.map-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.map-eyebrow { margin: 0 0 18px; color: var(--map-gold); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.map-heading { margin: 0; color: var(--map-navy); font: 400 clamp(34px, 5vw, 62px)/1.06 var(--map-serif); letter-spacing: -.025em; }
.map-lede { max-width: 680px; margin: 20px 0 0; color: var(--map-muted); font-size: 18px; line-height: 1.75; }
.map-section { padding: 108px 0; }
.map-section-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 48px; }
.map-text-link { color: var(--map-navy); font-size: 14px; font-weight: 700; letter-spacing: .04em; }
.map-text-link::after { content: '  →'; color: var(--map-gold); }

.map-site-header { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; border-bottom: 1px solid rgba(255,255,255,.16); color: white; font-family: var(--map-sans); }
.map-header-inner { min-height: 92px; display: flex; align-items: center; gap: 34px; }
.map-brand { display: inline-flex; align-items: center; gap: 12px; color: white; font-family: var(--map-serif); font-size: 18px; line-height: 1.05; white-space: nowrap; }
.map-brand:hover { color: white; }
.map-brand-logo { display: block; width: 168px; height: auto; }
.map-site-header .map-brand-logo-square { width: 68px !important; max-width: 68px !important; height: 68px !important; object-fit: contain; }
.map-desktop-nav { display: flex; align-items: center; justify-content: center; gap: 25px; margin-left: auto; }
.map-desktop-nav a, .map-login { color: rgba(255,255,255,.82); font-size: 12px; font-weight: 600; }
.map-desktop-nav a:hover, .map-login:hover { color: white; }
.map-header-actions { display: flex; align-items: center; gap: 18px; }
.map-header-cta { padding: 12px 16px; color: var(--map-navy); background: var(--map-gold-light); font-size: 11px; font-weight: 700; }
.map-mobile-menu { display: none; margin-left: auto; }
.map-mobile-menu summary { width: 44px; height: 44px; display: grid; align-content: center; gap: 5px; padding: 10px; border: 1px solid rgba(255,255,255,.3); cursor: pointer; list-style: none; }
.map-mobile-menu summary::-webkit-details-marker { display: none; }
.map-mobile-menu summary span { height: 1px; display: block; background: white; }
.map-mobile-menu nav { position: absolute; top: 92px; left: 15px; right: 15px; display: grid; padding: 18px 24px; background: var(--map-navy); box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.map-mobile-menu nav a { padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.12); color: white; font-size: 14px; }

.map-hero { position: relative; min-height: 720px; display: grid; align-items: center; color: white; background: var(--map-navy) url('mesopotamian-hero.webp') center/cover no-repeat; }
.map-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,20,33,.98) 0%, rgba(3,20,33,.88) 38%, rgba(3,20,33,.28) 72%, rgba(3,20,33,.08) 100%); }
.map-hero::after { content: ''; position: absolute; inset: auto 0 0; height: 4px; background: linear-gradient(90deg, var(--map-gold), transparent 70%); }
.map-hero-inner { position: relative; z-index: 1; max-width: 710px; padding: 110px 0 90px; }
.map-hero .map-eyebrow { color: var(--map-gold-light); }
.map-hero h1 { margin: 0; color: white; font: 400 clamp(48px, 7vw, 82px)/.99 var(--map-serif); letter-spacing: -.035em; }
.map-hero p { max-width: 650px; margin: 28px 0 0; color: rgba(255,255,255,.78); font-size: 19px; line-height: 1.75; }
.map-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.map-btn { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: 0 26px; border: 1px solid transparent; border-radius: 2px; font-size: 14px; font-weight: 700; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.map-btn:hover, .map-btn:focus-visible { transform: translateY(-2px); }
.map-btn-primary { color: var(--map-navy); background: var(--map-gold-light); }
.map-btn-primary:hover { color: var(--map-navy); background: white; }
.map-btn-ghost { color: white; border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.05); }
.map-btn-ghost:hover { color: white; border-color: white; background: rgba(255,255,255,.1); }

.map-trust { border-bottom: 1px solid var(--map-line); background: var(--map-ivory); }
.map-trust-inner { min-height: 92px; display: grid; grid-template-columns: 1.55fr repeat(3, 1fr); align-items: center; }
.map-trust-item { min-height: 48px; display: flex; align-items: center; gap: 12px; padding: 0 26px; border-left: 1px solid var(--map-line); color: var(--map-navy); font-size: 13px; font-weight: 700; letter-spacing: .025em; }
.map-trust-item:first-child { padding-left: 0; border-left: 0; }
.map-trust-mark { width: 8px; height: 8px; flex: 0 0 auto; transform: rotate(45deg); background: var(--map-gold); }

.map-impact { background: var(--map-navy); color: white; }
.map-impact-grid { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); gap: 0; align-items: center; }
.map-impact-copy { padding-right: 60px; }
.map-impact-copy .map-heading { color: white; font-size: clamp(34px, 4vw, 50px); }
.map-stat { min-height: 180px; display: flex; flex-direction: column; justify-content: center; padding-left: 42px; border-left: 1px solid rgba(255,255,255,.16); }
.map-stat strong { color: var(--map-gold-light); font: 400 clamp(48px, 5vw, 66px)/1 var(--map-serif); }
.map-stat span { margin-top: 12px; color: rgba(255,255,255,.65); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.map-journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.map-journal-card { position: relative; min-height: 310px; display: flex; flex-direction: column; justify-content: space-between; padding: 34px; border: 1px solid var(--map-line); background: white; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.map-journal-card::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; transform: scaleY(0); transform-origin: bottom; background: var(--map-gold); transition: transform .25s ease; }
.map-journal-card:hover { transform: translateY(-6px); border-color: rgba(198,154,75,.55); box-shadow: 0 24px 55px rgba(7,27,43,.1); }
.map-journal-card:hover::before { transform: scaleY(1); }
.map-journal-code { color: var(--map-gold); font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.map-journal-card h3 { margin: 38px 0 16px; color: var(--map-navy); font: 400 28px/1.2 var(--map-serif); }
.map-journal-card p { margin: 0; color: var(--map-muted); line-height: 1.65; }
.map-card-link { margin-top: 30px; color: var(--map-navy); font-size: 13px; font-weight: 700; }
.map-card-link::after { content: ' ↗'; color: var(--map-gold); }

.map-pathways { background: var(--map-ivory); }
.map-path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.map-path { min-height: 360px; display: flex; flex-direction: column; padding: 40px; background: var(--map-navy); }
.map-path:nth-child(2) { background: var(--map-navy-soft); }
.map-path:nth-child(3) { background: #17384b; }
.map-path-number { color: var(--map-gold-light); font: 400 34px/1 var(--map-serif); }
.map-path h3 { margin: auto 0 18px; color: white; font: 400 38px/1.1 var(--map-serif); }
.map-path p { margin: 0 0 28px; color: rgba(255,255,255,.68); line-height: 1.7; }
.map-path a { color: white; font-size: 13px; font-weight: 700; }
.map-path a::after { content: '  →'; color: var(--map-gold-light); }

.map-story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.map-story-mark { position: relative; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; color: var(--map-gold-light); background: var(--map-navy); }
.map-story-mark::before, .map-story-mark::after { content: ''; position: absolute; width: 62%; height: 62%; border: 1px solid rgba(230,207,158,.28); transform: rotate(45deg); }
.map-story-mark::after { width: 40%; height: 40%; }
.map-story-logo { position: relative; z-index: 1; width: min(76%, 310px); height: auto; }
.map-story-logo-square { width: min(70%, 310px); }
.map-story-copy p { color: var(--map-muted); font-size: 18px; line-height: 1.8; }

.map-news { background: #f1ece0; }
.map-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.map-news-card { display: flex; min-height: 310px; flex-direction: column; padding: 34px; background: white; }
.map-news-card time { color: var(--map-gold); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.map-news-card h3 { margin: 25px 0 16px; color: var(--map-navy); font: 400 26px/1.25 var(--map-serif); }
.map-news-card p { margin: 0; color: var(--map-muted); line-height: 1.65; }
.map-news-card .map-card-link { margin-top: auto; padding-top: 30px; }

.map-cta { padding: 88px 0; background: var(--map-gold-light); }
.map-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.map-cta h2 { max-width: 700px; margin: 0; color: var(--map-navy); font: 400 clamp(38px, 5vw, 60px)/1.08 var(--map-serif); }
.map-cta .map-btn { color: white; background: var(--map-navy); }

.map-footer { padding: 86px 0 0; color: rgba(255,255,255,.68); background: #031421; }
.map-footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3, 1fr); gap: 70px; }
.map-footer .map-brand { margin-bottom: 26px; }
.map-footer p { margin: 0; font-size: 14px; line-height: 1.75; }
.map-footer h2 { margin: 0 0 24px; color: var(--map-gold-light); font: 400 18px/1 var(--map-serif); }
.map-footer-grid > div:not(:first-child) a { display: block; margin: 0 0 13px; color: rgba(255,255,255,.7); font-size: 13px; }
.map-footer-grid > div:not(:first-child) a:hover { color: white; }
.map-footer-bottom { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.45); font-size: 11px; letter-spacing: .06em; }

body.map-premium-home .breadcrumb-area, body.map-premium-home .page-header { display: none !important; }
body.map-premium-home header#home, body.map-premium-home .wrap-sticky, body.map-premium-home footer.bg-dark { display: none !important; }
body.map-premium-home .default-padding { padding-top: 0; padding-bottom: 0; }
body.map-premium-home .site-main, body.map-premium-home main { overflow: visible; }

@media (max-width: 980px) {
  .map-section { padding: 82px 0; }
  .map-trust-inner { grid-template-columns: repeat(2, 1fr); padding: 18px 0; }
  .map-trust-item { min-height: 56px; padding: 0 18px; }
  .map-trust-item:nth-child(3) { border-left: 0; }
  .map-impact-grid { grid-template-columns: 1fr 1fr 1fr; }
  .map-impact-copy { grid-column: 1 / -1; padding: 0 0 42px; }
  .map-journal-grid { grid-template-columns: repeat(2, 1fr); }
  .map-path-grid { grid-template-columns: 1fr; }
  .map-path { min-height: 280px; }
  .map-story-grid { gap: 50px; }
  .map-news-grid { grid-template-columns: 1fr; }
  .map-news-card { min-height: 230px; }
  .map-desktop-nav, .map-header-actions { display: none; }
  .map-mobile-menu { display: block; }
  .map-footer-grid { grid-template-columns: 1.5fr repeat(2, 1fr); }
  .map-footer-grid > div:last-child { grid-column: 2 / -1; }
}

@media (max-width: 680px) {
  .map-shell { width: min(100% - 30px, 1180px); }
  .map-hero { min-height: 680px; background-position: 62% center; }
  .map-hero::before { background: rgba(3,20,33,.82); }
  .map-hero h1 { font-size: 49px; }
  .map-hero p { font-size: 17px; }
  .map-btn { width: 100%; }
  .map-trust-inner, .map-impact-grid, .map-journal-grid, .map-story-grid { grid-template-columns: 1fr; }
  .map-trust-item, .map-trust-item:nth-child(3) { padding: 14px 0; border-left: 0; border-bottom: 1px solid var(--map-line); }
  .map-stat { min-height: 130px; padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .map-section-head, .map-cta-inner { align-items: flex-start; flex-direction: column; }
  .map-journal-card { min-height: 270px; }
  .map-story-mark { aspect-ratio: 1.25; }
  .map-header-inner { min-height: 78px; }
  .map-brand-logo { width: 138px; }
  .map-site-header .map-brand-logo-square { width: 56px !important; max-width: 56px !important; height: 56px !important; }
  .map-mobile-menu nav { top: 78px; }
  .map-footer-grid { grid-template-columns: 1fr; gap: 42px; }
  .map-footer-grid > div:last-child { grid-column: auto; }
  .map-footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; }
}

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