/* Homepage topic panels. Kept separate from the protected cinematic opening. */
.hp-home .flow-grid { grid-template-columns: 13.5rem minmax(0, 1fr); gap: var(--ds-space-10); }
.hp-home .flow-workbench { padding-block: var(--ds-space-12) var(--ds-space-16); }
.hp-home .flow-rail { gap: var(--ds-space-2); }
.hp-home .flow-chapter { grid-template-columns: 1fr; align-items: center; min-height: 4.4rem; padding: var(--ds-space-5); border-color: var(--ds-clear); border-radius: var(--ds-radius-sm); box-shadow: none; }
.hp-home .flow-chapter-title { font-size: var(--ds-small); }
.hp-home .flow-chapter:hover { transform: none; background: var(--ds-wash); }
.hp-home .flow-chapter[aria-selected="true"] { background: var(--ds-brand); color: var(--ds-inverse); box-shadow: none; }
.hp-home .flow-screen { padding: 0; min-height: 0; border: 0; border-radius: var(--ds-radius); background: var(--ds-wash); box-shadow: none; }
.hp-home .flow-panel { min-height: 0; padding: var(--hp-panel-padding); }
.hp-home .flow-panel h2 { font-size: var(--hp-heading); line-height: 1.15; letter-spacing: -.035em; text-wrap: balance; margin: 0 0 var(--ds-space-5); max-width: none; }
.hp-home .flow-panel p { font-size: var(--ds-small); line-height: 1.75; }
.hp-home .flow-panel .xp-button { border-radius: var(--ds-radius-sm); min-height: 3rem; font-size: var(--ds-caption); gap: var(--ds-space-3); }
.hp-home .flow-panel .xp-link { font-size: var(--ds-caption); gap: var(--ds-space-3); }
.hp-home :is(a,button):focus-visible { outline: 2px solid var(--ds-brand); outline-offset: 4px; }
.hp-home ::selection { background: var(--accent-soft); color: var(--ds-ink); }
.hp-home :is(a,button) > svg { flex-shrink: 0; }
.hp-home .hp-introduction { display: grid; grid-template-columns: 1.25fr .85fr; gap: var(--ds-space-8); }
.hp-intro-copy { align-self: start; }
.hp-intro-copy > p { margin: 0 0 var(--ds-space-6); }
.hp-service-flow { list-style: none; counter-reset: service; margin: 0 0 var(--ds-space-5); padding: 0; display: grid; gap: var(--ds-space-4); }
.hp-service-flow li { counter-increment: service; display: grid; grid-template-columns: var(--ds-space-6) minmax(0, 1fr); column-gap: var(--ds-space-3); }
.hp-service-flow li::before { content: counter(service); grid-row: 1 / 3; color: var(--ds-brand); font-size: var(--ds-caption); font-weight: var(--ds-weight-strong); font-variant-numeric: tabular-nums; padding-top: var(--ds-space-1); }
.hp-service-flow strong { font-size: var(--ds-caption); font-weight: var(--ds-weight-strong); }
.hp-service-flow span { grid-column: 2; margin-top: var(--ds-space-1); color: var(--ds-muted); font-size: var(--ds-caption); line-height: 1.55; }
.hp-actions { display: flex; flex-wrap: wrap; gap: var(--ds-space-3) var(--ds-space-5); align-items: center; }
.hp-intro-photo, .hp-travel-photo { margin: 0; min-width: 0; overflow: clip; border-radius: var(--ds-radius-sm); }
.hp-intro-photo img, .hp-travel-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hp-intro-photo { min-height: 21rem; }
.hp-intro-photo img { object-position: 54% center; }
.hp-credentials { grid-column: 1 / -1; display: grid; grid-template-columns: .85fr 1.2fr .85fr; gap: var(--ds-space-5); align-items: center; padding-top: var(--ds-space-6); border-top: 1px solid var(--ds-line); }
.hp-credentials > div { display: flex; align-items: start; gap: var(--ds-space-3); }
.hp-credentials svg { width: var(--ds-icon); height: var(--ds-icon); color: var(--ds-brand); flex-shrink: 0; }
.hp-home .hp-credentials p { margin: 0; font-size: var(--ds-caption); color: var(--ds-muted); line-height: 1.55; }
.hp-credentials strong { display: block; color: var(--ds-ink); font-weight: 600; margin-top: var(--ds-space-1); }
.hp-verification { display: flex; gap: var(--ds-space-3); align-items: center; font-size: var(--ds-caption); line-height: 1.55; text-underline-offset: .25em; }

/* A product introduction beside a readable, interactive comparison. */
.hp-home.flow-ready .flow-panel .xp-benefits-showcase { display: grid; grid-template-columns: .95fr 1.05fr; gap: var(--ds-space-8); align-items: stretch; }
.hp-home .xp-benefits-showcase > * { min-width: 0; }
.hp-home .xp-benefits-section .xp-benefits-intro,
.hp-home.flow-ready .flow-panel .xp-benefits-intro { display: flex; flex-direction: column; min-height: 0; padding: 0; background: none; color: var(--ds-ink); border-radius: 0; overflow: visible; }
.hp-home .xp-benefits-intro::after { display: none; }
.hp-home .xp-benefits-intro :is(h2,p,.xp-link) { color: var(--ds-ink); }
.hp-home .xp-benefits-intro h2 { max-width: 14ch; }
.hp-benefits-copy p { margin: 0; }
.hp-benefits-copy .xp-link { margin-block: var(--ds-space-4) var(--ds-space-6); }
.hp-home .xp-benefits-intro .xp-benefits-photo { position: relative; inset: auto; order: 2; flex: 1; min-height: 11rem; max-height: 16rem; margin: 0; overflow: clip; border-radius: var(--ds-radius-sm); }
.hp-home .xp-benefits-photo::after { display: none; }
.hp-home .xp-benefits-photo img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.hp-home.flow-ready .flow-panel .xp-benefit-preview { padding: var(--ds-space-6); background: var(--ds-paper); border: 0; border-radius: var(--ds-radius-sm); box-shadow: none; height: 100%; }
.hp-home .xp-benefit-preview .ui-tabs-list { background: var(--ds-wash); border-radius: var(--ds-radius-sm); margin-bottom: var(--ds-space-5); padding: var(--ds-space-1); }
.hp-home .xp-benefit-preview .ui-tabs-trigger { border-radius: .35rem; min-height: 2.7rem; padding-inline: var(--ds-space-2); font-size: var(--ds-caption); }
.hp-home .xp-benefit-preview .xp-tab-marker { border-radius: .35rem; background: var(--ds-brand); box-shadow: none; }
.hp-home .xp-benefit-preview .ui-tabs-trigger[data-state="active"] { color: var(--ds-inverse); }
.hp-home .xp-benefit-price { padding-bottom: var(--ds-space-4); align-items: end; }
.hp-home .xp-benefit-price h3 { margin: 0 0 var(--ds-space-1); font-size: var(--ds-body); }
.hp-home .xp-benefit-price strong { font-size: 3.5rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.hp-home .xp-benefit-price p { font-size: var(--ds-caption); }
.hp-home .xp-benefit-inclusions { display: grid; gap: var(--ds-space-2); margin-bottom: var(--ds-space-5); }
.hp-home .xp-benefit-inclusions li { padding: var(--ds-space-2) 0; border: 0; font-size: var(--ds-caption); gap: var(--ds-space-2); }
.hp-home .xp-not-included { font-size: .72rem; color: var(--ds-muted); white-space: nowrap; }
.hp-home .xp-included { display: flex; }
.hp-home .xp-benefit-preview > .xp-fine { font-size: .72rem; line-height: 1.6; margin-top: var(--ds-space-4); }

/* Travel: the useful questions alongside a full-height photograph. */
.hp-home .ic-travel-section,
.hp-home.flow-ready .flow-panel.ic-travel-section { padding: 0; background: var(--ds-wash); color: var(--ds-ink); border-radius: 0; }
.hp-travel { display: grid; grid-template-columns: 1.15fr .85fr; min-height: var(--hp-panel-height); }
.hp-travel-copy { padding: var(--hp-panel-padding); align-self: start; }
.hp-home .hp-travel-copy h2,
.hp-home.flow-ready .flow-panel.ic-travel-section h2 { color: var(--ds-ink); }
.hp-home .hp-travel-copy > p { color: var(--ds-muted); margin: 0; }
.hp-travel-details { list-style: none; padding: 0; margin: var(--ds-space-6) 0; display: grid; gap: var(--ds-space-4); }
.hp-travel-details li { display: flex; align-items: center; gap: var(--ds-space-3); font-size: var(--ds-caption); line-height: 1.5; }
.hp-travel-details svg { width: var(--ds-icon); height: var(--ds-icon); color: var(--ds-brand); flex-shrink: 0; }
.hp-home .hp-travel-copy .xp-button { background: var(--ds-brand); color: var(--ds-inverse); }
.hp-home .hp-travel-copy .xp-link { color: var(--ds-brand); display: flex; width: fit-content; margin-top: var(--ds-space-4); }
.hp-travel-photo { position: relative; border-radius: 0; }
.hp-travel-photo img { position: absolute; object-position: 68% center; }
.hp-travel-photo figcaption { position: absolute; inset: auto 0 0; display: flex; align-items: center; gap: var(--ds-space-4); background: var(--ds-brand); color: var(--ds-inverse); padding: var(--ds-space-6); font-size: var(--ds-body); line-height: 1.5; }
.hp-travel-photo figcaption svg { flex-shrink: 0; width: var(--ds-space-8); height: var(--ds-space-8); }

/* Enquiry: a calm introduction and one clear selection task. */
.hp-home .flow-panel .xp-home-review { display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: var(--ds-space-10); padding: 0; border: 0; background: none; border-radius: 0; min-height: 26rem; }
.hp-home .flow-panel .xp-home-review > :first-child { margin-bottom: 0; }
.hp-home .xp-home-review h2 { max-width: 12ch; }
.hp-contact-copy > p { margin: 0; }
.hp-contact-direct { margin-top: var(--ds-space-8); display: grid; gap: var(--ds-space-3); }
.hp-home .hp-contact-direct > p { margin: 0; font-size: var(--ds-caption); }
.hp-contact-direct > a { display: flex; align-items: center; gap: var(--ds-space-3); font-size: var(--ds-caption); text-decoration: none; overflow-wrap: anywhere; }
.hp-contact-direct > a:hover { text-decoration: underline; text-underline-offset: .2em; }
.hp-contact-direct svg { width: 1.1rem; height: 1.1rem; }
.hp-home .hp-picker-label { font-weight: 600; color: var(--ds-ink); margin: 0 0 var(--ds-space-4); }
.hp-home .xp-review-options { grid-template-columns: 1fr; gap: var(--ds-space-3); }
.hp-home .xp-review-options button { min-height: 3.6rem; border: 1px solid var(--ds-line); padding: var(--ds-space-4); border-radius: var(--ds-radius-sm); background: var(--ds-paper); font-size: var(--ds-caption); }
.hp-home .xp-review-options button[aria-pressed="true"] { background: var(--ds-tint); border-color: var(--ds-brand); color: var(--ds-ink); }
.hp-home .xp-review-options button:hover { border-color: var(--ds-brand); }
.hp-home .xp-review-options button svg { color: var(--ds-brand); }
.hp-home .xp-home-review .xp-review-options button[aria-pressed="true"] > svg { color: var(--ds-brand); }
.hp-home .xp-review-options .xp-radio { border-color: var(--ds-line); background: var(--ds-paper); }
.hp-home .xp-home-review .xp-review-options [aria-pressed="true"] .xp-radio { background: var(--ds-brand); border-color: var(--ds-brand); }
.hp-home .xp-review-options .xp-radio svg { color: var(--ds-inverse); }
.hp-home .hp-next-note { font-size: .72rem; margin: var(--ds-space-3) 0 0; color: var(--ds-muted); }

@media (max-width: 70rem) {
  .hp-home .flow-grid { grid-template-columns: 11.5rem minmax(0, 1fr); gap: var(--ds-space-6); }
  .hp-home .flow-panel { padding: var(--ds-space-6); }
  .hp-home .hp-introduction { gap: var(--ds-space-6); grid-template-columns: 1.25fr .75fr; }
  .hp-home .hp-credentials { grid-template-columns: 1fr 1.3fr; }
  .hp-verification { grid-column: 1 / -1; }
  .hp-home .hp-support, .hp-home .flow-panel .xp-home-review { gap: var(--ds-space-6); grid-template-columns: 1fr 1fr; }
  .hp-home.flow-ready .flow-panel .xp-benefits-showcase { gap: var(--ds-space-6); }
  .hp-home.flow-ready .flow-panel .xp-benefit-preview { padding: var(--ds-space-4); }
  .hp-travel-copy { padding: var(--ds-space-6); }
}
@media (max-width: 60rem) and (min-width: 48.01rem) {
  .hp-home .flow-grid { grid-template-columns: 10.5rem minmax(0, 1fr); gap: var(--ds-space-4); }
  .hp-home .flow-chapter { padding: var(--ds-space-4); }
  .hp-home .hp-introduction, .hp-home .hp-support, .hp-home .flow-panel .xp-home-review,
  .hp-home.flow-ready .flow-panel .xp-benefits-showcase { grid-template-columns: 1fr; }
  .hp-intro-photo { min-height: 12rem; max-height: 14rem; }
  .hp-home .xp-benefits-intro .xp-benefits-photo { min-height: 12rem; flex: auto; }
  .hp-travel { grid-template-columns: 1fr; }
  .hp-travel-photo { min-height: 17rem; }
}
@media (max-width: 48rem) {
  .hp-home .flow-grid { display: block; }
  .hp-home .flow-workbench { padding-block: var(--ds-space-6) var(--ds-space-10); }
  .hp-home .flow-rail { gap: var(--ds-space-2); margin-bottom: var(--ds-space-2); }
  .hp-home .flow-chapter { min-height: 3rem; min-width: 0; padding: var(--ds-space-3) var(--ds-space-4); }
  .hp-home .flow-chapter-title { font-size: var(--ds-caption); }
  .hp-home .flow-panel { padding: var(--ds-space-6); min-height: 0; }
  .hp-home .flow-panel h2 { font-size: 1.9rem; }
  .hp-home .hp-introduction, .hp-home .hp-support, .hp-home .flow-panel .xp-home-review,
  .hp-home.flow-ready .flow-panel .xp-benefits-showcase { grid-template-columns: 1fr; gap: var(--ds-space-6); min-height: 0; }
  .hp-intro-photo { min-height: 0; height: 11rem; }
  .hp-home .hp-credentials { grid-template-columns: 1fr; gap: var(--ds-space-4); padding-top: var(--ds-space-5); }
  .hp-verification { grid-column: auto; }
  .hp-home .xp-benefits-intro .xp-benefits-photo { min-height: 10rem; flex: auto; }
  .hp-home.flow-ready .flow-panel .xp-benefit-preview { padding: var(--ds-space-5); }
  .hp-home .xp-benefits-intro h2 { max-width: none; }
  .hp-travel { grid-template-columns: 1fr; min-height: 0; }
  .hp-travel-photo { min-height: 17rem; }
  .hp-travel-photo img { object-position: center 40%; }
  .hp-travel-photo figcaption { padding: var(--ds-space-4) var(--ds-space-6); }
  .hp-contact-direct { margin-top: var(--ds-space-5); }
}

@media print {
  .hp-home .flow-panel { min-height: 0; margin-bottom: var(--ds-space-8); }
  .hp-home .flow-screen { overflow: visible; }
}

/* The homepage topics share one compact stage on desktop. */
.hp-home .flow-panel h2 { margin-bottom: var(--ds-space-4); }
.hp-home .hp-intro-copy > p { margin-bottom: var(--ds-space-5); }
.hp-home .hp-credentials { gap: var(--ds-space-4); padding-top: var(--ds-space-4); }
.hp-home .hp-support-copy .xp-button { margin-top: var(--ds-space-2); }
.hp-home .hp-support-copy .xp-link { margin-top: var(--ds-space-5); }
.hp-home.flow-ready .flow-panel .xp-benefit-preview { padding: var(--ds-space-5); }
.hp-home .xp-benefit-preview .ui-tabs-list { margin-bottom: var(--ds-space-3); }
.hp-home .xp-benefit-price { padding-bottom: var(--ds-space-3); }
.hp-home .xp-benefit-price strong { font-size: 2.8rem; }
.hp-home .xp-benefit-inclusions { gap: 0; margin-bottom: var(--ds-space-3); }
.hp-home .xp-benefit-inclusions li { padding-block: var(--ds-space-1); }
.hp-home .xp-benefit-preview > .xp-fine { margin-top: var(--ds-space-3); }
.hp-home .flow-panel .xp-button { min-height: 2.75rem; padding-block: var(--ds-space-3); }
.hp-home .hp-contact-direct { margin-top: var(--ds-space-5); }
@media (min-width: 70.01rem) {
  .hp-home.flow-ready .flow-panel { height: var(--hp-panel-height); min-height: 0; }
  .hp-home.flow-ready .flow-panel > .xp-shell { height: 100%; }
  .hp-home .hp-introduction { height: 100%; grid-template-rows: minmax(0, 1fr) auto; gap: var(--ds-space-6); }
  .hp-home.flow-ready .flow-panel:has(.hp-introduction, .hp-support) { height: auto; min-height: var(--hp-panel-height); }
  .hp-home .flow-panel:has(.hp-introduction) > .xp-shell { height: auto; }
  .hp-home .hp-intro-photo { min-height: 0; }
  .hp-home.flow-ready .flow-panel .xp-benefits-showcase { height: 100%; gap: var(--ds-space-6); }
  .hp-home .xp-benefits-intro .xp-benefits-photo { min-height: 0; }
  .hp-home .hp-support { height: 100%; }
  .hp-home .flow-panel .xp-home-review { min-height: 0; height: 100%; }
}
@media (max-width: 70rem) {
  .hp-home .flow-panel { min-height: 0; }
  .hp-home .hp-intro-photo { min-height: 12rem; }
}
@media print {
  .hp-home.flow-ready .flow-panel,
  .hp-home.flow-ready .flow-panel > .xp-shell,
  .hp-home.flow-ready .flow-panel .xp-benefits-showcase,
  .hp-home .hp-support, .hp-home .hp-introduction { height: auto; }
  .hp-home .hp-intro-photo { min-height: 12rem; }
}

/* Every homepage topic starts its copy on the same top and left inset. */
.hp-home :is(.hp-intro-copy, .hp-benefits-copy, .hp-support-copy, .hp-travel-copy, .hp-contact-copy) { align-self: start; }
