/* ============================================================
   THE MOVE ABROAD INDEX — v2 "Atlas"
   Modern, photography-led. Schibsted Grotesk + Space Mono.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700;800;900&family=Space+Mono:wght@400;700&display=swap');

:root {
  --bg:        oklch(0.987 0.003 250);
  --bg-2:      oklch(0.966 0.005 250);
  --bg-3:      oklch(0.945 0.006 250);
  --ink:       oklch(0.185 0.014 262);
  --ink-2:     oklch(0.30 0.014 262);
  --ink-soft:  oklch(0.46 0.012 262);
  --ink-faint: oklch(0.60 0.010 262);
  --line:      oklch(0.185 0.014 262 / 0.11);
  --line-2:    oklch(0.185 0.014 262 / 0.18);
  --accent:    oklch(0.515 0.171 264);
  --accent-d:  oklch(0.445 0.165 264);
  --accent-t:  oklch(0.515 0.171 264 / 0.10);
  --sun:       oklch(0.74 0.15 65);          /* warm secondary for data only */
  --good:      oklch(0.56 0.12 158);

  --sans: 'Schibsted Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --mono: 'Space Mono', ui-monospace, monospace;

  --maxw: 1280px;
  --gut: clamp(20px, 4vw, 56px);
  --r-card: 20px;
  --r-btn: 11px;
  --shadow: 0 24px 60px -30px oklch(0.185 0.014 262 / 0.5);
  --shadow-sm: 0 12px 30px -18px oklch(0.185 0.014 262 / 0.4);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: -0.005em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
h1,h2,h3,h4 { margin: 0; font-weight: 700; letter-spacing: -0.025em; line-height: 1.04; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding-inline: var(--gut); }

/* eyebrow / mono label */
.ey {
  font-family: var(--mono); font-size: 12px; font-weight: 400;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-faint);
}
.ey--accent { color: var(--accent); }

.code {
  font-family: var(--mono); font-weight: 700; font-size: 0.78em;
  letter-spacing: 0.02em; background: var(--bg-3); color: var(--ink-2);
  padding: 0.2em 0.45em; border-radius: 5px; display: inline-block; line-height: 1.3;
}

/* buttons */
.btn {
  font-family: var(--sans); font-size: 15px; font-weight: 600; letter-spacing: -0.01em;
  border: 0; background: var(--ink); color: var(--bg);
  padding: 0.82em 1.5em; border-radius: var(--r-btn);
  cursor: pointer; text-decoration: none;
  display: inline-flex; align-items: center; gap: 0.5em; white-space: nowrap;
  transition: transform .14s ease, background .18s ease, box-shadow .18s ease;
}
.btn:hover { background: var(--accent); transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.btn:active { transform: translateY(0); }
.btn--accent { background: var(--accent); }
.btn--accent:hover { background: var(--accent-d); }
.btn--ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line-2); }
.btn--ghost:hover { background: var(--ink); color: var(--bg); box-shadow: none; }
.btn--lg { padding: 1.05em 1.9em; font-size: 16px; }
.btn--light { background: #fff; color: var(--ink); }
.btn--light:hover { background: var(--accent); color: #fff; }

::selection { background: var(--accent); color: #fff; }

/* header */
.head {
  position: sticky; top: 0; z-index: 60;
  background: oklch(0.987 0.003 250 / 0.72);
  backdrop-filter: saturate(1.4) blur(14px);
  border-bottom: 1px solid var(--line);
}
.head--over { background: transparent; border-color: transparent; }
.head__row { display: flex; align-items: center; justify-content: space-between; height: 70px; }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; color: inherit; font-weight: 700; letter-spacing: -0.03em; font-size: 18px; }
.brand__mark { width: 30px; height: 30px; border-radius: 9px; background: var(--ink); color: var(--bg); display: grid; place-items: center; font-size: 16px; font-weight: 800; }
.head--over .brand { color: #fff; }
.head--over .brand__mark { background: #fff; color: var(--ink); }
.nav { display: flex; align-items: center; gap: clamp(16px, 2.4vw, 34px); }
.nav a:not(.btn) { text-decoration: none; color: var(--ink-soft); font-size: 15px; font-weight: 500; }
.nav a:not(.btn):hover { color: var(--ink); }
.head--over .nav a:not(.btn) { color: oklch(1 0 0 / 0.82); }
.head--over .nav a:not(.btn):hover { color: #fff; }
.head--over .nav .btn { background: #fff; color: var(--ink); }
.head--over .nav .btn:hover { background: var(--accent); color: #fff; }
@media (max-width: 760px) { .nav a:not(.btn) { display: none; } }

/* footer */
.foot { background: var(--ink); color: oklch(1 0 0 / 0.72); margin-top: 0; padding: 72px 0 40px; }
.foot__grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 36px; }
.foot__brand .brand { color: #fff; font-size: 22px; margin-bottom: 16px; }
.foot__brand p { max-width: 32ch; font-size: 15px; margin: 0; }
.foot h4 { color: oklch(1 0 0 / 0.5); font-family: var(--mono); font-size: 12px; font-weight: 400; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 16px; }
.foot ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; }
.foot a { text-decoration: none; color: oklch(1 0 0 / 0.72); font-size: 15px; }
.foot a:hover { color: #fff; }
.foot__legal { display: flex; justify-content: space-between; margin-top: 52px; padding-top: 26px; border-top: 1px solid oklch(1 0 0 / 0.14); font-family: var(--mono); font-size: 11px; letter-spacing: 0.04em; color: oklch(1 0 0 / 0.45); text-transform: uppercase; }
@media (max-width: 820px) { .foot__grid { grid-template-columns: 1fr 1fr; } .foot__legal { flex-direction: column; gap: 10px; } }

.tnum { font-variant-numeric: tabular-nums; }
.mono { font-family: var(--mono); }
