:root {
  --refinement-outline: #c8a34e;
  --refinement-shadow: 0 18px 48px rgba(2, 25, 19, 0.1);
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: clip;
}

/* Keep the fixed navigation readable over both photographs and light sections. */
header.site,
header.site.scrolled {
  background: rgba(9, 27, 20, 0.96);
  backdrop-filter: blur(10px);
}

h1,
h2,
h3 {
  text-wrap: balance;
}

p,
li {
  text-wrap: pretty;
}

a,
button,
summary,
.cta,
.fact-row,
.market-card,
.service,
.point,
.lead-secondary-link {
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease,
    box-shadow 180ms ease, transform 180ms ease;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--refinement-outline);
  outline-offset: 4px;
}

.cta:hover,
.cta:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(2, 25, 19, 0.18);
}

/* Modern, restrained capsule actions across the editorial site. */
.cta {
  min-height: 52px;
  padding: 0 27px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.35;
  text-align: center;
  box-shadow: 0 5px 18px rgba(2, 25, 19, 0.1);
}

.cta-primary {
  background: var(--gold, #c9a961);
  border-color: var(--gold, #c9a961);
  color: var(--green-darker, #091b14);
}

.cta-primary:hover,
.cta-primary:focus-visible {
  background: #ddbf7c;
  border-color: #ddbf7c;
  color: var(--green-darker, #091b14);
}

.nav-toggle {
  border-radius: 999px;
}

.founder-strip .founder-link {
  min-height: 48px;
}

.cream .fact-row:hover,
.cream .fact-row:focus-within,
.cream .market-card:hover,
.cream .market-card:focus-within {
  background: rgba(200, 163, 78, 0.075);
}

.network .service:hover,
.network .service:focus-within,
.intro .point:hover,
.intro .point:focus-within {
  background: rgba(255, 255, 255, 0.025);
}

.faq summary {
  cursor: pointer;
}

.faq details:last-child,
.faq .faq-item:last-child {
  margin-bottom: clamp(24px, 3vw, 48px);
}

footer {
  text-align: center;
}

footer > .wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}

footer .footer-brand {
  justify-content: center;
}

footer .footer-links {
  width: 100%;
  justify-content: center;
}

footer .footer-links a:hover,
footer .footer-links a:focus-visible {
  color: var(--gold, #c8a34e);
}

footer .footer-note,
footer .footer-disclaimer {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center;
}

.market-detail-page .intro > .wrap > .split-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 3vw, 42px);
}

.market-detail-page .intro > .wrap > .split-grid > :first-child,
.market-detail-page .intro > .wrap > .split-grid > .copy-stack {
  max-width: none;
}

.market-detail-page .intro > .wrap > .split-grid h2 {
  max-width: none;
}

.market-detail-page .intro > .wrap > .split-grid .copy-stack {
  width: min(100%, 86ch);
}

.market-detail-page.spain-page .intro > .wrap > .split-grid .copy-stack {
  width: min(100%, 1000px);
}

.market-detail-page.co-investment-page .intro > .wrap > .split-grid .copy-stack {
  width: min(100%, 1000px);
}

.market-detail-page.co-investment-page .intro > .wrap > .split-grid .copy-stack > p {
  max-width: none;
}

.florianopolis-page .residency-intro h2 .italic {
  color: #98722f;
}

.florianopolis-page .lead-magnets .reveal > p.lead-magnets-intro {
  width: 100%;
}

.florianopolis-page .lead-feature h3 {
  max-width: 32ch;
}

.market-detail-page .network-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, 4vw, 54px);
}

.market-detail-page .network-grid > :first-child,
.market-detail-page .network-grid > :nth-child(2),
.market-detail-page .network-grid h2 {
  max-width: none;
}

.market-detail-page .network-grid > :nth-child(2) > p {
  max-width: 86ch;
}

.market-detail-page .cta-panel {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(22px, 3vw, 38px);
}

.market-detail-page .cta-panel h2 {
  max-width: none;
}

.market-detail-page .cta-panel > :nth-child(2) p {
  max-width: 86ch;
}
.market-detail-page.co-investment-page .cta-panel > :nth-child(2) p {
  max-width: none;
}

.market-detail-page .lead-magnets .reveal > h2,
.market-detail-page .lead-magnets .reveal > p {
  max-width: none !important;
}

.market-detail-page .lead-magnets .reveal > p {
  width: min(100%, 86ch);
}

@media (min-width: 981px) {
  .paraguay-page .intro > .wrap > .split-grid .copy-stack,
  .paraguay-page .intro > .wrap > .split-grid .copy-stack > p,
  .paraguay-page .network-grid > :nth-child(2) > p,
  .florianopolis-page .intro > .wrap > .split-grid .copy-stack,
  .florianopolis-page .intro > .wrap > .split-grid .copy-stack > p,
  .florianopolis-page .network-grid > :nth-child(2) > p,
  .georgia-page .intro > .wrap > .split-grid .copy-stack,
  .georgia-page .intro > .wrap > .split-grid .copy-stack > p,
  .georgia-page .network-grid > :nth-child(2) > p,
  .georgia-page .cta-panel > :nth-child(2) > p,
  .armenia-page .intro > .wrap > .split-grid .copy-stack,
  .armenia-page .intro > .wrap > .split-grid .copy-stack > p,
  .armenia-page .network-grid > :nth-child(2) > p,
  .armenia-page .cta-panel > :nth-child(2) > p {
    width: 100%;
    max-width: none;
  }
}

.georgia-page .hero-text {
  max-width: none;
}

.georgia-page .hero-text-line {
  display: block;
}

.georgia-page .georgia-section-intro {
  margin-bottom: clamp(36px, 5vw, 68px);
}

.georgia-page .georgia-real-estate .georgia-section-intro {
  padding-top: var(--section-pad);
}

.georgia-page .georgia-section-intro h2 {
  max-width: none;
  margin-top: 16px;
}

.georgia-page .georgia-section-intro p {
  max-width: none;
  margin-top: 24px;
}

.georgia-page .georgia-section-intro p + p {
  margin-top: 14px;
}

.georgia-page .lead-feature p {
  max-width: 86ch;
}

@media (min-width: 981px) {
  .georgia-page .hero h1,
  .georgia-page .hero-text-line,
  .georgia-page .georgia-section-intro h2 {
    max-width: none;
    white-space: nowrap;
  }
}

.armenia-page .hero-text {
  max-width: none;
}

.armenia-page .hero-text-line {
  display: block;
}

.armenia-page .armenia-section-intro {
  margin-bottom: clamp(36px, 5vw, 68px);
}

.armenia-page .armenia-real-estate .armenia-section-intro {
  padding-top: var(--section-pad);
}

.armenia-page .armenia-section-intro h2 {
  max-width: none;
  margin-top: 16px;
}

.armenia-page .armenia-section-intro p {
  max-width: none;
  margin-top: 24px;
}

.armenia-page .armenia-section-intro p + p {
  margin-top: 14px;
}

@media (min-width: 981px) {
  .armenia-page .hero h1,
  .armenia-page .hero-text-line,
  .armenia-page .armenia-section-intro h2 {
    max-width: none;
    white-space: nowrap;
  }
}

.united-states-page .hero-intro {
  max-width: none;
}

.united-states-page .hero-intro-line {
  display: block;
}

.united-states-page .us-section-intro {
  margin-bottom: clamp(36px, 5vw, 68px);
}

.united-states-page .us-section-intro h2 {
  max-width: none;
  margin-top: 16px;
}

.united-states-page .us-section-body > :first-child > :first-child {
  margin-top: 0;
}

.united-states-page .working-heading {
  display: block;
}

.united-states-page .working-heading h2 {
  max-width: none;
}

.united-states-page .working-heading > p {
  width: min(100%, 86ch);
  max-width: none;
  margin-top: 24px;
}

.united-states-page .network-copy p {
  width: min(100%, 86ch);
  max-width: none;
}

.united-states-page .cta-panel > :nth-child(2) > p {
  width: 100%;
  max-width: none;
}

.united-states-page .lead-feature h3 {
  max-width: 32ch;
}

@media (min-width: 981px) {
  .united-states-page .intro > .wrap > .split-grid .copy-stack,
  .united-states-page .intro > .wrap > .split-grid .copy-stack > p {
    width: 100%;
    max-width: none;
  }

  .united-states-page .hero h1,
  .united-states-page .hero-intro-line,
  .united-states-page .us-section-intro h2,
  .united-states-page .working-heading h2,
  .united-states-page .process-intro h2 {
    max-width: none;
    white-space: nowrap;
  }

  .united-states-page #setup-process .us-section-body,
  .united-states-page #banking-readiness .us-section-body,
  .united-states-page #ongoing-support .us-section-body {
    align-items: stretch;
  }

  .united-states-page #setup-process .us-section-body > :first-child,
  .united-states-page #banking-readiness .us-section-body > :first-child,
  .united-states-page #ongoing-support .us-section-body > :first-child {
    position: sticky;
    top: 96px;
    align-self: start;
  }

  .united-states-page #setup-process .fact-table,
  .united-states-page #banking-readiness .fact-table,
  .united-states-page #ongoing-support .fact-table {
    display: grid;
    gap: 14px;
    margin-top: 0;
    padding-bottom: 36px;
    border-top: 0;
  }

  .united-states-page #setup-process .fact-row,
  .united-states-page #banking-readiness .fact-row,
  .united-states-page #ongoing-support .fact-row {
    --stack-offset: 0px;
    position: sticky;
    top: calc(96px + var(--stack-offset));
    grid-template-columns: minmax(120px, 0.55fr) minmax(0, 1.45fr);
    gap: 24px;
    min-height: 158px;
    padding: 24px 26px;
    border: 1px solid rgba(14, 42, 30, 0.2);
    background: var(--cream, #f2eddf);
    box-shadow: 0 -12px 30px rgba(14, 42, 30, 0.07);
  }

  .united-states-page #setup-process .fact-row:nth-child(1),
  .united-states-page #banking-readiness .fact-row:nth-child(1),
  .united-states-page #ongoing-support .fact-row:nth-child(1) { --stack-offset: 0px; z-index: 1; }
  .united-states-page #setup-process .fact-row:nth-child(2),
  .united-states-page #banking-readiness .fact-row:nth-child(2),
  .united-states-page #ongoing-support .fact-row:nth-child(2) { --stack-offset: 4px; z-index: 2; }
  .united-states-page #setup-process .fact-row:nth-child(3),
  .united-states-page #banking-readiness .fact-row:nth-child(3),
  .united-states-page #ongoing-support .fact-row:nth-child(3) { --stack-offset: 8px; z-index: 3; }
  .united-states-page #setup-process .fact-row:nth-child(4),
  .united-states-page #banking-readiness .fact-row:nth-child(4),
  .united-states-page #ongoing-support .fact-row:nth-child(4) { --stack-offset: 12px; z-index: 4; }
  .united-states-page #setup-process .fact-row:nth-child(5),
  .united-states-page #banking-readiness .fact-row:nth-child(5),
  .united-states-page #ongoing-support .fact-row:nth-child(5) { --stack-offset: 16px; z-index: 5; }
  .united-states-page #setup-process .fact-row:nth-child(6),
  .united-states-page #banking-readiness .fact-row:nth-child(6) { --stack-offset: 20px; z-index: 6; }
}

.florianopolis-page .real-estate-intro {
  padding-top: var(--section-pad);
  margin-bottom: clamp(36px, 5vw, 68px);
}

.florianopolis-page .real-estate-intro h2 {
  max-width: none;
  margin-top: 16px;
}

.florianopolis-page .real-estate-intro p {
  max-width: none;
  margin-top: 24px;
}

.florianopolis-page .real-estate-body {
  padding-bottom: var(--section-pad);
}

.florianopolis-page .real-estate-body > :first-child > .section-photo:first-child {
  margin-top: 0;
}

@media (min-width: 1101px) {
  .florianopolis-page .real-estate-intro h2 {
    white-space: nowrap;
  }
}

@media (min-width: 1101px) {
  .desktop-single-line,
  .market-detail-page .network-grid h2,
  .market-detail-page .cta-panel h2,
  .market-detail-page .lead-magnets .reveal > h2 {
    white-space: nowrap;
  }

  .section-title-single {
    max-width: none !important;
    white-space: nowrap;
  }

  .united-states-page .cta-panel h2 {
    max-width: none;
    white-space: normal;
  }
}

@media (max-width: 1100px) {
  .market-detail-page .intro > .wrap > .split-grid h2,
  .market-detail-page .network-grid h2,
  .market-detail-page .cta-panel h2,
  .market-detail-page .lead-magnets .reveal > h2,
  .section-title-single {
    white-space: normal;
  }
}

@media (min-width: 981px) {
  .market-scroll-page .residency > .wrap > .split-grid,
  .market-scroll-page section.cream > .wrap > .split-grid[style] {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: clamp(40px, 7vw, 110px);
    row-gap: clamp(24px, 3vw, 38px);
    align-items: start;
  }

  .market-scroll-page .residency > .wrap > .split-grid > :first-child,
  .market-scroll-page section.cream > .wrap > .split-grid[style] > :first-child {
    display: contents;
  }

  .market-scroll-page .residency > .wrap > .split-grid > :first-child > .eyebrow,
  .market-scroll-page section.cream > .wrap > .split-grid[style] > :first-child > .eyebrow {
    grid-column: 1 / -1;
  }

  .market-scroll-page .residency > .wrap > .split-grid > :first-child > h2,
  .market-scroll-page section.cream > .wrap > .split-grid[style] > :first-child > h2 {
    grid-column: 1 / -1;
    max-width: none;
    margin-top: 0;
    white-space: nowrap;
  }

  .market-scroll-page .residency > .wrap > .split-grid > :first-child > .section-photo,
  .market-scroll-page section.cream > .wrap > .split-grid[style] > :first-child > .section-photo {
    grid-column: 1;
    grid-row: 3;
    position: sticky;
    top: 96px;
    margin-top: 0;
  }

  .market-scroll-page .residency > .wrap > .split-grid > :last-child,
  .market-scroll-page section.cream > .wrap > .split-grid[style] > :last-child {
    grid-column: 2;
    grid-row: 3;
    min-width: 0;
  }

  .market-scroll-page .fact-table {
    display: grid;
    gap: 14px;
    margin-top: 34px;
    border-top: 0;
    padding-bottom: 36px;
  }

  .market-scroll-page .fact-row {
    --stack-offset: 0px;
    position: sticky;
    top: calc(96px + var(--stack-offset));
    grid-template-columns: minmax(120px, 0.55fr) minmax(0, 1.45fr);
    gap: 24px;
    min-height: 158px;
    padding: 24px 26px;
    border: 1px solid rgba(14, 42, 30, 0.2);
    background: var(--cream, #f2eddf);
    box-shadow: 0 -12px 30px rgba(14, 42, 30, 0.07);
  }

  .market-scroll-page .fact-row:nth-child(1) { --stack-offset: 0px; z-index: 1; }
  .market-scroll-page .fact-row:nth-child(2) { --stack-offset: 4px; z-index: 2; }
  .market-scroll-page .fact-row:nth-child(3) { --stack-offset: 8px; z-index: 3; }
  .market-scroll-page .fact-row:nth-child(4) { --stack-offset: 12px; z-index: 4; }
  .market-scroll-page .fact-row:nth-child(5) { --stack-offset: 16px; z-index: 5; }
  .market-scroll-page .fact-row:nth-child(6) { --stack-offset: 20px; z-index: 6; }
  .market-scroll-page .fact-row:nth-child(7) { --stack-offset: 24px; z-index: 7; }
}

@media (prefers-reduced-motion: reduce) {
  .market-scroll-page .fact-row,
  .market-scroll-page .section-photo,
  .united-states-page #setup-process .fact-row,
  .united-states-page #setup-process .us-section-body > :first-child,
  .united-states-page #banking-readiness .fact-row,
  .united-states-page #banking-readiness .us-section-body > :first-child,
  .united-states-page #ongoing-support .fact-row,
  .united-states-page #ongoing-support .us-section-body > :first-child {
    position: relative !important;
    top: auto !important;
  }
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
