:root {
  --plum: #2f1233;
  --plum-2: #421747;
  --plum-3: #5c2863;
  --gold: #c9a15d;
  --gold-light: #e3c68f;
  --cream: #f7f1eb;
  --blush: #f3e7ea;
  --paper: #fcfaf8;
  --line: #e7d6da;
  --ink: #241725;
  --muted: #6f606d;
  --white: #fff;
  --shadow-sm: 0 12px 34px rgba(47,18,51,.08);
  --shadow-md: 0 24px 70px rgba(47,18,51,.15);
  --radius-sm: 12px;
  --radius: 22px;
  --radius-lg: 36px;
  --shell: 1240px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
::selection { background: var(--plum); color: var(--white); }

.screen-reader-text, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 99999; top: 12px; left: 12px; background: var(--white); color: var(--plum); padding: 12px 18px; border-radius: 8px; box-shadow: var(--shadow-sm); }
.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.section { padding: clamp(72px, 8vw, 124px) 0; }
.centered { text-align: center; margin-inline: auto; }
.narrow { max-width: 790px; }
.content-shell { max-width: 840px; }
.lumina-icon { flex: 0 0 auto; }

h1, h2, h3, h4 { margin: 0 0 .55em; font-family: var(--serif); line-height: 1.08; letter-spacing: -.035em; font-weight: 500; }
h1 { font-size: clamp(3.2rem, 6.7vw, 6.8rem); }
h2 { font-size: clamp(2.25rem, 4.5vw, 4.5rem); }
h3 { font-size: clamp(1.35rem, 2.1vw, 2rem); }
p { margin: 0 0 1.25em; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; color: var(--plum-3); font-size: .73rem; font-weight: 800; letter-spacing: .17em; line-height: 1.4; text-transform: uppercase; }
.eyebrow-dark { color: var(--gold-light); }
.eyebrow-light { color: var(--gold-light); }
.section-heading { max-width: 820px; margin-bottom: 46px; }
.section-heading.centered { margin-inline: auto; }
.section-heading p { color: var(--muted); font-size: 1.08rem; }
.section-heading h2 { color: var(--plum); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 15px 24px; border: 1px solid transparent; border-radius: 999px; font-size: .78rem; font-weight: 850; letter-spacing: .07em; line-height: 1.2; text-align: center; text-transform: uppercase; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); }
.button svg { width: 18px; height: 18px; }
.button-primary { background: var(--gold); color: var(--plum); box-shadow: 0 14px 34px rgba(201,161,93,.18); }
.button-primary:hover { background: var(--gold-light); box-shadow: 0 18px 42px rgba(201,161,93,.25); }
.button-gold { background: var(--gold); color: var(--plum); }
.button-light { background: var(--white); color: var(--plum); }
.button-ghost { border-color: rgba(255,255,255,.34); color: var(--white); background: rgba(255,255,255,.05); }
.button-ghost:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.62); }
.button-outline { border-color: var(--plum); color: var(--plum); background: transparent; }
.button-small { min-height: 43px; padding: 12px 18px; font-size: .7rem; }
.button-full { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--gold-light); font-size: .78rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.text-link svg { transition: transform .2s ease; }
.text-link:hover svg { transform: translateX(4px); }
.text-link-dark { color: var(--plum-3); }

.site-header { position: fixed; z-index: 1000; top: 0; left: 0; right: 0; height: 84px; background: rgba(252,250,248,.89); border-bottom: 1px solid rgba(47,18,51,.08); backdrop-filter: blur(18px); transition: box-shadow .25s ease, background .25s ease; }
.admin-bar .site-header { top: 32px; }
.site-header.is-scrolled { background: rgba(252,250,248,.97); box-shadow: 0 10px 35px rgba(47,18,51,.08); }
.header-inner { height: 100%; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.brand-mark { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 50% 50% 48% 48%; background: var(--plum); color: var(--gold-light); font-family: var(--serif); font-size: 1.5rem; border: 1px solid var(--gold); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong { color: var(--plum); font-family: var(--serif); font-size: 1.28rem; letter-spacing: .14em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: .56rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.custom-logo { max-height: 56px; width: auto; }
.primary-nav { margin-left: auto; }
.menu { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.menu > li > a, .menu-panel-toggle { display: inline-flex; align-items: center; gap: 4px; padding: 28px 0; border: 0; background: transparent; color: var(--ink); font-size: .74rem; font-weight: 750; letter-spacing: .04em; }
.menu > li > a:hover, .menu-panel-toggle:hover { color: var(--plum-3); }
.menu-has-panel { position: relative; }
.menu-panel { position: absolute; top: calc(100% - 8px); left: 50%; width: 520px; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: var(--shadow-md); opacity: 0; visibility: hidden; transform: translate(-50%, 10px); transition: all .2s ease; }
.menu-has-panel:hover .menu-panel, .menu-has-panel:focus-within .menu-panel, .menu-has-panel.panel-open .menu-panel { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.menu-panel a { display: block; padding: 13px 14px; border-radius: 12px; }
.menu-panel a:hover { background: var(--cream); }
.menu-panel strong { display: block; color: var(--plum); font-family: var(--serif); font-size: 1.05rem; }
.menu-panel span { display: block; margin-top: 2px; color: var(--muted); font-size: .73rem; line-height: 1.45; }
.nav-toggle { display: none; margin-left: auto; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--plum); }
.nav-close { display: none; }
.nav-toggle[aria-expanded="true"] .nav-open { display: none; }
.nav-toggle[aria-expanded="true"] .nav-close { display: inline-flex; }

.hero { position: relative; overflow: hidden; color: var(--white); background: var(--plum); }
.hero-home { padding: 164px 0 36px; min-height: 860px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.13fr) minmax(360px, .87fr); gap: clamp(36px, 7vw, 92px); align-items: center; }
.hero-copy { position: relative; z-index: 3; }
.hero-copy h1 { max-width: 850px; color: var(--white); }
.hero-copy h1 em { color: var(--gold-light); font-weight: 400; }
.hero-lede { max-width: 720px; color: rgba(255,255,255,.8); font-size: clamp(1.05rem, 1.55vw, 1.35rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 32px; }
.hero-trust-row { display: flex; flex-wrap: wrap; gap: 13px 24px; margin-top: 34px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.77); font-size: .75rem; }
.hero-trust-row span { display: inline-flex; align-items: center; gap: 7px; }
.hero-trust-row svg { color: var(--gold-light); }
.hero-media { position: relative; z-index: 2; }
.hero-image-wrap { position: relative; max-width: 510px; margin-left: auto; overflow: hidden; border: 1px solid rgba(227,198,143,.42); border-radius: 44% 44% 28px 28px; box-shadow: 0 42px 100px rgba(0,0,0,.34); }
.hero-image-wrap img { width: 100%; height: 610px; object-fit: cover; object-position: 50% 24%; }
.hero-image-gradient { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 38%,rgba(47,18,51,.1) 58%,rgba(47,18,51,.92) 100%); }
.hero-media-badge { position: absolute; left: 26px; right: 26px; bottom: 24px; z-index: 2; padding: 18px 20px; border: 1px solid rgba(227,198,143,.36); border-radius: 16px; background: rgba(47,18,51,.77); backdrop-filter: blur(12px); }
.hero-media-badge span { display: block; color: var(--gold-light); font-size: .65rem; font-weight: 800; letter-spacing: .13em; }
.hero-media-badge strong { display: block; margin-top: 3px; font-family: var(--serif); font-size: 1.35rem; }
.hero-floating-card { position: absolute; left: -54px; bottom: 88px; z-index: 4; display: flex; align-items: center; gap: 12px; width: 280px; padding: 15px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.95); color: var(--plum); box-shadow: var(--shadow-md); }
.hero-floating-card small { display: block; color: var(--plum-3); font-size: .57rem; font-weight: 850; letter-spacing: .12em; }
.hero-floating-card strong { display: block; font-size: .74rem; line-height: 1.4; }
.pulse-dot { width: 11px; height: 11px; border-radius: 50%; background: #5aa66d; box-shadow: 0 0 0 8px rgba(90,166,109,.13); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(12px); opacity: .45; }
.hero-orb-one { width: 520px; height: 520px; right: 5%; top: 8%; background: radial-gradient(circle,rgba(201,161,93,.28),transparent 66%); }
.hero-orb-two { width: 760px; height: 760px; left: -360px; bottom: -480px; background: radial-gradient(circle,rgba(92,40,99,.9),transparent 64%); }
.hero-bottom { position: relative; z-index: 4; margin-top: 58px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); text-align: center; color: rgba(255,255,255,.7); font-size: .85rem; letter-spacing: .06em; }
.hero-bottom strong { color: var(--gold-light); }

.section-pathways { background: var(--cream); }
.pathway-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.pathway-card { position: relative; isolation: isolate; min-height: 460px; overflow: hidden; border-radius: var(--radius-lg); color: var(--white); box-shadow: var(--shadow-sm); }
.pathway-card::before { content: ''; position: absolute; inset: 0; z-index: -2; background: var(--card-image) center/cover no-repeat; transition: transform .65s ease; }
.pathway-card:hover::before { transform: scale(1.04); }
.pathway-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,rgba(47,18,51,.05) 0%,rgba(47,18,51,.28) 40%,rgba(47,18,51,.98) 100%); }
.pathway-number { position: absolute; right: 24px; top: 19px; color: rgba(255,255,255,.7); font-family: var(--serif); font-size: 2rem; }
.pathway-content { position: absolute; left: 0; right: 0; bottom: 0; padding: 34px; }
.pathway-content > span { color: var(--gold-light); font-size: .64rem; font-weight: 850; letter-spacing: .14em; }
.pathway-content h3 { margin-top: 8px; color: var(--white); font-size: clamp(2rem,3.5vw,3.2rem); }
.pathway-content p { max-width: 560px; color: rgba(255,255,255,.77); }

.problem-section { color: var(--white); background: var(--plum); }
.problem-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(44px,8vw,110px); align-items: center; }
.problem-copy h2 { color: var(--white); }
.problem-copy p { color: rgba(255,255,255,.74); font-size: 1.08rem; }
.symptom-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.symptom-item { display: flex; gap: 13px; min-height: 112px; padding: 20px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.055); }
.symptom-item > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--gold-light); background: rgba(201,161,93,.1); }
.symptom-item strong, .symptom-item small { display: block; }
.symptom-item strong { font-family: var(--serif); font-size: 1.05rem; }
.symptom-item small { margin-top: 5px; color: rgba(255,255,255,.62); font-size: .78rem; line-height: 1.45; }

.section-why { background: var(--paper); }
.why-grid { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: clamp(42px,8vw,98px); align-items: center; }
.why-media { position: relative; }
.why-media img { width: 100%; min-height: 540px; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.why-image-label { position: absolute; left: 24px; right: 24px; bottom: 24px; padding: 18px 20px; border-radius: 15px; background: rgba(47,18,51,.86); color: var(--white); backdrop-filter: blur(10px); }
.why-image-label strong, .why-image-label span { display: block; }
.why-image-label strong { font-family: var(--serif); font-size: 1.22rem; }
.why-image-label span { margin-top: 3px; color: rgba(255,255,255,.68); font-size: .72rem; }
.why-copy h2 { color: var(--plum); }
.why-copy > p { color: var(--muted); font-size: 1.08rem; }
.authority-list { display: grid; gap: 17px; margin: 30px 0; }
.authority-list > div { display: flex; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }
.authority-list svg { width: 25px; height: 25px; color: var(--gold); }
.authority-list span, .authority-list strong { display: block; }
.authority-list span { color: var(--muted); font-size: .87rem; }
.authority-list strong { color: var(--plum); font-family: var(--serif); font-size: 1.05rem; }

.section-featured { background: var(--blush); }
.treatment-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.treatment-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease; }
.treatment-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.treatment-card-image { position: relative; display: block; overflow: hidden; }
.treatment-card-image img { width: 100%; height: 320px; object-fit: cover; transition: transform .55s ease; }
.treatment-card:hover .treatment-card-image img { transform: scale(1.035); }
.treatment-card-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 52%,rgba(47,18,51,.52)); }
.treatment-card-image > span { position: absolute; z-index: 2; left: 18px; bottom: 16px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; color: var(--white); background: rgba(47,18,51,.72); font-size: .66rem; font-weight: 800; backdrop-filter: blur(9px); }
.treatment-card-body { padding: 27px; }
.treatment-card-body > small { display: block; min-height: 32px; color: var(--plum-3); font-size: .6rem; font-weight: 850; letter-spacing: .12em; line-height: 1.45; }
.treatment-card-body h3 { margin-top: 7px; color: var(--plum); }
.treatment-card-body p { color: var(--muted); }

.manifesto-section { color: var(--white); background: linear-gradient(135deg,var(--plum),#160b18); }
.manifesto-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(50px,8vw,120px); align-items: end; }
.manifesto-title h2 { color: var(--white); }
.manifesto-title em { color: var(--gold-light); font-weight: 400; }
.manifesto-copy p { color: rgba(255,255,255,.72); }
.manifesto-copy blockquote { margin: 30px 0; padding: 20px 0 20px 26px; border-left: 2px solid var(--gold); color: var(--gold-light); font-family: var(--serif); font-size: clamp(1.6rem,2.6vw,2.5rem); line-height: 1.25; }

.process-section { background: var(--paper); }
.process-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.process-grid.three-col { grid-template-columns: repeat(3,minmax(0,1fr)); }
.process-card { position: relative; min-height: 260px; padding: 27px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.process-card > span { display: block; color: var(--gold); font-family: var(--serif); font-size: 2.2rem; }
.process-card h3 { margin-top: 22px; color: var(--plum); font-size: 1.45rem; }
.process-card p { color: var(--muted); font-size: .9rem; }
.process-card::after { content: ''; position: absolute; right: -35px; bottom: -35px; width: 110px; height: 110px; border-radius: 50%; background: var(--cream); }

.evidence-section { background: var(--cream); }
.evidence-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px,8vw,100px); align-items: start; }
.evidence-copy h2 { color: var(--plum); }
.evidence-copy > p { color: var(--muted); }
.evidence-notice { display: flex; gap: 14px; margin-top: 28px; padding: 19px; border: 1px solid rgba(201,161,93,.35); border-radius: 15px; background: rgba(255,255,255,.72); }
.evidence-notice svg { width: 28px; height: 28px; color: var(--gold); }
.evidence-notice p { margin: 0; color: var(--muted); font-size: .84rem; }
.evidence-notice strong { color: var(--plum); }
.evidence-notice.neutral { background: var(--cream); }
.evidence-links { display: grid; gap: 12px; }
.evidence-links a { position: relative; padding: 22px 58px 22px 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); transition: transform .2s ease, border-color .2s ease; }
.evidence-links a:hover { transform: translateX(4px); border-color: var(--gold); }
.evidence-links a::after { content: '↗'; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); color: var(--plum-3); font-size: 1.35rem; }
.evidence-links span, .evidence-links strong, .evidence-links small { display: block; }
.evidence-links span { color: var(--plum-3); font-size: .58rem; font-weight: 850; letter-spacing: .14em; }
.evidence-links strong { margin-top: 5px; color: var(--plum); font-family: var(--serif); font-size: 1.05rem; }
.evidence-links small { margin-top: 4px; color: var(--muted); font-size: .7rem; }

.faq-section { background: var(--paper); }
.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(42px,8vw,96px); align-items: start; }
.accordion { border-top: 1px solid var(--line); }
.accordion-item { border-bottom: 1px solid var(--line); }
.accordion-item > button { display: flex; justify-content: space-between; gap: 22px; width: 100%; padding: 22px 0; border: 0; background: transparent; color: var(--plum); text-align: left; font-family: var(--serif); font-size: 1.18rem; }
.accordion-plus { color: var(--gold); font-family: var(--sans); font-size: 1.5rem; transition: transform .2s ease; }
.accordion-item > button[aria-expanded="true"] .accordion-plus { transform: rotate(45deg); }
.accordion-panel { padding: 0 40px 22px 0; color: var(--muted); }
.accordion-panel p { margin: 0; }

.assessment-section { color: var(--white); background: var(--plum); }
.assessment-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(42px,8vw,100px); align-items: center; }
.assessment-copy h2 { color: var(--white); }
.assessment-copy > p { color: rgba(255,255,255,.72); font-size: 1.05rem; }
.assessment-promises { display: grid; gap: 10px; margin: 28px 0; padding: 0; list-style: none; color: rgba(255,255,255,.82); font-size: .85rem; }
.assessment-promises li { display: flex; gap: 9px; align-items: center; }
.assessment-promises svg { color: var(--gold-light); }
.assessment-contact { display: flex; gap: 12px; margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); }
.assessment-contact > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,.08); color: var(--gold-light); }
.assessment-contact p, .assessment-contact strong { display: block; margin: 0; }
.assessment-contact p { color: rgba(255,255,255,.65); font-size: .77rem; }
.assessment-contact strong { color: var(--white); font-family: var(--serif); font-size: 1rem; }
.assessment-form { padding: clamp(25px,4vw,42px); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius); background: var(--white); color: var(--ink); box-shadow: 0 36px 90px rgba(0,0,0,.23); }
.form-head { margin-bottom: 25px; }
.form-head span { display: block; color: var(--plum-3); font-size: .6rem; font-weight: 850; letter-spacing: .14em; }
.form-head strong { display: block; margin-top: 5px; color: var(--plum); font-family: var(--serif); font-size: 1.65rem; }
.assessment-form label { display: block; margin-bottom: 15px; color: var(--plum); font-size: .73rem; font-weight: 760; }
.assessment-form input:not([type="checkbox"]), .assessment-form select, .assessment-form textarea { width: 100%; margin-top: 7px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 11px; outline: none; background: var(--paper); color: var(--ink); font-size: .88rem; transition: border-color .2s ease, box-shadow .2s ease; }
.assessment-form input:focus, .assessment-form select:focus, .assessment-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,161,93,.12); }
.field-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.consent { display: flex !important; align-items: flex-start; gap: 9px; color: var(--muted) !important; font-weight: 500 !important; line-height: 1.45; }
.consent input { margin-top: 3px; accent-color: var(--plum); }
.form-microcopy { margin: 12px 0 0; color: var(--muted); font-size: .66rem; text-align: center; }
.assessment-form.is-submitting button { opacity: .65; pointer-events: none; }
.compact-assessment { padding-top: 82px; padding-bottom: 82px; }

.pathway-hero, .treatment-hero { position: relative; min-height: 760px; padding: 175px 0 80px; display: flex; align-items: center; }
.pathway-hero-image, .treatment-hero-bg { position: absolute; inset: 0; background-position: center; background-size: cover; }
.pathway-hero-inner, .treatment-hero-inner { position: relative; z-index: 2; max-width: 850px; margin-left: max(0px, calc((100vw - var(--shell))/2)); }
.pathway-hero-inner h1, .treatment-hero-inner h1 { color: var(--white); font-size: clamp(3.2rem,6vw,6.3rem); }
.pathway-hero-inner > p, .treatment-hero-inner > p { max-width: 720px; color: rgba(255,255,255,.8); font-size: 1.12rem; }
.back-link { display: block; margin-bottom: 35px; color: rgba(255,255,255,.65); font-size: .75rem; }
.signal-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.signal-row span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.06); color: rgba(255,255,255,.75); font-size: .7rem; }
.signal-row svg { color: var(--gold-light); }
.pathway-clarity { background: var(--paper); }
.split-copy { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(50px,8vw,110px); align-items: start; }
.split-copy h2 { color: var(--plum); }
.split-copy > div:last-child > p, .large-copy { color: var(--muted); font-size: 1.16rem; line-height: 1.8; }
.clarity-quote { margin-top: 26px; padding: 22px 25px; border-left: 3px solid var(--gold); background: var(--cream); color: var(--plum); font-family: var(--serif); font-size: 1.35rem; }
.pathway-options { background: var(--blush); }
.private-pathway { background: var(--blush); }
.check-list { display: grid; gap: 13px; margin: 27px 0; padding: 0; list-style: none; }
.check-list li { display: flex; gap: 10px; color: var(--muted); }
.check-list svg { margin-top: 4px; color: var(--gold); }
.large-checks li { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 1rem; }
.pathway-proof { background: var(--cream); padding-top: 66px; padding-bottom: 66px; }
.proof-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.proof-card { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.proof-card strong { color: var(--plum); font-family: var(--serif); font-size: 1.12rem; }
.proof-card p { margin: 7px 0 0; color: var(--muted); font-size: .8rem; }

.breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 34px; color: rgba(255,255,255,.63); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.breadcrumb a:hover { color: var(--gold-light); }
.treatment-facts { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.treatment-facts > span { display: grid; grid-template-columns: 25px auto; column-gap: 9px; min-width: 190px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(255,255,255,.055); color: rgba(255,255,255,.66); font-size: .68rem; }
.treatment-facts svg { grid-row: 1 / span 2; width: 22px; height: 22px; color: var(--gold-light); }
.treatment-facts strong { display: block; color: var(--white); font-size: .72rem; }
.treatment-jump { position: sticky; z-index: 80; top: 84px; border-bottom: 1px solid var(--line); background: rgba(252,250,248,.96); backdrop-filter: blur(12px); }
.admin-bar .treatment-jump { top: 116px; }
.treatment-jump .shell { display: flex; gap: 26px; overflow-x: auto; scrollbar-width: none; }
.treatment-jump a { flex: 0 0 auto; padding: 17px 0; color: var(--muted); font-size: .68rem; font-weight: 760; text-transform: uppercase; letter-spacing: .06em; }
.treatment-jump a:hover { color: var(--plum); }
.treatment-overview { background: var(--paper); }
.benefits-section { background: var(--cream); }
.benefit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
.benefit-card { min-height: 265px; padding: 25px; border: 1px solid var(--line); border-radius: 20px; background: var(--white); }
.benefit-card > span { color: var(--gold); font-family: var(--serif); font-size: 1.8rem; }
.benefit-card h3 { margin-top: 23px; color: var(--plum); font-size: 1.35rem; }
.benefit-card p { color: var(--muted); font-size: .84rem; }
.who-section { background: var(--paper); }
.who-image { position: relative; }
.who-image img { width: 100%; height: 600px; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.image-overlay-copy { position: absolute; left: 24px; right: 24px; bottom: 24px; padding: 17px 19px; border: 1px solid rgba(255,255,255,.2); border-radius: 15px; background: rgba(47,18,51,.83); color: var(--white); backdrop-filter: blur(10px); }
.image-overlay-copy span, .image-overlay-copy strong { display: block; }
.image-overlay-copy span { color: var(--gold-light); font-size: .58rem; font-weight: 850; letter-spacing: .14em; }
.image-overlay-copy strong { margin-top: 5px; font-family: var(--serif); font-size: 1.2rem; }
.small-note { color: var(--muted); font-size: .72rem; }
.treatment-process { background: var(--blush); }
.expect-box { display: grid; grid-template-columns: .6fr 1.4fr; gap: 35px; margin-top: 18px; padding: 31px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.expect-box h3 { color: var(--plum); }
.expect-box ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin: 0; padding: 0; list-style: none; }
.expect-box li { display: flex; gap: 8px; color: var(--muted); font-size: .83rem; }
.expect-box svg { margin-top: 4px; color: var(--gold); }
.research-section { color: var(--white); background: var(--plum); }
.research-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(48px,8vw,110px); align-items: start; }
.research-intro h2 { color: var(--white); }
.research-intro p { color: rgba(255,255,255,.68); }
.research-list { display: grid; gap: 12px; }
.research-list a { display: grid; grid-template-columns: 42px 1fr 24px; gap: 15px; align-items: start; padding: 22px; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(255,255,255,.055); }
.research-list a:hover { border-color: rgba(227,198,143,.58); background: rgba(255,255,255,.085); }
.research-list > a > span { color: var(--gold-light); font-family: var(--serif); font-size: 1.5rem; }
.research-list strong, .research-list small { display: block; }
.research-list strong { color: var(--white); font-family: var(--serif); font-size: 1.08rem; }
.research-list small { margin-top: 4px; color: var(--gold-light); font-size: .66rem; }
.research-list p { margin: 8px 0 0; color: rgba(255,255,255,.63); font-size: .75rem; }
.research-list svg { color: var(--gold-light); }
.safety-section { padding: 48px 0; background: var(--cream); }
.safety-card { display: grid; grid-template-columns: 72px 1fr auto; gap: 24px; align-items: center; padding: 30px; border: 1px solid rgba(201,161,93,.42); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.safety-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--cream); color: var(--gold); }
.safety-icon svg { width: 30px; height: 30px; }
.safety-card h2 { margin-bottom: .35em; color: var(--plum); font-size: clamp(1.7rem,3vw,2.7rem); }
.safety-card p { margin: 0; color: var(--muted); }
.treatment-faq { background: var(--paper); }

.site-footer { padding: 78px 0 22px; color: rgba(255,255,255,.72); background: #190a1c; }
.footer-grid { display: grid; grid-template-columns: 1.4fr .7fr 1fr; gap: 70px; }
.brand-light .brand-copy strong { color: var(--white); }
.brand-light .brand-copy small { color: rgba(255,255,255,.5); }
.footer-brand p { max-width: 480px; margin-top: 22px; color: rgba(255,255,255,.58); }
.footer-signature { color: var(--gold-light); font-size: .67rem; font-weight: 850; letter-spacing: .15em; }
.site-footer h2 { color: var(--white); font-family: var(--sans); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.footer-links, .footer-contact { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.footer-links a:hover, .footer-contact a:hover { color: var(--gold-light); }
.footer-contact li { display: flex; gap: 9px; align-items: flex-start; }
.footer-contact svg { margin-top: 4px; color: var(--gold-light); }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 65px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.4); font-size: .67rem; }
.footer-bottom p { margin: 0; }
.medical-note { max-width: 560px; text-align: right; }
.floating-whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 900; display: inline-flex; align-items: center; gap: 9px; padding: 13px 17px; border-radius: 999px; color: var(--white); background: #176c45; box-shadow: 0 16px 40px rgba(23,108,69,.28); font-size: .74rem; font-weight: 800; }
.floating-whatsapp svg { width: 21px; height: 21px; }
.mobile-conversion-bar { display: none; }

.conversion-modal[hidden] { display: none; }
.conversion-modal { position: fixed; z-index: 2000; inset: 0; display: grid; place-items: center; padding: 20px; }
.conversion-modal-backdrop { position: absolute; inset: 0; background: rgba(20,9,22,.72); backdrop-filter: blur(5px); }
.conversion-modal-card { position: relative; z-index: 2; width: min(100%, 530px); padding: clamp(28px,5vw,48px); border: 1px solid var(--line); border-radius: 26px; background: var(--white); box-shadow: 0 40px 120px rgba(0,0,0,.35); }
.conversion-modal-card h2 { color: var(--plum); font-size: clamp(2rem,4vw,3.1rem); }
.conversion-modal-card p { color: var(--muted); }
.conversion-modal-card small { display: block; margin-top: 13px; color: var(--muted); font-size: .68rem; text-align: center; }
.modal-close { position: absolute; right: 14px; top: 14px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--plum); }

.generic-page, .not-found-page { min-height: 70vh; padding-top: 170px; }
.entry-content { color: var(--muted); }
.entry-content h2, .entry-content h3 { color: var(--plum); }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

@media (max-width: 1080px) {
  .header-cta { display: none; }
  .menu { gap: 18px; }
  .hero-grid { grid-template-columns: 1fr .78fr; gap: 36px; }
  .hero-image-wrap img { height: 560px; }
  .hero-floating-card { left: -20px; }
  .benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 920px) {
  .admin-bar .site-header { top: 46px; }
  .site-header { height: 74px; }
  .nav-toggle { display: inline-flex; }
  .primary-nav { position: fixed; inset: 74px 0 auto; max-height: calc(100vh - 74px); overflow-y: auto; padding: 20px; border-top: 1px solid var(--line); background: var(--paper); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: all .2s ease; }
  .admin-bar .primary-nav { inset: 120px 0 auto; }
  .primary-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .menu { display: grid; gap: 0; }
  .menu > li > a, .menu-panel-toggle { width: 100%; justify-content: space-between; padding: 16px 2px; border-bottom: 1px solid var(--line); }
  .menu-panel { position: static; width: 100%; padding: 7px 0; border: 0; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; display: none; }
  .menu-has-panel.panel-open .menu-panel { display: block; }
  .menu-panel a { padding: 12px 10px; }
  .hero-home { min-height: auto; padding-top: 126px; }
  .hero-grid, .problem-grid, .why-grid, .manifesto-grid, .evidence-grid, .faq-grid, .assessment-grid, .split-copy, .research-grid { grid-template-columns: 1fr; }
  .hero-copy { text-align: center; }
  .hero-lede { margin-inline: auto; }
  .hero-actions, .hero-trust-row { justify-content: center; }
  .hero-media { max-width: 590px; margin: 20px auto 0; }
  .hero-image-wrap { margin: auto; }
  .hero-floating-card { left: 10px; }
  .pathway-grid, .treatment-grid { grid-template-columns: 1fr; }
  .pathway-card { min-height: 430px; }
  .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .process-grid.three-col { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .manifesto-grid { align-items: start; }
  .evidence-grid, .faq-grid, .research-grid { gap: 50px; }
  .assessment-copy { max-width: 720px; }
  .pathway-hero, .treatment-hero { min-height: 700px; padding-top: 145px; }
  .pathway-hero-inner, .treatment-hero-inner { margin-inline: auto; }
  .treatment-jump { top: 74px; }
  .admin-bar .treatment-jump { top: 120px; }
  .expect-box { grid-template-columns: 1fr; }
  .safety-card { grid-template-columns: 64px 1fr; }
  .safety-card .button { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  body { padding-bottom: 66px; }
  .shell { width: min(calc(100% - 28px), var(--shell)); }
  .section { padding: 68px 0; }
  .site-header { height: 68px; }
  .brand-mark { width: 38px; height: 38px; font-size: 1.25rem; }
  .brand-copy strong { font-size: 1.03rem; }
  .brand-copy small { font-size: .48rem; }
  .primary-nav { inset: 68px 0 auto; max-height: calc(100vh - 68px); }
  .admin-bar .primary-nav { inset: 114px 0 auto; }
  .hero-home { padding-top: 116px; }
  h1 { font-size: clamp(2.8rem,14vw,4.5rem); }
  h2 { font-size: clamp(2.05rem,10vw,3.4rem); }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-trust-row { display: grid; text-align: left; }
  .hero-image-wrap { border-radius: 38% 38% 22px 22px; }
  .hero-image-wrap img { height: 510px; }
  .hero-floating-card { position: relative; left: auto; bottom: auto; width: calc(100% - 24px); margin: -35px auto 0; }
  .hero-bottom { margin-top: 36px; }
  .pathway-grid, .symptom-list, .benefit-grid, .proof-grid, .process-grid, .process-grid.three-col, .expect-box ul { grid-template-columns: 1fr; }
  .pathway-card { min-height: 440px; }
  .pathway-content { padding: 26px; }
  .why-media img, .who-image img { min-height: 430px; height: 500px; }
  .treatment-card-image img { height: 260px; }
  .process-card { min-height: 220px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .pathway-hero, .treatment-hero { min-height: 720px; padding: 126px 0 65px; }
  .pathway-hero-image, .treatment-hero-bg { background-position: 66% center; }
  .pathway-hero-inner h1, .treatment-hero-inner h1 { font-size: clamp(2.8rem,13vw,4.7rem); }
  .signal-row { display: grid; }
  .treatment-facts { display: grid; }
  .treatment-facts > span { width: 100%; }
  .treatment-jump { top: 68px; }
  .admin-bar .treatment-jump { top: 114px; }
  .safety-card { grid-template-columns: 1fr; }
  .safety-icon { width: 54px; height: 54px; }
  .footer-grid { grid-template-columns: 1fr; gap: 38px; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { display: grid; }
  .medical-note { text-align: left; }
  .floating-whatsapp { display: none; }
  .mobile-conversion-bar { position: fixed; z-index: 950; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: .8fr 1.2fr; height: 66px; padding: 7px; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 -12px 35px rgba(47,18,51,.12); }
  .mobile-conversion-bar a { display: grid; place-items: center; border-radius: 9px; color: var(--plum); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
  .mobile-conversion-bar a:last-child { background: var(--plum); color: var(--white); }
  .conversion-modal { align-items: end; padding: 10px; }
  .conversion-modal-card { border-radius: 24px 24px 14px 14px; }
}

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}
.brand-copy-fallback { padding-left: 0; }
.brand-copy-fallback strong { font-size: 1.36rem; letter-spacing: .17em; }
@media (max-width:700px){ .brand-copy-fallback strong{font-size:1.08rem}.brand-copy-fallback small{font-size:.48rem} }

/* Version 1.2 — multi-service homepage booking and real facility gallery. */
.hero-facility .hero-grid { grid-template-columns: minmax(0,.92fr) minmax(480px,1.08fr); }
.hero-facility .hero-facility-image { max-width: 650px; border-radius: 30px; }
.hero-facility .hero-facility-image img { height: 560px; object-position: center; }
.hero-facility .hero-floating-card { left: -36px; bottom: 52px; width: 300px; }

.booking-section { position: relative; background: var(--cream); }
.booking-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 40px; align-items: end; margin-bottom: 40px; }
.booking-heading h2 { max-width: 900px; color: var(--plum); }
.booking-heading p { max-width: 820px; color: var(--muted); font-size: 1.06rem; }
.booking-step-note { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 12px; min-width: 230px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); box-shadow: var(--shadow-sm); }
.booking-step-note > span { grid-row: 1 / 3; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--plum); color: var(--gold-light); font-family: var(--serif); font-size: 1.2rem; }
.booking-step-note strong { align-self: end; color: var(--plum); font-size: .8rem; }
.booking-step-note small { align-self: start; color: var(--muted); font-size: .68rem; }

.service-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
.service-select-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--white); box-shadow: var(--shadow-sm); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.service-select-card:hover { transform: translateY(-3px); border-color: rgba(201,161,93,.72); box-shadow: var(--shadow-md); }
.service-select-card.is-selected { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,161,93,.14), var(--shadow-md); }
.service-select-image { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: var(--blush); }
.service-select-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgba(47,18,51,.24)); }
.service-select-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.service-select-card:hover .service-select-image img { transform: scale(1.035); }
.service-select-body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.service-select-body > small { color: var(--plum-3); font-size: .57rem; font-weight: 850; letter-spacing: .12em; }
.service-select-body h3 { margin: 8px 0 9px; color: var(--plum); font-family: var(--serif); font-size: 1.28rem; line-height: 1.15; }
.service-select-body p { flex: 1; margin-bottom: 17px; color: var(--muted); font-size: .77rem; line-height: 1.55; }
.service-toggle { width: 100%; min-height: 43px; padding: 11px 13px; border: 1px solid var(--plum); border-radius: 999px; background: transparent; color: var(--plum); font-size: .68rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.service-toggle:hover { background: var(--plum); color: var(--white); }
.service-toggle .service-selected-label { display: none; align-items: center; justify-content: center; gap: 7px; }
.service-toggle.is-selected { border-color: var(--plum); background: var(--plum); color: var(--white); }
.service-toggle.is-selected .service-add-label { display: none; }
.service-toggle.is-selected .service-selected-label { display: inline-flex; }
.service-toggle svg { width: 15px; height: 15px; color: var(--gold-light); }

.all-services { margin-top: 25px; border: 1px solid var(--line); border-radius: 20px; background: var(--white); box-shadow: var(--shadow-sm); }
.all-services summary { display: grid; grid-template-columns: 1fr auto 34px; gap: 18px; align-items: center; padding: 22px 25px; color: var(--plum); cursor: pointer; list-style: none; }
.all-services summary::-webkit-details-marker { display: none; }
.all-services summary > span:first-child { font-family: var(--serif); font-size: 1.35rem; }
.all-services summary small { color: var(--muted); font-size: .72rem; }
.all-services-icon { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; color: var(--gold); font-size: 1.35rem; transition: transform .2s ease; }
.all-services[open] .all-services-icon { transform: rotate(45deg); }
.all-services-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding: 5px 25px 28px; }
.service-category { padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.service-category h3 { margin-bottom: 15px; color: var(--plum); font-family: var(--sans); font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.service-option-list { display: grid; gap: 7px; }
.service-list-option { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; width: 100%; padding: 10px 11px; border: 1px solid transparent; border-radius: 10px; background: var(--white); color: var(--ink); text-align: left; font-size: .72rem; line-height: 1.35; transition: border-color .2s ease, background .2s ease; }
.service-list-option:hover { border-color: var(--gold); }
.service-list-option strong { color: var(--plum-3); font-size: .59rem; text-transform: uppercase; }
.service-list-option.is-selected { border-color: var(--gold); background: rgba(201,161,93,.12); color: var(--plum); }
.service-list-option.is-selected strong { color: var(--plum); }

.selected-services-panel { margin-top: 25px; padding: 24px 26px; border: 1px solid rgba(201,161,93,.48); border-radius: 20px; background: var(--white); box-shadow: var(--shadow-sm); }
.selected-services-head { display: flex; justify-content: space-between; gap: 24px; align-items: center; }
.selected-services-head .eyebrow { margin-bottom: 5px; }
.selected-services-head h3 { margin: 0; color: var(--plum); font-family: var(--serif); font-size: 1.35rem; }
.selected-services-head h3 > strong { display: inline-grid; place-items: center; min-width: 28px; height: 28px; margin-left: 6px; padding: 0 8px; border-radius: 999px; background: var(--plum); color: var(--white); font-family: var(--sans); font-size: .7rem; }
.clear-services { padding: 8px 12px; border: 0; background: transparent; color: var(--plum-3); font-size: .68rem; font-weight: 800; text-decoration: underline; }
.selected-service-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.selected-empty { margin: 0; color: var(--muted); font-size: .8rem; }
.selected-service-tag { display: inline-flex; align-items: center; gap: 9px; padding: 9px 10px 9px 13px; border: 1px solid rgba(201,161,93,.56); border-radius: 999px; background: var(--cream); color: var(--plum); font-size: .69rem; font-weight: 750; }
.selected-service-tag strong { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--plum); color: var(--white); font-size: .9rem; line-height: 1; }
.service-selection-error { margin: 14px 0 0; color: #9a2536; font-size: .76rem; font-weight: 750; }

.booking-form-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 26px; align-items: stretch; margin-top: 28px; }
.booking-form-image { position: relative; min-height: 100%; overflow: hidden; border-radius: 24px; background: var(--plum); box-shadow: var(--shadow-md); }
.booking-form-image img { width: 100%; height: 100%; min-height: 670px; object-fit: cover; }
.booking-form-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 46%,rgba(47,18,51,.9)); }
.booking-form-image > div { position: absolute; z-index: 2; left: 25px; right: 25px; bottom: 25px; padding: 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 15px; background: rgba(47,18,51,.67); backdrop-filter: blur(12px); }
.booking-form-image span, .booking-form-image strong { display: block; }
.booking-form-image span { color: var(--gold-light); font-size: .59rem; font-weight: 850; letter-spacing: .13em; }
.booking-form-image strong { margin-top: 4px; color: var(--white); font-family: var(--serif); font-size: 1.25rem; line-height: 1.25; }
.booking-form { box-shadow: var(--shadow-md); }
.form-selected-summary { margin: -6px 0 20px; padding: 14px 15px; border: 1px solid rgba(201,161,93,.38); border-radius: 12px; background: var(--cream); }
.form-selected-summary small { display: block; color: var(--plum-3); font-size: .57rem; font-weight: 850; letter-spacing: .12em; }
.form-selected-summary p { margin: 5px 0 0; color: var(--plum); font-size: .74rem; font-weight: 700; line-height: 1.5; }
.form-note { display: block; margin-top: 12px; color: var(--muted); font-size: .64rem; line-height: 1.5; text-align: center; }

.facility-section { background: var(--paper); }
.facility-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); grid-auto-rows: 235px; gap: 14px; }
.facility-gallery figure { margin: 0; overflow: hidden; border-radius: 18px; background: var(--cream); box-shadow: var(--shadow-sm); }
.facility-gallery figure:nth-child(4), .facility-gallery figure:nth-child(5) { grid-row: span 2; }
.facility-gallery-wide { grid-column: span 2; grid-row: span 2; }
.facility-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.facility-gallery figure:hover img { transform: scale(1.025); }
.compact-pathways { padding-top: 88px; padding-bottom: 88px; }
.compact-pathways .pathway-card { min-height: 390px; }

@media (max-width: 1120px) {
  .hero-facility .hero-grid { grid-template-columns: 1fr .9fr; }
  .hero-facility .hero-facility-image img { height: 540px; }
  .service-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .all-services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 920px) {
  .hero-facility .hero-grid { grid-template-columns: 1fr; }
  .hero-facility .hero-facility-image { max-width: 720px; }
  .hero-facility .hero-facility-image img { height: 500px; }
  .booking-heading { grid-template-columns: 1fr; }
  .booking-step-note { justify-self: start; }
  .service-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .booking-form-grid { grid-template-columns: 1fr; }
  .booking-form-image { max-height: 560px; }
  .booking-form-image img { min-height: 560px; }
  .facility-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .hero-facility .hero-facility-image { border-radius: 22px; }
  .hero-facility .hero-facility-image img { height: 390px; }
  .hero-facility .hero-floating-card { width: calc(100% - 24px); }
  .booking-section { padding-top: 62px; }
  .booking-heading { gap: 12px; margin-bottom: 28px; }
  .booking-step-note { width: 100%; min-width: 0; }
  .service-card-grid { grid-template-columns: 1fr; gap: 14px; }
  .service-select-card { display: grid; grid-template-columns: 118px 1fr; }
  .service-select-image { aspect-ratio: auto; min-height: 100%; }
  .service-select-body { padding: 16px; }
  .service-select-body h3 { font-size: 1.12rem; }
  .service-select-body p { font-size: .72rem; }
  .all-services summary { grid-template-columns: 1fr 34px; gap: 10px; padding: 18px; }
  .all-services summary small { grid-column: 1 / -1; grid-row: 2; }
  .all-services-icon { grid-column: 2; grid-row: 1; }
  .all-services-grid { grid-template-columns: 1fr; padding: 0 14px 18px; }
  .service-category { padding: 15px; }
  .selected-services-panel { padding: 20px 18px; }
  .selected-services-head { align-items: flex-start; }
  .booking-form-image { display: none; }
  .booking-form { padding: 23px 18px; }
  .facility-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 180px; gap: 9px; }
  .facility-gallery-wide { grid-column: 1 / -1; grid-row: span 2; }
  .facility-gallery figure:nth-child(4), .facility-gallery figure:nth-child(5) { grid-row: span 1; }
  .compact-pathways .pathway-card { min-height: 410px; }
}

@media (max-width: 480px) {
  .service-select-card { grid-template-columns: 100px 1fr; }
  .service-select-body p { display: none; }
  .service-toggle { min-height: 39px; padding: 9px 10px; font-size: .62rem; }
  .facility-gallery { grid-template-columns: 1fr; grid-auto-rows: 245px; }
  .facility-gallery-wide, .facility-gallery figure:nth-child(4), .facility-gallery figure:nth-child(5) { grid-column: auto; grid-row: auto; }
}

/* LUMINA lead-capture popup and Klaviyo connection */
body.modal-open { overflow: hidden; }
.lead-modal-card { width: min(100%, 720px); max-height: calc(100vh - 34px); overflow-y: auto; }
.lead-modal-card h2 { max-width: 630px; margin-bottom: .32em; font-size: clamp(2rem, 4.2vw, 3.35rem); }
.lead-modal-card > div > p { max-width: 620px; margin-bottom: 20px; }
.lead-capture-form { display: grid; gap: 13px; }
.lead-field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lead-capture-form label { display: grid; gap: 7px; color: var(--plum); font-size: .7rem; font-weight: 800; }
.lead-capture-form input:not([type="checkbox"]),
.lead-capture-form select { width: 100%; min-height: 49px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; outline: none; background: var(--paper); color: var(--ink); font: inherit; font-size: .86rem; }
.lead-capture-form input:focus,
.lead-capture-form select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,161,93,.12); }
.lead-consent { grid-template-columns: 20px 1fr; align-items: start; gap: 9px !important; padding: 3px 1px; color: var(--muted) !important; font-size: .67rem !important; font-weight: 600 !important; line-height: 1.5; }
.lead-consent input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--plum); }
.lead-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.lead-capture-form.is-submitting { opacity: .72; pointer-events: none; }
.lead-form-status { min-height: 1.3em; margin: -3px 0 0 !important; color: #a12b36 !important; font-size: .7rem; font-weight: 700; text-align: center; }
.lead-success { padding: 18px 5px 5px; text-align: center; }
.lead-success-icon { display: grid; place-items: center; width: 66px; height: 66px; margin: 0 auto 17px; border-radius: 50%; background: var(--cream); color: var(--gold); }
.lead-success-icon svg { width: 31px; height: 31px; }
.lead-success h2 { margin-inline: auto; }
.lead-success p { max-width: 520px; margin: 0 auto 22px; }
.lead-success .button { max-width: 390px; margin: auto; }

@media (max-width: 700px) {
  .lead-modal-card { max-height: calc(100vh - 12px); padding: 28px 19px 22px; }
  .lead-field-row { grid-template-columns: 1fr; }
  .lead-modal-card h2 { padding-right: 32px; font-size: clamp(1.9rem, 10vw, 2.7rem); }
  .lead-capture-form input:not([type="checkbox"]), .lead-capture-form select { min-height: 47px; }
}


.lead-update-list { display:grid; gap:7px; margin:16px 0 20px; padding:0; list-style:none; color:var(--ink); font-size:.88rem; }
.lead-update-list li { position:relative; padding-left:20px; line-height:1.45; }
.lead-update-list li::before { content:'✓'; position:absolute; left:0; top:0; color:var(--gold); font-weight:800; }

/* v1.7 conversion-first service cards */
.service-select-body .service-problem{font-weight:800;color:#2F1233;font-size:1.02rem;line-height:1.35;margin:.2rem 0 .45rem}
.service-select-body .service-problem + p{margin-top:0;color:#5f4d61}
.assessment-form label small{font-weight:500;opacity:.7}
@media (max-width:760px){.service-select-body .service-problem{font-size:.98rem}}

.benefit-cta{margin-top:2rem;padding:1.1rem 1.25rem;border:1px solid #e7d6da;background:#fcfaf8;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.benefit-cta div{display:flex;flex-direction:column;gap:.2rem}.benefit-cta strong{color:#2f1233;font-size:1.05rem}.benefit-cta span{color:#6b586d}
@media(max-width:700px){.benefit-cta{align-items:stretch;flex-direction:column}.benefit-cta .button{width:100%;justify-content:center}}

/* v1.8 Referral Appreciation Programme */
.lumina-referral-page .site-header{background:rgba(252,250,248,.94)}
.referral-page{overflow:hidden;background:var(--paper)}
.referral-hero{position:relative;min-height:860px;padding:154px 0 92px;overflow:hidden;color:var(--white);background:linear-gradient(135deg,#2f1233 0%,#421747 56%,#231026 100%)}
.referral-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:clamp(44px,7vw,96px);align-items:center}
.referral-hero-copy h1{max-width:760px;color:var(--white);font-size:clamp(3.3rem,6.2vw,6.7rem);letter-spacing:-.045em}
.referral-hero-copy h1 em{color:var(--gold-light);font-weight:400}
.referral-hero-lede{max-width:720px;margin-bottom:.9rem;color:rgba(255,255,255,.8);font-size:clamp(1.02rem,1.45vw,1.28rem);line-height:1.65}
.referral-hero-lede strong{color:var(--white)}
.referral-offer-line{max-width:760px;margin-top:26px;padding:22px 24px;border:1px solid rgba(227,198,143,.32);border-radius:18px;background:rgba(255,255,255,.06);backdrop-filter:blur(12px)}
.referral-offer-line span,.referral-offer-line strong{display:block}
.referral-offer-line span{color:var(--gold-light);font-size:.65rem;font-weight:850;letter-spacing:.14em}
.referral-offer-line strong{margin-top:7px;color:var(--white);font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.72rem);font-weight:500;line-height:1.35}
.referral-hero-trust{display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:25px;color:rgba(255,255,255,.73);font-size:.73rem}
.referral-hero-trust span{display:inline-flex;align-items:center;gap:7px}.referral-hero-trust svg{color:var(--gold-light)}
.referral-hero-media{position:relative}
.referral-image-stack{position:relative;min-height:650px}
.referral-image-primary{position:absolute;inset:0 54px 38px 0;margin:0;overflow:hidden;border:1px solid rgba(227,198,143,.36);border-radius:46% 46% 28px 28px;box-shadow:0 42px 100px rgba(0,0,0,.34)}
.referral-image-primary img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.referral-image-secondary{position:absolute;right:0;bottom:0;width:44%;height:43%;margin:0;overflow:hidden;border:8px solid var(--plum);border-radius:24px;box-shadow:var(--shadow-md)}
.referral-image-secondary img{width:100%;height:100%;object-fit:cover}
.referral-image-badge{position:absolute;left:-35px;bottom:62px;z-index:3;width:min(310px,72%);padding:18px 20px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(252,250,248,.96);color:var(--plum);box-shadow:var(--shadow-md)}
.referral-image-badge small,.referral-image-badge strong{display:block}.referral-image-badge small{color:var(--plum-3);font-size:.58rem;font-weight:850;letter-spacing:.12em}.referral-image-badge strong{margin-top:5px;font-family:var(--serif);font-size:1.2rem;line-height:1.25}
.referral-hero-orb{position:absolute;border-radius:50%;filter:blur(10px);opacity:.56}.referral-hero-orb-one{width:620px;height:620px;right:-130px;top:-120px;background:radial-gradient(circle,rgba(201,161,93,.28),transparent 65%)}.referral-hero-orb-two{width:760px;height:760px;left:-390px;bottom:-550px;background:radial-gradient(circle,rgba(92,40,99,.95),transparent 64%)}

.referral-invite-banner{padding:26px 0;border-bottom:1px solid var(--line);background:var(--blush)}
.referral-invite-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.referral-invite-inner .eyebrow{margin-bottom:8px}.referral-invite-inner h2{margin-bottom:6px;color:var(--plum);font-size:clamp(1.85rem,3.4vw,3rem)}.referral-invite-inner p{margin:0;color:var(--muted)}

.referral-discount-section{background:var(--cream)}
.referral-discount-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,7vw,90px);align-items:center}
.referral-discount-grid .section-heading{margin:0}.referral-discount-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px;border:1px solid var(--line);border-radius:28px;background:var(--white);box-shadow:var(--shadow-sm)}
.referral-discount-card>div{padding:28px 24px;border-radius:18px;background:var(--plum);color:var(--white)}.referral-discount-card>div:nth-child(2){background:var(--blush);color:var(--plum)}.referral-discount-card span,.referral-discount-card strong{display:block}.referral-discount-card span{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.78}.referral-discount-card strong{margin-top:7px;font-family:var(--serif);font-size:clamp(2rem,4vw,3.3rem);font-weight:500}.referral-discount-card small{grid-column:1/-1;padding:4px 5px 0;color:var(--muted);font-size:.75rem;text-align:center}

.referral-rewards-section{background:var(--paper)}
.referral-reward-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.referral-reward-card{position:relative;min-height:430px;padding:27px 24px 24px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--white);box-shadow:var(--shadow-sm)}
.referral-reward-card::after{content:'';position:absolute;right:-50px;bottom:-50px;width:150px;height:150px;border-radius:50%;background:var(--cream)}
.referral-reward-number{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(201,161,93,.5);border-radius:50%;color:var(--gold);font-family:var(--serif);font-size:1.45rem}
.referral-reward-card>small{display:block;margin-top:25px;color:var(--plum-3);font-size:.59rem;font-weight:850;letter-spacing:.13em}.referral-reward-card h3{margin-top:8px;color:var(--plum);font-size:1.55rem}.referral-reward-card p,.referral-reward-card li{color:var(--muted);font-size:.83rem;line-height:1.55}.referral-reward-card ul{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}.referral-reward-card li{position:relative;padding-left:20px}.referral-reward-card li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:900}.referral-reward-action{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;padding-top:14px;border-top:1px solid var(--line);color:var(--plum-3);font-size:.68rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.referral-reward-featured{border-color:rgba(201,161,93,.7);background:var(--cream)}.referral-reward-featured::before{content:'POPULAR MILESTONE';position:absolute;right:16px;top:18px;padding:7px 9px;border-radius:999px;background:var(--gold);color:var(--plum);font-size:.53rem;font-weight:900;letter-spacing:.1em}.referral-reward-featured::after{background:rgba(201,161,93,.18)}
.referral-reward-premium{border-color:rgba(201,161,93,.55);background:linear-gradient(155deg,var(--plum),#4a1b50);color:var(--white)}.referral-reward-premium .referral-reward-number{border-color:rgba(227,198,143,.55);color:var(--gold-light)}.referral-reward-premium>small,.referral-reward-premium h3,.referral-reward-premium .referral-reward-action{color:var(--gold-light)}.referral-reward-premium p{color:rgba(255,255,255,.72)}.referral-reward-premium .referral-reward-action{border-color:rgba(255,255,255,.15)}.referral-reward-premium::after{background:rgba(201,161,93,.12)}
.referral-credit-rule{display:flex;align-items:flex-start;gap:16px;max-width:920px;margin:30px auto 0;padding:20px 22px;border:1px solid rgba(201,161,93,.45);border-radius:18px;background:var(--cream)}.referral-credit-rule>div{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:var(--white);color:var(--gold)}.referral-credit-rule p{margin:0;color:var(--muted);font-size:.84rem}.referral-credit-rule strong{color:var(--plum)}

.referral-process-section{background:var(--blush)}
.referral-process-grid .process-card{background:rgba(255,255,255,.86)}

.referral-generator-section{color:var(--white);background:linear-gradient(135deg,var(--plum),#1e0c21)}
.referral-generator-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(38px,7vw,90px);align-items:center}.referral-generator-copy h2{color:var(--white)}.referral-generator-copy>p{max-width:610px;color:rgba(255,255,255,.72);font-size:1.04rem}.referral-generator-points{display:grid;gap:11px;margin-top:25px}.referral-generator-points span{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.82);font-size:.8rem}.referral-generator-points svg{color:var(--gold-light)}
.referral-generator-card{padding:30px;border:1px solid rgba(255,255,255,.15);border-radius:28px;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.referral-generator-card form{display:grid;gap:15px}.referral-generator-card label,.referral-result label{display:grid;gap:7px;color:var(--plum);font-size:.71rem;font-weight:800}.referral-generator-card label small{font-weight:600;opacity:.65}.referral-generator-card input:not([type=checkbox]),.referral-generator-card select,.referral-result input{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;outline:none;background:var(--white);color:var(--ink)}.referral-generator-card input:focus,.referral-generator-card select:focus,.referral-result input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,161,93,.12)}.referral-form-status{min-height:1.2em;margin:0;color:#9a2536;font-size:.72rem;font-weight:700;text-align:center}
.referral-result{text-align:center}.referral-code{display:block;margin:3px 0 12px;color:var(--plum);font-family:var(--serif);font-size:clamp(2.4rem,6vw,4.6rem);letter-spacing:.04em}.referral-result>p{max-width:580px;margin:0 auto 22px;color:var(--muted)}.referral-result label{text-align:left}.referral-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.referral-result-actions .button:first-child{grid-column:1/-1}.referral-manage-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:13px 22px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.referral-manage-actions a{color:var(--plum-3);font-size:.72rem;font-weight:850;text-decoration:underline}.referral-start-over{margin-top:18px;border:0;background:transparent;color:var(--muted);font-size:.68rem;text-decoration:underline}

.referral-services-intro{background:var(--cream)}
.referral-problem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.referral-problem-card{display:grid;grid-template-columns:210px 1fr;min-height:250px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:var(--shadow-sm)}.referral-problem-card img{width:100%;height:100%;object-fit:cover}.referral-problem-card>div{padding:26px}.referral-problem-card small{color:var(--plum-3);font-size:.59rem;font-weight:850;letter-spacing:.12em}.referral-problem-card h3{margin-top:8px;color:var(--plum);font-size:1.5rem}.referral-problem-card p{margin:0;color:var(--muted);font-size:.84rem}.referral-service-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:28px}

.referral-booking-section{background:var(--paper)}
.referral-code-badge{min-width:235px;padding:17px 19px;border:1px solid rgba(201,161,93,.5);border-radius:16px;background:var(--cream);text-align:center}.referral-code-badge small,.referral-code-badge strong{display:block}.referral-code-badge small{color:var(--plum-3);font-size:.57rem;font-weight:850;letter-spacing:.12em}.referral-code-badge strong{margin-top:4px;color:var(--plum);font-family:var(--serif);font-size:1.45rem}.referral-service-card-grid{margin-bottom:24px}.referral-form-grid{margin-top:28px}

.referral-manage-section{color:var(--white);background:var(--plum)}
.referral-manage-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,7vw,90px);align-items:center}.referral-manage-grid .section-heading{margin:0}.referral-manage-grid h2{color:var(--white)}.referral-manage-grid p{color:rgba(255,255,255,.7)}.referral-manage-form{padding:25px;border:1px solid rgba(255,255,255,.17);border-radius:22px;background:rgba(255,255,255,.06)}.referral-manage-form label{display:grid;gap:8px;color:var(--white);font-size:.72rem;font-weight:800}.referral-manage-form input{min-height:52px;padding:12px 15px;border:1px solid rgba(255,255,255,.2);border-radius:12px;outline:none;background:rgba(255,255,255,.95);color:var(--plum);text-transform:uppercase}.referral-manage-form>div{display:flex;gap:10px;margin-top:12px}.referral-manage-form>div .button{flex:1}.referral-manage-form>p{min-height:1.2em;margin:10px 0 0;color:var(--gold-light);font-size:.7rem;font-weight:700;text-align:center}

.referral-terms-section{padding-top:55px;padding-bottom:80px;background:var(--cream)}
.referral-terms{max-width:930px;margin:auto;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:var(--shadow-sm)}.referral-terms summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 24px;color:var(--plum);font-family:var(--serif);font-size:1.2rem;cursor:pointer;list-style:none}.referral-terms summary::-webkit-details-marker{display:none}.referral-terms[open] summary span{transform:rotate(45deg)}.referral-terms summary span{font-family:var(--sans);font-size:1.5rem;transition:transform .2s}.referral-terms>div{padding:0 24px 22px;border-top:1px solid var(--line)}.referral-terms p{margin:18px 0 0;color:var(--muted);font-size:.78rem;line-height:1.65}

@media(max-width:1120px){
  .referral-hero-grid{grid-template-columns:1fr .82fr}.referral-image-stack{min-height:580px}.referral-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.referral-reward-card{min-height:390px}
}
@media(max-width:920px){
  .referral-hero{padding-top:132px}.referral-hero-grid,.referral-discount-grid,.referral-generator-grid,.referral-manage-grid{grid-template-columns:1fr}.referral-hero-media{max-width:700px}.referral-image-stack{min-height:620px}.referral-discount-grid .section-heading,.referral-manage-grid .section-heading{margin-bottom:0}.referral-problem-card{grid-template-columns:170px 1fr}
}
@media(max-width:700px){
  .referral-hero{min-height:auto;padding:122px 0 70px}.referral-hero-copy h1{font-size:clamp(2.75rem,14vw,4.25rem)}.referral-hero-lede{font-size:.98rem}.referral-offer-line{padding:18px}.referral-hero-media{margin-top:8px}.referral-image-stack{min-height:480px}.referral-image-primary{inset:0 28px 30px 0}.referral-image-secondary{width:46%;height:40%;border-width:5px}.referral-image-badge{left:12px;bottom:48px;width:76%;padding:14px}.referral-image-badge strong{font-size:1rem}.referral-invite-inner{align-items:stretch;flex-direction:column}.referral-discount-card{grid-template-columns:1fr}.referral-discount-card small{grid-column:auto}.referral-reward-grid{grid-template-columns:1fr}.referral-reward-card{min-height:360px}.referral-problem-grid{grid-template-columns:1fr}.referral-problem-card{grid-template-columns:118px 1fr;min-height:210px}.referral-problem-card>div{padding:18px}.referral-problem-card h3{font-size:1.2rem}.referral-result-actions{grid-template-columns:1fr}.referral-result-actions .button:first-child{grid-column:auto}.referral-manage-form>div{flex-direction:column}.referral-service-actions .button{width:100%}.referral-code-badge{width:100%;min-width:0}.referral-credit-rule{padding:17px}.referral-generator-card{padding:22px 18px}
}
@media(max-width:480px){
  .referral-image-stack{min-height:405px}.referral-image-primary{right:18px}.referral-image-secondary{right:-5px}.referral-image-badge{left:0;width:82%}.referral-problem-card{grid-template-columns:96px 1fr}.referral-problem-card p{font-size:.72rem}.referral-reward-card{min-height:390px}.referral-hero-trust{display:grid}.referral-discount-card>div{padding:22px 18px}
}

/* ================================================================
   LUMINA Membership, Gift Membership & Team Membership — v1.9.0
   ================================================================ */
.membership-page{background:var(--paper)}
.membership-hero,.membership-gift-hero,.team-membership-hero{position:relative;overflow:hidden;padding:150px 0 90px;color:var(--white);background:linear-gradient(132deg,#210b24 0%,var(--plum) 62%,#4b1d50 100%)}
.membership-hero::before,.membership-gift-hero::before,.team-membership-hero::before{content:'';position:absolute;inset:auto -12% -48% auto;width:660px;height:660px;border:1px solid rgba(201,161,93,.18);border-radius:50%;box-shadow:0 0 0 90px rgba(201,161,93,.04),0 0 0 180px rgba(201,161,93,.025)}
.membership-hero-grid,.membership-gift-hero-grid,.team-membership-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(42px,7vw,96px);align-items:center}
.membership-hero-copy h1,.membership-gift-copy h1,.team-membership-copy h1{max-width:780px;margin:15px 0 20px;color:var(--white);font-size:clamp(3.3rem,6vw,6.3rem);line-height:.93;letter-spacing:-.045em}
.membership-hero-lede,.membership-gift-copy>p,.team-membership-copy>p{max-width:700px;color:rgba(255,255,255,.76);font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.7}
.membership-value-callout,.membership-gift-choice{display:grid;gap:7px;max-width:730px;margin:27px 0 30px;padding:20px 22px;border:1px solid rgba(227,198,143,.28);border-radius:18px;background:rgba(255,255,255,.06);backdrop-filter:blur(12px)}
.membership-value-callout small,.membership-gift-choice small{color:var(--gold-light);font-size:.6rem;font-weight:900;letter-spacing:.14em}
.membership-value-callout strong,.membership-gift-choice strong{color:var(--gold-light);font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.2}
.membership-value-callout span,.membership-gift-choice span{color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.55}
.membership-hero-trust{display:flex;flex-wrap:wrap;gap:10px 19px;margin-top:26px}.membership-hero-trust span{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.76);font-size:.72rem;font-weight:700}.membership-hero-trust svg{width:16px;color:var(--gold-light)}
.membership-hero-media{position:relative;min-height:620px}.membership-hero-main{position:absolute;inset:0 80px 48px 0;width:calc(100% - 80px);height:calc(100% - 48px);object-fit:cover;border:1px solid rgba(255,255,255,.18);border-radius:32px;box-shadow:0 35px 90px rgba(0,0,0,.38)}
.membership-hero-small{position:absolute;right:0;bottom:0;width:45%;height:45%;object-fit:cover;border:7px solid var(--plum);border-radius:25px;box-shadow:0 24px 50px rgba(0,0,0,.32)}
.membership-hero-badge{position:absolute;left:-28px;bottom:75px;max-width:285px;padding:17px 20px;border:1px solid rgba(201,161,93,.48);border-radius:16px;background:rgba(30,12,33,.88);box-shadow:0 18px 45px rgba(0,0,0,.25);backdrop-filter:blur(12px)}
.membership-hero-badge small,.membership-hero-badge strong{display:block}.membership-hero-badge small{color:var(--gold-light);font-size:.53rem;font-weight:900;letter-spacing:.13em}.membership-hero-badge strong{margin-top:6px;color:var(--white);font-family:var(--serif);font-size:1.2rem;line-height:1.25}

.membership-paths{background:var(--cream)}.membership-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.membership-path-card{position:relative;display:block;min-height:265px;padding:29px;border:1px solid var(--line);border-radius:24px;background:var(--white);box-shadow:var(--shadow-sm);transition:transform .24s,border-color .24s,box-shadow .24s}.membership-path-card:hover{transform:translateY(-5px);border-color:rgba(201,161,93,.6);box-shadow:var(--shadow)}.membership-path-card>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--gold);font-family:var(--serif);font-size:1.1rem}.membership-path-card h3{margin:20px 0 9px;color:var(--plum);font-size:1.55rem}.membership-path-card p{margin:0 0 24px;color:var(--muted);font-size:.84rem;line-height:1.65}.membership-path-card strong{position:absolute;left:29px;right:29px;bottom:28px;color:var(--plum-3);font-size:.64rem;letter-spacing:.08em}

.membership-options-section{background:var(--paper)}.membership-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.membership-plan-card{position:relative;padding:31px 26px 25px;border:1px solid var(--line);border-radius:28px;background:var(--white);box-shadow:var(--shadow-sm)}.membership-plan-featured{border-color:rgba(201,161,93,.72);box-shadow:0 25px 70px rgba(47,18,51,.13)}.membership-popular{position:absolute;right:18px;top:18px;padding:7px 9px;border-radius:999px;background:var(--gold);color:var(--plum);font-size:.5rem;font-weight:900;letter-spacing:.09em}.membership-plan-head>small{color:var(--gold);font-size:.58rem;font-weight:900;letter-spacing:.14em}.membership-plan-head h3{margin:6px 0 10px;color:var(--plum);font-size:clamp(2.1rem,3vw,3rem)}.membership-plan-head p{min-height:112px;margin:0;color:var(--muted);font-size:.82rem;line-height:1.65}.membership-savings-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:22px 0;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--cream)}.membership-savings-row>div{padding:8px 9px}.membership-savings-row>div+div{border-left:1px solid var(--line)}.membership-savings-row small,.membership-savings-row strong{display:block}.membership-savings-row small{color:var(--muted);font-size:.48rem;font-weight:900;letter-spacing:.1em}.membership-savings-row strong{margin-top:4px;color:var(--plum);font-family:var(--serif);font-size:1.2rem}.membership-plan-card h4{margin:0 0 12px;color:var(--plum);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.membership-plan-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.membership-plan-card li{position:relative;padding-left:20px;color:var(--muted);font-size:.75rem;line-height:1.46}.membership-plan-card li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:900}.membership-privilege{margin:23px 0 18px;padding:15px 16px;border-left:3px solid var(--gold);background:var(--cream)}.membership-privilege small{color:var(--gold);font-size:.5rem;font-weight:900;letter-spacing:.11em}.membership-privilege p{margin:5px 0 0;color:var(--plum);font-size:.74rem;font-weight:700;line-height:1.5}

.membership-billing-section{background:var(--blush)}.membership-billing-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(38px,7vw,90px);align-items:center}.membership-billing-grid .section-heading{margin:0}.membership-billing-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.membership-billing-cards article{padding:27px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:var(--shadow-sm)}.membership-billing-cards small{color:var(--gold);font-size:.57rem;font-weight:900;letter-spacing:.13em}.membership-billing-cards h3{margin:12px 0 8px;color:var(--plum);font-size:1.5rem}.membership-billing-cards p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.65}

.membership-application-section{color:var(--white);background:linear-gradient(135deg,var(--plum),#1c091f)}.membership-application-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(40px,7vw,92px);align-items:center}.membership-application-copy h2{max-width:610px;margin:12px 0 18px;color:var(--white);font-size:clamp(2.5rem,4vw,4.6rem)}.membership-application-copy>p{max-width:590px;color:rgba(255,255,255,.72);line-height:1.7}.membership-application-points{display:grid;gap:10px;margin-top:26px}.membership-application-points span{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.8);font-size:.8rem}.membership-application-points svg{width:17px;color:var(--gold-light)}
.membership-form{display:grid;gap:15px;padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:var(--paper);color:var(--ink);box-shadow:0 35px 90px rgba(0,0,0,.32)}.membership-form label{display:grid;gap:7px;color:var(--plum);font-size:.7rem;font-weight:800}.membership-form label small{font-weight:600;opacity:.6}.membership-form input:not([type=checkbox]),.membership-form select,.membership-form textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;outline:none;background:var(--white);color:var(--ink)}.membership-form textarea{min-height:100px;resize:vertical}.membership-form input:focus,.membership-form select:focus,.membership-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,161,93,.12)}.membership-form .consent{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;color:var(--muted);font-weight:600;line-height:1.5}.membership-form .consent input{margin-top:3px}.membership-form-status{min-height:1.15em;margin:0;color:#9a2536;font-size:.7rem;font-weight:700;text-align:center}
.membership-notes-section{padding-top:55px;padding-bottom:75px;background:var(--cream)}.membership-notes{max-width:980px;margin:auto;border:1px solid var(--line);border-radius:19px;background:var(--white);box-shadow:var(--shadow-sm)}.membership-notes summary{display:flex;align-items:center;justify-content:space-between;padding:21px 24px;color:var(--plum);font-family:var(--serif);font-size:1.2rem;cursor:pointer;list-style:none}.membership-notes summary::-webkit-details-marker{display:none}.membership-notes summary span{font-family:var(--sans);font-size:1.5rem;transition:transform .2s}.membership-notes[open] summary span{transform:rotate(45deg)}.membership-notes>div{padding:3px 24px 22px;border-top:1px solid var(--line)}.membership-notes p{margin:16px 0 0;color:var(--muted);font-size:.78rem;line-height:1.62}

.membership-gift-media,.team-membership-media{position:relative;min-height:560px}.membership-gift-media img,.team-membership-media img{width:100%;height:100%;min-height:560px;object-fit:cover;border:1px solid rgba(255,255,255,.18);border-radius:32px;box-shadow:0 35px 90px rgba(0,0,0,.38)}.membership-gift-media>div,.team-membership-media>div{position:absolute;left:24px;right:24px;bottom:24px;padding:17px 19px;border:1px solid rgba(201,161,93,.42);border-radius:16px;background:rgba(30,12,33,.88);backdrop-filter:blur(12px)}.membership-gift-media small,.membership-gift-media strong,.team-membership-media small,.team-membership-media strong{display:block}.membership-gift-media small,.team-membership-media small{color:var(--gold-light);font-size:.52rem;font-weight:900;letter-spacing:.13em}.membership-gift-media strong,.team-membership-media strong{margin-top:6px;color:var(--white);font-family:var(--serif);font-size:1.28rem}
.membership-gift-reasons{background:var(--cream)}.membership-gift-reason-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.membership-gift-reason-grid article,.team-benefit-grid article{padding:27px;border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:var(--shadow-sm)}.membership-gift-reason-grid span,.team-benefit-grid span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--cream);color:var(--gold);font-family:var(--serif);font-size:1.1rem}.membership-gift-reason-grid h3,.team-benefit-grid h3{margin:18px 0 8px;color:var(--plum);font-size:1.45rem}.membership-gift-reason-grid p,.team-benefit-grid p{margin:0;color:var(--muted);font-size:.81rem;line-height:1.62}
.membership-crosslink-section{background:var(--cream)}.membership-crosslink{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 34px;border:1px solid var(--line);border-radius:23px;background:var(--white);box-shadow:var(--shadow-sm)}.membership-crosslink h2{margin:7px 0 0;color:var(--plum);font-size:clamp(1.8rem,3vw,2.8rem)}.membership-crosslink-actions{display:flex;flex-wrap:wrap;gap:10px}
.team-benefits-section{background:var(--cream)}.team-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.team-use-cases-section{background:var(--blush)}.team-use-cases-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(36px,7vw,90px);align-items:center}.team-use-cases-grid .section-heading{margin:0}.team-use-case-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}.team-use-case-list span{padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.83);color:var(--plum);font-size:.76rem;font-weight:750}

@media(max-width:1100px){
  .membership-hero-grid,.membership-gift-hero-grid,.team-membership-hero-grid{grid-template-columns:1fr .82fr}.membership-hero-media{min-height:570px}.membership-plan-grid{grid-template-columns:1fr 1fr}.membership-plan-card:last-child{grid-column:1/-1;max-width:690px;justify-self:center;width:100%}.team-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .membership-hero,.membership-gift-hero,.team-membership-hero{padding-top:128px}.membership-hero-grid,.membership-gift-hero-grid,.team-membership-hero-grid,.membership-billing-grid,.membership-application-grid,.team-use-cases-grid{grid-template-columns:1fr}.membership-hero-media{max-width:760px;min-height:620px}.membership-gift-media,.team-membership-media{min-height:500px}.membership-gift-media img,.team-membership-media img{min-height:500px}.membership-path-grid,.membership-gift-reason-grid{grid-template-columns:1fr}.membership-path-card{min-height:225px}.membership-plan-grid{grid-template-columns:1fr}.membership-plan-card:last-child{grid-column:auto;max-width:none}.membership-plan-head p{min-height:0}.membership-crosslink{align-items:flex-start;flex-direction:column}
}
@media(max-width:680px){
  .membership-hero,.membership-gift-hero,.team-membership-hero{padding:118px 0 65px}.membership-hero-copy h1,.membership-gift-copy h1,.team-membership-copy h1{font-size:clamp(2.8rem,14vw,4.3rem)}.membership-value-callout,.membership-gift-choice{padding:17px}.membership-hero-media{min-height:470px}.membership-hero-main{inset:0 28px 35px 0;width:calc(100% - 28px);height:calc(100% - 35px);border-radius:24px}.membership-hero-small{width:46%;height:38%;border-width:5px}.membership-hero-badge{left:8px;bottom:48px;max-width:70%;padding:13px 15px}.membership-path-card{padding:23px}.membership-plan-card{padding:25px 18px}.membership-savings-row{grid-template-columns:1fr}.membership-savings-row>div+div{border-top:1px solid var(--line);border-left:0}.membership-billing-cards,.team-use-case-list{grid-template-columns:1fr}.membership-form{padding:22px 18px}.membership-gift-media,.team-membership-media{min-height:390px}.membership-gift-media img,.team-membership-media img{min-height:390px;border-radius:24px}.team-benefit-grid{grid-template-columns:1fr}.membership-crosslink{padding:24px 20px}.membership-crosslink-actions,.membership-crosslink-actions .button{width:100%}
}
