.invest-page {
  --night: #10120f;
  --forest: #233326;
  --cream: #f4efe4;
  --sun: #d7b455;
  overflow: hidden;
}

.invest-hero {
  position: relative;
  min-height: min(790px, calc(100vh - 117px));
  background: var(--night);
  color: #fff;
  display: grid;
  align-items: center;
}
.invest-hero__image,
.invest-hero__veil { position: absolute; inset: 0; }
.invest-hero__image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.invest-hero__veil {
  background:
    linear-gradient(90deg, rgba(8,10,8,.96) 0%, rgba(8,10,8,.72) 42%, rgba(8,10,8,.1) 76%),
    linear-gradient(0deg, rgba(8,10,8,.65), transparent 42%);
}
.invest-geo { position: absolute; z-index: 1; inset: 0; pointer-events: none; }
.invest-san-rafael-pin {
  position: absolute;
  left: calc(64.4% - .5cm);
  top: calc(52.5% + 1cm);
  display: flex;
  align-items: center;
  gap: 10px;
  transform: translate(-8px, -50%);
}
.invest-pin-dot {
  position: relative;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--gold-2);
  box-shadow: 0 0 0 7px rgba(232,201,110,.2), 0 4px 18px rgba(0,0,0,.55);
}
.invest-pin-dot::after {
  content: '';
  position: absolute;
  inset: -10px;
  border: 1px solid rgba(232,201,110,.75);
  border-radius: 50%;
  animation: invest-pin-pulse 2.4s ease-out infinite;
}
.invest-san-rafael-pin strong {
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  color: #fff;
  background: rgba(10,12,9,.72);
  box-shadow: 0 5px 18px rgba(0,0,0,.3);
  backdrop-filter: blur(8px);
  font-size: 12px;
  letter-spacing: .02em;
  white-space: nowrap;
}
@keyframes invest-pin-pulse {
  0% { transform: scale(.65); opacity: .9; }
  75%, 100% { transform: scale(1.45); opacity: 0; }
}
.invest-hero__content { position: relative; z-index: 2; max-width: 1320px; width: 100%; margin: auto; padding: 88px 24px 96px; }
.invest-hero h1 { max-width: 760px; margin: 18px 0 22px; font-size: clamp(48px, 7vw, 96px); line-height: .94; letter-spacing: -.055em; }
.invest-hero p { max-width: 610px; color: rgba(255,255,255,.78); font-size: clamp(17px, 2vw, 21px); line-height: 1.6; }
.invest-kicker { color: var(--gold-2); font-family: 'JetBrains Mono', monospace; font-size: 12px; text-transform: uppercase; letter-spacing: .18em; }
.invest-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.invest-hero__ghost { color: #fff; border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.06); backdrop-filter: blur(10px); }
.invest-hero__ghost:hover { border-color: rgba(255,255,255,.8); }
.invest-scroll { position: absolute; bottom: 26px; left: 50%; z-index: 3; transform: translateX(-50%); color: rgba(255,255,255,.6); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }

.invest-proof { background: #181b16; color: #fff; }
.invest-proof__grid { display: grid; grid-template-columns: repeat(3,1fr); }
.invest-proof__item { padding: 28px 32px; border-right: 1px solid rgba(255,255,255,.12); }
.invest-proof__item:last-child { border-right: 0; }
.invest-proof__number { color: var(--gold-2); font-size: 28px; font-weight: 700; }
.invest-proof__label { color: rgba(255,255,255,.62); margin-top: 7px; font-size: 13px; line-height: 1.5; }

.invest-section { padding: 110px 24px; }
.invest-section--dark { background: var(--night); color: #fff; }
.invest-section--cream { background: var(--cream); }
.invest-heading { max-width: 850px; margin-bottom: 48px; }
.invest-heading h2 { font-size: clamp(38px, 5vw, 66px); line-height: 1; letter-spacing: -.045em; margin: 12px 0 18px; }
.invest-heading p { max-width: 690px; color: var(--ink-3); font-size: 18px; line-height: 1.65; }
.invest-section--dark .invest-heading p { color: rgba(255,255,255,.64); }

.reason-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.reason-card { min-height: 300px; padding: 32px; border: 1px solid var(--rule); border-radius: 22px; background: var(--paper); display: flex; flex-direction: column; }
.reason-card--wide { grid-column: span 2; }
.reason-card--gold { background: var(--gold-soft); border-color: rgba(201,168,76,.42); }
.reason-card__index { font-family: 'JetBrains Mono', monospace; color: var(--gold); font-size: 12px; letter-spacing: .12em; }
.reason-card h3 { font-size: 29px; letter-spacing: -.025em; margin: auto 0 12px; }
.reason-card p { margin: 0; color: var(--ink-3); line-height: 1.6; }
.reason-card a { text-decoration: underline; text-underline-offset: 3px; }

.food-story { margin-top: 18px; display: grid; grid-template-columns: 1.2fr .8fr; background: var(--night); color: #fff; border-radius: 26px; overflow: hidden; }
.food-story img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
.food-story__copy { padding: clamp(36px,5vw,70px); display: flex; flex-direction: column; justify-content: center; }
.food-story h3 { font-size: clamp(36px,4vw,58px); line-height: 1; margin: 12px 0 22px; }
.food-story p { color: rgba(255,255,255,.68); line-height: 1.7; font-size: 17px; }

.destination-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.destination-card { position: relative; min-height: 480px; overflow: hidden; border-radius: 22px; background: #222; }
.destination-card:nth-child(1), .destination-card:nth-child(4) { min-height: 580px; }
.destination-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease-out); }
.destination-card:hover img { transform: scale(1.035); }
.destination-card::after { content:''; position:absolute; inset:0; background: linear-gradient(0deg, rgba(9,12,10,.84), transparent 55%); }
.destination-card__copy { position: absolute; z-index: 1; left: 30px; right: 30px; bottom: 28px; color: #fff; }
.destination-card__copy h3 { margin: 5px 0 5px; font-size: 30px; }
.destination-card__copy p { margin: 0; color: rgba(255,255,255,.68); }

.residency-panel { display: grid; grid-template-columns: .85fr 1.15fr; border: 1px solid var(--rule); border-radius: 26px; overflow: hidden; background: var(--paper); }
.residency-intro { padding: clamp(34px,5vw,70px); background: var(--forest); color: #fff; }
.residency-intro h3 { font-size: clamp(34px,4vw,52px); line-height: 1.02; margin: 14px 0 20px; }
.residency-intro p { color: rgba(255,255,255,.7); line-height: 1.65; }
.residency-steps { padding: clamp(34px,5vw,70px); }
.residency-step { display: grid; grid-template-columns: 46px 1fr; gap: 18px; padding: 23px 0; border-bottom: 1px solid var(--rule-2); }
.residency-step:last-child { border: 0; }
.residency-step__n { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--gold-soft); color: #735c1d; font-family: 'JetBrains Mono', monospace; font-size: 12px; }
.residency-step h4 { margin: 0 0 7px; font-size: 20px; }
.residency-step p { margin: 0; color: var(--ink-3); line-height: 1.55; }
.legal-note { margin-top: 18px; font-size: 12px; line-height: 1.6; color: var(--ink-3); }
.legal-note a { text-decoration: underline; text-underline-offset: 3px; }

.region-hero { position: relative; min-height: 720px; display: flex; align-items: end; overflow: hidden; color: #fff; }
.region-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.region-hero::after { content:''; position:absolute; inset:0; background: linear-gradient(0deg, rgba(12,14,11,.9), rgba(12,14,11,.06) 65%); }
.region-hero__copy { position: relative; z-index: 1; width: 100%; padding: 70px 24px; }
.region-hero__copy h2 { max-width: 760px; font-size: clamp(48px,6vw,78px); line-height: .98; letter-spacing: -.05em; margin: 12px 0 20px; }
.region-hero__copy p { max-width: 650px; color: rgba(255,255,255,.75); font-size: 18px; line-height: 1.65; }
.region-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 30px; }
.region-fact { padding: 20px; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; background: rgba(12,14,11,.28); backdrop-filter: blur(9px); }
.region-fact strong { display:block; font-size: 18px; margin-bottom: 5px; }
.region-fact span { color: rgba(255,255,255,.66); font-size: 13px; }

.san-rafael-layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; }
.san-rafael-photo { min-height: 660px; border-radius: 24px; overflow: hidden; position: relative; }
.san-rafael-photo img { width: 100%; height: 100%; object-fit: cover; }
.san-rafael-photo__label { position:absolute; left:22px; bottom:22px; padding:10px 14px; border-radius:999px; background:rgba(13,15,12,.74); color:#fff; backdrop-filter:blur(8px); font-size:13px; }
.local-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; align-content: stretch; }
.local-card { padding: 25px; border: 1px solid var(--rule); border-radius: 18px; background: var(--paper); }
.local-card h3 { margin: 0 0 10px; font-size: 21px; }
.local-card p { margin: 0; color: var(--ink-3); line-height: 1.55; font-size: 14px; }
.local-card__link {
  display: inline-flex;
  margin-top: 14px;
  color: #8c6819;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-transform: uppercase;
}
.local-card__link:hover { color: #5f450d; }
.local-card__link:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 2px; }
.local-card--accent { background: var(--forest); color: #fff; border-color: var(--forest); }
.local-card--accent p { color: rgba(255,255,255,.68); }

.route-section { padding: 100px 24px; background: #11140f; color: #fff; }
.route-stage { position: relative; min-height: 520px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; overflow: hidden; background: radial-gradient(circle at 18% 70%, rgba(201,168,76,.14), transparent 24%), radial-gradient(circle at 75% 25%, rgba(91,119,80,.2), transparent 29%), #171a15; }
.route-stage::before { content:''; position:absolute; inset:0; opacity:.24; background-image: radial-gradient(rgba(255,255,255,.6) .8px, transparent .8px); background-size: 28px 28px; }
.route-line { position:absolute; inset:0; width:100%; height:100%; }
.route-line path { fill:none; stroke:rgba(232,201,110,.5); stroke-width:2; stroke-dasharray:7 10; vector-effect:non-scaling-stroke; }
.route-city { position:absolute; z-index:2; }
.route-city::before { content:''; display:block; width:11px; height:11px; margin-bottom:10px; border-radius:50%; background:var(--gold-2); box-shadow:0 0 0 7px rgba(232,201,110,.12); }
.route-city strong { display:block; font-size:17px; }
.route-city span { color:rgba(255,255,255,.55); font-size:12px; }
.route-city--afa { left:10%; top:66%; }
.route-city--bue { left:40%; top:48%; }
.route-city--mad { left:84%; top:21%; }
.route-plane { position:absolute; z-index:3; width:110px; height:auto; left:10%; top:65%; transform:translate(-50%,-50%) rotate(-8deg); filter:drop-shadow(0 10px 18px rgba(0,0,0,.35)); animation: fly-route 12s ease-in-out infinite; }
.route-copy { position:absolute; z-index:4; left:5%; top:8%; max-width:470px; }
.route-copy h2 { font-size:clamp(38px,5vw,62px); line-height:1; margin:12px 0 16px; }
.route-description { position:absolute; z-index:4; right:5%; bottom:7%; max-width:350px; margin:0; color:rgba(255,255,255,.62); line-height:1.6; text-align:right; }
@keyframes fly-route {
  0%, 7% { left:10%; top:65%; transform:translate(-50%,-50%) rotate(-8deg) scale(.78); }
  37%, 46% { left:41%; top:47%; transform:translate(-50%,-50%) rotate(-13deg) scale(.88); }
  88%, 100% { left:85%; top:20%; transform:translate(-50%,-50%) rotate(-14deg) scale(.78); }
}

.invest-cta { padding: 105px 24px; text-align: center; background: var(--gold-soft); }
.invest-cta h2 { max-width: 850px; margin: 12px auto 20px; font-size: clamp(42px,6vw,72px); line-height: 1; letter-spacing: -.05em; }
.invest-cta p { max-width: 600px; margin: 0 auto 30px; color: var(--ink-3); font-size: 18px; line-height: 1.6; }

@media (max-width: 900px) {
  .invest-proof__grid, .reason-grid, .region-facts { grid-template-columns: 1fr; }
  .invest-proof__item { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .reason-card--wide { grid-column: auto; }
  .food-story, .residency-panel, .san-rafael-layout { grid-template-columns: 1fr; }
  .food-story img { min-height: 360px; }
  .destination-card, .destination-card:nth-child(1), .destination-card:nth-child(4) { min-height: 440px; }
  .san-rafael-photo { min-height: 500px; }
  .route-stage { min-height: 580px; }
  .route-copy { right: 5%; }
  .route-description { bottom:6%; max-width:390px; }
  .route-city--afa { left:8%; top:76%; }
  .route-city--bue { left:39%; top:59%; }
  .route-city--mad { left:76%; top:38%; }
  .route-plane { animation-name: fly-route-tablet; }
  @keyframes fly-route-tablet {
    0%,7% { left:8%; top:75%; transform:translate(-50%,-50%) rotate(-8deg) scale(.65); }
    37%,46% { left:40%; top:58%; transform:translate(-50%,-50%) rotate(-13deg) scale(.75); }
    88%,100% { left:77%; top:37%; transform:translate(-50%,-50%) rotate(-14deg) scale(.65); }
  }
}
@media (max-width: 640px) {
  .invest-hero { min-height: 670px; }
  .invest-hero__image { object-position: 62% center; }
  .invest-hero__veil { background: linear-gradient(0deg, rgba(8,10,8,.95) 8%, rgba(8,10,8,.53) 68%, rgba(8,10,8,.18)); }
  .invest-hero__content { padding: 180px 18px 70px; align-self:end; }
  .invest-san-rafael-pin { left: calc(69.2% - .5cm); top: calc(51.5% + 1cm); gap: 7px; }
  .invest-pin-dot { width: 13px; height: 13px; border-width: 2px; }
  .invest-san-rafael-pin strong { padding: 5px 8px; font-size: 10px; }
  .invest-hero h1 { font-size: 49px; }
  .invest-section, .route-section { padding: 76px 16px; }
  .invest-heading { margin-bottom: 32px; }
  .reason-card { min-height: 250px; padding: 25px; }
  .destination-grid, .local-grid { grid-template-columns: 1fr; }
  .destination-card, .destination-card:nth-child(1), .destination-card:nth-child(4) { min-height: 420px; }
  .region-hero { min-height: 790px; }
  .region-hero__copy { padding: 50px 16px; }
  .route-stage { min-height: 640px; }
  .route-copy { top:7%; }
  .route-description { bottom:5%; max-width:84%; }
  .route-city strong { font-size:14px; }
  .route-city--afa { left:7%; top:79%; }
  .route-city--bue { left:37%; top:64%; }
  .route-city--mad { left:69%; top:48%; }
  .route-plane { width:84px; animation-name: fly-route-mobile; }
  @keyframes fly-route-mobile {
    0%,7% { left:7%; top:78%; transform:translate(-50%,-50%) rotate(-8deg) scale(.62); }
    37%,46% { left:38%; top:63%; transform:translate(-50%,-50%) rotate(-13deg) scale(.7); }
    88%,100% { left:70%; top:47%; transform:translate(-50%,-50%) rotate(-14deg) scale(.62); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .route-plane { animation: none; left:41%; top:47%; }
  .destination-card img { transition: none; }
  .invest-pin-dot::after { animation: none; }
}
