@font-face {
  font-family: 'Bodoni Moda';
  src: url('/assets/fonts/bodoni-moda-latin-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('/assets/fonts/manrope-latin-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}

:root {
  --font-display: 'Bodoni Moda', Georgia, 'Times New Roman', serif;
  --font-body: 'Manrope', 'Segoe UI', Arial, sans-serif;
  --type-display: clamp(3.75rem, 7.1vw, 6rem);
  --type-heading: clamp(2.5rem, 4.15vw, 4.5rem);
  --type-subheading: clamp(1.4rem, 2vw, 1.875rem);
}

body { font-family: var(--font-body); font-size: 1rem; font-weight: 400; line-height: 1.75; letter-spacing: .005em; }
button, input, select, textarea { font-family: var(--font-body); }
h1, h2, h3 { text-wrap: balance; }
p, li, dd { text-wrap: pretty; }
p { max-width: 65ch; }

.hero h1, .section h2, .investor-intro h1 {
  font-family: var(--font-display);
  font-weight: 500;
  font-optical-sizing: auto;
  font-synthesis: none;
  letter-spacing: -.03em;
}
.hero h1 { max-width: 10ch; font-size: var(--type-display); line-height: 1.04; }
.hero h1 span { margin: 0 0 24px; font-family: var(--font-body); font-size: .75rem; line-height: 1.5; font-weight: 600; letter-spacing: .24em; }
.hero .eyebrow { margin-bottom: 28px; }
.hero-lead { max-width: 44ch; margin-top: 28px; font-size: clamp(1rem, 1.2vw, 1.125rem); line-height: 1.8; }
.section h2 { font-size: var(--type-heading); line-height: 1.12; }
.eyebrow { font-size: .75rem; font-weight: 650; line-height: 1.5; letter-spacing: .15em; }
.brand-copy strong { letter-spacing: .24em; }
.brand-copy small { letter-spacing: .27em; }
.main-nav > a:not(.header-cta) { font-size: .875rem; font-weight: 550; letter-spacing: .01em; }
.header-cta, .button { font-size: .8125rem; font-weight: 650; line-height: 1.5; letter-spacing: .015em; }
.hero-actions { gap: 12px; }
.hero-facts { grid-template-columns: 1fr 1fr 1fr; }
.hero-facts div { padding-inline: 16px; }
.hero-facts dt { font-size: .6875rem; font-weight: 650; line-height: 1.5; letter-spacing: .12em; }
.hero-facts dd, .hero-facts div:nth-child(2) dd { font-family: var(--font-body); font-size: clamp(1rem, 1.1vw, 1.125rem); font-weight: 500; line-height: 1.55; letter-spacing: -.015em; font-variant-numeric: lining-nums; }

.project-copy .intro { max-width: 34ch; font-family: var(--font-display); font-size: clamp(1.5rem, 2.2vw, 2rem); font-weight: 500; line-height: 1.55; letter-spacing: -.015em; }
.project-copy > p:not(.intro), .location-copy > p:not(.eyebrow),
.faq-heading > p:last-child, .faq-list details p { font-size: 1rem; line-height: 1.8; }
.project-stats dt { font-family: var(--font-body); font-size: 1.125rem; font-weight: 500; font-variant-numeric: lining-nums; }
.project-stats dd { font-size: .75rem; font-weight: 600; line-height: 1.6; letter-spacing: .065em; }
.gallery-heading > p, .plans-heading > p, .nearby-heading > p { font-size: 1rem; line-height: 1.8; }
.gallery-card-caption strong, .gallery-dialog-footer strong { font-family: var(--font-display); font-size: var(--type-subheading); font-weight: 500; line-height: 1.2; letter-spacing: -.015em; }
.gallery-card-caption small, .project-image figcaption small { font-size: .6875rem; font-weight: 600; letter-spacing: .12em; }
.plan-category span { font-family: var(--font-body); font-size: 1rem; font-weight: 550; letter-spacing: -.01em; }
.plan-category small { font-size: .6875rem; font-weight: 600; letter-spacing: .08em; }
.plan-option strong { font-family: var(--font-body); font-size: 1.0625rem; font-weight: 500; letter-spacing: -.015em; font-variant-numeric: lining-nums tabular-nums; }
.plan-option span { font-size: .6875rem; letter-spacing: .06em; }
.plan-meta strong, .dialog-heading strong { font-family: var(--font-body); font-size: clamp(2rem, 3.2vw, 3rem); font-weight: 500; line-height: 1.25; letter-spacing: -.035em; font-variant-numeric: lining-nums tabular-nums; }
.plan-meta > div > span, .dialog-heading > span { font-size: .6875rem; font-weight: 650; letter-spacing: .12em; }
.plan-meta p { font-size: .875rem; line-height: 1.65; }
.plan-selector-caption { font-size: .8125rem; line-height: 1.7; }
.plan-interest, .dialog-interest { font-size: .8125rem; font-weight: 650; line-height: 1.5; letter-spacing: .01em; }
.plan-navigation button, .dialog-navigation button, .gallery-dialog-controls button { font-size: .6875rem; font-weight: 650; letter-spacing: .07em; }
.plan-footer > small, .plan-navigation strong, .dialog-footer-info > small { font-size: .6875rem; line-height: 1.6; letter-spacing: .06em; }
.location-copy address strong { font-family: var(--font-display); font-size: 2rem; font-weight: 500; line-height: 1.4; letter-spacing: -.015em; }
.location-copy address small { font-size: .875rem; line-height: 1.7; }
.nearby-card h3 { font-family: var(--font-display); font-size: 1.625rem; font-weight: 500; line-height: 1.3; letter-spacing: -.015em; }
.nearby-card li { font-size: .875rem; line-height: 1.75; }
.faq-heading h2 { max-width: 14ch; font-size: clamp(2.25rem, 3.45vw, 3.75rem); line-height: 1.15; }
.faq-list summary { font-family: var(--font-display); font-size: clamp(1.25rem, 1.8vw, 1.625rem); font-weight: 500; line-height: 1.45; letter-spacing: -.01em; }
.faq-list summary span { font-family: var(--font-body); font-weight: 400; letter-spacing: 0; }
.contact h2 { max-width: 16ch; }
.contact-inner > div:first-child > p:last-child { font-size: 1rem; line-height: 1.8; }
.contact-action > strong { font-family: var(--font-body); font-size: clamp(1.625rem, 2.65vw, 2.5rem); font-weight: 500; line-height: 1.4; letter-spacing: -.04em; font-variant-numeric: lining-nums; }
.footer-brand p { font-family: var(--font-display); font-size: 1.125rem; font-weight: 500; line-height: 1.6; }
.footer-info { font-size: .875rem; line-height: 1.8; }
.gallery-disclaimer, .nearby-disclaimer, .disclaimer,
.metrics-note, .result-note, .projection-notice, .units-source, .units-reconciliation { font-size: .8125rem; line-height: 1.8; letter-spacing: .005em; }
.copyright { font-size: .6875rem; line-height: 1.7; letter-spacing: .075em; }

/* Financial data keeps a stable, legible numeral system beneath editorial titles. */
.investor-intro h1 { max-width: 12ch; font-size: clamp(3rem, 5.8vw, 6rem); line-height: 1.09; }
.investor-lead { max-width: 49ch; font-size: 1rem; line-height: 1.8; }
.investor-metrics dd, .cost-summary > strong, .equation strong, .margin > strong, .price-item dd {
  font-family: var(--font-body);
  font-weight: 500;
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: -.035em;
}
.investor-metrics dt { font-size: .8125rem; font-weight: 500; line-height: 1.65; }
.investor-metrics dd { font-size: clamp(1.5rem, 2.3vw, 2.25rem); line-height: 1.4; }
.cost-summary > strong { font-size: clamp(2.25rem, 3.8vw, 3.75rem); line-height: 1.25; }
.equation strong { font-size: clamp(1.375rem, 2.15vw, 2.25rem); line-height: 1.4; }
.margin > strong { font-size: clamp(4rem, 7.5vw, 6rem); line-height: 1.1; letter-spacing: -.04em; }
.assumption-grid dd { font-family: var(--font-body); font-size: 1.125rem; font-weight: 500; line-height: 1.6; letter-spacing: -.01em; }
.assumption-grid dt, .cost-list dt small, .price-item dt span { font-size: .8125rem; line-height: 1.7; }
.cost-list dd { font-weight: 500; font-variant-numeric: lining-nums tabular-nums; }
.price-item dt strong { font-family: var(--font-display); font-size: 1.75rem; font-weight: 500; line-height: 1.3; letter-spacing: -.015em; }
.investor-page .price-item dd { font-size: 1.125rem; line-height: 1.6; letter-spacing: -.02em; }
.product-copy h2, .investor-risks h2 { font-size: clamp(2.25rem, 3.4vw, 3.75rem); }

@media (max-width: 1080px) and (min-width: 941px) {
  .main-nav { gap: 18px; }
  .main-nav > a:not(.header-cta), .header-cta { font-size: .75rem; }
}
@media (max-width: 940px) {
  .hero h1 { max-width: 11ch; font-size: clamp(3.5rem, 10vw, 6rem); }
  .hero h1 span { margin-bottom: 20px; }
  .hero-lead { max-width: 42ch; }
  .main-nav > a:not(.header-cta) { font-family: var(--font-display); font-size: clamp(2rem, 7.8vw, 3rem); font-weight: 500; line-height: 1.2; letter-spacing: -.02em; }
  .nav-kicker { font-size: .6875rem; letter-spacing: .13em; }
  .section h2 { font-size: clamp(2.375rem, 6.8vw, 4rem); }
  .faq-heading h2 { max-width: 17ch; }
  .contact h2 { max-width: 19ch; }
}
@media (max-width: 760px) {
  .investor-intro h1 { max-width: 12ch; font-size: clamp(2.75rem, 10.5vw, 4.25rem); }
  .investor-metrics dd { font-size: 1.75rem; }
  .equation strong { font-size: 1.5rem; }
  .margin > strong { font-size: 4.75rem; }
}
@media (max-width: 560px) {
  .hero h1 { max-width: 100%; font-size: clamp(2.875rem, 13vw, 4rem); line-height: 1.08; }
  .hero h1 span { font-size: .6875rem; letter-spacing: .22em; }
  .hero .eyebrow { font-size: .75rem; letter-spacing: .12em; margin-bottom: 20px; }
  .hero-lead { margin-top: 22px; font-size: 1rem; line-height: 1.7; }
  .hero-facts { grid-template-columns: 1fr; }
  .hero-facts dd, .hero-facts div:nth-child(2) dd { font-size: 1rem; }
  .hero-facts dt { font-size: .6875rem; }
  .section h2 { font-size: clamp(2.125rem, 9.5vw, 3rem); line-height: 1.17; }
  .project-copy .intro { font-size: 1.5rem; line-height: 1.5; }
  .faq-list summary { font-size: 1.25rem; line-height: 1.4; }
  .contact-action > strong { font-size: clamp(1.5rem, 7vw, 2.25rem); }
  .plan-option strong { font-size: 1rem; }
  .plan-meta strong { font-size: 2rem; }
  .plan-meta p { font-size: .8125rem; }
  .plan-category span { font-size: .9375rem; }
  .floating-contact { font-size: .75rem; font-weight: 600; letter-spacing: 0; }
  .investor-page .price-item dt strong { font-size: 1.5rem; }
  .investor-page .price-item dd { font-size: clamp(.9375rem, 4.1vw, 1.125rem); }
}
@media (max-width: 380px) {
  .investor-intro h1 { font-size: 2.75rem; }
  .investor-metrics dd { font-size: 1.5rem; }
  .hero .gold-motion-toggle { top: 76px; bottom: auto; min-height: 30px; padding: 5px 9px; }
}
