/* SOLNRUS Holiday Banner System — loaded only on active holidays. */
.sol-holiday { position: relative; overflow: hidden; background: var(--sol-ink-deep, #0e1b2a); border-bottom: 1px solid var(--sol-brass, #a9834f); min-height: 48px; display: flex; align-items: center; }
.sol-holiday__inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 26px; width: 100%; max-width: 1280px; margin-inline: auto; padding: 8px 24px; }
.sol-holiday__message { font-family: var(--sol-font-body, 'Public Sans', sans-serif); font-weight: 600; font-size: .92rem; letter-spacing: .14em; text-transform: uppercase; color: var(--sol-ivory, #f0eade); text-align: center; }
.sol-holiday__decor { display: inline-flex; align-items: center; gap: 9px; min-width: 84px; }
.sol-holiday__decor--l { justify-content: flex-end; }
.sol-holiday__decor--r { justify-content: flex-start; }
.sol-holiday__decor svg { fill: var(--sol-brass, #a9834f); }
.hstar { width: 9px; height: 9px; }
.hleaf { width: 15px; height: 15px; fill: none !important; stroke: var(--sol-brass); stroke-width: 1.7; stroke-linecap: round; }
.hp { width: 4px; height: 4px; border-radius: 50%; background: var(--sol-gold, #c9a86a); opacity: .8; }
.hline { width: 46px; height: 1px; background: var(--sol-brass); }
.hr { width: 30px; height: 2px; border-radius: 1px; }
.hr-r { background: #b0503f; } .hr-g { background: #3f6b4f; } .hr-gold { background: var(--sol-gold); }
.hmoon { width: 13px; height: 13px; }
.hbat { width: 22px; height: 10px; }
.hsleigh { width: 92px; height: 24px; stroke: var(--sol-gold); fill: var(--sol-gold); }
.sol-holiday--easter { background: var(--sol-limestone, #f4efe6); border-bottom-color: var(--sol-mahogany-soft, #d8c9b6); }
.sol-holiday--easter .sol-holiday__message { color: var(--sol-ink-deep, #0e1b2a); }
.sol-holiday--easter .sol-holiday__decor svg { fill: var(--sol-brass); }
@media (prefers-reduced-motion: no-preference) {
  .hp { animation: sol-hspark 3.4s ease-in-out infinite; }
  .hp2 { animation-delay: .5s; } .hp3 { animation-delay: 1.1s; } .hp4 { animation-delay: 1.7s; } .hp5 { animation-delay: 2.3s; }
  @keyframes sol-hspark { 0%,100% { transform: translateY(0) scale(.7); opacity: .35; } 45% { transform: translateY(-5px) scale(1.15); opacity: 1; } }
  .sol-holiday--mlk .hline, .sol-holiday--labor .hline { transform-origin: left; animation: sol-hdraw 5.5s ease-in-out infinite; }
  @keyframes sol-hdraw { 0% { transform: scaleX(0); } 45%,70% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
  .sol-holiday--mlk .sol-holiday__inner::after, .sol-holiday--veterans .sol-holiday__inner::after, .sol-holiday--memorial .sol-holiday__inner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(201,168,106,.08) 50%, transparent 70%); transform: translateX(-60%); animation: sol-hsweep 9s ease-in-out infinite; pointer-events: none; }
  @keyframes sol-hsweep { 0%,15% { transform: translateX(-60%); } 60%,100% { transform: translateX(60%); } }
  .sol-holiday--juneteenth .hr { animation: sol-hribbon 4.6s ease-in-out infinite; }
  .sol-holiday--juneteenth .hr-g { animation-delay: .7s; } .sol-holiday--juneteenth .hr-gold { animation-delay: 1.4s; }
  @keyframes sol-hribbon { 0%,100% { transform: translateX(0); opacity: .75; } 50% { transform: translateX(7px); opacity: 1; } }
  .sol-holiday--halloween .hbat { animation: sol-hbatw 7.5s ease-in-out infinite; }
  @keyframes sol-hbatw { 0%,58%,100% { transform: translate3d(0,0,0); } 12% { transform: translate3d(-9px,-5px,0); } 30% { transform: translate3d(7px,-2px,0); } 44% { transform: translate3d(-3px,-6px,0); } }
  .sol-holiday--thanksgiving .hleaf { animation: sol-hleafdrift 6.5s ease-in-out infinite; }
  @keyframes sol-hleafdrift { 0%,100% { transform: translate3d(0,0,0) rotate(0deg); } 50% { transform: translate3d(6px,3px,0) rotate(9deg); } }
  .sol-holiday--easter .hleaf { transform-origin: bottom left; animation: sol-hgrow 7s ease-in-out infinite; }
  @keyframes sol-hgrow { 0%,100% { transform: scale(.86); opacity: .6; } 35%,75% { transform: scale(1); opacity: 1; } }
  .sol-holiday__snow i { position: absolute; top: -6px; width: 3px; height: 3px; border-radius: 50%; background: rgba(240,234,222,.65); animation: sol-hsnow linear infinite; }
  .sol-holiday__snow i:nth-child(1){left:4%;animation-duration:9s} .sol-holiday__snow i:nth-child(2){left:12%;animation-duration:11s;animation-delay:2s}
  .sol-holiday__snow i:nth-child(3){left:22%;animation-duration:10s;animation-delay:5s} .sol-holiday__snow i:nth-child(4){left:31%;animation-duration:12s;animation-delay:1s}
  .sol-holiday__snow i:nth-child(5){left:68%;animation-duration:10s;animation-delay:3s} .sol-holiday__snow i:nth-child(6){left:78%;animation-duration:12s;animation-delay:6s}
  .sol-holiday__snow i:nth-child(7){left:88%;animation-duration:9s;animation-delay:2s} .sol-holiday__snow i:nth-child(8){left:96%;animation-duration:11s;animation-delay:4s}
  @keyframes sol-hsnow { to { transform: translate3d(0,60px,0); opacity: 0; } }
  .sol-holiday__ride { position: absolute; top: 50%; left: 0; z-index: 1; transform: translate3d(-160px,-58%,0); animation: sol-hsleigh 26s linear infinite; will-change: transform; pointer-events: none; }
  @keyframes sol-hsleigh { 0% { transform: translate3d(-160px,-58%,0); } 34% { transform: translate3d(calc(100vw + 40px),-58%,0); } 100% { transform: translate3d(calc(100vw + 40px),-58%,0); } }
  .sol-holiday.is-paused * { animation-play-state: paused !important; }
}
@media (prefers-reduced-motion: reduce) {
  .sol-holiday__snow { display: none; }
}
@media (max-width: 1024px) {
  .sol-holiday__decor { min-width: 60px; gap: 7px; }
}
@media (max-width: 767px) {
  .sol-holiday__inner { gap: 14px; padding: 8px 16px; }
  .sol-holiday__message { font-size: .8rem; letter-spacing: .1em; }
  .sol-holiday__decor { min-width: 34px; }
  .hp4, .hp5 { display: none; }
  .sol-holiday--halloween .sol-holiday__decor--r .hbat:last-child { display: none; }
}

/* ---------- Admin-only showcase mode ---------- */
.sol-hshowcase { position: relative; min-height: 62px; }
.sol-hshowcase .sol-holiday { display: none; }
.sol-hshowcase .sol-holiday.is-on { display: flex; animation: sol-hsc-in 350ms ease-out; }
.sol-hshowcase .sol-holiday.is-out { animation: sol-hsc-out 300ms ease-in forwards; }
@keyframes sol-hsc-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes sol-hsc-out { from { opacity: 1; } to { opacity: 0; } }
.sol-hsc-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #06101c; color: var(--sol-gold, #c9a86a); font: 600 11px/1 var(--sol-font-body, sans-serif); letter-spacing: .12em; text-transform: uppercase; padding: 6px 14px; }
.sol-hsc-controls { display: inline-flex; gap: 6px; }
.sol-hsc-controls button { background: transparent; border: 1px solid rgba(201,168,106,.5); color: var(--sol-ivory, #f0eade); font: 600 10.5px/1 var(--sol-font-body, sans-serif); letter-spacing: .08em; text-transform: uppercase; padding: 5px 9px; cursor: pointer; border-radius: 2px; }
.sol-hsc-controls button:hover { border-color: var(--sol-gold); color: var(--sol-gold); }
.sol-hsc-controls button:focus-visible { outline: 2px solid var(--sol-gold); outline-offset: 2px; }
@media (prefers-reduced-motion: no-preference) {
  .sol-hshowcase .sol-holiday--christmas.is-on .sol-holiday__ride { animation: sol-hsleigh-sc 11s linear 2.5s infinite; }
  @keyframes sol-hsleigh-sc { 0% { transform: translate3d(-160px,-58%,0); } 78% { transform: translate3d(calc(100vw + 40px),-58%,0); } 100% { transform: translate3d(calc(100vw + 40px),-58%,0); } }
}
@media (max-width: 767px) { .sol-hsc-bar { flex-wrap: wrap; } }
/* ============================================================
   Holiday enrichment v2 — bases ALWAYS visible (static scene for
   everyone); only animation properties are motion-gated.
   ============================================================ */
.sol-holiday { min-height: 62px; }
.sol-holiday__scene { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
.sol-holiday__inner { z-index: 3; }
.sol-holiday__message { text-shadow: 0 1px 8px rgba(6,16,28,.55); }
.sol-holiday--easter .sol-holiday__message { text-shadow: 0 1px 6px rgba(244,239,230,.8); }

/* ---- bases: position, size, color (unconditional) ---- */
.hst { position: absolute; width: 2.5px; height: 2.5px; border-radius: 50%; background: #e8dcc2; opacity: .55; }
.hmoonglow { position: absolute; right: 5%; top: -70%; width: 130px; height: 130px; border-radius: 50%; background: radial-gradient(circle, rgba(201,168,106,.28), transparent 65%); }
.hmoon2 { position: absolute; right: 7.5%; top: 12%; width: 17px; height: 17px; fill: #d9c79a; opacity: .9; }
.htree { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 15px; fill: rgba(4,10,18,.55); }
.hglow { position: absolute; top: 0; bottom: 0; width: 140px; }
.hglow--l { left: 0; background: linear-gradient(90deg, rgba(160,90,40,.18), transparent); }
.hglow--r { right: 0; background: linear-gradient(270deg, rgba(169,131,79,.18), transparent); }
.hfw { position: absolute; width: 3px; height: 3px; }
.hfw::before { content: ''; position: absolute; width: 3px; height: 3px; border-radius: 50%; background: #e6c77e; opacity: .8; transform: scale(1);
  box-shadow: 15px 0 0 #e6c77e, -15px 0 0 #cfa254, 0 12px 0 #e6c77e, 0 -12px 0 #cfa254, 11px 9px 0 #e6c77e, -11px -9px 0 #cfa254, 11px -9px 0 #cfa254, -11px 9px 0 #e6c77e, 6px 13px 0 #b98e3e, -6px -13px 0 #b98e3e, 13px -5px 0 #b98e3e, -13px 5px 0 #b98e3e; }
.hfw--usa::before { box-shadow: 15px 0 0 #d98a7d, -15px 0 0 #9db6d9, 0 12px 0 #f0eade, 0 -12px 0 #d98a7d, 11px 9px 0 #9db6d9, -11px -9px 0 #f0eade, 11px -9px 0 #e6c77e, -11px 9px 0 #d98a7d, 6px 13px 0 #9db6d9, -6px -13px 0 #e6c77e, 13px -5px 0 #f0eade, -13px 5px 0 #9db6d9; }
.hfw--grand { transform: scale(1.5); }
.hfa { position: absolute; width: 2.5px; height: 2.5px; border-radius: 50%; background: #d9b970; opacity: .8; }
.hray { position: absolute; top: -30%; bottom: -30%; width: 34px; background: linear-gradient(180deg, rgba(201,168,106,.16), transparent); transform: skewX(-18deg); }
.hray1 { left: 8%; } .hray2 { left: 16%; opacity: .7; } .hray3 { right: 12%; }
.hhorizon { position: absolute; left: 0; right: 0; bottom: 0; height: 20px; background: linear-gradient(0deg, rgba(201,168,106,.14), transparent); }
.hflag, .hstripe { position: absolute; top: -20%; bottom: -20%; width: 16px; transform: skewX(-14deg); }
.hflag--l { left: 2%; background: linear-gradient(180deg, rgba(217,138,125,.22), rgba(157,182,217,.2)); }
.hflag--r { right: 2%; background: linear-gradient(180deg, rgba(157,182,217,.22), rgba(240,234,222,.18)); }
.hstripe--r { left: 3%; background: rgba(217,138,125,.2); }
.hstripe--w { left: 6.5%; background: rgba(240,234,222,.16); }
.hstripe--b { left: 10%; background: rgba(157,182,217,.2); }
.sol-holiday--veterans .hstripe--r { left: auto; right: 10%; }
.sol-holiday--veterans .hstripe--w { left: auto; right: 6.5%; }
.sol-holiday--veterans .hstripe--b { left: auto; right: 3%; }
.hrad { position: absolute; left: 50%; top: 50%; width: 220px; height: 220px; margin: -110px; border-radius: 50%; background: radial-gradient(circle, rgba(201,168,106,.12), transparent 60%); }
.hrb { position: absolute; width: 130px; height: 3px; border-radius: 2px; opacity: .8; }
.hrb1 { background: #c0574a; } .hrb2 { background: #4a7d5d; } .hrb3 { background: #c9a86a; }
.hgridl { position: absolute; height: 1px; background: rgba(201,168,106,.5); transform-origin: left; }
.hgridl1 { left: 4%; top: 30%; width: 120px; }
.hgridl2 { left: 9%; top: 62%; width: 80px; }
.hgridl3 { right: 5%; top: 44%; width: 110px; transform-origin: right; }
.hhaze { position: absolute; width: 220px; height: 40px; border-radius: 50%; background: radial-gradient(ellipse, rgba(201,168,106,.08), transparent 70%); }
.hhaze1 { left: 6%; top: 45%; } .hhaze2 { right: 8%; top: 20%; }
.hbatfly { position: absolute; left: -40px; width: calc(24px * var(--bs, 1)); opacity: calc(.1 + .75 * var(--bs, 1)); }
.hbatfly svg { display: block; width: 100%; height: auto; fill: rgba(6,12,20,.85); filter: drop-shadow(0 0 1px rgba(201,168,106,.25)); }
.hleaffall { position: absolute; top: -22px; width: calc(19px * var(--ls, 1)); }
.hleaffall svg { display: block; width: 100%; height: auto; fill: none; stroke-width: 1.9; stroke-linecap: round; }
.hlc-c svg { stroke: #b06b3c; } .hlc-b svg { stroke: #a9834f; } .hlc-o svg { stroke: #9c5530; }
.hstem { position: absolute; bottom: -3px; transform-origin: bottom center; }
.hstem svg { display: block; width: 22px; height: 22px; fill: none; stroke: #7d9b6a; stroke-width: 1.8; stroke-linecap: round; }
.hstem--l1 { left: 4%; } .hstem--l2 { left: 10%; } .hstem--l2 svg { stroke: #a9834f; width: 17px; }
.hstem--r1 { right: 5%; } .hstem--r2 { right: 11%; } .hstem--r2 svg { stroke: #a9834f; width: 17px; }
.hpetal { position: absolute; top: -12px; width: 7px; height: 10px; border-radius: 60% 60% 60% 60% / 80% 80% 40% 40%; }
.hpc-p { background: #dfb9b2; } .hpc-g { background: #cbb27f; }
.sol-holiday__snow i.sm { width: 2px; height: 2px; opacity: .5; }
.sol-holiday__snow i.sm:nth-of-type(9) { left: 42%; animation-duration: 15s; animation-delay: 1s; }
.sol-holiday__snow i.sm:nth-of-type(10) { left: 56%; animation-duration: 16s; animation-delay: 5s; }
.sol-holiday__snow i.lg { width: 4.5px; height: 4.5px; filter: blur(.4px); }
.sol-holiday__snow i.lg:nth-of-type(11) { left: 18%; animation-duration: 7.5s; animation-delay: 2s; }
.sol-holiday__snow i.lg:nth-of-type(12) { left: 84%; animation-duration: 8s; animation-delay: 4.5s; }
.hsleigh { width: 124px; height: 32px; }
.hbob { display: inline-block; }
.htrail { position: absolute; right: 100%; top: 55%; width: 3px; height: 3px; border-radius: 50%; background: #e6c77e; box-shadow: -10px 3px 0 -0.5px rgba(230,199,126,.75), -20px 1px 0 -1px rgba(230,199,126,.55), -30px 4px 0 -1px rgba(230,199,126,.4), -40px 2px 0 -1.5px rgba(230,199,126,.28), -52px 5px 0 -1.5px rgba(230,199,126,.18); }
.hride--faint { position: absolute; top: 46%; left: auto; right: 20%; opacity: .3; transform: translateY(-50%); }
.hride--faint .hsleigh { width: 66px; height: 17px; }

/* ---- motion layer: animation properties only ---- */
@media (prefers-reduced-motion: no-preference) {
  .hst { animation: sol-twinkle 3.2s ease-in-out infinite; }
  .hst2,.hst5 { animation-delay: 1.1s !important; } .hst3,.hst6 { animation-delay: 2.2s !important; }
  @keyframes sol-twinkle { 0%,100% { opacity: .25; transform: scale(.8); } 50% { opacity: .9; transform: scale(1.2); } }
  .hfw::before { transform: scale(.08); opacity: 0; animation: sol-burst 4.6s ease-out infinite; animation-delay: inherit; }
  .hfw--grand::before { animation-duration: 6.4s; }
  @keyframes sol-burst { 0% { transform: scale(.08); opacity: 0; } 8% { opacity: 1; } 30% { transform: scale(1.35); opacity: .9; } 55%,100% { transform: scale(1.7); opacity: 0; } }
  .hfa { animation: sol-fall 3.8s ease-in infinite; }
  @keyframes sol-fall { 0% { transform: translateY(0); opacity: 0; } 15% { opacity: .95; } 100% { transform: translateY(26px); opacity: 0; } }
  .hray { animation: sol-ray 11s ease-in-out infinite; }
  .hray2 { animation-delay: 2.4s; } .hray3 { animation-delay: 1.2s; }
  @keyframes sol-ray { 0%,100% { transform: skewX(-18deg) translateX(0); opacity: .5; } 50% { transform: skewX(-18deg) translateX(26px); opacity: 1; } }
  .hflag, .hstripe { animation: sol-wave 7.5s ease-in-out infinite; }
  .hflag--r { animation-delay: 2s; } .hstripe--w { animation-delay: 1.2s; } .hstripe--b { animation-delay: 2.4s; }
  @keyframes sol-wave { 0%,100% { transform: skewX(-14deg) translateX(0); } 50% { transform: skewX(-10deg) translateX(9px); } }
  .hrad { animation: sol-pulse 6s ease-in-out infinite; }
  @keyframes sol-pulse { 0%,100% { transform: scale(.85); opacity: .6; } 50% { transform: scale(1.05); opacity: 1; } }
  .hrb { animation: sol-ribbon 5.2s ease-in-out infinite; }
  .hrb--r { animation-direction: reverse; }
  @keyframes sol-ribbon { 0%,100% { transform: translateX(0) skewY(-4deg); opacity: .55; } 50% { transform: translateX(34px) skewY(4deg); opacity: 1; } }
  .hgridl { animation: sol-hdraw 6.5s ease-in-out infinite; }
  .hgridl2 { animation-delay: 1.6s; } .hgridl3 { animation-delay: .8s; }
  .hhaze { animation: sol-haze 14s ease-in-out infinite; }
  .hhaze2 { animation-delay: 5s; }
  @keyframes sol-haze { 0%,100% { transform: translateX(0); opacity: .6; } 50% { transform: translateX(30px); opacity: 1; } }
  .hbatfly { animation-name: sol-batfly; animation-timing-function: linear; animation-iteration-count: infinite; }
  .hbatfly svg { animation: sol-batbob 1.6s ease-in-out infinite; }
  @keyframes sol-batfly { 0% { transform: translate3d(-40px,0,0); } 100% { transform: translate3d(calc(100vw + 60px), -6px, 0); } }
  @keyframes sol-batbob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
  .hleaffall { animation-name: sol-leafall; animation-timing-function: linear; animation-iteration-count: infinite; }
  @keyframes sol-leafall { 0% { transform: translate3d(0,-8px,0) rotate(0deg); opacity: 0; } 10% { opacity: .9; } 100% { transform: translate3d(26px, 92px, 0) rotate(120deg); opacity: 0; } }
  .hstem { animation: sol-stem 9s ease-in-out infinite; }
  .hstem--l2 { animation-delay: 2s; } .hstem--r1 { animation-delay: 1s; } .hstem--r2 { animation-delay: 3s; }
  @keyframes sol-stem { 0%,100% { transform: scale(.82); opacity: .5; } 40%,80% { transform: scale(1); opacity: 1; } }
  .hpetal { animation-name: sol-petal; animation-timing-function: ease-in-out; animation-iteration-count: infinite; }
  @keyframes sol-petal { 0% { transform: translate3d(0,-6px,0) rotate(0deg); opacity: 0; } 12% { opacity: .95; } 100% { transform: translate3d(-20px, 86px, 0) rotate(150deg); opacity: 0; } }
  .hbob { animation: sol-bob 2.6s ease-in-out infinite; }
  @keyframes sol-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
  .htrail { animation: sol-trail 1.1s ease-in-out infinite; }
  @keyframes sol-trail { 0%,100% { opacity: .55; } 50% { opacity: 1; } }
  .hride--faint { left: 0; right: auto; transform: translate3d(-160px,-50%,0); animation: sol-hsleigh 52s linear 6s infinite; }
}

/* ---- reduced motion: curated static composition ---- */
@media (prefers-reduced-motion: reduce) {
  .hleaffall { top: auto; bottom: 8%; opacity: .85; }
  .hleaffall:nth-child(n+8), .hpetal, .hfa { display: none; }
  .hbatfly { left: auto; }
  .hbatfly1 { right: 6%; } .hbatfly3 { right: 14%; top: 26% !important; } .hbatfly5 { left: 8%; }
  .hbatfly2, .hbatfly4, .hbatfly6 { display: none; }
  .sol-holiday--christmas .sol-holiday__ride { left: auto; right: 6%; transform: translate3d(0,-58%,0); opacity: .85; animation: none; }
}

/* ---- responsive trims ---- */
@media (max-width: 1024px) {
  .sol-holiday { min-height: 58px; }
  .hsleigh { width: 100px; }
  .hleaffall:nth-child(n+11) { display: none; }
  .hbatfly6 { display: none; }
}
@media (max-width: 767px) {
  .sol-holiday { min-height: 54px; }
  .hsleigh { width: 74px; height: 20px; }
  .hfw:nth-of-type(n+3):not(.hfw--grand) { display: none; }
  .hfa:nth-of-type(n+4) { display: none; }
  .hleaffall:nth-child(n+7) { display: none; }
  .hbatfly4, .hbatfly5, .hbatfly6 { display: none; }
  .hpetal:nth-of-type(n+5) { display: none; }
  .hstem--l2, .hstem--r2 { display: none; }
  .hst4, .hst5, .hst6 { display: none; }
  .hglow { width: 80px; }
  .hmoonglow { width: 90px; height: 90px; }
}

/* ---- showcase acceleration ---- */
.sol-hshowcase .sol-holiday.is-on .hfw::before { animation-delay: .4s !important; }
.sol-hshowcase .sol-holiday.is-on .hride--faint { animation-delay: 1s !important; animation-duration: 18s !important; }
/* ============================================================
   Composition-zone protection: the message owns the center.
   ============================================================ */
.sol-holiday__message {
  position: relative;
  padding: 7px 26px;
  border-radius: 3px;
  background: radial-gradient(ellipse at center, rgba(11,21,34,.88) 38%, rgba(11,21,34,.62) 68%, rgba(11,21,34,0) 100%);
  max-width: 62%;
}
.sol-holiday--easter .sol-holiday__message {
  background: radial-gradient(ellipse at center, rgba(244,239,230,.92) 38%, rgba(244,239,230,.66) 68%, rgba(244,239,230,0) 100%);
}
/* crossers stay ambient behind the scrim */
.hbatfly { opacity: calc(.06 + .62 * var(--bs, 1)); }
.hride--faint { opacity: .26; }
/* mobile: message may own up to ~74% of the banner */
@media (max-width: 1024px) {
  .sol-holiday__message { max-width: 68%; padding: 6px 18px; }
}
@media (max-width: 767px) {
  .sol-holiday__message { max-width: 76%; padding: 6px 14px; }
}
