:root {
  --bg: #080c14;
  --bg-soft: #101826;
  --panel: rgba(16, 24, 38, 0.9);
  --panel-soft: rgba(255,255,255,0.05);
  --surface: #121d2e;
  --surface-2: #18263a;
  --line: rgba(255,255,255,0.12);
  --line-soft: rgba(255,255,255,0.08);
  --text: #f5f1e8;
  --muted: #b7c0cd;
  --gold: #d7b27a;
  --gold-soft: rgba(215,178,122,0.16);
  --gold-deep: #b78d53;
  --success: #2f8257;
  --error: #9d4a4a;
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 18px;
  --shadow: 0 24px 60px rgba(0,0,0,0.35);
  --container: 1220px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(215,178,122,0.08), transparent 24%),
    radial-gradient(circle at bottom right, rgba(255,255,255,0.03), transparent 22%),
    linear-gradient(180deg, #060a12 0%, #0a1019 40%, #0c1220 100%);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(calc(100% - 2rem), var(--container)); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 60; backdrop-filter: blur(18px); background: rgba(8,12,20,0.76); border-bottom: 1px solid var(--line-soft); }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; }
.brand { display: flex; flex-direction: column; gap: 0.1rem; }
.brand-kicker { font-size: 0.72rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); }
.brand-title { font-family: 'Playfair Display', serif; font-size: clamp(1.5rem, 2vw, 2rem); font-weight: 700; line-height: 1; }
.nav-links { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.nav-links a { color: var(--muted); font-size: 0.95rem; }
.nav-links a:hover { color: var(--text); }
.nav-toggle {
  display: none; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line);
  background: rgba(255,255,255,0.04); align-items: center; justify-content: center; gap: 4px; padding: 0; cursor: pointer;
}
.nav-toggle span { display: block; width: 18px; height: 2px; background: var(--text); margin: 3px auto; }
.mobile-nav { border-top: 1px solid var(--line-soft); background: rgba(8,12,20,0.96); }
.mobile-nav-inner { display: grid; gap: 0.2rem; padding: 1rem 0 1.2rem; }
.mobile-nav-inner a { padding: 0.85rem 0; color: var(--text); border-bottom: 1px solid var(--line-soft); }
.mobile-nav-open { overflow: hidden; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.95rem 1.3rem; border-radius: 999px; border: 1px solid transparent; font-weight: 600;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #1b1308; background: linear-gradient(135deg, var(--gold), #efd09d); box-shadow: 0 12px 28px rgba(215,178,122,0.22); }
.btn-secondary { color: var(--text); background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.14); }
.flash-stack { position: sticky; top: 73px; z-index: 55; display: flex; justify-content: center; padding: 0.85rem 1rem 0; }
.flash-banner { width: min(calc(100% - 2rem), 720px); border-radius: 14px; padding: 0.95rem 1rem; text-align: center; box-shadow: var(--shadow); }
.flash-banner.success { background: var(--success); color: #fff; }
.flash-banner.error { background: var(--error); color: #fff; }
.mobile-fab {
  position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 40; display: none; text-align: center;
  padding: 1rem 1.2rem; border-radius: 999px; color: #1b1308; font-weight: 700;
  background: linear-gradient(135deg, var(--gold), #efd09d); box-shadow: 0 14px 30px rgba(215,178,122,0.26);
}
.hero-backdrop { position: absolute; inset: 0; background-size: cover; background-position: center; }
.nocturne-hero { position: relative; min-height: 92vh; display: flex; align-items: end; overflow: hidden; }
.hero-shell { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 1rem; align-items: end; padding: 8rem 0 3rem; }
.hero-main, .hero-note-card, .dark-panel, .dark-card, .contact-card-panel, .plan-form-panel {
  border-radius: var(--radius-xl); border: 1px solid var(--line-soft); box-shadow: var(--shadow);
}
.hero-main { padding: clamp(1.5rem, 3vw, 2.5rem); background: linear-gradient(180deg, rgba(10,16,28,0.58), rgba(10,16,28,0.84)); }
.hero-side { display: grid; gap: 1rem; }
.hero-note-card { padding: 1.4rem; background: rgba(255,255,255,0.06); backdrop-filter: blur(14px); }
.metric-row { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.metric-card { padding: 1rem 1.05rem; border-radius: var(--radius-md); background: rgba(255,255,255,0.06); border: 1px solid var(--line-soft); }
.metric-card strong { display: block; font-family: 'Playfair Display', serif; font-size: 1.5rem; }
.metric-card span { color: var(--muted); font-size: 0.9rem; }
.eyebrow, .section-tag { display: inline-flex; align-items: center; gap: 0.5rem; margin-bottom: 0.9rem; font-size: 0.78rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); font-weight: 700; }
h1, h2, h3, h4 { margin: 0; line-height: 1.03; font-family: 'Playfair Display', serif; }
h1 { font-size: clamp(3rem, 7vw, 6.1rem); max-width: 11ch; }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
h3 { font-size: 1.45rem; }
p, li, span { word-break: normal; }
.lead, .section-heading p, .service-card p, .journey-body p, .footer-copy, .plan-subhero p, .validation-error, .benefit-list span, .metric-card span, .dark-panel p, .dark-card p { color: var(--muted); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 1.3rem; }
.clean-list { margin: 0.7rem 0 0; padding-left: 1rem; }
.clean-list li { margin: 0.4rem 0; color: var(--muted); }
.section-block { padding: 5rem 0; }
.alt-block { background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); }
.section-heading.split { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.section-heading.split > * { max-width: 720px; }
.pillar-grid, .occasion-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0,1fr)); }
.service-card, .occasion-card { padding: 1.4rem; }
.dark-card { background: linear-gradient(180deg, rgba(20,31,49,0.96), rgba(11,17,29,0.96)); }
.dark-panel { padding: 1.6rem; background: linear-gradient(180deg, rgba(20,31,49,0.96), rgba(11,17,29,0.96)); }
.accent-top { position: relative; overflow: hidden; }
.accent-top::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.editorial-grid { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 1rem; align-items: stretch; }
.editorial-media { min-height: 520px; border-radius: var(--radius-xl); background-size: cover; background-position: center; box-shadow: var(--shadow); }
.quote-box { margin-top: 1rem; padding: 1rem 1.15rem; border-left: 3px solid var(--gold); background: rgba(255,255,255,0.04); border-radius: 0 18px 18px 0; color: var(--text); font-family: 'Playfair Display', serif; font-size: 1.25rem; }
.journey-grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 1rem; }
.journey-card { overflow: hidden; border-radius: var(--radius-lg); background: rgba(255,255,255,0.04); border: 1px solid var(--line-soft); box-shadow: var(--shadow); }
.journey-card.large { grid-row: span 2; }
.journey-media { min-height: 250px; background-size: cover; background-position: center; }
.journey-card.large .journey-media { min-height: 100%; height: 100%; min-height: 520px; }
.journey-body { padding: 1.15rem; }
.chip { display: inline-flex; width: fit-content; align-items: center; padding: 0.38rem 0.7rem; border-radius: 999px; background: var(--gold-soft); color: var(--gold); font-size: 0.8rem; font-weight: 700; margin-bottom: 0.7rem; }
.residence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: stretch; }
.residence-media-stack { display: grid; gap: 1rem; }
.residence-media { min-height: 240px; border-radius: var(--radius-lg); background-size: cover; background-position: center; box-shadow: var(--shadow); }
.residence-media.large { min-height: 360px; }
.benefit-list { display: grid; gap: 0.95rem; margin-top: 1.2rem; }
.benefit-list div { padding: 1rem 1.05rem; border-radius: 16px; background: rgba(255,255,255,0.04); border: 1px solid var(--line-soft); }
.benefit-list strong { display: block; margin-bottom: 0.15rem; }
.testimonials-grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 1rem; }
.testimonial-card, .testimonial-quote { border-radius: var(--radius-lg); }
.testimonial-quote { padding: 1.4rem; }
.testimonial-quote p { color: var(--text); font-family: 'Playfair Display', serif; font-size: 1.15rem; }
.final-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 1rem; align-items: stretch; }
.gold-panel { background: linear-gradient(135deg, rgba(215,178,122,0.12), rgba(255,255,255,0.04)); }
.contact-card-panel { padding: 1.5rem; background: linear-gradient(180deg, rgba(20,31,49,0.96), rgba(11,17,29,0.96)); display: grid; gap: 1rem; }
.label { display: block; font-size: 0.85rem; color: var(--muted); margin-bottom: 0.25rem; }
.site-footer { padding: 1.4rem 0 7rem; color: var(--muted); }
.footer-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 1rem; border-top: 1px solid var(--line-soft); padding-top: 1rem; }
.footer-links { display: grid; align-content: start; gap: 0.5rem; }
.subhero { padding: 7rem 0 1.5rem; }
.plan-subhero-shell { max-width: 860px; }
.subhero-pills { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1rem; }
.plan-layout { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 1rem; align-items: start; padding-bottom: 3rem; }
.plan-side { position: sticky; top: 88px; }
.side-stack { display: grid; gap: 1rem; padding: 1.35rem; }
.side-panel { padding: 1rem 1.05rem; border-radius: 16px; background: rgba(255,255,255,0.04); border: 1px solid var(--line-soft); }
.plan-form-panel { padding: 1.45rem; background: linear-gradient(180deg, rgba(18,28,44,0.96), rgba(12,17,28,0.96)); }
.form-section-title { display: grid; gap: 0.2rem; margin: 0 0 1rem; }
.form-section-title + .form-grid { margin-bottom: 1.4rem; }
.form-grid { display: grid; gap: 1rem; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.field, .field.full { display: grid; gap: 0.45rem; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: 0.92rem; font-weight: 600; color: var(--text); }
input, select, textarea {
  width: 100%; padding: 0.95rem 1rem; border-radius: 16px; border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04); color: var(--text); font: inherit; outline: none;
}
input:focus, select:focus, textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(215,178,122,0.12); }
textarea { min-height: 160px; resize: vertical; }
.check-grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(3, minmax(0,1fr)); }
.check-grid label {
  display: flex; align-items: center; gap: 0.55rem; padding: 0.85rem 0.95rem; border-radius: 14px;
  background: rgba(255,255,255,0.04); border: 1px solid var(--line-soft); color: var(--muted);
}
.validation-error { margin: 0; font-size: 0.85rem; color: #ffb2b2; }
.form-actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 1.3rem; }
.feature-list { padding-left: 1.1rem; margin: 1rem 0 0; }
.feature-list li { margin: 0.35rem 0; color: var(--muted); }
@media (max-width: 1100px) {
  .hero-shell, .editorial-grid, .residence-grid, .testimonials-grid, .final-grid, .plan-layout, .form-grid.two { grid-template-columns: 1fr; }
  .pillar-grid, .occasion-grid, .metric-row, .check-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .journey-grid { grid-template-columns: 1fr 1fr; }
  .journey-card.large { grid-row: auto; grid-column: 1 / -1; }
  .plan-side { position: static; }
  .footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .nav-links { display: none; }
  .nav-toggle { display: inline-flex; }
  .hero-shell { padding-top: 6rem; }
  .metric-row, .pillar-grid, .occasion-grid, .journey-grid, .check-grid, .hero-actions, .form-actions { grid-template-columns: 1fr; }
  .hero-actions, .form-actions { display: flex; flex-direction: column; }
  .journey-card.large .journey-media { min-height: 280px; }
  .section-heading.split { flex-direction: column; align-items: flex-start; }
  .btn { width: 100%; }
  .mobile-fab { display: inline-flex; align-items: center; justify-content: center; }
  body { padding-bottom: 4.5rem; }
}

/* v3 upgrades */
.v3-hero .hero-main { max-width: 760px; }
.hero-badges { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem; }
.v3-pillar-grid .service-card, .v3-occasion-grid .occasion-card { min-height: 220px; }
.v3-editorial-grid .editorial-copy p { max-width: 58ch; }
.v3-testimonials-grid .testimonial-quote { display:flex; align-items:center; }
.final-copy p { max-width: 60ch; }
.v3-panel { position: relative; overflow: hidden; }
.v3-panel::before { content:""; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg, transparent, rgba(215,178,122,.8), transparent); }
.plan-layout.v3 .plan-form-panel { box-shadow: 0 32px 80px rgba(0,0,0,.34); }
@media (max-width: 760px) {
  .hero-badges { gap:.5rem; }
  .v3-pillar-grid .service-card, .v3-occasion-grid .occasion-card { min-height: auto; }
}


/* v4 upgrades */
.v4-hero .hero-main { max-width: 780px; }
.ribbon-band { padding: 1.1rem 0; background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.ribbon-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.ribbon-item { padding: 1rem 1.1rem; border-radius: 18px; background: rgba(255,255,255,0.04); border: 1px solid var(--line-soft); }
.ribbon-item strong { display:block; margin-bottom: .25rem; color: var(--text); }
.ribbon-item span { color: var(--muted); font-size: .92rem; }
.v4-standards-grid .service-card { min-height: 230px; }
.v4-editorial-grid .compact-benefits { grid-template-columns: 1fr 1fr; }
.v4-journey-grid .journey-body h3 { max-width: 18ch; }
.v4-residence-grid .residence-copy p { max-width: 58ch; }
.v4-occasion-grid .occasion-card { min-height: 220px; }
.v4-testimonials-grid .testimonial-quote { display:flex; align-items:center; }
.plan-layout.v4 .plan-form-panel { box-shadow: 0 34px 90px rgba(0,0,0,.36); }
.v4-panel::before { content:""; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg, transparent, rgba(215,178,122,.8), transparent); }
.side-stack h3 { margin-bottom: .4rem; }
@media (max-width: 1100px) {
  .ribbon-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .v4-editorial-grid .compact-benefits { grid-template-columns: 1fr; }
  .ribbon-item { padding: .95rem 1rem; }
}


/* v5 upgrades */
.v5-hero .hero-main { max-width: 820px; }
.v5-ribbon .ribbon-grid.four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.suite-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0,1fr)); }
.suite-card { min-height: 250px; }
.v5-editorial-grid .compact-benefits { grid-template-columns: 1fr 1fr; }
.v5-journey-grid .journey-body h3 { max-width: 19ch; }
.v5-residence-grid .residence-copy p { max-width: 60ch; }
.audience-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0,1fr)); }
.audience-grid .occasion-card { min-height: 220px; }
.v5-testimonials-grid .testimonial-quote { display: flex; align-items: center; }
.plan-layout.v5 .plan-form-panel { position: relative; overflow: hidden; box-shadow: 0 36px 96px rgba(0,0,0,.38); }
.v5-panel::before { content:""; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg, transparent, rgba(215,178,122,.82), transparent); }
.plan-layout.v5 .side-stack { gap: 1.1rem; }
.v5-subhero .plan-subhero-shell { max-width: 920px; }
.v5-subhero h1 { max-width: 12ch; }
@media (max-width: 1100px) {
  .v5-ribbon .ribbon-grid.four, .suite-grid, .audience-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .v5-ribbon .ribbon-grid.four, .suite-grid, .audience-grid, .v5-editorial-grid .compact-benefits { grid-template-columns: 1fr; }
  .v5-subhero h1 { max-width: none; }
}


/* v6 upgrades */
.v6-hero .hero-main { max-width: 840px; }
.v6-ribbon .ribbon-grid.four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.v6-editorial-grid .compact-benefits { grid-template-columns: 1fr 1fr; }
.v6-journey-grid .journey-body h3 { max-width: 20ch; }
.v6-residence-grid .residence-copy p { max-width: 62ch; }
.v6-tables-grid .occasion-card { min-height: 224px; }
.v6-testimonials-grid .testimonial-quote { display:flex; align-items:center; }
.plan-layout.v6 .plan-form-panel { position: relative; overflow: hidden; box-shadow: 0 38px 102px rgba(0,0,0,.40); }
.v6-panel::before { content:""; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg, transparent, rgba(215,178,122,.85), transparent); }
.v6-subhero .plan-subhero-shell { max-width: 940px; }
.v6-subhero h1 { max-width: 13ch; }
@media (max-width: 1100px) {
  .v6-ribbon .ribbon-grid.four, .v6-tables-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .v6-ribbon .ribbon-grid.four, .v6-tables-grid, .v6-editorial-grid .compact-benefits { grid-template-columns: 1fr; }
  .v6-subhero h1 { max-width: none; }
}


/* v7 upgrades */
.v7-subhero .plan-subhero-shell { max-width: 960px; }
.plan-layout.v7 .plan-form-panel { position: relative; overflow: hidden; box-shadow: 0 40px 108px rgba(0,0,0,.42); }
.v7-panel::before { content:""; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg, transparent, rgba(215,178,122,.88), transparent); }
.mobile-only { display: none; }
.plan-mobile-intro { gap: .55rem; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line-soft); }
.plan-mobile-intro h2 { margin: 0; font-size: 1.55rem; }
.plan-mobile-intro p { margin: 0; color: var(--muted); }
.compact-pills { gap: .45rem; margin-top: .2rem; }
.compact-pills .chip { margin-bottom: 0; }
@media (max-width: 760px) {
  .plan-subhero { display: none; }
  .plan-section { padding-top: .5rem; }
  .plan-layout.v6, .plan-layout.v7 { grid-template-columns: 1fr; gap: .85rem; }
  .plan-layout.v6 .plan-form-panel, .plan-layout.v7 .plan-form-panel { order: -1; padding: 1rem; border-radius: 20px; }
  .plan-layout.v6 .plan-side, .plan-layout.v7 .plan-side { order: 2; }
  .plan-mobile-intro.mobile-only { display: grid; }
  .form-section-title { margin: .2rem 0 .85rem; }
  .form-section-title h2 { font-size: 1.4rem; }
  .field label { font-size: .95rem; }
  input, select, textarea { font-size: 16px; padding: 1rem; }
  textarea { min-height: 144px; }
  .check-grid label { padding: .95rem 1rem; min-height: 56px; }
  .side-stack { padding: 1rem; }
  .feature-list { margin-top: .65rem; }
}


/* v8 upgrades */
.v8-plan-form-panel, .plan-layout.v8 .plan-form-panel { position: relative; overflow: hidden; box-shadow: 0 42px 116px rgba(0,0,0,.44); }
.form-helper { margin: 0; color: var(--muted); max-width: 56ch; font-size: .96rem; }
.optional-tag {
  display: inline-flex; align-items: center; padding: .28rem .58rem; margin-left: .5rem;
  border-radius: 999px; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--gold-soft); background: rgba(215,178,122,.10); border: 1px solid rgba(215,178,122,.22); vertical-align: middle;
}
.essentials-note {
  margin: 0 0 1rem; padding: .95rem 1rem; border-radius: 16px;
  background: rgba(255,255,255,.045); border: 1px solid var(--line-soft); color: var(--muted);
}
.essentials-note strong { color: var(--text); }
.mobile-submit-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 55;
  display: none; gap: .75rem; padding: .85rem 1rem calc(.85rem + env(safe-area-inset-bottom));
  background: linear-gradient(180deg, rgba(8,11,17,.2), rgba(8,11,17,.98) 22%);
  backdrop-filter: blur(16px); border-top: 1px solid var(--line-soft);
}
.mobile-submit-bar .btn { width: 100%; margin: 0; }
@media (max-width: 760px) {
  .plan-layout.v8, .plan-layout.v7, .plan-layout.v6 { grid-template-columns: 1fr; gap: .85rem; }
  .plan-layout.v8 .plan-form-panel, .plan-layout.v7 .plan-form-panel, .plan-layout.v6 .plan-form-panel {
    order: -1; padding: 1rem 1rem 5.75rem; border-radius: 20px;
  }
  .plan-layout.v8 .plan-side, .plan-layout.v7 .plan-side, .plan-layout.v6 .plan-side { order: 2; }
  .optional-tag { margin-left: 0; margin-top: .35rem; }
  .form-helper { font-size: .93rem; }
  .mobile-submit-bar.mobile-only { display: grid; grid-template-columns: 1.3fr .8fr; }
}


/* v9 upgrades */
.plan-progress { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:.5rem; margin:0 0 .95rem; }
.plan-progress span { text-align:center; padding:.7rem .75rem; border-radius:14px; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); background:rgba(255,255,255,.035); border:1px solid var(--line-soft); }
.plan-progress .is-active { color:var(--text); background:rgba(215,178,122,.10); border-color:rgba(215,178,122,.28); }
.plan-accordion { margin:0 0 1rem; border:1px solid var(--line-soft); border-radius:20px; background:rgba(255,255,255,.03); overflow:hidden; }
.plan-accordion summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1rem; }
.plan-accordion summary::-webkit-details-marker { display:none; }
.plan-accordion summary strong { display:block; color:var(--text); font-size:1.08rem; }
.plan-accordion .accordion-body { padding:0 1rem 1rem; border-top:1px solid var(--line-soft); }
.compact-title { margin:.9rem 0 .85rem; }
.final-reassurance { margin-top:1rem; color:var(--muted); font-size:.95rem; }
@media (min-width: 761px) {
  .plan-progress.mobile-only { display:none !important; }
  .plan-accordion summary { padding:1.1rem 1.1rem; }
}
@media (max-width: 760px) {
  .plan-layout.v8 .plan-form-panel { padding-top:.9rem; }
  .plan-progress.mobile-only { display:grid; }
  .plan-accordion { margin-bottom:.9rem; border-radius:18px; }
  .plan-accordion summary { padding:.95rem .95rem; align-items:flex-start; flex-direction:column; }
  .plan-accordion .accordion-body { padding:0 .95rem .95rem; }
  .compact-title { display:none; }
  .final-reassurance { font-size:.92rem; margin-top:.8rem; }
}


/* v10 upgrades */
.helper-inline { display:block; margin-top:.45rem; color:var(--muted); font-size:.92rem; }
.plan-accordion summary em { display:block; margin-top:.28rem; color:var(--muted); font-style:normal; font-size:.88rem; }
@media (max-width: 760px) {
  .plan-progress.mobile-only { position: sticky; top: 74px; z-index: 8; background: linear-gradient(180deg, rgba(18,29,46,.98), rgba(18,29,46,.9)); padding-top: .2rem; }
  .helper-inline { font-size:.89rem; }
  .mobile-submit-bar.mobile-only { grid-template-columns: 1fr; }
  .mobile-submit-bar.mobile-only .btn-secondary { display:none; }
  .plan-accordion summary em { font-size:.85rem; }
}
@media (min-width: 761px) {
  .plan-accordion summary em { max-width: 44ch; }
}


/* v11 upgrades */
.quick-start-bar { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:.75rem; margin:0 0 1rem; }
.quick-start-item { padding:.9rem 1rem; border-radius:16px; background:rgba(255,255,255,.045); border:1px solid var(--line-soft); }
.quick-start-item strong { display:block; color:var(--text); margin-bottom:.15rem; }
.quick-start-item span { color:var(--muted); font-size:.92rem; }
.plan-shortcuts { display:none; gap:.65rem; margin:0 0 .95rem; }
.btn-ghost { background:transparent; color:var(--text); border:1px solid rgba(215,178,122,.24); }
.btn-compact { padding:.82rem 1rem; }
.plan-progress .is-complete { color:var(--gold); border-color:rgba(215,178,122,.22); background:rgba(215,178,122,.06); }
.plan-privacy-note { margin:.85rem 0 0; padding:.9rem 1rem; border-radius:16px; background:rgba(255,255,255,.04); border:1px solid var(--line-soft); color:var(--muted); }
.plan-privacy-note a { color:var(--text); text-decoration:underline; text-underline-offset:2px; }
@media (max-width: 1100px) {
  .quick-start-bar { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .plan-layout.v11 .plan-side { display:none; }
  .plan-layout.v11 .plan-form-panel { padding-top:1rem; }
  .quick-start-bar { grid-template-columns: 1fr; gap:.6rem; margin-bottom:.9rem; }
  .quick-start-item { padding:.85rem .9rem; }
  .plan-shortcuts.mobile-only { display:grid; grid-template-columns: 1fr 1fr; }
  .btn-compact { width:100%; }
}


/* v12 upgrades */
.page-plan .mobile-fab, .page-plan-your-stay .mobile-fab { display:none; }
.focus-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:.75rem; }
.focus-chip { position:relative; display:flex; align-items:center; justify-content:center; gap:.45rem; min-height:58px; padding: .95rem 1rem; border-radius:16px; background:rgba(255,255,255,.04); border:1px solid var(--line-soft); color:var(--text); text-align:center; cursor:pointer; transition:.2s ease; }
.focus-chip input { position:absolute; opacity:0; pointer-events:none; }
.focus-chip.is-selected { background:rgba(215,178,122,.12); border-color:rgba(215,178,122,.32); box-shadow:0 0 0 3px rgba(215,178,122,.08); }
.focus-chip span { font-weight:600; }
.v12-essentials-grid .field.full { margin-top:.15rem; }
.v12-panel .essentials-note { background:rgba(255,255,255,.055); }
.v12-panel .final-reassurance { padding:.95rem 1rem; border-radius:16px; background:rgba(255,255,255,.04); border:1px solid var(--line-soft); }
@media (max-width: 1100px) {
  .focus-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .plan-layout.v12 .plan-form-panel { padding-top: .95rem; }
  .focus-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap:.6rem; }
  .focus-chip { min-height:54px; padding:.9rem .85rem; border-radius:14px; }
  .v12-essentials-grid { gap:.9rem; }
  .v12-essentials-grid .field.full { margin-top:0; }
}

/* v13 system integration */
.content-block > :first-child { margin-top: 0; }
.content-block > :last-child { margin-bottom: 0; }
.slim-copy { max-width: 62ch; }
.plan-reassurance { min-height: 100%; }
.system-hero .hero-note-card p { margin: 0; }
@media (max-width: 760px) {
  .slim-copy { max-width: none; }
}


/* v16 system integration */
.plan-draft-note{margin:0 0 .9rem;padding:.8rem .95rem;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line-soft);color:var(--muted);font-size:.94rem;}
.focus-intro{margin:0 0 .7rem;color:var(--muted);font-size:.95rem;}
.hp-field{position:absolute !important;left:-9999px !important;opacity:0 !important;pointer-events:none !important;height:0 !important;width:0 !important;}


/* v17 quick inquiry + success state */
.plan-mode-toggle{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0 .55rem;}
.mode-chip{appearance:none;border:1px solid rgba(215,178,122,.28);background:rgba(255,255,255,.04);color:#f5efe6;padding:.75rem 1rem;border-radius:999px;font:inherit;font-weight:600;cursor:pointer;transition:all .2s ease;}
.mode-chip.is-active{background:rgba(215,178,122,.18);border-color:rgba(215,178,122,.55);box-shadow:0 0 0 1px rgba(215,178,122,.18) inset;}
.plan-mode-note{color:rgba(233,228,220,.78);font-size:.95rem;margin-bottom:1rem;}
#luxury-plan-form.is-quick-mode .quick-hide,
#luxury-plan-form.is-quick-mode .optional-accordion{display:none;}
.plan-success-panel{margin-bottom:1rem;padding:1.15rem;border-radius:22px;background:linear-gradient(180deg,rgba(215,178,122,.14),rgba(255,255,255,.03));border:1px solid rgba(215,178,122,.25);}
.plan-success-panel h2{margin:.1rem 0 .55rem;}
.plan-success-panel p{color:rgba(233,228,220,.86);}
.success-points{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:.9rem;}
#luxury-plan-form.is-submitted .essentials-note,
#luxury-plan-form.is-submitted .form-section-title,
#luxury-plan-form.is-submitted .form-grid,
#luxury-plan-form.is-submitted .plan-accordion,
#luxury-plan-form.is-submitted .form-actions,
#luxury-plan-form.is-submitted .plan-shortcuts,
#luxury-plan-form.is-submitted .plan-progress,
#luxury-plan-form.is-submitted .plan-mode-toggle,
#luxury-plan-form.is-submitted .plan-mode-note,
#luxury-plan-form.is-submitted .quick-start-bar,
#luxury-plan-form.is-submitted .plan-draft-note{display:none !important;}
@media (max-width: 820px){
  .success-points{grid-template-columns:1fr;}
  .mode-chip{flex:1 1 calc(50% - .4rem);text-align:center;}
}


/* v18 plan summary + draft reset */
.draft-reset-link{margin-left:.6rem;background:none;border:none;color:var(--gold);font:inherit;font-weight:700;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.plan-live-summary{margin:1rem 0 1.25rem;padding:1rem 1rem 1.05rem;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.summary-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.85rem}
.summary-intro{margin:.2rem 0 0;color:var(--muted);max-width:48ch}
.summary-status{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;background:rgba(215,178,122,.12);color:var(--gold);font-size:.76rem;font-weight:700;white-space:nowrap}
.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem .9rem}
.summary-row{padding:.85rem .9rem;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);display:grid;gap:.22rem}
.summary-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.summary-row strong{font-size:.96rem;line-height:1.35}
.summary-empty-note{margin:.8rem 0 0;color:var(--muted)}
.plan-success-panel .btn[type="button"]{cursor:pointer}
@media (max-width: 820px){.summary-head{flex-direction:column}.summary-grid{grid-template-columns:1fr}.draft-reset-link{display:block;margin:.45rem 0 0}}


/* v19 system integration */
.system-state-badge {
  margin: 1rem 0 1.25rem;
  padding: .8rem 1rem;
  border: 1px solid rgba(215,178,122,.22);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  color: rgba(247,239,227,.9);
  font-size: .95rem;
}
.journey-meta {
  margin-top: .35rem;
  color: rgba(247,239,227,.72);
  font-size: .86rem;
  letter-spacing: .02em;
}


/* v20 major system pages */
.page-intro-block { padding-top: 7.2rem; padding-bottom: 2rem; }
.page-intro-shell { max-width: 940px; }
.page-title { max-width: 13ch; }
.page-lead { max-width: 70ch; color: var(--muted); }
.compact-actions { margin-top: 1.1rem; }
.listing-grid { align-items: stretch; }
.listing-grid .service-card, .listing-grid .occasion-card { min-height: 220px; }
.cta-support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.25rem; }
.compact-panel strong { display: block; color: var(--text); font-size: 0.98rem; line-height: 1.5; }
.listing-journeys .journey-card { min-height: 100%; }
@media (max-width: 760px) {
  .page-intro-block { padding-top: 6.2rem; }
  .page-title { max-width: none; }
  .cta-support-grid { grid-template-columns: 1fr; }
}

/* v21 connected detail pages */
.detail-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.8rem;color:var(--gold);font-weight:700;text-decoration:none}
.detail-link:hover{text-decoration:underline}
.detail-meta-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.9rem}
.detail-section{padding-top:0}
.detail-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:1.15rem;align-items:stretch}
.detail-media-panel{min-height:420px;border-radius:var(--radius-lg);background-size:cover;background-position:center;border:1px solid var(--line-soft);box-shadow:var(--shadow)}
.detail-copy-panel{padding:1.4rem}
.detail-body-copy p{margin-top:0}
.detail-points-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.detail-point-card{padding:.95rem 1rem;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.inline-cta-panel{padding:1.25rem 1.35rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1.2rem}
@media (max-width: 920px){.detail-layout{grid-template-columns:1fr}.detail-points-grid{grid-template-columns:1fr}.inline-cta-panel{flex-direction:column}.detail-media-panel{min-height:280px}}


/* v22 major system update */
.plan-context-banner{margin:1rem 0 1.25rem;padding:1rem 1.1rem;border:1px solid rgba(215,178,122,.18);border-radius:18px;background:rgba(255,255,255,.04)}
.plan-context-banner h3{margin:.2rem 0 .45rem;font-size:1.1rem}
.chip-link{text-decoration:none}
.request-reference-card{margin-top:.85rem;padding:.75rem .95rem;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(215,178,122,.15);display:inline-flex;gap:.55rem;align-items:center}
.related-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.related-system-card{padding:1.35rem}
.pathway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pathway-card{padding:1.35rem}
@media (max-width: 960px){.related-system-grid,.pathway-grid{grid-template-columns:1fr}}

/* v23 guest pathways */
.pathways-major-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.pathway-major-card{padding:1.4rem;display:grid;gap:.9rem;align-content:start;min-height:100%}
.pathway-major-card h3{margin:0;font-size:1.4rem}
.pathway-major-card p{margin:0;color:var(--muted)}
.pathway-meta{font-size:.92rem;color:var(--accent);letter-spacing:.02em}
.plan-context-inline-action{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem 1rem;margin-top:.75rem;border:1px solid rgba(215,178,122,.2);background:rgba(255,255,255,.04);border-radius:16px;color:#efe4cf}
.plan-context-inline-action strong{font-size:.95rem}
.plan-context-inline-action span{color:var(--muted);font-size:.92rem;text-align:right}
@media (max-width: 900px){
  .pathways-major-grid{grid-template-columns:1fr}
  .plan-context-inline-action{display:grid}
}


/* v24 continuity + request care */
.continuity-strip{position:sticky;top:80px;z-index:35;background:rgba(10,10,12,.92);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.continuity-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.continuity-copy{display:grid;gap:.25rem}
.continuity-copy strong{font-size:1rem}
.continuity-copy span:last-child{color:var(--muted-light,#c9c3bc);font-size:.95rem}
.continuity-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.continuity-dismiss{appearance:none;border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;border-radius:999px;width:2rem;height:2rem;cursor:pointer}
.footer-secondary-nav{max-width:var(--container);margin:1rem auto 0;padding:0 1rem;display:flex;gap:1rem;flex-wrap:wrap;color:rgba(255,255,255,.72)}
.footer-secondary-nav a{color:inherit;text-decoration:none}
.request-care-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.25rem}
.request-care-card{padding:1.5rem}
.request-care-card h2,.request-care-card h3{margin:0 0 .6rem}
.request-care-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:1rem 0 1.1rem}
.request-care-meta .label{display:block;font-size:.78rem;color:rgba(255,255,255,.58);margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.08em}
.request-care-list,.request-care-links{display:grid;gap:.8rem;margin-top:1rem}
.success-follow-line{margin-top:.9rem;color:rgba(255,255,255,.7)}
@media (max-width: 980px){
  .request-care-grid{grid-template-columns:1fr}
}
@media (max-width: 820px){
  .continuity-strip{top:68px}
  .continuity-strip-inner{align-items:flex-start;flex-direction:column}
  .continuity-actions{width:100%}
  .continuity-actions .btn{flex:1 1 auto}
}

/* v25 request packet */
.request-packet-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.25rem}
.request-packet-main,.request-packet-card{padding:1.45rem}
.request-packet-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}
.request-packet-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}
.request-packet-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.1rem}
.request-packet-copy-block{display:grid;gap:.55rem}
.packet-textarea{width:100%;min-height:260px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:#f4ead9;padding:1rem 1.05rem;font:500 .95rem/1.55 Inter,system-ui,sans-serif;resize:vertical}
.request-packet-side{display:grid;gap:1rem}
.muted{color:var(--muted)}
@media (max-width: 980px){.request-packet-grid{grid-template-columns:1fr}.request-packet-head{flex-direction:column}.request-packet-actions{justify-content:flex-start}.request-packet-summary-grid{grid-template-columns:1fr}}
