/* ============================================================
   HOME PAGE
   ============================================================ */

/* ── Hero ── */
.home-hero {
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding-block: var(--sp-16);
}
.home-hero-grid {
  display: grid;
  grid-template-columns: 55% 45%;
  gap: var(--sp-12);
  align-items: center;
}
.home-hero-heading {
  font-size: var(--t-hero);
  font-weight: 300;
  letter-spacing: var(--ls-display);
  line-height: var(--leading-display);
  margin-top: var(--sp-5);
}
.home-hero-sub {
  margin-top: var(--sp-6);
  font-size: var(--t-body-lg);
  color: var(--bc-mid);
  max-width: 480px;
}
.home-hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-4);
  margin-top: var(--sp-10);
}
.home-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-6);
  margin-top: var(--sp-10);
  padding-top: var(--sp-6);
  border-top: 1px solid var(--bc-border);
}
.home-trust-strip li {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--t-micro);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
  color: var(--bc-muted);
}
.home-hero-placeholder {
  aspect-ratio: 4 / 5;
  width: 100%;
  border-left: 3px solid var(--bc-gold);
}
@media (max-width: 900px) {
  .home-hero { min-height: auto; padding-block: var(--sp-10) var(--sp-16); }
  .home-hero-grid { grid-template-columns: 1fr; gap: var(--sp-8); }
  .home-hero-media { order: -1; }
  .home-hero-placeholder { aspect-ratio: auto; height: 280px; }
}

/* ── Purpose quote ── */
.home-purpose {
  max-width: 780px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.home-purpose-quote {
  margin-top: var(--sp-6);
}
.home-purpose-quote p {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 300;
  font-size: var(--t-h2);
  line-height: var(--leading-heading);
  color: var(--bc-ink);
  max-width: none;
}

/* ── Regions ── */
.home-regions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-10);
}
@media (max-width: 900px) {
  .home-regions { grid-template-columns: 1fr; }
}
.home-region-places {
  font-family: var(--font-label);
  font-size: var(--t-small);
  font-weight: 500;
  color: var(--bc-gold);
  margin-block: var(--sp-3) var(--sp-4);
}
.home-region p:last-child {
  font-size: var(--t-small);
  color: var(--bc-mid);
}
.home-regions-cta {
  text-align: center;
  margin-top: var(--sp-12);
}

/* ── Services overview ── */
.home-services {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-6);
}
@media (max-width: 1100px) {
  .home-services { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .home-services { grid-template-columns: 1fr; }
}
.home-service-numeral {
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--t-small);
  color: var(--bc-gold);
  margin-bottom: var(--sp-3);
}
.home-service-card h3 {
  margin-bottom: var(--sp-3);
}
.home-service-card > p:not(.home-service-numeral) {
  font-size: var(--t-small);
  color: var(--bc-mid);
  margin-bottom: var(--sp-5);
}
.home-service-card .feature-list {
  margin-bottom: var(--sp-6);
}

/* ── Trust panel ── */
.home-trust-heading {
  font-size: var(--t-h1);
  font-weight: 300;
  letter-spacing: var(--ls-display);
  line-height: var(--leading-display);
  max-width: 16ch;
  margin-block: var(--sp-4) var(--sp-12);
}
.home-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.home-trust-col {
  padding-inline: var(--sp-6);
  border-left: 1px solid var(--bc-border-dark);
}
.home-trust-col:first-child {
  padding-left: 0;
  border-left: none;
}
.home-trust-col h3 {
  font-size: var(--t-h4);
  margin-bottom: var(--sp-3);
}
.home-trust-col p {
  font-size: var(--t-small);
}
@media (max-width: 900px) {
  .home-trust-grid { grid-template-columns: repeat(2, 1fr); row-gap: var(--sp-8); }
  .home-trust-col:nth-child(3) { padding-left: 0; border-left: none; }
}
@media (max-width: 560px) {
  .home-trust-grid { grid-template-columns: 1fr; }
  .home-trust-col { padding-inline: 0; border-left: none; }
}
.home-trust-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-4);
  margin-top: var(--sp-12);
}

/* ── Referral steps CTA ── */
.home-referral-cta {
  margin-top: var(--sp-12);
}

/* ── Portal panels ── */
.home-portals {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--bc-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--bc-white);
}
@media (max-width: 720px) {
  .home-portals { grid-template-columns: 1fr; }
}
.home-portal-panel {
  padding: clamp(var(--sp-6), 5vw, var(--sp-12));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--sp-4);
}
.home-portal-panel + .home-portal-panel {
  border-left: 1px solid var(--bc-border);
}
@media (max-width: 720px) {
  .home-portal-panel + .home-portal-panel {
    border-left: none;
    border-top: 1px solid var(--bc-border);
  }
}
.home-portal-mark {
  width: 44px;
  height: 44px;
}
.home-portal-panel p {
  font-size: var(--t-small);
  color: var(--bc-mid);
}
