
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DESIGN SYSTEM CHECKPOINT
   Direction  : Sophistication & Trust
   Depth      : Shadows only - box-shadow layering
   Surfaces   : #FDFCF9 → #F4F1E8 → #E8E4D8 (warm)
   Spacing    : 8px grid
   Borders    : None (depth via shadow, not border)
   Typography : Cormorant Garamond + DM Sans
   Accent     : #A8732E (warm gold, punctuation only)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Surfaces - warm off-white scale */
  --surf-0: #FDFCF9;
  --surf-1: #F4F1E8;
  --surf-2: #E8E4D8;
  --surf-3: #DDD8C8;

  /* Fjord - dark anchor palette */
  --fjord-95: #080F14;
  --fjord-90: #0E1C26;
  --fjord-80: #162D3C;
  --fjord-70: #1E3D50;
  --fjord-60: #285064;
  --fjord-40: #3E7490;
  --fjord-20: #8AB4C8;
  --fjord-10: #D0E4EE;

  /* Text */
  --tx-1: #181810;
  --tx-2: #42423A;
  --tx-3: #68685E;
  --tx-4: #A0A094;
  --tx-inv: rgba(255,255,255,0.90);
  --tx-inv-2: rgba(255,255,255,0.50);
  --tx-inv-3: rgba(255,255,255,0.28);

  /* Accent - single warm gold */
  --gold: #A8732E;
  --gold-2: #C99448;
  --gold-3: #E8C880;

  /* Shadow system - the depth layer */
  --sh-xs: 0 1px 3px rgba(10,20,30,.05);
  --sh-sm: 0 2px 8px rgba(10,20,30,.07), 0 1px 2px rgba(10,20,30,.04);
  --sh-md: 0 4px 16px rgba(10,20,30,.09), 0 2px 4px rgba(10,20,30,.05);
  --sh-lg: 0 8px 32px rgba(10,20,30,.11), 0 4px 8px rgba(10,20,30,.06);
  --sh-xl: 0 16px 56px rgba(10,20,30,.15), 0 8px 16px rgba(10,20,30,.08);
  --sh-card-hover: 0 24px 64px rgba(10,20,30,.16), 0 8px 20px rgba(10,20,30,.09);

  /* Spacing - 8px grid */
  --s1: 8px;  --s2: 16px; --s3: 24px; --s4: 32px;
  --s6: 48px; --s8: 64px; --s12: 96px; --s16: 128px;
}

html { scroll-behavior: smooth; }
body {
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  background: var(--surf-0);
  color: var(--tx-1);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   NAV
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  height: 64px;
  display: flex; align-items: center; justify-content: center;
  padding: 0 var(--s6);
  transition: background .45s, box-shadow .45s;
}
.nav-inner {
  width: 100%; max-width: 1240px;
  display: flex; align-items: center; justify-content: space-between;
}
#nav.phase-hero   { background: transparent; }
#nav.phase-dark   { background: rgba(14,28,38,.93); backdrop-filter: blur(16px); box-shadow: 0 1px 0 rgba(255,255,255,.06); }
#nav.phase-light  { background: rgba(253,252,249,.97); backdrop-filter: blur(12px); box-shadow: var(--sh-sm); }

.nav-logo { text-decoration: none; }
.nav-logo-name {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500; font-size: 1.2rem; letter-spacing: .05em;
  color: var(--tx-inv); transition: color .3s; display: block; line-height: 1;
}
.nav-logo-sub {
  font-size: .55rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--tx-inv-3); display: block; margin-top: 2px; transition: color .3s;
}
#nav.phase-light .nav-logo-name { color: var(--tx-1); }
#nav.phase-light .nav-logo-sub  { color: var(--tx-4); }

.nav-menu { display: flex; gap: var(--s4); list-style: none; }
.nav-menu a {
  font-size: .72rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase;
  color: var(--tx-inv-2); text-decoration: none; transition: color .2s;
}
.nav-menu a:hover { color: var(--tx-inv); }
#nav.phase-light .nav-menu a { color: var(--tx-3); }
#nav.phase-light .nav-menu a:hover { color: var(--tx-1); }

.nav-end { display: flex; align-items: center; gap: var(--s3); }

.nav-lang {
  font-size: .65rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--tx-inv-3); text-decoration: none; transition: color .2s;
  border-bottom: 1px solid rgba(255,255,255,.12); padding-bottom: 1px;
}
.nav-lang:hover { color: var(--tx-inv-2); }
#nav.phase-light .nav-lang { color: var(--tx-4); border-bottom-color: var(--surf-2); }
#nav.phase-light .nav-lang:hover { color: var(--tx-3); }

.nav-cta {
  height: 36px; padding: 0 var(--s2);
  display: inline-flex; align-items: center;
  font-size: .68rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase;
  color: #fff; text-decoration: none;
  background: var(--gold); box-shadow: var(--sh-sm);
  transition: background .2s, box-shadow .2s;
}
.nav-cta:hover { background: var(--gold-2); box-shadow: var(--sh-md); }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HERO  ·  fjord-95 background - deep arctic night
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.hero {
  min-height: 100vh;
  background: var(--fjord-95);
  position: relative; overflow: hidden;
  display: flex; flex-direction: column;
  padding: 0 var(--s6);
}

.hero-sky {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 100% 65% at 62% -5%,  rgba(30,61,80,.85) 0%, transparent 55%),
    radial-gradient(ellipse 50%  45% at  8% 35%,  rgba(22,45,60,.45) 0%, transparent 55%),
    linear-gradient(175deg, #080F14 0%, #0C1A24 22%, #122030 45%, #182C3C 68%, #1E3D50 100%);
}

/* Aurora - subtle, natural */
.aurora { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.a-band {
  position: absolute; left: -30%; right: -30%; border-radius: 50%; filter: blur(32px);
  animation: adrift var(--dur,18s) ease-in-out infinite alternate;
  animation-delay: var(--del,0s);
}
.a-band:nth-child(1){ top:18%; height:180px; background: radial-gradient(ellipse 60% 100% at 48% 50%, rgba(25,105,85,.10) 0%, transparent 65%); --dur:18s; }
.a-band:nth-child(2){ top:27%; height:110px; background: radial-gradient(ellipse 52% 100% at 55% 50%, rgba(32,82,110,.08) 0%, transparent 68%); --dur:23s; --del:-6s; }
.a-band:nth-child(3){ top:21%; height:75px;  background: radial-gradient(ellipse 45% 100% at 40% 50%, rgba(25,115,90,.06) 0%, transparent 70%); --dur:14s; --del:-9s; }
@keyframes adrift {
  from { transform: translateX(-6%) skewY(-.4deg); }
  to   { transform: translateX( 7%) skewY( .7deg); }
}

/* Stars */
.stars { position: absolute; inset: 0; pointer-events: none; }
.stars b {
  position: absolute; border-radius: 50%; background: #fff;
  animation: twinkle var(--d,5s) ease-in-out infinite alternate;
  animation-delay: var(--l,0s);
}
@keyframes twinkle {
  from { opacity: var(--a,.12); }
  to   { opacity: var(--b,.52); }
}

/* Mountains */
.hero-scape { position: absolute; bottom: 0; left: 0; right: 0; height: 60%; pointer-events: none; }
.hero-scape svg { width: 100%; height: 100%; display: block; }

/* Content */
.hero-content {
  position: relative; z-index: 10;
  flex: 1; display: flex; flex-direction: column; justify-content: center;
  padding: var(--s12) 0 var(--s6);
  max-width: 1240px; margin: 0 auto; width: 100%;
}

.hero-label {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: .62rem; font-weight: 400; letter-spacing: .28em; text-transform: uppercase;
  color: var(--gold-3); margin-bottom: var(--s2);
}
.hero-label::before { content: ''; width: 32px; height: 1px; background: var(--gold); }

.hero-h1 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: 1.05; letter-spacing: -.02em;
  color: var(--tx-inv); margin-bottom: var(--s3);
}
.hero-h1 em { font-style: italic; color: var(--gold-3); }

.hero-sub {
  font-size: .97rem; font-weight: 300; line-height: 1.78;
  color: var(--tx-inv-2); max-width: 440px; margin-bottom: var(--s8);
}

.hero-btns { display: flex; align-items: center; gap: var(--s4); }

.btn-gold {
  display: inline-flex; align-items: center; gap: 10px;
  height: 48px; padding: 0 var(--s4);
  background: var(--gold); color: #fff;
  font-family: 'DM Sans', sans-serif; font-size: .7rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  box-shadow: 0 4px 18px rgba(168,115,46,.38);
  transition: background .22s, box-shadow .22s, transform .18s;
  cursor: pointer; border: none;
}
.btn-gold:hover { background: var(--gold-2); box-shadow: 0 6px 26px rgba(168,115,46,.48); transform: translateY(-1px); }
.btn-gold .arr { display: inline-block; transition: transform .2s; }
.btn-gold:hover .arr { transform: translateX(3px); }
.lyntest-arr {
  display: inline-block;
  animation: nudge 2.4s ease-in-out infinite;
}
@keyframes nudge {
  0%   { transform: translateX(0); }
  40%  { transform: translateX(5px); }
  60%  { transform: translateX(5px); }
  100% { transform: translateX(0); }
}

.btn-text-inv {
  font-size: .7rem; font-weight: 400; letter-spacing: .13em; text-transform: uppercase;
  color: var(--tx-inv-2); text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.18); padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.btn-text-inv:hover { color: rgba(255,255,255,.82); border-color: rgba(255,255,255,.45); }

/* Stats row */
.hero-stats {
  position: relative; z-index: 10;
  background: rgba(8,15,20,.55); backdrop-filter: blur(12px);
  margin: 0 calc(-1 * var(--s6));
}
.hero-stats-inner {
  max-width: 1240px; margin: 0 auto; padding: 0 var(--s6);
  display: grid; grid-template-columns: repeat(4,1fr);
}
.stat-cell {
  padding: var(--s3) var(--s4);
  position: relative;
}
.stat-cell:first-child { padding-left: 0; }
.stat-cell:last-child { padding-right: 0; }
.stat-cell:not(:last-child)::after {
  content: '';
  position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 1px; height: 50%;
  background: linear-gradient(to bottom,
    transparent 0%,
    rgba(255,255,255,.2) 35%,
    rgba(255,255,255,.2) 65%,
    transparent 100%
  );
}
.stat-n {
  font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: 2.2rem;
  color: var(--gold-3); line-height: 1; display: block; margin-bottom: 4px;
}
.stat-l { font-size: .63rem; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: var(--tx-inv-3); }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   INTRO BAND  ·  fjord-70 - dark editorial
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.intro-band { background: var(--fjord-70); padding: var(--s12) 0; }
.intro-inner {
  max-width: 1240px; margin: 0 auto; padding: 0 var(--s6);
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--s8); align-items: center;
}
.intro-quote {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400; font-style: italic;
  font-size: clamp(1.45rem, 2.3vw, 2rem); line-height: 1.5; color: var(--tx-inv);
}
.intro-quote strong { font-style: normal; font-weight: 500; color: var(--gold-3); }
.intro-body {
  font-size: .92rem; font-weight: 300; line-height: 1.9; color: var(--tx-inv-2);
  border-left: 2px solid var(--gold); padding-left: var(--s3);
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SHARED ATOMS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pad { padding: var(--s16) 0; }
.max { max-width: 1240px; margin: 0 auto; padding: 0 var(--s6); }

.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: .62rem; font-weight: 400; letter-spacing: .24em; text-transform: uppercase;
  color: var(--tx-4); margin-bottom: var(--s2);
}
.eyebrow::before { content: ''; width: 22px; height: 1px; background: var(--gold); }
.eyebrow.light { color: rgba(255,255,255,.35); }
.eyebrow.light::before { background: var(--gold); }

.h2 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300; font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: 1.15; color: var(--tx-1);
}
.h2 em { font-style: italic; color: var(--fjord-60); }
.h2.inv { color: var(--tx-inv); }
.h2.inv em { color: rgba(255,255,255,.38); }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SERVICES  ·  surf-1 - warm sand
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.services { background: var(--surf-1); }

.svc-head-row {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: var(--s8); padding-bottom: var(--s4);
  border-bottom: 1px solid rgba(0,0,0,.07);
}
.svc-head-note {
  font-size: .88rem; font-weight: 300; line-height: 1.8; color: var(--tx-3);
  max-width: 340px; text-align: right;
}

.svc-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--s3); }

.svc-card {
  background: var(--surf-0); box-shadow: var(--sh-sm);
  overflow: hidden; cursor: pointer;
  display: flex; flex-direction: column;
  transition: box-shadow .3s, transform .3s;
}
.svc-card:hover { box-shadow: var(--sh-card-hover); transform: translateY(-5px); }

.svc-top {
  background: var(--fjord-70); padding: var(--s4) var(--s4) var(--s3);
  position: relative; overflow: hidden;
}
/* accent bar on hover */
.svc-top::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--fjord-40));
  transform: scaleX(0); transform-origin: left;
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.svc-card:hover .svc-top::after { transform: scaleX(1); }

.svc-bg-num {
  font-family: 'Cormorant Garamond', serif; font-size: 5.5rem; font-weight: 300;
  color: rgba(255,255,255,.05); position: absolute; top: -1.2rem; right: var(--s2);
  line-height: 1; user-select: none; pointer-events: none;
}
.svc-pill {
  display: inline-block; font-size: .6rem; font-weight: 500; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gold-3);
  border: 1px solid rgba(232,200,128,.28); padding: 3px 10px; margin-bottom: var(--s2);
}
.svc-title {
  font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 1.5rem;
  color: #fff; line-height: 1.25;
}

.svc-body { padding: var(--s4); flex: 1; display: flex; flex-direction: column; }
.svc-desc {
  font-size: .86rem; font-weight: 300; line-height: 1.85; color: var(--tx-2);
  flex: 1; margin-bottom: var(--s4);
}
.svc-foot {
  display: flex; align-items: flex-end; justify-content: space-between;
  padding-top: var(--s3); border-top: 1px solid rgba(0,0,0,.07);
}
.svc-price {
  font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.6rem;
  color: var(--fjord-60); line-height: 1;
}
.svc-price small {
  display: block; font-family: 'DM Sans', sans-serif;
  font-size: .62rem; font-weight: 300; letter-spacing: .1em; text-transform: uppercase;
  color: var(--tx-4); margin-top: 4px;
}
.svc-arr {
  width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
  background: var(--surf-1); color: var(--tx-4); font-size: .9rem;
  transition: background .2s, color .2s, box-shadow .2s;
  box-shadow: var(--sh-xs);
}
.svc-card:hover .svc-arr { background: var(--fjord-70); color: #fff; box-shadow: var(--sh-sm); }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PROCESS  ·  surf-0 - clean white, timeline
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.process { background: var(--surf-0); }

.proc-layout { display: grid; grid-template-columns: 340px 1fr; gap: var(--s12); }
.proc-sticky { position: sticky; top: 80px; }
.proc-sticky .h2 { margin: var(--s1) 0 var(--s3); }
.proc-desc { font-size: .9rem; font-weight: 300; line-height: 1.85; color: var(--tx-3); margin-bottom: var(--s4); }
.proc-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--fjord-70); color: #fff;
  font-size: .66rem; font-weight: 500; letter-spacing: .13em; text-transform: uppercase;
  height: 36px; padding: 0 var(--s2);
  box-shadow: var(--sh-sm);
}
.proc-badge::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #3DBE72; box-shadow: 0 0 0 0 rgba(61,190,114,.5); animation: pulse 2s ease-out infinite; }
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(61,190,114,.5); }
  70%  { box-shadow: 0 0 0 8px rgba(61,190,114,0); }
  100% { box-shadow: 0 0 0 0 rgba(61,190,114,0); }
}

.proc-steps { display: flex; flex-direction: column; position: relative; }
.proc-steps::before {
  content: ''; position: absolute; top: 28px; bottom: 28px; left: 27px;
  width: 1px; background: linear-gradient(180deg, rgba(0,0,0,.09) 0%, rgba(0,0,0,.09) 85%, transparent);
}
.proc-step { display: grid; grid-template-columns: 56px 1fr; gap: var(--s4); padding-bottom: var(--s6); }
.proc-step:last-child { padding-bottom: 0; }

.step-dot {
  width: 56px; height: 56px; flex-shrink: 0;
  background: var(--surf-0); box-shadow: var(--sh-sm);
  display: flex; align-items: center; justify-content: center;
  position: relative; z-index: 1;
  transition: background .25s, box-shadow .25s;
}
.proc-step:hover .step-dot { background: var(--fjord-70); box-shadow: var(--sh-md); }
.step-dot span {
  font-family: 'Cormorant Garamond', serif; font-size: .95rem; font-weight: 500;
  color: var(--fjord-60); transition: color .25s;
}
.proc-step:hover .step-dot span { color: #fff; }

.step-body { padding-top: 0; display: flex; flex-direction: column; justify-content: center; min-height: 56px; }
.step-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.15rem; color: var(--tx-1); margin-bottom: 6px; }
.step-text { font-size: .86rem; font-weight: 300; line-height: 1.85; color: var(--tx-2); }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   EXPERT  ·  surf-1 - warm linen, editorial quote
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.expert { background: var(--surf-1); position: relative; overflow: hidden; }
.expert::before {
  content: '\201C';
  font-family: 'Cormorant Garamond', serif; font-size: 32rem; line-height: 1; font-weight: 300;
  color: rgba(30,61,80,.05); position: absolute; top: -5rem; left: -1.5rem;
  pointer-events: none; user-select: none;
}

.expert-layout {
  display: grid; grid-template-columns: 1fr 360px; gap: var(--s12); align-items: start;
  position: relative; z-index: 1;
}

.expert-main .h2 { margin: var(--s1) 0 var(--s4); }

.expert-bq {
  font-family: 'Cormorant Garamond', serif; font-weight: 400; font-style: italic;
  font-size: clamp(1.3rem, 2vw, 1.75rem); line-height: 1.6; color: var(--tx-1);
  border-left: 3px solid var(--gold); padding-left: var(--s3);
  margin-bottom: var(--s6);
}

.cred-list { display: flex; flex-direction: column; }
.cred-row {
  display: flex; align-items: center; gap: var(--s2);
  padding: var(--s2) 0; border-bottom: 1px solid rgba(0,0,0,.07);
  font-size: .87rem; font-weight: 300; color: var(--tx-2);
}
.cred-row:first-child { border-top: 1px solid rgba(0,0,0,.07); }
.cred-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--fjord-60); flex-shrink: 0; }

/* Expert identity card - fjord dark */
.expert-card {
  background: var(--fjord-80); box-shadow: var(--sh-xl); padding: var(--s6);
  position: relative; overflow: hidden;
}
.expert-card::after {
  content: ''; position: absolute; bottom: -70px; right: -70px;
  width: 220px; height: 220px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.04);
}
.expert-card::before {
  content: ''; position: absolute; top: -40px; right: -40px;
  width: 130px; height: 130px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.03);
}
.expert-monogram {
  font-family: 'Cormorant Garamond', serif; font-size: 5rem; font-weight: 300;
  color: rgba(255,255,255,.08); line-height: 1; margin-bottom: var(--s4); position: relative; z-index: 1;
}
.expert-name { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.55rem; color: #fff; margin-bottom: 3px; position: relative; z-index: 1; }
.expert-role { font-size: .63rem; letter-spacing: .15em; text-transform: uppercase; color: var(--gold-3); margin-bottom: var(--s4); font-weight: 400; position: relative; z-index: 1; }
.expert-divider { height: 1px; background: rgba(255,255,255,.08); margin-bottom: var(--s3); }
.expert-kv {
  display: flex; gap: var(--s2); align-items: baseline;
  padding: var(--s1) 0; border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: .82rem; color: rgba(255,255,255,.45); position: relative; z-index: 1;
}
.expert-kv-label { font-size: .6rem; letter-spacing: .13em; text-transform: uppercase; color: rgba(255,255,255,.22); min-width: 60px; }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   REVIEWS  ·  surf-0 - clean white
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.reviews { background: var(--surf-0); }

.rev-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: var(--s3);
  margin-top: var(--s8);
}
.rev-card {
  background: var(--surf-1); box-shadow: var(--sh-sm); padding: var(--s4);
  transition: box-shadow .25s;
}
.rev-card:hover { box-shadow: var(--sh-md); }

.rev-n { font-family: 'Cormorant Garamond', serif; font-size: 3.5rem; font-weight: 300; color: var(--surf-3); line-height: 1; margin-bottom: var(--s2); }
.rev-stars { display: flex; margin-bottom: var(--s3); }
.rev-stars span { display: block; flex: 1; height: 1px; background: var(--gold); opacity: .55; }
.rev-quote { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-style: italic; font-size: 1.05rem; line-height: 1.78; color: var(--tx-2); margin-bottom: var(--s4); }
.rev-meta { border-top: 1px solid rgba(0,0,0,.07); padding-top: var(--s2); }
.rev-author { font-size: .75rem; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; color: var(--tx-1); }
.rev-date { font-size: .7rem; color: var(--tx-4); margin-top: 2px; }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   LOGOS  ·  surf-2 - muted separator
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.logos { background: var(--surf-2); padding: var(--s8) 0; }
.logos-inner { max-width: 1240px; margin: 0 auto; padding: 0 var(--s6); }
.logos-hdr { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s4); }
.logos-lbl { font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--tx-4); white-space: nowrap; }
.logos-hr { flex: 1; height: 1px; background: rgba(0,0,0,.09); }
.logos-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--s2); }
.logo-item { display: flex; flex-direction: column; align-items: center; gap: 6px; opacity: .38; transition: opacity .25s; }
.logo-item:hover { opacity: .65; }
.logo-box { width: 108px; height: 48px; background: var(--surf-0); box-shadow: var(--sh-xs); display: flex; align-items: center; justify-content: center; }
.logo-abbr { font-family: 'Cormorant Garamond', serif; font-size: .95rem; font-weight: 400; letter-spacing: .1em; color: var(--tx-3); }
.logo-name { font-size: .58rem; color: var(--tx-4); text-align: center; line-height: 1.4; }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CTA  ·  fjord-80 - deep, authoritative
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cta-sec { background: var(--fjord-80); padding: 80px 0; position: relative; overflow: hidden; }
.cta-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px);
  background-size: 64px 64px;
}
.cta-glow {
  position: absolute; bottom: -180px; right: -140px;
  width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(circle, rgba(168,115,46,.08) 0%, transparent 65%);
}
.cta-inner { position: relative; z-index: 1; max-width: 1240px; margin: 0 auto; padding: 0 var(--s6); }
.cta-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: .62rem; letter-spacing: .28em; text-transform: uppercase; color: var(--gold); margin-bottom: var(--s4); }
.cta-eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); }
.cta-h2 {
  font-family: 'Cormorant Garamond', serif; font-weight: 300;
  font-size: clamp(2.2rem, 4vw, 3.5rem); line-height: 1.1;
  color: var(--tx-inv); margin-bottom: var(--s3);
}
.cta-h2 em { font-style: italic; color: rgba(255,255,255,.35); }
.cta-sub { font-size: .93rem; font-weight: 300; color: var(--tx-inv-2); line-height: 1.85; max-width: 460px; margin-bottom: var(--s8); }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SEO TEXT  ·  surf-0 - reading layout
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.seo-sec { background: var(--surf-0); padding: var(--s16) 0; }
.seo-layout { display: grid; grid-template-columns: 176px 1fr; gap: var(--s12); max-width: 1240px; margin: 0 auto; padding: 0 var(--s6); }
.seo-aside { position: sticky; top: 80px; }
.seo-aside-ttl { font-size: .6rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--tx-4); margin-bottom: var(--s2); }
.seo-aside a { display: block; font-size: .8rem; font-weight: 300; color: var(--tx-4); text-decoration: none; padding: 6px 0; border-bottom: 1px solid var(--surf-1); transition: color .2s; }
.seo-aside a:hover { color: var(--tx-1); }

.seo-main { display: flex; flex-direction: column; }
.seo-blk { padding-bottom: var(--s8); margin-bottom: var(--s8); border-bottom: 1px solid var(--surf-1); }
.seo-blk:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
.seo-blk h2 { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 1.8rem; color: var(--tx-1); margin-bottom: var(--s3); line-height: 1.25; }
.seo-blk h3 { font-size: .68rem; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; color: var(--fjord-60); margin: var(--s4) 0 var(--s1); }
.seo-blk p { font-size: .9rem; font-weight: 300; line-height: 1.9; color: var(--tx-3); margin-bottom: var(--s2); }
.seo-blk p:last-child { margin-bottom: 0; }

.seo-list { list-style: none; margin-top: var(--s2); }
.seo-list li { display: flex; gap: var(--s2); align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--surf-1); font-size: .87rem; font-weight: 300; line-height: 1.75; color: var(--tx-3); }
.seo-list li::before { content: '—'; color: var(--gold); flex-shrink: 0; margin-top: 4px; }
.seo-list li div { display: flex; flex-direction: column; gap: 1px; }
.seo-list li strong { color: var(--tx-1); font-weight: 500; display: block; line-height: 1.5; }
.seo-list li span { display: block; }

.faq-item { border-top: 1px solid var(--surf-1); }
.faq-item:last-child { border-bottom: 1px solid var(--surf-1); }
.faq-item summary { padding: var(--s2) 0; font-size: .9rem; font-weight: 400; color: var(--tx-2); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: var(--s4); transition: color .2s; }
.faq-item summary:hover { color: var(--tx-1); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 300; color: var(--tx-4); flex-shrink: 0; transition: transform .2s; }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item p { padding: 0 0 var(--s2); font-size: .87rem; font-weight: 300; color: var(--tx-3); line-height: 1.9; }

.ref-row { display: grid; grid-template-columns: repeat(3,1fr); margin-top: var(--s3); gap: 1px; background: var(--surf-2); box-shadow: var(--sh-sm); }
.ref-card { padding: var(--s3); background: var(--surf-0); text-decoration: none; display: flex; flex-direction: column; gap: 5px; transition: background .2s; }
.ref-card:hover { background: var(--surf-1); }
.ref-ttl { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.05rem; color: var(--tx-1); }
.ref-desc { font-size: .77rem; font-weight: 300; color: var(--tx-3); line-height: 1.7; flex: 1; }
.ref-lnk { font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; color: var(--fjord-60); margin-top: 8px; font-weight: 400; }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CONTACT  ·  surf-1 - recessed, form elevated
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.contact { background: var(--surf-1); }
.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s8); max-width: 1240px; margin: 0 auto; }
.contact-info .h2 { margin: var(--s1) 0 var(--s3); }
.contact-info p { font-size: .88rem; font-weight: 300; color: var(--tx-2); line-height: 1.85; margin-bottom: var(--s4); }
.contact-rows { display: flex; flex-direction: column; }
.c-row { display: flex; gap: var(--s3); align-items: center; padding: var(--s2) 0; border-bottom: 1px solid rgba(0,0,0,.07); font-size: .87rem; font-weight: 300; color: var(--tx-2); }
.c-row:first-child { border-top: 1px solid rgba(0,0,0,.07); }
.c-lbl { font-size: .61rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tx-4); min-width: 58px; }
.c-link { color: var(--tx-2); text-decoration: none; border-bottom: 1px solid rgba(0,0,0,.12); transition: color .2s, border-color .2s; }
.c-link:hover { color: var(--gold); border-color: var(--gold); }

/* Ensure fonts render with fallback while loading */
@font-face { font-display: swap; }

.contact-form { background: var(--surf-0); box-shadow: var(--sh-xl); padding: var(--s6); }
.fg { margin-bottom: var(--s3); }
.fl { display: block; font-size: .62rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--tx-4); margin-bottom: 6px; }
.fi, .ft, .fs {
  width: 100%; background: var(--surf-1);
  border: none; border-bottom: 1px solid rgba(0,0,0,.1);
  padding: 12px var(--s2); font-family: 'DM Sans', sans-serif;
  font-size: .88rem; font-weight: 300; color: var(--tx-1); outline: none;
  transition: border-color .2s, background .2s, box-shadow .2s; appearance: none;
}
.fi:focus, .ft:focus, .fs:focus {
  border-bottom-color: var(--fjord-60); background: var(--surf-0);
  box-shadow: 0 0 0 3px rgba(40,80,100,.08);
}
.fi::placeholder, .ft::placeholder { color: var(--tx-4); }
.ft { resize: vertical; min-height: 96px; }
.fs option { background: var(--surf-0); }

.btn-submit {
  width: 100%; height: 48px; background: var(--fjord-70); color: #fff; border: none;
  font-family: 'DM Sans', sans-serif; font-size: .7rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
  box-shadow: var(--sh-md); transition: background .2s, box-shadow .2s;
}
.btn-submit:hover { background: var(--fjord-90); box-shadow: var(--sh-lg); }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FOOTER  ·  fjord-95 - anchors the page
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
footer {
  background: var(--fjord-95);
  padding: var(--s4) 0;
  display: flex; align-items: center; justify-content: center;
}
.footer-inner {
  width: 100%; max-width: 1240px; padding: 0 var(--s6);
  display: flex; align-items: center; justify-content: space-between;
}
.footer-brand { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 1rem; letter-spacing: .08em; color: rgba(255,255,255,.65); }
.footer-links { display: flex; gap: var(--s4); list-style: none; }
.footer-links a { font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.45); text-decoration: none; transition: color .2s; }
.footer-links a:hover { color: rgba(255,255,255,.8); }
.footer-copy { font-size: .65rem; color: rgba(255,255,255,.4); }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DEEPLINK OFFSET - compensate for fixed nav
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
section[id] { scroll-margin-top: 80px; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SCROLL REVEAL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1); }
.reveal.in { opacity: 1; transform: none; }


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   GUIDE PROMO  ·  fjord-80 - editorial band
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.guide-promo {
  background: var(--fjord-80);
  padding: var(--s12) 0;
  position: relative; overflow: hidden;
}
.guide-promo::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 80% at 90% 50%, rgba(168,115,46,.07) 0%, transparent 60%);
  pointer-events: none;
}
.guide-promo-inner {
  max-width: 1240px; margin: 0 auto; padding: 0 var(--s6);
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--s8); align-items: center;
  position: relative; z-index: 1;
}
.guide-promo-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: .62rem; font-weight: 400; letter-spacing: .24em; text-transform: uppercase;
  color: var(--gold); margin-bottom: var(--s2);
}
.guide-promo-eyebrow::before { content: ''; width: 22px; height: 1px; background: var(--gold); }
.guide-promo-h {
  font-family: 'Cormorant Garamond', serif; font-weight: 300;
  font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.15;
  color: var(--tx-inv); margin-bottom: var(--s3);
}
.guide-promo-sub {
  font-size: .9rem; font-weight: 300; line-height: 1.85;
  color: var(--tx-inv-2); margin-bottom: var(--s6); max-width: 420px;
}
.guide-promo-btn {
  display: inline-flex; align-items: center; gap: 10px;
  height: 46px; padding: 0 var(--s4);
  background: var(--gold); color: #fff;
  font-size: .7rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
  text-decoration: none; box-shadow: 0 4px 18px rgba(168,115,46,.38);
  transition: background .2s, box-shadow .2s;
}
.guide-promo-btn:hover { background: var(--gold-2); box-shadow: 0 6px 24px rgba(168,115,46,.48); }
.guide-promo-btn span { transition: transform .2s; }
.guide-promo-btn:hover span { transform: translateX(3px); }

/* Decision tree SVG */
.guide-promo-right { display: flex; align-items: center; justify-content: center; }
.guide-para {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(11rem, 20vw, 18rem);
  font-weight: 300; line-height: 1;
  background: linear-gradient(145deg, rgba(168,115,46,.55) 0%, rgba(255,255,255,.06) 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  user-select: none;
  transform: rotate(-12deg) translateY(10px);
  display: block;
  filter: drop-shadow(0 0 40px rgba(168,115,46,.18));
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CALLBACK WIDGET
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cb-trigger {
  position: fixed; bottom: var(--s4); right: var(--s4); z-index: 300;
  display: flex; align-items: center; gap: var(--s2);
  background: var(--fjord-80); color: #fff;
  padding: var(--s2) var(--s3); max-width: 260px;
  box-shadow: 0 4px 24px rgba(0,0,0,.28);
  cursor: pointer; border: none;
  transition: box-shadow .2s, transform .2s;
}
.cb-trigger:hover { box-shadow: 0 8px 32px rgba(0,0,0,.38); transform: translateY(-2px); }

.cb-pulse {
  width: 10px; height: 10px; border-radius: 50%; background: #3DBE72; flex-shrink: 0;
  animation: cbpulse 2s ease-in-out infinite;
}
@keyframes cbpulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(61,190,114,.7); }
  50%       { box-shadow: 0 0 0 8px rgba(61,190,114,0); }
}

.cb-trigger-text { display: flex; flex-direction: column; gap: 3px; }
.cb-trigger-title { font-size: .75rem; font-weight: 400; letter-spacing: .04em; color: #fff; line-height: 1.3; }
.cb-trigger-sub   { font-size: .65rem; font-weight: 300; color: rgba(255,255,255,.5); letter-spacing: .02em; }

.cb-overlay {
  display: none; position: fixed; inset: 0; z-index: 400;
  background: rgba(0,0,0,.5); backdrop-filter: blur(4px);
  align-items: center; justify-content: center;
}
.cb-overlay.open { display: flex; }

.cb-popup {
  background: var(--surf-0); width: 100%; max-width: 420px;
  box-shadow: 0 24px 64px rgba(0,0,0,.22);
  overflow: hidden;
}

.cb-popup-head {
  background: var(--fjord-80); padding: var(--s4) var(--s4) var(--s3);
  display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s3);
}
.cb-popup-title { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 1.5rem; color: #fff; line-height: 1.2; }
.cb-popup-sub   { font-size: .78rem; font-weight: 300; color: rgba(255,255,255,.55); margin-top: 4px; }
.cb-close {
  background: none; border: none; color: rgba(255,255,255,.5);
  font-size: 1rem; cursor: pointer; padding: 4px; flex-shrink: 0; transition: color .2s;
}
.cb-close:hover { color: #fff; }

.cb-popup-body { padding: var(--s4); display: flex; flex-direction: column; gap: var(--s3); }

.cb-field { display: flex; flex-direction: column; gap: 6px; }
.cb-label { font-size: .65rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--tx-4); }
.cb-input {
  width: 100%; padding: 10px var(--s2);
  background: var(--surf-1); border: 1px solid var(--surf-2);
  font-family: 'DM Sans', sans-serif; font-size: .9rem; font-weight: 300; color: var(--tx-1);
  transition: border-color .2s;
  box-sizing: border-box;
}
.cb-input:focus { outline: none; border-color: var(--gold); }

.cb-submit {
  width: 100%; height: 48px; background: var(--gold); color: #fff; border: none;
  font-family: 'DM Sans', sans-serif; font-size: .72rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
  transition: background .2s, box-shadow .2s;
  box-shadow: 0 4px 16px rgba(168,115,46,.32);
  margin-top: var(--s1);
}
.cb-submit:hover { background: var(--gold-2); box-shadow: 0 6px 22px rgba(168,115,46,.44); }

.cb-success { display: none; padding: var(--s6) var(--s4); text-align: center; }
.cb-success.show { display: block; }
.cb-success-icon  { font-size: 2rem; color: var(--gold); margin-bottom: var(--s2); }
.cb-success-title { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 400; color: var(--tx-1); margin-bottom: var(--s2); }
.cb-success-text  { font-size: .85rem; font-weight: 300; color: var(--tx-3); line-height: 1.7; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 1024px) {
  #nav { padding: 0 var(--s3); }
  .nav-menu { display: none; }
  .nav-cta { display: none; }
  .nav-lang { display: none; }
  .guide-promo { padding: var(--s8) 0; }
  .guide-promo-inner { padding: 0 var(--s3); }
  .guide-promo-inner { grid-template-columns: 1fr; gap: var(--s6); }
  .guide-promo-right { display: none; }
  .hero-stats-inner { grid-template-columns: 1fr 1fr; }
  .hero-stats { border-top: none; }
  .intro-band { padding: var(--s8) 0; }
  .intro-inner { padding: 0 var(--s3); }
  .intro-inner { grid-template-columns: 1fr; gap: var(--s4); }
  .pad { padding: var(--s12) 0; }
  .max { padding: 0 var(--s3); }
  .svc-head-row { flex-direction: column; align-items: flex-start; gap: var(--s2); }
  .svc-head-note { text-align: left; max-width: 100%; }
  .svc-grid, .rev-grid { grid-template-columns: 1fr; }
  .proc-layout { grid-template-columns: 1fr; }
  .proc-sticky { position: static; }
  .expert-layout, .contact-layout { grid-template-columns: 1fr; gap: var(--s6); }
  .seo-layout { grid-template-columns: 1fr; }
  .seo-aside { display: none; }
  .ref-row { grid-template-columns: 1fr; gap: 1px; }
  .logos { padding: var(--s6) 0; }
  .logos-inner { padding: 0 var(--s3); }
  .cta-sec { padding: var(--s12) 0; }
  .cta-inner { padding: 0 var(--s3); }
  footer { padding: var(--s4) 0; }
  .footer-inner { padding: 0 var(--s3); }
  .footer-inner { flex-direction: column; gap: var(--s2); text-align: center; }

  .footer-links { flex-wrap: wrap; justify-content: center; }
  .hamburger { display: flex; }
  .hero-label { display: none; }
}

@media (max-width: 640px) {
  .hero-h1 { font-size: clamp(2.8rem, 12vw, 4rem); }
  .hero-content { padding: 80px var(--s3) var(--s8); justify-content: flex-end; }
  .hero { padding: 0 var(--s3); }
  .hero-stats-inner { grid-template-columns: 1fr 1fr; gap: 1px; }
  .stat-cell { padding: var(--s3); }
  .hero-btns { flex-direction: column; align-items: flex-start; gap: var(--s2); }
  .logos-row { justify-content: center; gap: var(--s3); }
  .logo-box { width: 88px; height: 40px; }
  .cb-trigger { max-width: 220px; }
  .cb-popup { max-width: 100%; }
  .cb-overlay { padding: var(--s2); align-items: flex-end; }
  .cta-h2 { font-size: clamp(2rem, 8vw, 3rem); }
}

/* Hamburger */
.hamburger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 36px; height: 36px; background: none; border: none; cursor: pointer; padding: 4px;
}
.hamburger span {
  display: block; height: 1.5px; background: rgba(255,255,255,.7);
  transition: transform .25s, opacity .25s;
}
#nav.phase-light .hamburger span { background: var(--tx-2); }

/* Mobile nav drawer */
.mobile-nav {
  display: none; position: fixed; inset: 0; z-index: 190;
  background: var(--fjord-90); flex-direction: column;
  padding: 80px var(--s6) var(--s6);
}
.mobile-nav.open { display: flex; }
.mobile-nav a {
  font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 300;
  color: rgba(255,255,255,.8); text-decoration: none; padding: var(--s2) 0;
  border-bottom: 1px solid rgba(255,255,255,.07); transition: color .2s;
}
.mobile-nav a:hover { color: var(--gold); }
.mobile-nav .mobile-cta {
  margin-top: var(--s4); background: var(--gold); color: #fff;
  font-family: 'DM Sans', sans-serif; font-size: .75rem; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase; text-align: center;
  padding: 14px; text-decoration: none; border: none;
}

.cookie-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 400;
  background: var(--fjord-90);
  border-top: 1px solid rgba(255,255,255,.07);
  padding: var(--s3) var(--s6);
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s4); flex-wrap: wrap;
  transform: translateY(100%);
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.cookie-bar.visible { transform: translateY(0); }
.cookie-bar-text {
  font-size: .8rem; font-weight: 300; color: rgba(255,255,255,.55);
  line-height: 1.6; max-width: 640px;
}
.cookie-bar-text a { color: rgba(255,255,255,.7); text-decoration: underline; text-underline-offset: 3px; }
.cookie-bar-btns { display: flex; gap: var(--s2); flex-shrink: 0; }
.cookie-accept {
  height: 38px; padding: 0 var(--s3);
  background: var(--gold); color: #fff; border: none; cursor: pointer;
  font-family: 'DM Sans', sans-serif; font-size: .68rem; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase;
  transition: background .2s;
}
.cookie-accept:hover { background: var(--gold-2); }
.cookie-decline {
  height: 38px; padding: 0 var(--s3);
  background: transparent; color: rgba(255,255,255,.4); border: 1px solid rgba(255,255,255,.12);
  cursor: pointer; font-family: 'DM Sans', sans-serif; font-size: .68rem; font-weight: 400;
  letter-spacing: .1em; text-transform: uppercase;
  transition: color .2s, border-color .2s;
}
.cookie-decline:hover { color: rgba(255,255,255,.7); border-color: rgba(255,255,255,.25); }
@media (max-width: 640px) {
  .cookie-bar { padding: var(--s3); flex-direction: column; align-items: flex-start; }
  .cookie-bar-btns { width: 100%; }
  .cookie-accept, .cookie-decline { flex: 1; }
}

