/* Día de Muertos · SAR (maqueta). Todo con prefijo sar-dm- ; no toca la hoja de estilo actual. */
:root{--dm-blue:#275D90;--dm-blue2:#356CA8;--dm-navy:#0b1f3a;--dm-orange:#F28C28;--dm-orange2:#E8721C}
.sar-dm-defs{position:absolute;width:0;height:0;overflow:hidden}
.sar-dm-strip{position:relative;height:0;z-index:6;pointer-events:none}
.sar-dm-strip.is-foot{z-index:2}
.sar-dm-line{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-around;align-items:flex-start;height:clamp(78px,9vw,120px)}
.sar-dm-line::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--dm-blue);opacity:.85}
.sar-dm-flag{flex:0 0 auto;width:clamp(52px,6.6vw,96px);height:auto;transform-origin:50% 0;animation:sar-dm-sway 4.6s ease-in-out infinite;filter:drop-shadow(0 4px 5px rgba(11,31,58,.18))}
.sar-dm-flag:nth-child(odd){animation-delay:-1.7s;animation-duration:5.3s}
.sar-dm-flag:nth-child(3n){animation-delay:-3.1s}
@keyframes sar-dm-sway{0%,100%{transform:rotate(-2.2deg)}50%{transform:rotate(2.2deg)}}
.sar-dm-garland{position:absolute;left:0;right:0;top:-22px;height:44px;display:flex;justify-content:space-between;padding:0 1%}
.sar-dm-garland svg{width:44px;height:44px;flex:0 0 auto}
.sar-dm-garland::before{content:"";position:absolute;left:0;right:0;top:21px;height:2px;background:var(--dm-orange2);opacity:.7}
.sar-dm-petal{position:fixed;top:-30px;width:14px;height:18px;border-radius:70% 0 70% 0;background:var(--dm-orange);opacity:.85;pointer-events:none;z-index:7;animation:sar-dm-fall linear infinite}
@keyframes sar-dm-fall{to{transform:translate3d(var(--dx),110vh,0) rotate(540deg)}}
/* Entrada */
.sar-dm-intro{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:radial-gradient(ellipse at 50% 40%,#356CA8 0%,#275D90 38%,#0b1f3a 100%);transition:opacity .9s ease,visibility .9s;font-family:Inter,"Helvetica Neue",Arial,sans-serif;overflow:hidden}
.sar-dm-intro.is-out{opacity:0;visibility:hidden}
.sar-dm-intro .sar-dm-line{height:clamp(110px,16vw,190px);transform:translateY(-120%);animation:sar-dm-drop 1.1s cubic-bezier(.2,.9,.3,1.1) .1s forwards}
.sar-dm-intro .sar-dm-flag{width:clamp(64px,9vw,128px)}
@keyframes sar-dm-drop{to{transform:none}}
.sar-dm-intro .sar-dm-line::before{background:var(--dm-orange)}
.sar-dm-ofrenda{display:flex;align-items:flex-end;justify-content:center;gap:clamp(10px,3vw,40px);width:auto;height:clamp(150px,24vw,260px);opacity:0;transform:scale(.6);animation:sar-dm-pop .9s ease 1s forwards}
@keyframes sar-dm-pop{to{opacity:1;transform:none}}
.sar-dm-intro h2{margin:18px 16px 6px;font-size:clamp(28px,5vw,56px);font-weight:800;letter-spacing:-.02em;color:#fff;opacity:0;animation:sar-dm-up .8s ease 1.4s forwards}
.sar-dm-intro h2 b{color:var(--dm-orange)}
.sar-dm-intro p{margin:0 24px;font-size:clamp(14px,1.8vw,19px);opacity:0;color:#dce8f5;animation:sar-dm-up .8s ease 1.8s forwards}
.sar-dm-intro small{position:absolute;bottom:22px;color:#a9c0da;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
@keyframes sar-dm-up{from{transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:767.98px){.sar-dm-flag{width:clamp(44px,15vw,64px)}.sar-dm-line{height:78px}.sar-dm-garland svg{width:34px;height:34px}.sar-dm-intro .sar-dm-flag{width:clamp(46px,16vw,70px)}}
@media (prefers-reduced-motion:reduce){.sar-dm-flag,.sar-dm-petal{animation:none}.sar-dm-petal{display:none}.sar-dm-intro *{animation-duration:.01s!important;animation-delay:0s!important}}
.sar-dm-intro .sar-dm-flag path{fill:#d6e6f7}
.sar-dm-intro .sar-dm-flag:nth-child(3n+2) path{fill:#F28C28}
.sar-dm-intro .sar-dm-flag:nth-child(4n) path{fill:#fff}
.sar-dm-intro h2{color:#fff!important}.sar-dm-intro h2 b{color:#F28C28!important}.sar-dm-intro p{color:#dce8f5!important}
.sar-dm-strip.is-flow{height:clamp(78px,9vw,120px)}

.sar-dm-ofrenda .sar-dm-d{height:100%;width:auto}.sar-dm-ofrenda .sar-dm-d:nth-child(2){height:100%}.sar-dm-ofrenda .sar-dm-d:nth-child(odd){height:62%}
.sar-dm-deco{position:absolute;inset:0;pointer-events:none;z-index:3}
.sar-dm-d{position:absolute;height:auto;filter:drop-shadow(0 4px 6px rgba(11,31,58,.2))}
.sar-dm-ofrenda .sar-dm-d{position:static}
.sar-dm-llama{transform-box:fill-box;transform-origin:50% 100%;animation:sar-dm-flick 1.3s ease-in-out infinite}
@keyframes sar-dm-flick{0%,100%{transform:scale(1,1) rotate(-2deg)}30%{transform:scale(.92,1.08) rotate(2deg)}60%{transform:scale(1.04,.94) rotate(-1deg)}}
.is-bob{animation:sar-dm-bob 3.6s ease-in-out infinite}
@keyframes sar-dm-bob{50%{transform:translateY(-7px) rotate(3deg)}}
@media (max-width:767.98px){.sar-dm-d{transform:scale(.62);transform-origin:100% 0}.sar-dm-ofrenda .sar-dm-d{transform:none}}
@media (prefers-reduced-motion:reduce){.sar-dm-llama,.is-bob{animation:none}}

.sar-dm-inner .sar-dm-line{height:50px}.sar-dm-inner .sar-dm-flag{width:clamp(34px,3.6vw,50px)}
