/* v1.2: responsive layout, readable text and restrained motion. */
.reference-theme .header-inner { min-width: 0; }
.reference-theme .reference-logo { max-width: 250px; }
.reference-theme .reference-logo img { width: 250px; height: auto; max-height: 56px; }
.reference-theme .champagne-text {
  background: none !important;
  -webkit-text-fill-color: #FFFFFF !important;
  color: #FFFFFF !important;
  filter: none;
  animation: none !important;
  text-shadow: none;
}
.reference-theme .hero-headline {
  font-size: clamp(40px, 4.7vw, 68px) !important;
  line-height: 1.09 !important;
  text-shadow: none;
  text-wrap: balance;
}
.reference-theme .hero-subtext { max-width: 560px; line-height: 1.75; text-shadow: none; }
.reference-theme .hero-ambient-glow { display: none; }
.reference-theme .hero-bg-img { animation: none; }
.reference-theme .badge-beacon,
.reference-theme .live-beacon,
.reference-theme .button-gold:before { animation: none; }
.reference-theme .button-gold { background: var(--gold); box-shadow: none; }
.reference-theme .hero-privilege-card .card-inner { animation: none; box-shadow: none; }
.hero-motion-toggle {
  position: absolute; bottom: 20px; right: max(24px, calc((100vw - 1320px) / 2));
  z-index: 4; border: 1px solid #ABB2BF; border-radius: 5px;
  background: #101217; color: #FFFFFF; padding: 10px 14px;
  font: 600 12px/1.5 var(--sans); min-height: 44px;
}
.reference-theme .step-badge { color: #AC182A; }
.reference-theme .section-eyebrow { color: #AC182A; }
.reference-theme .luxury-services .section-eyebrow,
.reference-theme .luxury-reviews .section-eyebrow { color: #FF8490; }
.reference-theme .reference-footer p,
.reference-theme .reference-footer .social-label,
.reference-theme .reference-footer .footer-bottom,
.reference-theme .reference-footer .text-button { color: #BCC4D0; font-size: 13px; line-height: 1.7; }
.reference-theme .reference-footer a { overflow-wrap: anywhere; }
.reference-theme .reference-footer .button { color: #101217 !important; }
.reference-theme .reference-footer .footer-grid > div { min-width: 0; }
.reference-theme .services-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.reference-theme .service-card,
.reference-theme .service-card-copy,
.reference-theme .about-grid > *,
.reference-theme .service-hero > *,
.reference-theme .service-layout > *,
.reference-theme .contact-layout > *,
.reference-theme .booking-layout > *,
.reference-theme .contact-grid-luxury > *,
.reference-theme .form-row > *,
.reference-theme fieldset { min-width: 0; }
.reference-theme input,
.reference-theme select,
.reference-theme textarea { max-width: 100%; min-width: 0; }
.reference-theme h1,
.reference-theme h2,
.reference-theme h3 { overflow-wrap: break-word; }
.reference-theme .hero-container { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); }
.reference-theme .service-card-footer { flex-wrap: wrap; gap: 16px; }
.reference-theme .service-badge { max-width: calc(100% - 32px); white-space: normal; }
.reference-theme .header-actions { flex-shrink: 0; }
@media (max-width: 1200px) {
  .reference-theme .hero-container { grid-template-columns: minmax(0, 1fr); }
  .reference-theme .services-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reference-theme .header-inner { gap: 14px; }
  .reference-theme .nav-list { gap: 22px; }
  .reference-theme .reference-logo { max-width: 215px; }
}
@media (max-width: 900px) {
  .reference-theme .about-grid,
  .reference-theme .contact-layout,
  .reference-theme .booking-layout,
  .reference-theme .service-hero,
  .reference-theme .service-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .reference-theme .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reference-theme .booking-rail { position: static; }
  .reference-theme .breadcrumbs { flex-wrap: wrap; overflow-wrap: anywhere; }
  .reference-theme .header-inner { width: calc(100% - 32px); gap: 16px; }
  .reference-theme .menu-toggle { flex: 0 0 44px; width: 44px; height: 44px; order: 3; justify-content: center; padding: 10px; }
  .reference-theme .menu-toggle > span:first-child { display: none; }
  .reference-theme .header-actions { margin-left: auto; }
  .reference-theme .primary-nav { max-height: calc(100dvh - 112px); overflow-y: auto; }
  .reference-theme .primary-nav .nav-list { gap: 12px; }
}
@media (max-width: 600px) {
  .reference-theme .header-actions { display: none; }
  .reference-theme .reference-logo { max-width: min(225px, calc(100vw - 108px)); }
  .reference-theme .reference-logo img { width: 100%; max-height: 44px; }
  .reference-theme .menu-toggle { margin-left: auto; }
  .reference-theme .reference-top-strip { height: 32px; }
  .reference-theme .reference-top-strip .wrap { width: calc(100% - 24px); justify-content: center; }
  .reference-theme .top-strip-right { display: none; }
  .reference-theme .top-badge { font-size: 10px; white-space: nowrap; }
  .reference-theme .hero-headline { font-size: clamp(34px, 9vw, 48px) !important; }
  .reference-theme .hero-privilege-card .card-inner { padding: 26px 22px; }
  .reference-theme .hero-metrics-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reference-theme .luxury-badge { font-size: 10px; letter-spacing: .07em; }
  .reference-theme .services-track { grid-template-columns: minmax(0, 1fr); }
  .reference-theme .button { max-width: 100%; white-space: normal; }
  .reference-theme .service-grid,
  .reference-theme .services-grid,
  .reference-theme .form-grid,
  .reference-theme .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .reference-theme .footer-bottom { align-items: stretch; }
  .reference-theme .footer-legal-links { flex-wrap: wrap; }
  .reference-theme .page-hero h1 { font-size: clamp(32px, 9vw, 46px); overflow-wrap: anywhere; }
  .reference-theme .form-steps { flex-wrap: wrap; }
  .reference-theme .form-card { padding: 26px 20px; }
  .reference-theme .service-hero h1 { font-size: clamp(32px, 9vw, 46px); overflow-wrap: anywhere; }
  .reference-theme .about-stats-row { flex-wrap: wrap; }
  .reference-theme .stat-box { min-width: 0; }
  .reference-theme .floating-heritage-card { max-width: calc(100% - 20px); }
  .reference-theme .coverage-tags { flex-wrap: wrap; }
  .hero-motion-toggle { right: 16px; bottom: 14px; }
}
