@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:ital,wght@0,600;1,600&family=Montserrat:wght@400;500;600;700&display=swap');

/* Shared visual palette; content, artwork, spacing and grid structure are retained. */
:root, body, .wyr-lounge, [class*="portalRoot"], [class*="signInPage"], [class*="callbackPage"] {
  --purple-primary:#6E1A86!important;
  --purple-accent:#8E1EA0!important;
  --magenta:#B0157A!important;
  --teal-deep:#0E7F7C!important;
  --aqua-accent:#28C9C7!important;
  --gold-accent:#D9A441!important;
  --text-body:#222222!important;
  --page-background:#FFFFFF!important;
  --text-on-button:#FFFFFF!important;
  --signature-gradient:linear-gradient(120deg,#0E7F7C 5%,#6E1A86 48%,#B0157A 95%)!important;
  --orchid:var(--purple-primary)!important; --orchid-deep:var(--purple-primary)!important;
  --magenta-deep:var(--magenta)!important; --aqua-deep:var(--teal-deep)!important;
  --aqua:var(--aqua-accent)!important; --gold:var(--gold-accent)!important; --gold-deep:var(--purple-primary)!important;
  --ink:var(--text-body)!important; --soft:var(--text-body)!important; --muted:var(--text-body)!important;
  --ink-soft:var(--text-body)!important; --paper:#FFFFFF!important; --ivory:#FFFFFF!important; --cream:#FFFFFF!important;
  --line:var(--purple-accent)!important; --lavender:var(--purple-accent)!important; --lavender-deep:var(--purple-primary)!important;
  --gold-soft:var(--purple-accent)!important; --rose:var(--magenta)!important; --coral:var(--magenta)!important; --teal:var(--teal-deep)!important;
  --w-ink:var(--text-body)!important; --w-muted:var(--text-body)!important; --w-orchid:var(--purple-primary)!important;
  --w-teal:var(--teal-deep)!important; --w-pink:var(--magenta)!important; --w-gold:var(--gold-accent)!important;
  --prism:var(--signature-gradient)!important;
}
html,body {background:#FFFFFF!important;color:#222222;font-family:Montserrat,Arial,sans-serif!important}
h1,h2,h3,h4,h5,h6 {color:#6E1A86!important;font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:600!important}
a, .wyr-lounge a {color:#6E1A86!important}
a:hover, .wyr-lounge a:hover {color:#B0157A!important}
.prism-text, .hero h1, .hero h1 .prism-text {
  background:var(--signature-gradient)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
}
body#top .hero h1,body#top .hero h1 i {font-family:'Great Vibes',cursive!important;font-weight:400!important;font-style:normal!important;line-height:1.15}
/* The entire title carries one continuous gradient. */
body#top .hero h1 .prism-text {background:none!important}
body#top .hero .kicker {font-family:Montserrat,Arial,sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.3em;color:#0E7F7C!important}
body#top .hero .kicker::before,body#top .hero .kicker::after {content:'✦';color:#D9A441;margin-inline:.55em;letter-spacing:0}
button,.btn,.gold-button,.submit-button,.wyr-lounge button,.wyr-lounge .wyr-primary,.wyr-lounge .wyr-play,
[class*="portalRoot"] button,[class*="signInPage"] button,[class*="callbackPage"] button {
  background:#6E1A86!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF;
  border-color:#8E1EA0!important;font-family:Montserrat,Arial,sans-serif!important;
}
button:hover,.btn:hover,.gold-button:hover,.submit-button:hover,.wyr-lounge button:hover,
[class*="portalRoot"] button:hover,[class*="signInPage"] button:hover,[class*="callbackPage"] button:hover {background:#8E1EA0!important;color:#FFFFFF!important;filter:none!important}
button :is(h1,h2,h3,p,span,strong,small),.wyr-lounge button svg {color:inherit!important;-webkit-text-fill-color:inherit}
button[aria-pressed=true],button.active {box-shadow:inset 0 0 0 2px #FFFFFF,0 0 0 1px #8E1EA0!important}
.card,.flagship-card,.choice,.wyr-track,.wyr-pick,.wyr-player,.concept-card,.poll-card,
[class*="portalRoot"] [class*="panel"],[class*="portalRoot"] [class*="card"],[class*="callbackCard"] {border:1px solid #8E1EA0!important;outline-color:#8E1EA0!important;background-color:#FFFFFF}
.card p,.lead,.hero .note,.about .body p,.includes p,.steps p,.site-footer,.fine,.intro p,.meta,
[class*="lede"],[class*="heroContent"]>p:not([class*="eyebrow"]) {color:#222222}
.kicker,.eyebrow,.wyr-kicker,.choose,.moment-label,.custom-title,.mix-title,[class*="eyebrow"],[class*="brandTitle"] {color:#6E1A86!important}
.brand b,.brand strong {color:#6E1A86!important}
.sparkle,.star {color:#D9A441!important}
.star path {fill:#D9A441}
.wyr-journey-grid svg,.wyr-existing>svg {color:#8E1EA0}
.facts li,.c-gold .num,.choice-number {color:#6E1A86!important}
.wyr-lounge,.wyr-intention>div,.wyr-message,.wyr-existing,.wyr-search,.poll-section,
[class*="portalRoot"],[class*="signInPage"],[class*="wavePreview"],[class*="notice"],[class*="callbackCard"] {background:#FFFFFF!important;color:#222222}
.poll-intro>p:not(.eyebrow) {color:#222222}
input,textarea,select {color:#222222!important;background-color:#FFFFFF!important;border-color:#8E1EA0!important;font-family:Montserrat,Arial,sans-serif!important}
section,footer,.topbar,.tabs,.custom-section,[class*="journalCard"] {border-top-color:transparent!important;border-bottom-color:transparent!important}
:focus-visible {outline-color:#8E1EA0!important}
/* Keep the portal widgets neutral and their existing image assets intact. */
#vaultModal>div,.declaration-box,.mix-tray,.panel,.reminder-box {background:#FFFFFF!important;border-color:#8E1EA0!important}
.card {background:#FFFFFF!important}
.sigil,.choice .meta,label[for="code"] {color:#6E1A86!important}
.wyr-lounge .wyr-intention .wyr-inline button,.wyr-lounge .wyr-track-top button,.wyr-lounge .wyr-pick-meta button {color:#FFFFFF!important}
[class*="portalRoot"] :is(h1,h2,h3),[class*="signInPage"] :is(h1,h2,h3) {font-weight:600!important}
