
body{--occasion-accent:#0c9a9a;--occasion-soft:#edf8f8;--occasion-dark:#102747}
.language-switch{display:flex;gap:3px;align-items:center;border:1px solid #d5e5ec;border-radius:24px;padding:3px}.language-switch a{font-size:12px!important;padding:7px 9px!important;border-radius:20px}.language-switch a[aria-current=true]{background:#102747;color:#fff!important}
.celebration-preview{position:sticky;top:0;z-index:1050;background:#202c44;color:white;padding:10px 5vw;text-align:center;font-size:14px}.celebration-preview a{color:#fff;margin-left:24px;text-decoration:underline}
body:not([data-celebration=default]) .hero{background:radial-gradient(ellipse at 90% 10%,var(--occasion-soft),transparent 60%),linear-gradient(125deg,#fff,var(--occasion-soft))}
body:not([data-celebration=default]) .hero h1 span,body:not([data-celebration=default]) .eyebrow{color:var(--occasion-accent)}
body:not([data-celebration=default]) .hero .button,body:not([data-celebration=default]) .occasion-banner .button{background:var(--occasion-dark);border-color:var(--occasion-dark);color:white}
body:not([data-celebration=default]) .service-card:hover{border-color:var(--occasion-accent);box-shadow:0 12px 35px var(--occasion-soft)}
.occasion-banner{display:flex;align-items:center;gap:24px;padding:22px max(5vw,calc((100vw - 1200px)/2));background:var(--occasion-dark);color:#fff;position:relative;overflow:hidden}
.occasion-banner strong{font-size:20px;letter-spacing:-.3px}.occasion-banner p{margin:7px 0 0;max-width:840px;line-height:1.5;color:#fff;opacity:.9;font-size:14px}.occasion-banner .button{flex-shrink:0;border:1px solid #ffffff66!important}.occasion-icon{font-size:42px;min-width:50px;color:var(--occasion-soft)}
.occasion-decoration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:2}.occasion-decoration span{position:absolute;left:calc(4% + var(--i)*11%);top:-60px;font-size:28px;color:var(--occasion-accent);opacity:0;animation:occasion-drift calc(14s + var(--i)*1s) linear infinite;animation-delay:calc(var(--i)*-2.4s)}
body>header,body>main,body>footer{position:relative;z-index:1}body>main{isolation:isolate}body[data-celebration=new-year]{--occasion-accent:#ad7611;--occasion-soft:#fff0c4;--occasion-dark:#242746}
body[data-celebration=valentine]{--occasion-accent:#bf3566;--occasion-soft:#ffe9f0;--occasion-dark:#652943}
body[data-celebration=holy-week]{--occasion-accent:#766290;--occasion-soft:#f2ecf7;--occasion-dark:#42394f}
body[data-celebration=mother]{--occasion-accent:#b64473;--occasion-soft:#fff0e8;--occasion-dark:#743853}
body[data-celebration=halloween]{--occasion-accent:#a94c00;--occasion-soft:#fff0dd;--occasion-dark:#32223f}
body[data-celebration=memorial]{--occasion-accent:#88733f;--occasion-soft:#f5f1e7;--occasion-dark:#39362e}
body[data-celebration=purisima]{--occasion-accent:#247ba9;--occasion-soft:#e8f6ff;--occasion-dark:#164567}
body[data-celebration=christmas]{--occasion-accent:#a02b43;--occasion-soft:#f8ebe9;--occasion-dark:#18463c}
body[data-celebration=school]{--occasion-accent:#157f9a;--occasion-soft:#e8f5fd;--occasion-dark:#173b57}
body[data-celebration=pizza]{--occasion-accent:#b05021;--occasion-soft:#fff1df;--occasion-dark:#743c21}
body[data-celebration=burger]{--occasion-accent:#9c5c12;--occasion-soft:#fff4df;--occasion-dark:#533b26}
body[data-celebration=hot-dog]{--occasion-accent:#aa3933;--occasion-soft:#fff0e2;--occasion-dark:#683b2a}
body[data-celebration=book]{--occasion-accent:#755530;--occasion-soft:#f8efdf;--occasion-dark:#403c30}
body[data-celebration=health]{--occasion-accent:#087b7d;--occasion-soft:#e0f7f3;--occasion-dark:#175255}
body[data-celebration=pharmacist]{--occasion-accent:#227b49;--occasion-soft:#e8f7ed;--occasion-dark:#234d39}
body[data-celebration=backup]{--occasion-accent:#246ba1;--occasion-soft:#e6f3ff;--occasion-dark:#16334f}
body:is([data-celebration=memorial],[data-celebration=holy-week]) .occasion-decoration span{animation-name:occasion-glow;top:calc(20% + var(--i)*6%);font-size:20px}
body:is([data-celebration=valentine],[data-celebration=mother]) .occasion-decoration span{animation-name:occasion-rise;top:auto;bottom:-50px}
body:is([data-celebration=health],[data-celebration=pharmacist]) .occasion-icon{animation:occasion-breathe 6s ease-in-out infinite}
body[data-celebration=backup] .occasion-icon{animation:occasion-turn 14s linear infinite}
body:is([data-celebration=school],[data-celebration=book]) .occasion-decoration span{animation-name:occasion-pages}
body[data-celebration=halloween] .occasion-icon{animation:occasion-float 7s ease-in-out infinite}
body:is([data-celebration=pizza],[data-celebration=burger],[data-celebration=hot-dog]) .occasion-icon{animation:occasion-float 8s ease-in-out infinite}
@keyframes occasion-drift{0%{transform:translateY(-30px) rotate(0);opacity:0}15%{opacity:.12}85%{opacity:.12}100%{transform:translateY(105vh) rotate(150deg);opacity:0}}
@keyframes occasion-rise{0%{transform:translateY(0) rotate(-10deg);opacity:0}20%{opacity:.12}80%{opacity:.12}100%{transform:translateY(-100vh) rotate(20deg);opacity:0}}
@keyframes occasion-pages{0%{transform:translateY(0) rotate(-12deg);opacity:0}20%{opacity:.10}80%{opacity:.10}100%{transform:translate(35px,100vh) rotate(30deg);opacity:0}}
@keyframes occasion-glow{0%,100%{opacity:.02;transform:translateY(0)}50%{opacity:.12;transform:translateY(-8px)}}
@keyframes occasion-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes occasion-turn{to{transform:rotate(360deg)}}
@keyframes occasion-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-6px) rotate(4deg)}}
@media(max-width:850px){.occasion-banner{gap:14px;padding:20px 5vw;flex-wrap:wrap}.occasion-banner>div{flex:1;min-width:200px}.occasion-banner strong{font-size:18px}.occasion-banner .button{margin-left:64px}.language-switch{align-self:flex-start}.occasion-decoration span{font-size:20px}}
@media(prefers-reduced-motion:reduce){.occasion-decoration{display:none}.occasion-icon{animation:none!important}*{scroll-behavior:auto!important}}
