.home-page { background: var(--color-obsidian); }
.home-page .home-hero { position: relative; min-height: 45rem; display: grid; overflow: hidden; isolation: isolate; }
.home-page .home-hero__media, .home-page .home-hero__overlay { position: absolute; inset: 0; z-index: -2; }
.home-page .home-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 72% center; }
.home-page .home-hero__overlay { z-index: -1; background: linear-gradient(90deg, rgba(9,9,11,.96) 0%, rgba(9,9,11,.82) 35%, rgba(9,9,11,.28) 70%, rgba(9,9,11,.45) 100%); }
.home-page .home-hero__container { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--space-5); align-items: center; padding-block: var(--space-11); }
.home-page .home-hero__content { grid-column: 1 / span 5; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-page .home-hero__content > * { min-width: 0; margin: 0; }
.home-page .home-hero__content h1 { max-width: 46ch; }
.home-page .home-hero__content .lead { max-width: 52ch; }
.home-page .home-hero__cta { min-width: 14rem; }
.home-page .home-hero__pillars { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin-top: var(--space-2); }
.home-page .home-hero__pillars span { min-width: 0; padding: 0 var(--space-3); border-inline-start: 1px solid var(--color-imperial-gold); color: var(--color-paper); font-size: .75rem; font-weight: 700; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.home-page .home-hero__pillars span:first-child { padding-inline-start: 0; border-inline-start: 0; }
.home-page .home-principles__intro, .home-page .home-services__intro, .home-page .home-packages__intro { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--space-5); align-items: end; margin-bottom: var(--space-8); }
.home-page .home-principles__title { grid-column: 1 / span 4; min-width: 0; }
.home-page .home-principles__lead { grid-column: 6 / span 6; min-width: 0; max-width: 58ch; margin: 0; }
.home-page .home-services__intro > div { grid-column: 1 / span 5; min-width: 0; }
.home-page .home-services__intro .lead { grid-column: 8 / span 5; min-width: 0; max-width: 56ch; margin: 0; }
.home-page .home-principles__grid, .home-page .home-services__grid, .home-page .home-criteria__grid, .home-page .home-packages__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-5); }
.home-page .home-principle-card, .home-page .home-service-card, .home-page .home-criterion-card, .home-page .home-package-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-page .home-principle-card > *, .home-page .home-service-card > *, .home-page .home-criterion-card > *, .home-page .home-package-card > * { margin: 0; min-width: 0; }
.home-page .home-service-card a, .home-page .home-package-card a { margin-top: auto; min-height: 2.75rem; display: inline-flex; align-items: center; }
.home-page .home-card-rule { display: block; width: 3.5rem; height: 1px; background: var(--color-imperial-gold); }
.home-page .home-card-number { color: var(--color-imperial-gold); font-size: .75rem; font-weight: 700; letter-spacing: .12em; }
.home-page .home-process__layout, .home-page .home-casino__layout { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--space-5); align-items: center; }
.home-page .home-process__copy, .home-page .home-casino__copy { grid-column: 1 / span 5; min-width: 0; }
.home-page .home-process__copy > .lead, .home-page .home-casino__copy > .lead { max-width: 55ch; }
.home-page .home-process__media, .home-page .home-casino__media { grid-column: 7 / span 6; min-width: 0; width: 100%; }
.home-page .home-process__media img, .home-page .home-casino__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.home-page .home-process__steps { display: flex; flex-direction: column; gap: var(--space-5); margin-top: var(--space-6); }
.home-page .home-process-step { display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: var(--space-4); min-width: 0; position: relative; }
.home-page .home-process-step > span { color: var(--color-imperial-gold); font-size: .75rem; font-weight: 700; letter-spacing: .12em; }
.home-page .home-process-step > div { min-width: 0; }
.home-page .home-process-step h3 { margin-bottom: var(--space-2); }
.home-page .home-process-step p { max-width: 54ch; }
.home-page .home-process-step small { display: block; color: var(--color-imperial-gold); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.home-page .home-scenarios__intro { width: min(100%, 55ch); margin-bottom: var(--space-8); }
.home-page .home-scenarios__intro .lead { max-width: 56ch; }
.home-page .home-scenarios__grid { display: grid; grid-template-columns: 5fr 3fr 4fr; gap: var(--space-5); align-items: start; }
.home-page .home-scenario-card { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.home-page .home-scenario-card > * { min-width: 0; margin: 0; }
.home-page .home-scenario-card--ruby { margin-top: var(--space-8); background: linear-gradient(135deg, var(--color-ruby-wash), var(--color-deep-slate) 70%); }
.home-page .home-casino__facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-block: var(--space-6); border: var(--border-default); }
.home-page .home-casino__facts span { min-width: 0; padding: var(--space-3) var(--space-4); border-bottom: var(--border-default); color: var(--color-paper); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-page .home-casino__facts span:nth-child(odd) { border-inline-end: var(--border-default); }
.home-page .home-casino__facts span:nth-last-child(-n+2) { border-bottom: 0; }
.home-page .home-casino__closing { max-width: 50ch; }
.home-page .home-casino__media figcaption { padding: var(--space-3) var(--space-4); color: var(--color-muted-silver); font-size: .75rem; }
.home-page .home-criteria__intro { width: min(100%, 62ch); margin-bottom: var(--space-8); }
.home-page .home-criteria__intro .lead { max-width: 62ch; }
.home-page .home-packages__intro > div { grid-column: 1 / span 5; min-width: 0; }
.home-page .home-packages__intro .lead { grid-column: 8 / span 5; min-width: 0; max-width: 56ch; margin: 0; }
.home-page .home-inquiry-guide__intro { width: min(100%, 62ch); margin-bottom: var(--space-8); }
.home-page .home-inquiry-guide__intro .lead { max-width: 62ch; }
.home-page .home-inquiry-guide__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); }
.home-page .home-guide-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-page .home-guide-card > * { min-width: 0; margin: 0; }
.home-page .home-guide-lines { width: 100%; display: flex; flex-direction: column; }
.home-page .home-guide-lines span { padding-block: var(--space-3); border-bottom: var(--border-default); color: var(--color-muted-silver); }
.home-page .home-guide-lines span:last-child { border-bottom: 0; }
.home-page .home-anchor-link { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: auto; }
.home-page .home-form-section { padding-top: var(--space-9); }
.home-page .home-form-panel { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--space-5); border: var(--border-default); background: var(--color-deep-slate); padding: clamp(var(--space-5),4vw,var(--space-8)); }
.home-page .home-form-panel__intro { grid-column: 1 / span 4; min-width: 0; }
.home-page .home-form-panel__intro .lead { max-width: 38ch; }
.home-page .home-form-shell { grid-column: 6 / span 7; min-width: 0; border: var(--border-default); background: var(--surface-inset); padding: var(--space-6); }
.home-page .home-inquiry-form { display: flex; flex-direction: column; gap: var(--space-5); }
.home-page .home-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); }
.home-page .home-form-field { min-width: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.home-page .home-form-field label { margin: 0; }
.home-page .home-field-error { min-height: 1.35em; margin: 0; color: #fb7185; font-size: .75rem; line-height: 1.35; }
.home-page .home-inquiry-form .is-invalid { border-color: var(--color-ruby); }
.home-page .home-form-consent { display: grid; grid-template-columns: 1rem minmax(0,1fr); align-items: start; gap: var(--space-3); min-width: 0; }
.home-page .home-form-consent label { min-width: 0; margin: 0; font-size: .875rem; font-weight: 400; }
.home-page .home-inquiry-form button[type="submit"] { width: max-content; min-width: 13.75rem; min-height: 3rem; }
.home-page .home-form-success { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: var(--border-gold); background: var(--color-deep-slate); }
.home-page .home-form-success > * { margin: 0; }
.home-page .home-form-success[hidden] { display: none; }
.home-page .card:hover { transform: translateY(-2px); transition: transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast); }
@media (max-width: 980px) {
  .home-page .home-hero { min-height: 38rem; }
  .home-page .home-hero__content { grid-column: 1 / span 6; }
  .home-page .home-process__layout, .home-page .home-casino__layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .home-page .home-process__copy, .home-page .home-casino__copy, .home-page .home-process__media, .home-page .home-casino__media { grid-column: 1; width: 100%; }
  .home-page .home-process__media { order: -1; }
  .home-page .home-casino__media { order: -1; }
  .home-page .home-process__media img, .home-page .home-casino__media img { aspect-ratio: 16 / 10; }
  .home-page .home-scenarios__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .home-scenario-card--ruby { grid-column: 1 / -1; margin-top: 0; }
}
@media (max-width: 920px) {
  .home-page .home-principles__grid, .home-page .home-services__grid, .home-page .home-criteria__grid, .home-page .home-packages__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .home-principles__grid > :last-child, .home-page .home-services__grid > :last-child, .home-page .home-criteria__grid > :last-child, .home-page .home-packages__grid > :last-child { grid-column: 1 / -1; }
  .home-page .home-form-panel { grid-template-columns: 1fr; }
  .home-page .home-form-panel__intro, .home-page .home-form-shell { grid-column: 1; width: 100%; }
}
@media (max-width: 760px) {
  .home-page .home-hero { min-height: 0; display: flex; flex-direction: column; }
  .home-page .home-hero__media { position: relative; inset: auto; height: clamp(18.75rem,75vw,23.75rem); }
  .home-page .home-hero__media img { object-position: 68% center; }
  .home-page .home-hero__overlay { position: absolute; inset: 0 auto auto 0; width: 100%; height: clamp(18.75rem,75vw,23.75rem); background: linear-gradient(180deg, rgba(9,9,11,.1), rgba(9,9,11,.48)); }
  .home-page .home-hero__container { width: min(100% - (var(--container-gutter) * 2), var(--container-width)); grid-template-columns: 1fr; padding-block: var(--space-7) var(--space-8); }
  .home-page .home-hero__content { grid-column: 1; width: 100%; }
  .home-page .home-hero__content .lead, .home-page .home-hero__content h1 { max-width: none; }
  .home-page .home-hero__cta { width: 100%; }
  .home-page .home-hero__pillars { grid-template-columns: 1fr; gap: var(--space-3); }
  .home-page .home-hero__pillars span, .home-page .home-hero__pillars span:first-child { border-inline-start: 0; border-top: 1px solid var(--color-imperial-gold); padding: var(--space-3) 0 0; }
  .home-page .home-principles__intro, .home-page .home-services__intro, .home-page .home-packages__intro { grid-template-columns: 1fr; gap: var(--space-5); margin-bottom: var(--space-6); }
  .home-page .home-principles__title, .home-page .home-principles__lead, .home-page .home-services__intro > div, .home-page .home-services__intro .lead, .home-page .home-packages__intro > div, .home-page .home-packages__intro .lead { grid-column: 1; width: 100%; max-width: none; }
  .home-page .home-principles__grid, .home-page .home-services__grid, .home-page .home-criteria__grid, .home-page .home-packages__grid, .home-page .home-scenarios__grid, .home-page .home-inquiry-guide__grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .home-page .home-principles__grid > :last-child, .home-page .home-services__grid > :last-child, .home-page .home-criteria__grid > :last-child, .home-page .home-packages__grid > :last-child, .home-page .home-scenario-card--ruby { grid-column: 1; }
  .home-page .home-scenarios__intro, .home-page .home-criteria__intro, .home-page .home-inquiry-guide__intro { width: 100%; margin-bottom: var(--space-6); }
  .home-page .home-process__steps { gap: var(--space-5); }
  .home-page .home-process-step { grid-template-columns: 1fr; gap: var(--space-2); }
  .home-page .home-casino__facts { grid-template-columns: 1fr; }
  .home-page .home-casino__facts span, .home-page .home-casino__facts span:nth-child(odd), .home-page .home-casino__facts span:nth-last-child(-n+2) { border-inline-end: 0; border-bottom: var(--border-default); }
  .home-page .home-casino__facts span:last-child { border-bottom: 0; }
  .home-page .home-form-panel { padding: var(--space-5); }
  .home-page .home-form-shell { padding: var(--space-5); }
}
@media (max-width: 639px) {
  .home-page .home-hero__content { gap: var(--space-4); }
  .home-page .home-hero__content h1 { font-size: clamp(2.5rem,12vw,3.25rem); }
  .home-page .home-hero__content .lead { font-size: 1.0625rem; }
  .home-page .home-principle-card, .home-page .home-service-card, .home-page .home-criterion-card, .home-page .home-package-card, .home-page .home-scenario-card, .home-page .home-guide-card { padding: var(--space-5); }
  .home-page .home-form-row { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-page .home-inquiry-form button[type="submit"] { width: 100%; min-width: 0; min-height: 3rem; }
  .home-page .home-form-panel { padding: var(--space-5); }
  .home-page .home-form-shell { padding: var(--space-5); }
}
@media (prefers-reduced-motion: reduce) { .home-page .card:hover { transform: none; } }
