/* ============================================================
   ANKA Capital — Quiet Luxury / Editorial / Institutional
   ============================================================ */
:root {
  /* Core palette from brief */
  --charcoal: #0E0E0E;
  --graphite: #161616;
  --graphite-2: #1B1B1B;
  --graphite-3: #221F1B;
  --warm-stone: #D9D2C5;
  --off-white: #F5F3EE;
  --bronze: #9E7C4F;
  --bronze-soft: #B8956A;
  --bronze-deep: #6F5634;
  --olive-grey: #6E6A5E;

  --ink: #0E0E0E;
  --muted-light: #8a8377;
  --muted-dark: #8c8576;
  --hairline: rgba(217, 210, 197, 0.12);
  --hairline-soft: rgba(217, 210, 197, 0.06);
  --hairline-strong: rgba(217, 210, 197, 0.22);

  /* Light-section palette (used by Lifecycle / Navigator / Insights) */
  --cream: #F1ECE2;            /* slightly warmer than --off-white, gives sections a different beat */
  --cream-deep: #E8E1D2;       /* card backgrounds on cream sections */
  --ink-mid: #4A463E;          /* secondary copy on cream */
  --ink-soft: #7A7466;         /* tertiary / labels on cream */
  --hairline-dark: rgba(14, 14, 14, 0.10);
  --hairline-dark-strong: rgba(14, 14, 14, 0.18);

  --serif: 'Cormorant Garamond', 'Canela', 'Editorial New', Georgia, serif;
  --sans: 'Inter', 'Neue Haas Grotesk', 'General Sans', -apple-system, system-ui, sans-serif;
}

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

html { scroll-behavior: smooth; }

body {
  background: var(--charcoal);
  color: var(--off-white);
  font-family: var(--sans);
  font-weight: 300;
  font-size: 14px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern","ss01","tnum";
  overflow-x: hidden;
}

img { display: block; max-width: 100%; }
button { font: inherit; }

.serif { font-family: var(--serif); font-weight: 300; }

/* Layout */
.container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 56px;
}
@media (max-width: 768px) { .container { padding: 0 24px; } }

/* Section primitives */
.section { padding: 100px 0; }
.section-dark { background: var(--charcoal); color: var(--off-white); }

.eyebrow {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 400;
  color: var(--bronze);
}
.eyebrow.muted { color: #8e8779; }

.hairline { height: 1px; background: var(--hairline); width: 100%; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 24px;
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  background: transparent;
  color: inherit;
  transition: all 0.25s ease;
  min-width: 240px;
}
.btn .btn-arrow { transition: transform 0.25s ease; }
.btn:hover .btn-arrow { transform: translateX(4px); }

.btn-primary {
  background: var(--bronze);
  color: #fff;
  border-color: var(--bronze);
}
.btn-primary:hover { background: var(--bronze-deep); border-color: var(--bronze-deep); }

.btn-ghost {
  color: var(--off-white);
  border-color: rgba(245,243,238,0.18);
  background: transparent;
}
.btn-ghost:hover { border-color: var(--bronze); color: var(--bronze-soft); }

.btn-line {
  border: 1px solid rgba(245,243,238,0.18);
  padding: 14px 22px;
  min-width: 0;
  font-size: 10px;
  letter-spacing: 0.28em;
}
.btn-line:hover { border-color: var(--bronze); color: var(--bronze-soft); }

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 30;
  padding: 22px 0;
}
.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 48px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--off-white);
  text-decoration: none;
}
.brand-mark { width: 38px; height: 38px; flex-shrink: 0; }
.brand-text { font-family: var(--serif); line-height: 1; }
.brand-text .name {
  display: block;
  font-size: 19px;
  letter-spacing: 0.18em;
  font-weight: 500;
}
.brand-text .sub {
  display: block;
  font-family: var(--sans);
  font-size: 9px;
  letter-spacing: 0.42em;
  margin-top: 5px;
  color: #c2bba9;
  font-weight: 400;
}

.nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 38px;
}
.nav a {
  color: #d8d2c5;
  text-decoration: none;
  font-size: 10.5px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  font-weight: 400;
  padding: 6px 0;
  transition: color 0.2s ease;
  position: relative;
}
.nav a:hover { color: var(--bronze-soft); }
.nav a.active { color: var(--off-white); }
.nav a.active::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 1px;
  background: var(--bronze);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.lang-dd {
  position: relative;
}
.lang-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  color: #d8d2c5;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 400;
  cursor: pointer;
  padding: 8px 4px;
}
.lang-trigger:hover { color: var(--bronze-soft); }
.lang-trigger svg { transition: transform 0.2s; }
.lang-trigger.open svg { transform: rotate(180deg); }
.lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: rgba(20,18,15,0.96);
  border: 1px solid var(--hairline-strong);
  backdrop-filter: blur(20px);
  min-width: 160px;
  z-index: 40;
  padding: 6px 0;
}
.lang-menu a,
.lang-menu button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 18px;
  background: transparent;
  border: none;
  color: #d8d2c5;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s;
  outline: none;
}
.lang-menu a:hover,
.lang-menu button:hover { background: rgba(158,124,79,0.1); color: var(--bronze-soft); }
.lang-menu a:focus-visible,
.lang-menu button:focus-visible { background: rgba(158,124,79,0.12); color: var(--bronze-soft); }
.lang-menu a.active,
.lang-menu button.active { color: var(--bronze); }
.lang-menu button.soon {
  color: #5d574d;
  cursor: not-allowed;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lang-menu button.soon:hover { background: transparent; color: #5d574d; }
.soon-tag {
  font-size: 8px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--bronze);
  border: 1px solid var(--bronze);
  padding: 2px 6px;
  margin-left: 12px;
}

/* Insights filter chips */
.insights-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 48px;
}
.filter-chip {
  background: transparent;
  border: 1px solid var(--hairline-strong);
  color: #c2bba9;
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 400;
  padding: 10px 18px;
  cursor: pointer;
  transition: all 0.2s;
}
.filter-chip:hover { color: var(--bronze-soft); border-color: var(--bronze); }
.filter-chip.active {
  background: var(--bronze);
  border-color: var(--bronze);
  color: #fff;
}

/* 4-col insights grid for the index */
.insights-grid.wide {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 32px;
}

/* Related research */
.article-related {
  background: var(--charcoal);
  padding: 100px 0 120px;
  border-top: 1px solid var(--hairline-soft);
}

.hamburger {
  width: 40px; height: 40px;
  border: 1px solid var(--hairline-strong);
  background: transparent;
  color: var(--off-white);
  cursor: pointer;
  /* hidden on desktop; the media query (max-width: 768px) reveals it */
  display: none;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, background 0.2s;
}
.hamburger:hover { border-color: var(--bronze); }
.hamburger.is-open { background: rgba(158, 124, 79, 0.14); border-color: var(--bronze); }

/* ============================================================
   MOBILE DRAWER (opened by the hamburger on <= 768px)
   ============================================================ */
.mobile-drawer {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 60;
  background: rgba(14, 14, 14, 0.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  padding: 96px 22px 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* hidden by default — only used by the small breakpoint */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-12px);
  transition: opacity 0.28s ease, transform 0.28s ease, visibility 0s linear 0.28s;
}
.mobile-drawer.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity 0.28s ease, transform 0.28s ease, visibility 0s linear 0s;
}

.mobile-drawer-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  border: 1px solid var(--hairline-strong);
  background: transparent;
  color: var(--off-white);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, background 0.2s;
}
.mobile-drawer-close:hover { border-color: var(--bronze); background: rgba(158,124,79,0.14); }

.mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 24px;
}
.mobile-nav-link {
  display: block;
  padding: 18px 0;
  border-bottom: 1px solid var(--hairline);
  color: var(--off-white);
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: color 0.2s, padding-left 0.2s;
}
.mobile-nav-link:hover,
.mobile-nav-link.active { color: var(--bronze-soft); padding-left: 6px; }

.mobile-nav-cta {
  margin-top: 28px;
  padding: 18px 22px;
  background: var(--bronze);
  color: #ffffff;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--bronze);
  transition: background 0.2s, color 0.2s;
}
.mobile-nav-cta:hover { background: transparent; color: var(--bronze); }

.mobile-langs {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 24px 0 12px;
  border-top: 1px solid var(--hairline);
  margin-top: 28px;
}
.mobile-lang {
  flex: 1;
  min-width: 0;
  text-align: center;
  padding: 12px 4px;
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #c2bba9;
  text-decoration: none;
  border: 1px solid var(--hairline-strong);
  transition: all 0.2s;
}
.mobile-lang:hover { color: var(--off-white); border-color: var(--bronze-soft); }
.mobile-lang.active { color: var(--bronze); border-color: var(--bronze); background: rgba(158, 124, 79, 0.14); }

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative;
  min-height: 920px;
  overflow: hidden;
  isolation: isolate;
  background: var(--charcoal);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(14,14,14,0.90) 0%, rgba(14,14,14,0.68) 38%, rgba(14,14,14,0.40) 60%, rgba(14,14,14,0.45) 100%),
    url('https://images.unsplash.com/photo-1486325212027-8081e485255e?w=2200&q=85&auto=format&fit=crop') center/cover no-repeat;
}
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse 60% 50% at 70% 40%, rgba(158,124,79,0.07) 0%, transparent 70%),
    linear-gradient(180deg, transparent 70%, rgba(14,14,14,0.6) 100%);
  pointer-events: none;
}

.hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  align-items: center;
  min-height: 920px;
  gap: 80px;
  padding-top: 180px;
  padding-bottom: 100px;
}

.hero-eyebrow {
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--bronze-soft);
  font-weight: 400;
  margin-bottom: 40px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.hero-eyebrow::before {
  content: '';
  width: 28px; height: 1px;
  background: var(--bronze);
  display: inline-block;
}

.hero h1 {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(50px, 5.8vw, 92px);
  line-height: 0.98;
  letter-spacing: -0.012em;
  color: var(--off-white);
  margin-bottom: 0;
}
.hero h1 .dot { color: var(--bronze); }

.hero-lede {
  margin: 40px 0 56px;
  font-size: 15px;
  line-height: 1.7;
  color: #b8b1a2;
  font-weight: 300;
  max-width: 460px;
}

.hero-ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* Right column: status rows */
.hero-status {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 100%;
  max-width: 340px;
  justify-self: end;
}
.status-row {
  position: relative;
  padding-bottom: 22px;
}
.status-row::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: var(--hairline);
}
.status-row .label {
  font-size: 10px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8a8377;
  font-weight: 400;
  margin-bottom: 14px;
}
.status-row .value {
  font-family: var(--serif);
  font-size: 22px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--off-white);
  font-weight: 400;
}

/* ============================================================
   LIFECYCLE (timeline)
   ============================================================ */
.lifecycle {
  background: var(--cream);
  color: var(--ink);
  padding: 90px 0 120px;
  position: relative;
  border-top: 1px solid var(--hairline-dark);
}

.lifecycle-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 80px;
  gap: 40px;
}
.lifecycle-header .left {
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--ink-soft);
  font-weight: 400;
}
.lifecycle-header .right {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bronze-deep);
  font-weight: 400;
}

.lifecycle-timeline {
  position: relative;
}
.timeline {
  position: relative;
  padding: 0 20px;
}
.timeline-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
}

.timeline-line {
  position: absolute;
  top: 88px;
  left: calc(100% / 14);
  right: calc(100% / 14);
  height: 1px;
  background: var(--hairline-dark-strong);
}

.tl-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  cursor: pointer;
  padding-top: 0;
}
.tl-num {
  font-family: var(--serif);
  font-size: 18px;
  letter-spacing: 0.1em;
  color: var(--ink-soft);
  font-weight: 400;
  margin-bottom: 10px;
  transition: color 0.3s;
}
.tl-title {
  font-family: var(--sans);
  font-size: 10.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--ink);
  min-height: 28px;
  line-height: 1.4;
  transition: color 0.3s;
}
.tl-node {
  position: relative;
  margin-top: 18px;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--cream-deep);
  border: 1px solid var(--hairline-dark-strong);
  transition: all 0.3s;
}
.tl-node::after {
  content: '';
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 1px solid transparent;
  transition: all 0.3s;
}
.tl-stage:hover .tl-node,
.tl-stage.active .tl-node {
  background: var(--bronze);
  border-color: var(--bronze);
  box-shadow: 0 0 24px rgba(158,124,79,0.55);
}
.tl-stage.active .tl-node::after {
  border-color: rgba(158,124,79,0.45);
}
.tl-stage.active .tl-num,
.tl-stage:hover .tl-num { color: var(--bronze-deep); }
.tl-icon {
  margin-top: 40px;
  color: var(--bronze);
  width: 40px; height: 40px;
  opacity: 0.85;
  transition: opacity 0.3s, transform 0.3s;
}
.tl-stage:hover .tl-icon,
.tl-stage.active .tl-icon { opacity: 1; transform: translateY(-2px); }

/* Floating card */
.tl-card {
  position: absolute;
  top: 130px;
  left: 50%;
  transform: translateX(-50%);
  width: 320px;
  background: #FFFFFF;
  border: 1px solid var(--hairline-dark-strong);
  padding: 26px 28px 22px;
  z-index: 5;
  box-shadow: 0 30px 60px rgba(14,14,14,0.18);
  animation: cardInCenter 0.35s ease both;
}
@keyframes cardInCenter {
  from { opacity: 0; transform: translate(-50%, 8px); }
  to   { opacity: 1; transform: translate(-50%, 0);    }
}
@keyframes cardInPinned {
  from { opacity: 0; transform: translate(0, 8px); }
  to   { opacity: 1; transform: translate(0, 0);    }
}
.tl-card-title {
  font-family: var(--serif);
  font-size: 22px;
  color: var(--ink);
  margin-bottom: 12px;
  letter-spacing: 0.02em;
}
.tl-card-desc {
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ink-mid);
  margin-bottom: 22px;
  font-weight: 300;
}
.tl-card-rows { display: flex; flex-direction: column; gap: 14px; }
.tl-card-row { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; }
.tl-card-row svg { color: var(--bronze-deep); width: 16px; height: 16px; margin-top: 2px; }
.tl-card-row .k {
  font-size: 9px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--ink-soft);
  font-weight: 500;
  display: block;
  margin-bottom: 2px;
}
.tl-card-row .v {
  font-size: 12.5px;
  color: var(--ink);
  font-weight: 400;
}
.tl-card-close {
  position: absolute;
  bottom: 18px;
  right: 22px;
  background: transparent;
  border: none;
  color: var(--bronze-deep);
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px;
}
.tl-card-close:hover { color: var(--bronze); }

.tl-card-pointer {
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 14px; height: 14px;
  background: #FFFFFF;
  border-left: 1px solid var(--hairline-dark-strong);
  border-top: 1px solid var(--hairline-dark-strong);
}

/* Card position adjustments to keep on-screen */
.tl-card.pin-left  { left: 0;   transform: translateX(0); animation: cardInPinned 0.35s ease both; }
.tl-card.pin-left  .tl-card-pointer { left: 60px; }
.tl-card.pin-right { left: auto; right: 0; transform: translateX(0); animation: cardInPinned 0.35s ease both; }
.tl-card.pin-right .tl-card-pointer { left: auto; right: 60px; }

/* ============================================================
   ASSET CLASSES
   ============================================================ */
.asset-section {
  background: var(--charcoal);
  padding: 90px 0 100px;
  border-top: 1px solid var(--hairline-soft);
}
.asset-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 48px;
}
.asset-header .title {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--off-white);
  font-weight: 500;
}
.asset-header .right {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bronze);
  font-weight: 400;
}

.asset-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}

.asset-card {
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
  background: var(--graphite-2);
  overflow: hidden;
  cursor: pointer;
  border: 1px solid transparent;
  transition: border-color 0.3s;
}
.asset-card:hover { border-color: var(--hairline-strong); }
.asset-img {
  height: 220px;
  background-size: cover;
  background-position: center;
  position: relative;
  transition: transform 0.6s ease;
}
.asset-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14,14,14,0.15) 0%, rgba(14,14,14,0.75) 100%);
  transition: opacity 0.3s;
}
.asset-card:hover .asset-img { transform: scale(1.04); }
.asset-body {
  padding: 18px 18px 22px;
}
.asset-name {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--off-white);
  margin-bottom: 10px;
}
.asset-cta {
  font-size: 9.5px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #c2bba9;
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.25s;
}
.asset-card:hover .asset-cta { color: var(--bronze-soft); }

/* ============================================================
   NAVIGATOR STRIP
   ============================================================ */
.navigator {
  background: var(--cream);
  color: var(--ink);
  padding: 60px 0;
  border-top: 1px solid var(--hairline-dark);
}
.nav-grid {
  display: grid;
  grid-template-columns: 1.5fr 1.4fr 0.7fr 0.8fr 0.8fr 0.9fr 1.3fr;
  gap: 36px;
  align-items: center;
}
.nav-block .label {
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--ink-soft);
  font-weight: 500;
  margin-bottom: 10px;
}
.nav-intro h4 {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--ink);
  font-weight: 500;
  margin-bottom: 12px;
}
.nav-intro p {
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ink-mid);
  font-weight: 300;
  margin-bottom: 18px;
  max-width: 280px;
}
.nav-request {
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--bronze-deep);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.2s;
}
.nav-request:hover { color: var(--bronze); }

.ai-viz {
  height: 90px;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ai-viz svg { width: 100%; height: 100%; }
.ai-viz-caption {
  font-size: 9px;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: var(--ink-soft);
  text-align: center;
  margin-top: 12px;
}

.nav-stat .number {
  font-family: var(--serif);
  font-size: 38px;
  font-weight: 300;
  color: var(--ink);
  line-height: 1;
  margin-bottom: 10px;
  letter-spacing: 0.01em;
}
.nav-stat .number.bronze { color: var(--bronze-deep); }
.nav-stat .desc {
  font-size: 11px;
  line-height: 1.5;
  color: var(--ink-mid);
  font-weight: 300;
}

.nav-cta {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.nav-cta h5 {
  font-family: var(--serif);
  font-size: 19px;
  line-height: 1.1;
  color: var(--ink);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ============================================================
   POSITIONING / TEXT SECTION
   ============================================================ */
.positioning {
  background: var(--charcoal);
  padding: 140px 0 130px;
  border-top: 1px solid var(--hairline-soft);
}
.positioning-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 100px;
  align-items: start;
}
.positioning .eyebrow { margin-bottom: 28px; }
.positioning h2 {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(36px, 4vw, 60px);
  line-height: 1.05;
  color: var(--off-white);
  letter-spacing: -0.01em;
}
.positioning .body {
  font-size: 16px;
  line-height: 1.75;
  color: #b8b1a2;
  font-weight: 300;
  max-width: 540px;
}
.positioning .body p + p { margin-top: 22px; }
.positioning .body em {
  color: var(--bronze-soft);
  font-style: normal;
}

/* ============================================================
   INSIGHTS
   ============================================================ */
.insights {
  background: var(--cream);
  color: var(--ink);
  padding: 100px 0;
  border-top: 1px solid var(--hairline-dark);
}
.insights-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
}
.insights-header h2 {
  font-family: var(--serif);
  font-size: clamp(34px, 3.4vw, 48px);
  font-weight: 300;
  color: var(--ink);
  line-height: 1.05;
}
.insights-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.insight-card {
  text-decoration: none;
  color: inherit;
  display: block;
}
.insight-img {
  height: 240px;
  background-size: cover;
  background-position: center;
  margin-bottom: 22px;
  position: relative;
  overflow: hidden;
}
.insight-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14,14,14,0.1) 0%, rgba(14,14,14,0.45) 100%);
}
.insight-tag {
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--bronze-deep);
  margin-bottom: 14px;
  font-weight: 500;
}
.insight-title {
  font-family: var(--serif);
  font-size: 26px;
  line-height: 1.2;
  color: var(--ink);
  font-weight: 400;
  margin-bottom: 20px;
}
.insight-readmore {
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--ink-mid);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 400;
}
.insight-card:hover .insight-readmore { color: var(--bronze-deep); }
.view-all {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bronze-deep);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.view-all:hover { color: var(--bronze); }

/* ============================================================
   FINAL CTA
   ============================================================ */
.final-cta {
  background: var(--charcoal);
  padding: 140px 0 150px;
  border-top: 1px solid var(--hairline-soft);
  position: relative;
  overflow: hidden;
}
.final-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 60% at 50% 100%, rgba(158,124,79,0.08), transparent 70%);
}
.final-cta-inner {
  position: relative;
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}
.final-cta h2 {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(40px, 4.5vw, 68px);
  line-height: 1.05;
  color: var(--off-white);
  margin-bottom: 28px;
}
.final-cta h2 .dot { color: var(--bronze); }
.final-cta p {
  font-size: 15px;
  line-height: 1.7;
  color: #b8b1a2;
  max-width: 540px;
  margin: 0 auto 44px;
  font-weight: 300;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
  background: #0a0a0a;
  color: #a8a193;
  padding: 56px 0 28px;
  border-top: 1px solid var(--hairline-soft);
}
.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding-bottom: 28px;
}
.footer-nav {
  display: flex;
  gap: 38px;
}
.footer-nav a {
  color: #c2bba9;
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color 0.2s;
}
.footer-nav a:hover { color: var(--bronze-soft); }
.footer-bottom {
  border-top: 1px solid var(--hairline-soft);
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #7a7468;
}
.footer-legal { display: flex; gap: 32px; }
.footer-legal a { color: #7a7468; text-decoration: none; transition: color 0.2s; }
.footer-legal a:hover { color: var(--bronze-soft); }

/* ============================================================
   SECONDARY PAGES (Strategy, Special, Assets, Technology, About, Investor)
   ============================================================ */
.page-hero {
  background: var(--charcoal);
  padding: 220px 0 90px;
  position: relative;
  border-bottom: 1px solid var(--hairline-soft);
}
.page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 50% 60% at 80% 50%, rgba(158,124,79,0.06), transparent 70%);
  pointer-events: none;
}
.page-hero .container { position: relative; max-width: 1200px; }
.page-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--bronze-soft);
  font-weight: 400;
  margin-bottom: 32px;
}
.page-hero-eyebrow .rule {
  display: inline-block;
  width: 36px;
  height: 1px;
  background: var(--bronze);
}
.page-hero h1 {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(44px, 5vw, 78px);
  line-height: 1.03;
  letter-spacing: -0.012em;
  color: var(--off-white);
  max-width: 900px;
}
.page-hero-lede {
  font-size: 16px;
  line-height: 1.7;
  color: #b8b1a2;
  font-weight: 300;
  margin-top: 40px;
  max-width: 640px;
}

.page-section {
  padding: 90px 0;
  border-top: 1px solid var(--hairline-soft);
  background: var(--charcoal);
}
.page-section .eyebrow { margin-bottom: 28px; }
.section-h {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.05;
  color: var(--off-white);
  letter-spacing: -0.005em;
  margin-bottom: 60px;
  max-width: 800px;
}

/* two-col */
.two-col-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 80px;
  align-items: start;
}
.two-col-grid h2 {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.05;
  color: var(--off-white);
}
.prose p {
  font-size: 15.5px;
  line-height: 1.8;
  color: #b8b1a2;
  font-weight: 300;
  margin-bottom: 22px;
  max-width: 560px;
}
.prose p:last-child { margin-bottom: 0; }

/* Pillars */
.pillar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 40px;
}
.pillar-item {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pillar-num {
  font-family: var(--serif);
  font-size: 22px;
  color: var(--bronze);
  font-weight: 400;
  letter-spacing: 0.1em;
}
.pillar-k {
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--off-white);
  font-weight: 500;
}
.pillar-v {
  font-size: 13.5px;
  line-height: 1.7;
  color: #b8b1a2;
  font-weight: 300;
}

/* Cards */
.card-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--hairline-soft);
  border-top: 1px solid var(--hairline-soft);
  border-bottom: 1px solid var(--hairline-soft);
}
.card-item {
  background: var(--charcoal);
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 32px;
  padding: 32px 0;
  align-items: start;
  transition: background 0.25s;
}
.card-item:hover { background: var(--graphite); }
.card-num {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 300;
  color: var(--bronze);
  letter-spacing: 0.05em;
}
.card-body { max-width: 760px; }
.card-k {
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--off-white);
  font-weight: 500;
  margin-bottom: 14px;
}
.card-v {
  font-size: 14.5px;
  line-height: 1.75;
  color: #b8b1a2;
  font-weight: 300;
}

/* Statement */
.statement { padding: 120px 0; text-align: center; }
.statement h2 {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.1;
  color: var(--off-white);
  margin: 0 auto 28px;
  max-width: 900px;
}
.statement-body {
  font-size: 15.5px;
  line-height: 1.75;
  color: #b8b1a2;
  font-weight: 300;
  max-width: 640px;
  margin: 0 auto;
}

/* Asset detail */
.asset-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.asset-detail-card {
  background: var(--graphite-2);
  border: 1px solid transparent;
  transition: border-color 0.3s;
}
.asset-detail-card:hover { border-color: var(--hairline-strong); }
.asset-detail-img {
  height: 220px;
  background-size: cover;
  background-position: center;
  position: relative;
}
.asset-detail-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14,14,14,0.15) 0%, rgba(14,14,14,0.55) 100%);
}
.asset-detail-body { padding: 26px 26px 30px; }
.asset-detail-k {
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--off-white);
  font-weight: 500;
  margin-bottom: 14px;
}
.asset-detail-v {
  font-size: 13.5px;
  line-height: 1.7;
  color: #b8b1a2;
  font-weight: 300;
}

/* Page-end CTA */
.page-end-cta {
  background: var(--charcoal);
  padding: 80px 0 120px;
  border-top: 1px solid var(--hairline-soft);
  text-align: center;
}
.page-end-cta .container { display: flex; justify-content: center; }

/* Form */
/* ============================================================
   STRATEGIC ACCESS FORM (premium glassmorphism)
   ============================================================ */
.strategic-form-section {
  padding: 90px 0 130px;
  position: relative;
  background:
    radial-gradient(ellipse 70% 80% at 50% 30%, rgba(158, 124, 79, 0.14) 0%, transparent 65%),
    radial-gradient(ellipse 90% 60% at 50% 90%, rgba(158, 124, 79, 0.06) 0%, transparent 60%),
    var(--graphite);
}

.strategic-form-shell {
  max-width: 760px;
  margin: 0 auto;
  padding: 56px 56px 48px;
  background:
    linear-gradient(180deg, rgba(42, 38, 32, 0.85) 0%, rgba(32, 28, 24, 0.85) 100%);
  backdrop-filter: blur(24px) saturate(140%);
  -webkit-backdrop-filter: blur(24px) saturate(140%);
  border: 1px solid rgba(158, 124, 79, 0.22);
  box-shadow:
    0 40px 80px rgba(0, 0, 0, 0.55),
    0 2px 30px rgba(158, 124, 79, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
@media (max-width: 768px) {
  .strategic-form-shell { padding: 36px 24px 32px; }
}

.strategic-form-eyebrow {
  margin-bottom: 16px;
  color: var(--bronze);
}
.strategic-form-title {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(28px, 2.6vw, 36px);
  line-height: 1.05;
  color: var(--off-white);
  margin-bottom: 44px;
  letter-spacing: 0.01em;
}

.strategic-form {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.strategic-form .form-row.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
@media (max-width: 640px) {
  .strategic-form .form-row.two-col { grid-template-columns: 1fr; }
}

.strategic-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.strategic-field-label {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  font-size: 10.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bronze-soft);
  font-weight: 500;
}
.strategic-field-required {
  color: var(--bronze);
  margin-left: 2px;
}
.strategic-field-hint {
  font-size: 9px;
  letter-spacing: 0.2em;
  color: #9a9183;
  text-transform: uppercase;
  font-weight: 400;
}

/* Inputs + textarea — single thin line on the bottom, slightly tinted background for definition */
.strategic-form input[type="text"],
.strategic-form input[type="email"],
.strategic-form textarea {
  background: rgba(255, 255, 255, 0.025);
  border: none;
  border-bottom: 1px solid rgba(217, 210, 197, 0.35);
  color: var(--off-white);
  font-family: var(--sans);
  font-size: 14.5px;
  font-weight: 300;
  padding: 12px 12px 14px;
  outline: none;
  transition: border-color 0.3s ease, background 0.3s ease;
  width: 100%;
}
.strategic-form textarea {
  resize: vertical;
  min-height: 96px;
  padding-top: 14px;
}
.strategic-form input::placeholder,
.strategic-form textarea::placeholder {
  color: #8a8377;
  font-weight: 300;
}
.strategic-form input:focus,
.strategic-form textarea:focus {
  border-color: var(--bronze);
  background: rgba(158, 124, 79, 0.06);
}
.strategic-form input:hover:not(:focus),
.strategic-form textarea:hover:not(:focus) {
  border-color: rgba(217, 210, 197, 0.5);
  background: rgba(255, 255, 255, 0.04);
}

/* Native select, dressed up to match */
.strategic-select-wrap {
  position: relative;
  width: 100%;
}
.strategic-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: rgba(255, 255, 255, 0.025);
  border: none;
  border-bottom: 1px solid rgba(217, 210, 197, 0.35);
  color: var(--off-white);
  font-family: var(--sans);
  font-size: 14.5px;
  font-weight: 300;
  padding: 12px 36px 14px 12px;
  outline: none;
  width: 100%;
  cursor: pointer;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.strategic-select.is-empty { color: #8a8377; }
.strategic-select:focus { border-color: var(--bronze); background: rgba(158, 124, 79, 0.06); }
.strategic-select:hover:not(:focus) { border-color: rgba(217, 210, 197, 0.5); background: rgba(255, 255, 255, 0.04); }
.strategic-select option {
  background: #1B1B1B;
  color: var(--off-white);
}
.strategic-select-arrow {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--bronze);
  pointer-events: none;
}

/* Multi-select chips (Strategic Interest) */
.form-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 4px;
}
.form-chip {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(217, 210, 197, 0.35);
  color: var(--off-white);
  font-family: var(--sans);
  font-size: 11.5px;
  font-weight: 400;
  letter-spacing: 0.04em;
  padding: 11px 20px;
  cursor: pointer;
  transition: all 0.25s ease;
  outline: none;
  border-radius: 0;
}
.form-chip:hover {
  border-color: var(--bronze-soft);
  background: rgba(158, 124, 79, 0.08);
}
.form-chip:focus-visible {
  border-color: var(--bronze);
  background: rgba(158, 124, 79, 0.12);
  box-shadow: 0 0 0 2px rgba(158, 124, 79, 0.25);
}
.form-chip.active {
  background: rgba(158, 124, 79, 0.22);
  border-color: var(--bronze);
  color: #FFFFFF;
  box-shadow: inset 0 0 0 1px rgba(158, 124, 79, 0.4);
}

.strategic-submit {
  align-self: flex-start;
  margin-top: 20px;
  min-width: 280px;
}

.strategic-form-note {
  margin-top: 12px;
  font-size: 11.5px;
  letter-spacing: 0.04em;
  color: #a8a193;
  font-weight: 300;
  line-height: 1.5;
}

.strategic-form-error {
  margin-top: 12px;
  font-size: 13px;
  color: #E08B6E;
  font-weight: 400;
  line-height: 1.5;
}

.strategic-submit:disabled {
  opacity: 0.55;
  cursor: wait;
}

/* ============================================================
   ACCESS REQUEST RECEIVED (premium success page)
   ============================================================ */
.access-received {
  padding: 140px 0 160px;
  background:
    radial-gradient(ellipse 70% 60% at 50% 30%, rgba(158,124,79,0.08) 0%, transparent 70%),
    var(--charcoal);
}
.received-card {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  padding: 64px 40px;
  animation: receivedIn 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
@keyframes receivedIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.received-mark {
  width: 64px;
  height: 64px;
  margin: 0 auto 36px;
  color: var(--bronze);
  opacity: 0.85;
}
.received-mark svg { width: 100%; height: 100%; display: block; }
.received-headline {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(40px, 4vw, 56px);
  line-height: 1.05;
  color: var(--off-white);
  margin-bottom: 28px;
  letter-spacing: 0.005em;
}
.received-body {
  font-size: 16px;
  line-height: 1.7;
  color: #b8b1a2;
  font-weight: 300;
  max-width: 480px;
  margin: 0 auto;
}

/* Insights index */
.insights-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.insight-cat {
  display: inline-block;
  padding: 10px 18px;
  border: 1px solid var(--hairline-strong);
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #c2bba9;
  font-weight: 400;
}

/* Article page */
.article-hero {
  min-height: 540px;
  background-size: cover;
  background-position: center;
  padding: 200px 0 80px;
  display: flex;
  align-items: flex-end;
  border-bottom: 1px solid var(--hairline-soft);
}
.article-back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bronze-soft);
  text-decoration: none;
  margin-bottom: 24px;
}
.article-back:hover { color: var(--bronze); }
.article-tag {
  font-size: 11px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--bronze-soft);
  font-weight: 500;
  margin-bottom: 18px;
}
.article-title {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(38px, 4.4vw, 64px);
  line-height: 1.05;
  color: var(--off-white);
  max-width: 1000px;
  letter-spacing: -0.01em;
}
.article-body {
  background: var(--charcoal);
  padding: 100px 0 120px;
}
.article-grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 80px;
  align-items: start;
  max-width: 1100px;
}
.article-meta {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  border-top: 1px solid var(--hairline-strong);
  padding-top: 22px;
}
.meta-row { display: flex; flex-direction: column; gap: 6px; }
.meta-row span {
  font-size: 9px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8a8377;
  font-weight: 500;
}
.meta-row strong {
  font-size: 13px;
  color: var(--off-white);
  font-weight: 400;
  letter-spacing: 0.01em;
}
.article-prose {
  max-width: 720px;
}
.article-lede {
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.45;
  color: var(--off-white);
  font-weight: 300;
  margin-bottom: 42px;
  border-bottom: 1px solid var(--hairline-soft);
  padding-bottom: 32px;
  letter-spacing: 0.005em;
}
.article-prose p {
  font-size: 16px;
  line-height: 1.85;
  color: #c2bba9;
  font-weight: 300;
  margin-bottom: 26px;
}
.article-end { margin-top: 60px; }

/* ============================================================
   RESPONSIVE
   ============================================================
   Breakpoints (mobile-up logic, max-width):
     1280px  small laptop
     1024px  tablet landscape / small laptop
     768px   tablet portrait
     640px   phone large
     480px   phone small
   ============================================================ */

/* ---------- 1280px: small laptop ---------- */
@media (max-width: 1280px) {
  .nav { gap: 22px; }
  .nav a { font-size: 9.5px; letter-spacing: 0.22em; }
  .asset-grid { grid-template-columns: repeat(3, 1fr); }
  .nav-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .nav-grid .nav-block { min-width: 0; }
}

/* ---------- 1024px: tablet landscape ---------- */
@media (max-width: 1024px) {
  .hero { min-height: auto; }
  .hero-inner { grid-template-columns: 1fr; padding-top: 140px; gap: 56px; min-height: auto; padding-bottom: 80px; }
  .hero-status { max-width: 100%; justify-self: start; flex-direction: row; flex-wrap: wrap; gap: 0; }
  .hero-status .status-row { flex: 1 1 calc(50% - 24px); padding-right: 24px; min-width: 0; }
  .timeline-track { grid-template-columns: repeat(7, minmax(120px, 1fr)); overflow-x: auto; }
  .positioning-grid { grid-template-columns: 1fr; gap: 40px; }
  .insights-grid { grid-template-columns: 1fr; }
  .two-col-grid, .form-grid { grid-template-columns: 1fr; gap: 40px; }
  .pillar-grid { grid-template-columns: repeat(2, 1fr); }
  .asset-detail-grid { grid-template-columns: repeat(2, 1fr); }
  .article-grid { grid-template-columns: 1fr; gap: 32px; }
  .article-meta { position: static; flex-direction: row; flex-wrap: wrap; gap: 24px 40px; }
  .nav-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}

/* ---------- 768px: tablet portrait ---------- */
@media (max-width: 768px) {
  /* Header: hide desktop nav + invest button + lang dropdown.
     The mobile drawer (opened by the hamburger) renders all of those. */
  .nav { display: none; }
  .header-actions .btn-line { display: none; }
  .header-actions .lang-dd { display: none; }
  .header-inner { grid-template-columns: 1fr auto; gap: 16px; }
  .hamburger { display: inline-flex; }

  /* Containers: tighter padding */
  .section { padding: 60px 0; }
  .page-section { padding: 60px 0; }
  .page-hero { padding-top: 150px; padding-bottom: 50px; }

  /* Hero: smaller heading, full-width buttons */
  .hero-inner { padding-top: 130px; gap: 44px; padding-bottom: 64px; }
  .hero h1 {
    font-size: clamp(32px, 8vw, 48px);
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
  }
  .hero-lede { font-size: 14px; max-width: 100%; margin: 28px 0 36px; }
  .hero-ctas { flex-wrap: wrap; gap: 14px; }
  .hero-ctas .btn { width: 100%; justify-content: space-between; }

  /* Asset section header should stack */
  .asset-header { flex-direction: column; align-items: flex-start; gap: 12px; }
  .asset-header .right { max-width: 100%; }

  .asset-grid { grid-template-columns: 1fr; gap: 22px; }

  /* Navigator: single column, tidy spacing */
  .nav-grid { grid-template-columns: 1fr; gap: 28px; }
  .nav-stat { padding: 18px 0; border-top: 1px solid var(--hairline-dark); }
  .ai-viz { height: 64px; }
  .nav-cta { padding-top: 12px; border-top: 1px solid var(--hairline-dark); }

  /* Lifecycle on mobile:
     - timeline becomes a horizontal scrollable strip (touch friendly)
     - the detail card stops being floating-absolute over the track and
       drops below it as a normal block, so the info is actually readable */
  .lifecycle-header { flex-direction: column; align-items: flex-start; gap: 14px; }
  .lifecycle { padding: 70px 0 80px; }
  .timeline { padding: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .timeline-track { min-width: 720px; }

  .tl-card,
  .tl-card.pin-left,
  .tl-card.pin-right {
    position: static;
    width: 100%;
    left: auto;
    right: auto;
    top: auto;
    transform: none;
    margin-top: 28px;
    animation: tlCardInMobile 0.32s ease both;
  }
  .tl-card-pointer { display: none; }
}

@keyframes tlCardInMobile {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

  /* Insights */
  .insights-header { flex-direction: column; align-items: flex-start; gap: 18px; }
  .insights-grid { grid-template-columns: 1fr; gap: 28px; }
  .insight-img { height: 200px; }
  .insight-title { font-size: 22px; }

  /* Positioning */
  .positioning { padding: 80px 0 70px; }
  .positioning h2 { font-size: clamp(28px, 6.5vw, 38px); }
  .positioning .body { font-size: 14px; }

  /* Final CTA */
  .final-cta { padding: 90px 0 100px; }
  .final-cta h2 { font-size: clamp(34px, 8vw, 50px); }

  /* Footer */
  .footer-top { flex-direction: column; align-items: flex-start; gap: 28px; }
  .footer-nav { flex-wrap: wrap; gap: 16px 26px; }
  .footer-bottom { flex-direction: column; gap: 16px; align-items: flex-start; }

  /* Sub-pages section blocks */
  .pillar-grid { grid-template-columns: 1fr; gap: 28px; }
  .card-item { grid-template-columns: 60px 1fr; gap: 16px; }
  .asset-detail-grid { grid-template-columns: 1fr; gap: 24px; }
  .article-hero { min-height: 380px; }
  .article-title { font-size: clamp(32px, 7vw, 46px); }
  .form-row { grid-template-columns: 1fr; }
}

/* ---------- 640px: phone ---------- */
@media (max-width: 640px) {
  .container { padding: 0 20px; }

  .hero-eyebrow { font-size: 10px; letter-spacing: 0.26em; }
  .hero h1 { font-size: clamp(28px, 8vw, 38px); line-height: 1.05; }

  /* Stack status as a single column, prevent overflow of long labels */
  .hero-status { flex-direction: column; gap: 14px; padding-top: 8px; }
  .hero-status .status-row { flex: 1 1 100%; padding-right: 0; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--hairline); }
  .hero-status .status-row .label { font-size: 9.5px; flex-shrink: 0; }
  .hero-status .status-row .value { font-size: 12px; text-align: right; }

  /* Timeline keep horizontal scroll but a bit smaller per stage */
  .timeline-track { min-width: 640px; gap: 8px; }
  .tl-title { font-size: 9px; letter-spacing: 0.2em; }
  .tl-num { font-size: 14px; }
  .tl-icon { width: 28px; height: 28px; margin-top: 24px; }

  /* Insights cards */
  .insight-img { height: 180px; }
  .insight-title { font-size: 20px; }

  /* Strategic form: tighter padding on the glass shell */
  .strategic-form-section { padding: 70px 0 90px; }
  .strategic-form-title { font-size: clamp(24px, 6.5vw, 32px); margin-bottom: 32px; }
  .strategic-submit { width: 100%; min-width: 0; justify-content: space-between; }

  /* Footer text smaller */
  .footer-nav a { font-size: 11px; letter-spacing: 0.22em; }
}

/* ---------- 480px: small phone ---------- */
@media (max-width: 480px) {
  .container { padding: 0 18px; }
  .hero h1 { font-size: clamp(26px, 8vw, 34px); line-height: 1.04; }
  .hero-lede { font-size: 13.5px; }
  .page-hero h1 { font-size: clamp(28px, 9vw, 40px); }
  .form-chips { gap: 8px; }
  .form-chip { padding: 9px 14px; font-size: 10.5px; }
  .received-card { padding: 48px 24px; }
  .received-headline { font-size: clamp(32px, 8vw, 44px); }
}

/* ============================================================
   WHATSAPP FLOATING BUTTON
   ============================================================
   Fixed bottom-right on every page. Pill with icon + label on
   desktop, circular icon-only on mobile. Subtle pulse to draw
   attention without being aggressive. Respects reduced-motion.
   ============================================================ */
.whatsapp-float {
  position: fixed;
  bottom: 26px;
  right: 26px;
  z-index: 90;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 22px 14px 18px;
  background: linear-gradient(180deg, #25D366 0%, #1FAD50 100%);
  color: #FFFFFF;
  text-decoration: none;
  border-radius: 999px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  box-shadow:
    0 12px 28px rgba(37, 211, 102, 0.35),
    0 4px 10px rgba(0, 0, 0, 0.25);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  isolation: isolate;
}
.whatsapp-float:hover,
.whatsapp-float:focus-visible {
  transform: translateY(-2px);
  box-shadow:
    0 18px 36px rgba(37, 211, 102, 0.5),
    0 6px 14px rgba(0, 0, 0, 0.3);
  outline: none;
}
.whatsapp-float:active { transform: translateY(0); }

.whatsapp-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.whatsapp-icon svg { display: block; }

.whatsapp-label {
  white-space: nowrap;
  text-transform: uppercase;
}

/* Expanding pulse ring — sits behind the button.
   Stops on user hover so it doesn't fight with the lift animation. */
.whatsapp-pulse {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #25D366;
  z-index: -1;
  animation: whatsappPulse 2.6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  opacity: 0;
}
.whatsapp-float:hover .whatsapp-pulse,
.whatsapp-float:focus-visible .whatsapp-pulse {
  animation-play-state: paused;
}
@keyframes whatsappPulse {
  0%   { transform: scale(1);    opacity: 0.55; }
  70%  { transform: scale(1.45); opacity: 0;    }
  100% { transform: scale(1.45); opacity: 0;    }
}

/* Mobile: icon-only circular button */
@media (max-width: 640px) {
  .whatsapp-float {
    bottom: 18px;
    right: 18px;
    padding: 0;
    width: 56px;
    height: 56px;
    justify-content: center;
    gap: 0;
  }
  .whatsapp-label { display: none; }
}

/* Reduced motion: kill the pulse entirely */
@media (prefers-reduced-motion: reduce) {
  .whatsapp-pulse { animation: none; }
  .whatsapp-float { transition: none; }
  .whatsapp-float:hover,
  .whatsapp-float:focus-visible { transform: none; }
}

/* Hide the floating WhatsApp button while the mobile drawer is open
   so it doesn't overlap the language chips. */
body.drawer-open .whatsapp-float { display: none; }
