/* Compact site chrome and the user's shared tier-button rose. */
:root {
 --brand-pink: #8b324d;
 --menu-purple: #352341;
 --highlight: var(--brand-pink);
 --rose: var(--brand-pink);
 --soft-pink: var(--brand-pink);
 --accent-on-light: var(--brand-pink);
 --gold: var(--brand-pink);
 --gold-deep: var(--brand-pink);
}
::selection { background: var(--brand-pink); color: #fff; }
header, header.scrolled {
 top: 10px; left: 20px; right: 20px; max-width: 1280px; margin-inline: auto;
 padding: 8px 28px; border-radius: 12px;
 transition: background-color .2s ease, box-shadow .2s ease;
}
header .brand-logo { min-width: 128px; min-height: 44px; }
header .brand-logo .brand-lockup, header .logo .brand-wordmark { width: 128px; }
header .burger { font-size: 10px; }
.nav-cta, .nav-cta:hover {
 background: var(--brand-pink); border-color: var(--brand-pink); color: #fff;
 font-size: 9px; padding: 7px 16px; min-height: 34px;
}
.nav-cta::before { inset: -5px 0; }
body.page-index.hero-dark header:not(.scrolled) { background: transparent; box-shadow: none; color: #fff; }
body.page-index.hero-dark header:not(.scrolled) .brand-wordmark { filter: brightness(0) invert(1); }
body.page-index.hero-dark header:not(.scrolled) .nav-cta { border-color: #ffffff80; }
.mobile-menu { background: var(--menu-purple); }
.mobile-menu a:hover, .mobile-menu a:focus-visible { color: var(--brand-purple); }
.view-cursor { color: #fff; }
.btn { background: var(--brand-pink) !important; border-color: var(--brand-pink) !important; }
.btn:hover { color: var(--brand-pink) !important; }
.dark, .paths, .statement, .final, .tier, body.hero-dark .hero {
 --gold: #fff; --highlight: #fff; --rose: #fff;
}
body[class] main .hero .flourish { color: var(--brand-pink); }
body.hero-dark main .hero .flourish, .dark .flourish, .paths .flourish,
.final .flourish, .statement .glow, .tier .tier-subtitle, .tier .meta { color: #fff; }
footer { padding: 32px 4vw 20px; }
footer > .wrap { padding: 36px 5vw 24px; border-radius: 36px; }
.foot-grid { margin-bottom: 30px; gap: 36px; }
.footer-brand { width: 140px; margin-bottom: 12px; }
.foot-grid p, .foot-list a { font-size: 11px; }
.foot-grid p { line-height: 1.75; max-width: 300px; }
.foot-list { gap: 4px; }
.foot-list a { display: inline-flex; align-items: center; min-height: 24px; }
.foot-list .label { font-size: 9px; margin-bottom: 6px; }
.foot-bottom { padding-top: 18px; font-size: 10px; }
.foot-bottom a { display: inline-flex; align-items: center; min-height: 24px; }
@media(max-width:620px) {
 header, header.scrolled { top: 8px; left: 10px; right: 10px; padding: 6px 12px; border-radius: 10px; }
 header .brand-logo { min-width: 108px; }
 header .brand-logo .brand-lockup, header .logo .brand-wordmark { width: 108px; }
 header .burger { font-size: 9px; }
 .nav-cta, .nav-cta:hover { font-size: 8px; padding-inline: 12px; }
 footer { padding: 22px 12px 14px; }
 footer > .wrap { padding: 28px 6vw 20px; border-radius: 24px; }
 .foot-grid { gap: 20px; margin-bottom: 22px; }
 .footer-brand { width: 122px; }
 .foot-bottom { gap: 4px; padding-top: 12px; }
}
@media(prefers-reduced-motion:reduce) { header, header.scrolled { transition: none; } }
