/* Public website design system, extended from /offer.
   The existing stylesheet retains the functional components and owner hooks.
   This layer owns their visual treatment; owner and payment portals are separate. */
.elio-site {
  --editorial-accent: #80682f;
  --editorial-panel: #eee8dd;
  --editorial-space: clamp(64px, 7vw, 104px);
  --container: 1280px;
  --header-height: 96px;
  background: var(--page-bg);
  font-size: calc(15px * var(--owner-type-scale, 1));
  line-height: 1.65;
}
html[data-theme="dark"] .elio-site {
  --editorial-accent: #cda85a;
  --editorial-panel: #211d16;
}
.elio-site :focus-visible {
  outline: 3px solid var(--editorial-accent);
  outline-offset: 5px;
}
.elio-site :is(h1, h2, h3) {
  font-weight: 500;
  line-height: 1.12;
  text-wrap: pretty;
}
.elio-site h1 {
  font-size: clamp(40px, 4.5vw, 64px);
  letter-spacing: -0.055em;
}
.elio-site h2 {
  font-size: clamp(32px, 3.5vw, 50px);
  letter-spacing: -0.045em;
}
.elio-site h3 {
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 600;
  letter-spacing: -0.025em;
}
.elio-site h1 em {
  color: var(--editorial-accent);
  font-style: normal;
}
.elio-site p { line-height: 1.7; }
.elio-site :is(.eyebrow, .card-kicker, .content-label) {
  color: var(--page-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  line-height: 1.5;
  text-transform: uppercase;
}
.elio-site .eyebrow { margin: 0 0 24px; }
.elio-site .container { width: min(calc(100% - 112px), var(--container)); }
.elio-site :is(.section, .conversion-section, .home-mirror-section, .mirror-overview-section) {
  padding: var(--editorial-space) 0;
  border-top: 0;
}
.elio-site .section-heading { max-width: 760px; margin-bottom: 40px; }
.elio-site .section-heading p:last-child { max-width: 600px; line-height: 1.7; }
.elio-site :is(.conversion-split, .split-section, .visual-story-card, .conversion-proof, .mirror-overview) {
  gap: clamp(32px, 5vw, 80px);
}
.elio-site :is(.conversion-split, .mirror-overview) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.elio-site :is(.home-mirror-section .conversion-split, .mirror-overview) {
  width: min(calc(100% - 112px), var(--container));
}
.elio-site :is(.home-mirror-copy, .mirror-overview-heading) .section-heading h2 {
  font-size: clamp(32px, 3.5vw, 50px);
  line-height: 1.12;
}
.elio-site .narrow-content { max-width: 860px; }
.elio-site .narrow-content > p { max-width: 680px; }

/* Full navigation, with the same restrained appearance as the campaign header. */
.elio-site .site-header,
.elio-site .site-header.is-scrolled {
  position: sticky;
  top: 0;
  min-height: var(--header-height);
  gap: 20px;
  padding: 0 clamp(20px, 3vw, 56px);
  border: 0;
  background: var(--page-bg);
  color: var(--page-ink);
  box-shadow: none;
  backdrop-filter: none;
}
.elio-site .site-header.is-scrolled { border-bottom: 1px solid var(--page-line); }
.elio-site .site-header .brand { flex: 0 0 auto; }
.elio-site .site-header .brand-logo { width: 100px; height: 58px; object-fit: contain; filter: brightness(0); }
html[data-theme="dark"] .elio-site .site-header .brand-logo { filter: none; }
.elio-site .site-nav { gap: 2px; font-size: 11px; }
.elio-site .site-nav a { color: var(--page-ink); font-weight: 600; padding: 12px 9px; }
.elio-site .site-nav a:hover,
.elio-site .nav-group.is-active > .nav-link { color: var(--editorial-accent); background: transparent; }
.elio-site .nav-dropdown-toggle { color: var(--page-ink); width: 26px; height: 44px; }
.elio-site .nav-dropdown {
  border: 1px solid var(--page-line);
  background: var(--page-bg);
  box-shadow: 0 16px 40px #17130f12;
  border-radius: 4px;
  padding: 12px;
  visibility: hidden;
}
.elio-site .nav-group:hover .nav-dropdown,
.elio-site .nav-group:focus-within .nav-dropdown,
.elio-site .nav-group.is-dropdown-open .nav-dropdown { visibility: visible; }
.elio-site .nav-dropdown a { padding: 12px; }
.elio-site .site-nav .nav-cta {
  background: var(--gold);
  color: #17130f;
  border-radius: 4px;
  padding: 16px 20px;
  box-shadow: none;
}
.elio-site .site-nav .nav-cta:hover { background: #dfbf7c; color: #17130f; }
.elio-site .theme-switch { border-color: var(--page-line); background: transparent; box-shadow: none; }
.elio-site .theme-switch-option { color: var(--page-muted); }
.elio-site .theme-switch-option.is-active { background: var(--editorial-panel); color: var(--page-ink); box-shadow: none; }
.elio-site .nav-toggle { border-color: var(--page-line); background: transparent; }
.elio-site .nav-toggle span { background: var(--page-ink); }

/* The existing photo/video slots remain editable. Copy sits beside the media. */
.elio-site .editorial-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(32px, 4vw, 64px);
  min-height: 600px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px 24px 56px;
  background: var(--page-bg);
  overflow: visible;
}
.elio-site .editorial-hero.page-hero { min-height: 520px; }
.elio-site .editorial-hero .hero-inner {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  max-width: 590px;
  align-self: center;
  margin: 0;
  padding: 40px 0 48px;
  animation: none;
}
.elio-site .editorial-hero .hero-bg {
  position: relative;
  inset: auto;
  z-index: auto;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  min-height: 100%;
  border-radius: 4px;
  overflow: hidden;
  background: var(--editorial-panel);
}
.elio-site .editorial-hero .hero-bg :is(img, video) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
  animation: none;
}
.elio-site .editorial-hero .hero-overlay { display: none; }
.elio-site .editorial-hero h1 { color: var(--page-ink); text-shadow: none; }
.elio-site .editorial-hero .eyebrow { color: var(--page-muted); }
.elio-site .editorial-hero .hero-copy {
  max-width: 460px;
  margin-top: 28px;
  color: var(--page-muted);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
}
.elio-site .hero-booking-actions { margin-top: 32px; }
.elio-site .legal-hero {
  min-height: 0;
  padding: 72px 0;
  background: var(--editorial-panel);
}
.elio-site .legal-hero .hero-inner { max-width: 1280px; }
.elio-site .legal-content { max-width: 860px; }
.elio-site .legal-content h2 { font-size: 28px; }

/* Secondary pages keep the original full-bleed photo/video hero and dark header. */
.elio-site:not(.page-index) .site-header,
.elio-site:not(.page-index) .site-header.is-scrolled {
  position: fixed;
  inset: 0 0 auto;
  min-height: var(--header-height);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(5, 5, 5, 0.78);
  color: #fff;
  box-shadow: none;
  backdrop-filter: blur(18px);
}
.elio-site:not(.page-index) .site-header.is-scrolled { background: rgba(5, 5, 5, 0.94); border-bottom-color: rgba(205, 168, 90, 0.28); }
.elio-site:not(.page-index) .site-header .brand-logo { filter: none; }
.elio-site:not(.page-index) .site-nav a { color: rgba(255, 255, 255, 0.86); }
.elio-site:not(.page-index) .site-nav a:hover,
.elio-site:not(.page-index) .nav-group.is-active > .nav-link { color: var(--gold-bright); }
.elio-site:not(.page-index) .nav-dropdown-toggle { color: #fff; }
.elio-site:not(.page-index) .theme-switch { border-color: rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.06); }
.elio-site:not(.page-index) .theme-switch-option { color: rgba(255, 255, 255, 0.72); }
.elio-site:not(.page-index) .theme-switch-option.is-active { background: rgba(255, 255, 255, 0.14); color: #fff; }
.elio-site:not(.page-index) .nav-toggle { border-color: rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.06); }
.elio-site:not(.page-index) .nav-toggle span { background: #fff; }
.elio-site:not(.page-index) .hero-copy { color: rgba(255, 255, 255, 0.84); }
.elio-site:not(.page-index) :is(.hero, .page-hero) .eyebrow { color: var(--gold-bright); }

/* Buttons and text links share the landing page's shape, weight, and rhythm. */
.elio-site .button {
  width: fit-content;
  min-height: 56px;
  gap: 30px;
  padding: 17px 24px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  box-shadow: none;
}
.elio-site .button-primary { background: var(--gold); color: #17130f; }
.elio-site a.button-primary::after,
.elio-site .button-quiet::after {
  content: '';
  display: inline-block;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  position: static;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M5 5h14v14' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M5 5h14v14' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform: none;
  font-size: 23px;
  font-weight: 400;
  line-height: 1;
}
.elio-site .button:hover { background: #dfbf7c; color: #17130f; box-shadow: none; }
.elio-site :is(.button-secondary, .button-quiet) {
  border: 1px solid var(--page-line);
  background: transparent;
  color: var(--page-ink);
}
.elio-site .button-quiet { border-width: 0 0 1px; border-radius: 0; padding-right: 4px; padding-left: 4px; }
.elio-site .button:disabled { opacity: .55; transform: none; cursor: wait; }
.elio-site .text-link { font-size: 13px; font-weight: 600; color: var(--editorial-accent); }

.elio-site .home-trust-line { background: #17130f; border: 0; }
.elio-site .home-trust-line span { padding: 28px 16px; color: #f8f1e7; font-size: 12px; font-weight: 400; }
.elio-site .home-trust-line span + span { border: 0; position: relative; }
.elio-site .home-trust-line span + span::before { content: ''; position: absolute; left: -6px; width: 18px; height: 18px; background: url('/assets/images/offer/spark.svg') center/contain no-repeat; }
.elio-site :is(.conversion-check-list, .feature-list) li { padding: 16px 0; font-size: 14px; line-height: 1.65; }
.elio-site .home-mirror-copy .conversion-check-list { grid-template-columns: 1fr; }
.elio-site .home-mirror-copy .cta-row { margin-top: 28px; }
.elio-site :is(.conversion-steps strong, .steps-grid h3) { font-size: 20px; font-weight: 600; }
.elio-site .conversion-steps { margin-top: 48px; border-color: var(--page-line); }
.elio-site .conversion-steps span { margin-bottom: 30px; color: var(--editorial-accent); font-size: 12px; }
.elio-site .conversion-proof-grid { gap: 72px; }
.elio-site .conversion-proof h2 { font-size: clamp(30px, 3.3vw, 46px); }
.elio-site .visual-story-card h2 { font-size: clamp(32px, 3.5vw, 50px); }
.elio-site :is(.conversion-result-card, .visual-story-card) figure { border-radius: 4px; }
.elio-site .conversion-result-card > div { padding-top: 24px; }
.elio-site .conversion-result-card :is(h3, p) { max-width: none; }
.elio-site :is(.card-grid, .product-card-grid, .contact-card-grid, .backdrop-grid, .example-gallery) { gap: 32px; }
.elio-site :is(.info-card, .feature-card, .contact-card, .trust-card, .review-card) {
  background: var(--card-bg);
  color: var(--page-ink);
  border: 1px solid var(--page-line);
  border-radius: 4px;
  box-shadow: none;
  padding: 28px;
}
.elio-site :is(.info-card, .feature-card, .contact-card, .trust-card, .review-card):hover {
  box-shadow: none;
  transform: none;
}
.elio-site :is(.info-card, .review-card, .trust-card, .package-card)::before { display: none; }
.elio-site .product-card { padding: 0; }
.elio-site :is(.contact-card, .feature-card) > span { font-size: 10px; font-weight: 700; letter-spacing: 1.4px; }
.elio-site .contact-card strong { font-size: clamp(18px, 1.7vw, 23px); font-weight: 500; overflow-wrap: anywhere; }
.elio-site :is(.gallery-card, .backdrop-option-card, .example-showcase-card) { border-radius: 4px; box-shadow: none; }
.elio-site .gallery-card img { transition: transform .35s; }
.elio-site .gallery-card:hover img { transform: scale(1.025); }

/* Transparent starting prices and a quiet highlighted middle package. */
.elio-site .packages-grid { gap: 0; border-top: 1px solid var(--page-line); border-bottom: 1px solid var(--page-line); }
.elio-site .package-card {
  border: 0;
  border-radius: 0;
  padding: 40px 32px;
  background: transparent;
  box-shadow: none;
  color: var(--page-ink);
}
.elio-site .package-card + .package-card { border-left: 1px solid var(--page-line); }
.elio-site .package-card.package-featured { background: var(--editorial-panel); }
.elio-site .package-card:hover { transform: none; box-shadow: none; }
.elio-site .package-card .card-kicker { margin: 0 0 24px; }
.elio-site .package-card h3 { font-size: 28px; font-weight: 500; }
.elio-site .package-card .price { font-size: clamp(32px, 3vw, 44px); letter-spacing: -2px; font-weight: 500; color: var(--page-ink); }
.elio-site .package-duration { font-weight: 500; color: var(--editorial-accent); }
.elio-site .package-card :is(p, ul) { font-size: 13px; }
.elio-site .package-card ul { margin: 28px 0 32px; gap: 12px; }
.elio-site .package-card .button { width: 100%; justify-content: space-between; }
.elio-site .table-wrap { border-radius: 4px; box-shadow: none; }
.elio-site .compare-table :is(th, td) { padding: 20px; font-size: 13px; }

/* Booking markup, state indicators, endpoints and payment behavior stay intact. */
.elio-site .lead-section { border-top: 1px solid var(--page-line); background: var(--editorial-panel); }
.elio-site .lead-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; }
.elio-site .lead-form { background: var(--card-bg); border: 1px solid var(--page-line); padding: 32px; gap: 22px; box-shadow: none; border-radius: 4px; }
.elio-site .lead-form :is(input, select, textarea) { border-radius: 4px; font-size: 16px; min-height: 50px; }
.elio-site .lead-form :is(input, select, textarea):focus { border-color: var(--editorial-accent); box-shadow: 0 0 0 3px #cda85a26; }
.elio-site .form-field label { font-size: 12px; font-weight: 600; }
.elio-site .form-field label span { font-weight: 400; }
.elio-site .lead-form :is(.form-note, .integration-note, .booking-consent) { font-size: 12px; line-height: 1.7; }
.elio-site .lead-form .form-button { width: 100%; }
.elio-site .booking-package-option > span { border-radius: 4px; padding: 16px 12px; }
.elio-site .booking-package-option input:checked + span { border-color: var(--editorial-accent); box-shadow: 0 0 0 1px var(--editorial-accent); }
.elio-site .booking-consent input { min-height: 0; width: 20px; height: 20px; accent-color: var(--editorial-accent); }
.elio-site .booking-calendar { border-radius: 4px; }
.elio-site .contact-stack a { background: transparent; border: 0; border-bottom: 1px solid var(--page-line); border-radius: 0; padding: 16px 0; font-weight: 500; }
.elio-site .faq-section > .container { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: start; }
.elio-site .faq-list { gap: 0; }
.elio-site .faq-list details { border: 0; border-top: 1px solid var(--page-line); border-radius: 0; padding: 24px 0; background: transparent; }
.elio-site .faq-list details:last-child { border-bottom: 1px solid var(--page-line); }
.elio-site .faq-list details[open] { background: transparent; }
.elio-site .faq-list summary { font-size: 15px; font-weight: 600; padding-right: 24px; }
.elio-site .faq-list details p { font-size: 14px; }

/* Closing invitation and footer retain every existing destination. */
.elio-site .final-cta {
  background: var(--editorial-panel);
  color: var(--page-ink);
  padding: 80px 0;
}
.elio-site .final-cta h2 { font-size: clamp(36px, 4vw, 56px); line-height: 1.12; }
.elio-site .final-cta .eyebrow { color: var(--page-muted); }
.elio-site .final-cta-inner { gap: 48px; }
.elio-site .site-footer { padding: 72px 0 30px; background: #17130f; }
.elio-site .footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; }
.elio-site .site-footer h2 { font-size: 11px; font-weight: 600; letter-spacing: 1.3px; text-transform: uppercase; }
.elio-site .site-footer :is(p, a) { font-size: 12px; line-height: 1.8; }
.elio-site .site-footer .brand-logo { width: 110px; height: 62px; object-fit: contain; }
.elio-site .footer-brand p { max-width: 300px; color: #c2b8a7; }
.elio-site .footer-developer { justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px 32px; margin-top: 56px; }
.elio-site .footer-copyright { color: #c2b8a7; font-size: 12px; }
.elio-site .footer-developer a { font-size: 10px; }
.elio-site .site-footer .social-icon-link { border-color: #615746; color: #d8b777; background: transparent; border-radius: 4px; }
.elio-site .mobile-cta { background: var(--page-bg); border-color: var(--page-line); border-radius: 6px; bottom: max(10px, env(safe-area-inset-bottom)); box-shadow: 0 4px 30px #17130f14; }
.elio-site .mobile-cta a { color: var(--page-ink); background: transparent; border-radius: 4px; font-weight: 600; }
.elio-site .mobile-cta a:last-child { background: var(--gold); color: #17130f; }
.elio-site .mobile-cta[hidden] { display: none; }

/* Override legacy dark-mode component paints, using the same semantic tokens. */
html[data-theme="dark"] .elio-site :is(.info-card, .feature-card, .contact-card, .trust-card, .review-card, .lead-form) { background: var(--card-bg); border-color: var(--page-line); }
html[data-theme="dark"] .elio-site .package-card { background: transparent; }
html[data-theme="dark"] .elio-site .package-card.package-featured,
html[data-theme="dark"] .elio-site :is(.final-cta, .lead-section) { background: var(--editorial-panel); }
html[data-theme="dark"] .elio-site :is(.eyebrow, .card-kicker, .content-label) { color: var(--page-muted); }
html[data-theme="dark"] .elio-site :is(.button-secondary, .button-quiet) { background: transparent; color: var(--page-ink); }
html[data-theme="dark"] .elio-site .site-nav .nav-cta { color: #17130f; background: var(--gold); }
html[data-theme="dark"] .elio-site .package-card .price { color: var(--page-ink); }
html[data-theme="dark"] .elio-site .faq-list details { background: transparent; }

@media (max-width: 1200px) and (min-width: 981px) {
  .elio-site .site-header { padding: 0 24px; gap: 10px; }
  .elio-site .site-header .brand-logo { width: 80px; }
  .elio-site .site-nav a { padding-right: 6px; padding-left: 6px; font-size: 10px; }
  .elio-site .theme-switch { grid-template-columns: repeat(3, 28px); }
  .elio-site .theme-switch-option { width: 28px; }
  .elio-site .site-nav .nav-phone { display: none; }
}
@media (max-width: 980px) {
  .elio-site { --header-height: 80px; }
  .elio-site .site-header { justify-content: space-between; }
  .elio-site .header-controls { margin-left: auto; }
  .elio-site .site-nav { top: calc(var(--header-height) + 8px); background: var(--page-bg); border-color: var(--page-line); padding: 16px; visibility: hidden; }
  .elio-site .site-nav.is-open { visibility: visible; }
  .elio-site .site-nav a { padding: 14px; font-size: 14px; }
  .elio-site:not(.page-index) .site-nav { background: rgba(5, 5, 5, 0.97); border-color: rgba(255, 255, 255, 0.18); }
  .elio-site:not(.page-index) .site-nav a { color: rgba(255, 255, 255, 0.86); }
  .elio-site .nav-dropdown { visibility: inherit; }
  .elio-site .nav-dropdown-toggle { width: 44px; border-color: var(--page-line); }
  .elio-site .editorial-hero { padding-left: 32px; gap: 32px; min-height: 500px; }
  .elio-site .editorial-hero.page-hero { min-height: 480px; }
  .elio-site :is(.container, .home-mirror-section .conversion-split, .mirror-overview) { width: min(calc(100% - 64px), var(--container)); }
  .elio-site h1 { font-size: clamp(36px, 4.8vw, 48px); }
  .elio-site :is(.lead-grid, .faq-section > .container) { grid-template-columns: 1fr; gap: 32px; }
  .elio-site .lead-grid > div { max-width: 650px; }
  .elio-site .packages-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .elio-site .package-card { padding: 28px 20px; }
  .elio-site .package-card .button { gap: 10px; padding: 14px; }
  .elio-site .package-card .price { font-size: 30px; }
  .elio-site .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .elio-site .home-trust-line .container { width: calc(100% - 32px); }
}
@media (max-width: 700px) {
  .elio-site { --header-height: 76px; --editorial-space: 56px; padding-bottom: 0; }
  .elio-site :is(.container, .home-mirror-section .conversion-split, .mirror-overview) { width: calc(100% - 40px); }
  .elio-site h1 { font-size: clamp(34px, 9vw, 46px); }
  .elio-site h2 { font-size: clamp(30px, 8.2vw, 38px); }
  .elio-site h3 { font-size: 22px; }
  .elio-site .site-header { padding: 0 20px; }
  .elio-site .site-header .brand-logo { width: 86px; height: 50px; }
  .elio-site .theme-switch { grid-template-columns: repeat(2, 30px); }
  .elio-site .theme-switch-option { width: 30px; height: 36px; }
  .elio-site .editorial-hero,
  .elio-site .editorial-hero.page-hero { grid-template-columns: 1fr; gap: 28px; padding: 0 20px 24px; min-height: 0; }
  .elio-site .editorial-hero .hero-inner { padding: 28px 0 0; max-width: none; }
  .elio-site .editorial-hero .hero-bg { grid-column: 1; grid-row: 2; min-height: 0; height: auto; aspect-ratio: 1 / 1; }
  .elio-site .editorial-hero.page-hero .hero-bg { aspect-ratio: 4 / 3; }
  .elio-site .editorial-hero .hero-copy { font-size: 14px; margin-top: 24px; }
  .elio-site .eyebrow { font-size: 9px; letter-spacing: 1.5px; margin-bottom: 22px; }
  .elio-site .hero-booking-actions { display: flex; margin-top: 24px; gap: 24px; }
  .elio-site .hero-booking-actions > [data-conversion] { display: inline-flex; }
  .elio-site .hero-booking-actions .button { width: auto; }
  .elio-site .button { gap: 24px; min-height: 54px; }
  .elio-site .home-trust-line .container { grid-template-columns: repeat(2, minmax(0, 1fr)); width: calc(100% - 40px); padding: 12px 0; }
  .elio-site .home-trust-line span { padding: 12px 4px; font-size: 10px; text-align: left; }
  .elio-site .home-trust-line span + span::before { display: none; }
  .elio-site .section-heading { margin-bottom: 30px; }
  .elio-site :is(.conversion-split, .mirror-overview, .conversion-proof, .visual-story-card, .visual-story-card.reverse) { grid-template-columns: 1fr; gap: 28px; }
  .elio-site :is(.conversion-split.reverse, .conversion-proof:nth-child(even)) > :first-child { order: 0; }
  .elio-site .home-mirror-copy .section-heading h2 { font-size: 32px; }
  .elio-site :is(.conversion-proof h2, .visual-story-card h2) { font-size: 32px; }
  .elio-site .conversion-proof-grid { gap: 56px; }
  .elio-site .conversion-steps { grid-template-columns: 1fr; gap: 24px; margin-top: 28px; }
  .elio-site .conversion-steps li { padding: 24px 0 0; }
  .elio-site .conversion-steps span { margin-bottom: 14px; }
  .elio-site .packages-grid { grid-template-columns: 1fr; }
  .elio-site .package-card { padding: 32px 24px; }
  .elio-site .package-card + .package-card { border-left: 0; border-top: 1px solid var(--page-line); }
  .elio-site .package-card .price { font-size: 42px; }
  .elio-site .lead-form { padding: 24px 18px; gap: 20px; }
  .elio-site .booking-package-picker { grid-template-columns: 1fr; }
  .elio-site .booking-package-option > span { min-height: 0; }
  .elio-site .faq-section > .container { gap: 0; }
  .elio-site .service-note { flex-direction: column; align-items: flex-start; gap: 24px; }
  .elio-site .final-cta { padding: 64px 0; }
  .elio-site .final-cta h2 { font-size: 38px; }
  .elio-site .final-cta-inner { gap: 28px; }
  .elio-site .site-footer { padding-bottom: 32px; }
  .elio-site .footer-grid { gap: 36px 24px; }
  .elio-site .footer-brand { grid-column: 1 / -1; }
  .elio-site .legal-hero { padding: 44px 0; }
  .elio-site .legal-content h2 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .elio-site :is(.reveal, .button, .gallery-card img) { transition: none; transform: none; }
  .elio-site .reveal { opacity: 1; }
}

/* Final hero direction: every public page uses a full-bleed image/video hero. */
.elio-site .editorial-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 620px;
  align-items: center;
  max-width: none;
  margin: 0;
  padding: 112px 0 48px;
  background: transparent;
  overflow: hidden;
}
.elio-site .editorial-hero.page-hero { min-height: 430px; }
.elio-site .editorial-hero .hero-inner {
  display: block;
  width: min(calc(100% - 112px), var(--container));
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
  animation: none;
}
.elio-site .editorial-hero .hero-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  min-height: 0;
  border-radius: 0;
  overflow: hidden;
  background: #050505;
}
.elio-site .editorial-hero .hero-bg :is(img, video) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
  animation: none;
}
.elio-site .editorial-hero .hero-overlay {
  display: block;
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(105deg, rgba(5, 5, 5, 0.94) 0%, rgba(5, 5, 5, 0.72) 48%, rgba(5, 5, 5, 0.28) 100%),
    linear-gradient(0deg, rgba(5, 5, 5, 0.72), rgba(5, 5, 5, 0.08) 56%);
}
.elio-site .editorial-hero h1 { color: #fff; text-shadow: 0 18px 44px rgba(0, 0, 0, 0.42); }
.elio-site .editorial-hero .eyebrow { color: var(--gold-bright); }
.elio-site .editorial-hero .hero-copy {
  max-width: 720px;
  margin-top: 28px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 15px;
  line-height: 1.7;
}
.elio-site .editorial-hero .hero-booking-actions { margin-top: 32px; }
.elio-site .site-header,
.elio-site .site-header.is-scrolled {
  position: fixed;
  inset: 0 0 auto;
  min-height: var(--header-height);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(5, 5, 5, 0.78);
  color: #fff;
  box-shadow: none;
  backdrop-filter: blur(18px);
}
.elio-site .site-header.is-scrolled { background: rgba(5, 5, 5, 0.94); border-bottom-color: rgba(205, 168, 90, 0.28); }
.elio-site .site-header .brand-logo { filter: none; }
.elio-site .site-nav a { color: rgba(255, 255, 255, 0.86); }
.elio-site .site-nav a:hover,
.elio-site .nav-group.is-active > .nav-link { color: var(--gold-bright); }
.elio-site .nav-dropdown-toggle { color: #fff; }
.elio-site .theme-switch { border-color: rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.06); }
.elio-site .theme-switch-option { color: rgba(255, 255, 255, 0.72); }
.elio-site .theme-switch-option.is-active { background: rgba(255, 255, 255, 0.14); color: #fff; }
.elio-site .nav-toggle { border-color: rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.06); }
.elio-site .nav-toggle span { background: #fff; }
.elio-site .home-trust-line .container { align-items: center; }
.elio-site .home-trust-line span + span::before {
  top: 50%;
  left: -6px;
  transform: translateY(-50%);
  line-height: 1;
}

@media (max-width: 980px) {
  .elio-site .editorial-hero { min-height: 560px; padding: 112px 0 56px; }
  .elio-site .editorial-hero.page-hero { min-height: 430px; }
  .elio-site .editorial-hero .hero-inner { width: min(calc(100% - 64px), var(--container)); }
  .elio-site .site-nav { background: rgba(5, 5, 5, 0.97); border-color: rgba(255, 255, 255, 0.18); }
  .elio-site .site-nav a { color: rgba(255, 255, 255, 0.86); }
}

@media (max-width: 700px) {
  .elio-site .editorial-hero,
  .elio-site .editorial-hero.page-hero { min-height: 610px; padding: 122px 0 64px; }
  .elio-site .editorial-hero.page-hero { min-height: 500px; }
  .elio-site .editorial-hero .hero-inner { width: calc(100% - 40px); }
  .elio-site .editorial-hero .hero-copy { margin-top: 24px; font-size: 14px; }
  .elio-site .editorial-hero .hero-booking-actions { display: flex; margin-top: 24px; gap: 24px; }
  .elio-site .editorial-hero .hero-booking-actions > [data-conversion] { display: inline-flex; }
  .elio-site .editorial-hero .hero-booking-actions .button { width: auto; }
}
