/* Isolated festival presentation. Normal site typography and cards are unchanged. */
.ft-banner{position:relative;isolation:isolate;overflow:hidden;width:100%;box-sizing:border-box;aspect-ratio:1920/800;min-height:350px;background:var(--ft-bg,#251035);color:var(--ft-text,#fff9ee);font-family:Poppins,Arial,sans-serif;container-type:inline-size}
.ft-copy{position:absolute;inset:0 auto 0 8%;width:47%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;z-index:3}
.ft-banner .ft-eyebrow{font:600 clamp(10px,1cqw,16px)/1.6 Poppins,Arial,sans-serif;letter-spacing:.16em;color:var(--ft-greeting,var(--ft-accent));margin:0 0 20px;max-width:100%}
.ft-banner .ft-heading{font:650 clamp(30px,3.7cqw,72px)/1.17 Poppins,Arial,sans-serif;letter-spacing:-.035em;color:var(--ft-heading,var(--ft-text))!important;max-width:100%;margin:0 0 22px;overflow-wrap:anywhere}
.ft-banner .ft-description{font:400 clamp(13px,1.1cqw,20px)/1.7 Poppins,Arial,sans-serif;color:var(--ft-description,var(--ft-text))!important;margin:0 0 14px;max-width:440px;overflow-wrap:anywhere}
.ft-banner .ft-cta{display:inline-flex;padding:15px 24px;gap:20px;background:var(--ft-button);color:var(--ft-button-text)!important;border:1px solid transparent;border-radius:8px;text-decoration:none!important;font:600 clamp(12px,1cqw,18px)/1.5 Poppins,Arial,sans-serif;margin-top:10px;max-width:100%;overflow-wrap:anywhere}
.ft-cta:focus-visible,.ft-motion-toggle:focus-visible{outline:3px solid var(--ft-accent,#99489d);outline-offset:4px}
.ft-art{position:absolute;right:5%;top:0;width:41%;height:100%;z-index:1}.ft-orbit{position:absolute;left:7%;top:7%;width:86%;aspect-ratio:1;border:1px solid var(--ft-accent);opacity:.28;border-radius:50%}.ft-halo{position:absolute;inset:6%;background:radial-gradient(ellipse,#edb7572b,transparent 68%)}
.ft-artwork{position:absolute;width:65%;height:65%;object-fit:contain;bottom:3%;left:17.5%}.ft-greeting{position:absolute;top:14%;left:5%;width:90%;text-align:center;color:var(--ft-greeting,var(--ft-accent));font:600 clamp(20px,2.4cqw,46px)/1.25 Poppins,Arial,sans-serif;letter-spacing:.035em;overflow-wrap:anywhere}
.ft-look-1 .ft-copy{left:8%;width:44%}.ft-look-1 .ft-art{width:48%;right:0}.ft-look-1 .ft-orbit{border:8px double var(--ft-accent);opacity:.23}.ft-look-1 .ft-artwork{width:74%;left:13%;height:70%}
.ft-look-2 .ft-orbit{display:none}.ft-look-2 .ft-halo{background:radial-gradient(ellipse,#ad6ca255,transparent 68%)}
.ft-look-3 .ft-art{top:7%;height:93%;right:8%;width:35%;border-radius:48% 48% 0 0;background:#c78ac51c}.ft-look-3 .ft-orbit{border-radius:48% 48% 0 0;top:6%}.ft-look-3 .ft-copy{width:45%}.ft-look-3 .ft-artwork{width:72%;left:14%}
.ft-custom-picture{position:absolute;inset:0;z-index:0}.ft-custom-picture img{width:100%;height:100%;object-fit:cover;display:block}
/* A light Cozmaa tint fades across the white artwork without obscuring it. */
.ft-custom:has(.ft-copy){--ft-wash:linear-gradient(90deg,rgba(153,72,157,.10) 0%,rgba(153,72,157,.04) 35%,transparent 75%);background:#fff}
.ft-custom .ft-copy{--ft-text:#2b2330;--ft-accent:#99489d;color:var(--ft-text)}
.ft-custom .ft-description{--ft-text:#6b6b7c}
.ft-custom:has(.ft-copy):after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--ft-wash);opacity:1}
.ft-banner-effects{pointer-events:none;overflow:hidden;position:absolute;inset:0;z-index:2}.ft-page-effects{pointer-events:none;position:fixed;top:0;left:0;width:0;height:0;z-index:8}.ft-page-edge{pointer-events:none;position:fixed;top:0;bottom:0;width:95px;overflow:hidden;contain:strict;transform:translateZ(0)}.ft-page-edge-left{left:0}.ft-page-edge-right{right:0}
.ft-burst{position:absolute;left:30px;top:26%;width:1px;height:1px;color:#b25ba5}.ft-burst-1{left:auto;right:30px;top:18%;color:#c3913f}.ft-burst-2{top:72%;color:#c3913f}.ft-burst-3{left:auto;right:30px;top:81%}
.ft-firework{position:absolute;left:-80px;top:-80px;display:block;width:160px;height:160px;overflow:visible;opacity:0;animation:ft-firework 8s ease-out infinite;transform-origin:center}.ft-banner-effects .ft-burst{color:var(--ft-accent);left:5%}.ft-banner-effects .ft-burst-1,.ft-banner-effects .ft-burst-3{left:auto;right:5%}
.ft-particle{position:absolute;bottom:-14px;width:4px;height:4px;border-radius:50%;background:var(--ft-particle-color);opacity:0;animation:ft-rise 12s linear infinite}.ft-particle[data-side=left]{left:var(--ft-edge)}.ft-particle[data-side=right]{right:var(--ft-edge)}
.ft-banner-effects .ft-particle{background:var(--ft-accent)}
[data-festival=navratri] .ft-particle,[data-festival=ganpati] .ft-particle{border-radius:70% 0 70% 0;width:9px;height:6px;animation-name:ft-fall;background:#d39a3f}
[data-festival=christmas] .ft-particle{background:#b7cfd0;animation-name:ft-fall;width:5px;height:5px}
[data-festival=independence] .ft-particle,[data-festival=republic] .ft-particle{border-radius:1px;background:#e58c40;width:7px;height:4px;animation-name:ft-fall}
[data-festival=independence] .ft-particle[data-tone="2"],[data-festival=republic] .ft-particle[data-tone="2"]{background:#41875d}
[data-festival=independence] .ft-particle[data-tone="0"],[data-festival=republic] .ft-particle[data-tone="0"]{background:#6373a7}
.ft-motion-toggle{position:fixed;bottom:12px;left:12px;z-index:1001;border:1px solid #dac5de;border-radius:30px;background:#fffffff2;color:#63316c;padding:7px 12px;font:500 11px/1.4 Poppins,Arial,sans-serif;box-shadow:0 2px 10px #35103e0d;cursor:pointer}.ft-motion-toggle:hover{background:#fff}.ft-still .ft-particle,.ft-still .ft-firework{animation:none;opacity:0}.ft-tab-hidden .ft-particle,.ft-tab-hidden .ft-firework{animation-play-state:paused}
/* Offscreen heroes and inactive carousel copies must not keep animating. */
.ft-banner-outside .ft-banner-effects .ft-particle,.ft-banner-outside .ft-banner-effects .ft-firework,.h4-hero-slider .owl-item:not(.active) .ft-banner-effects .ft-particle,.h4-hero-slider .owl-item:not(.active) .ft-banner-effects .ft-firework{animation-play-state:paused}
@keyframes ft-firework{0%,60%,100%{opacity:0;transform:scale(.14)}8%{opacity:.8}32%{opacity:0;transform:scale(1)}}
@keyframes ft-rise{0%{opacity:0;transform:translateY(0)}12%,65%{opacity:.55}100%{opacity:0;transform:translateY(-85vh)}}
@keyframes ft-fall{0%{opacity:0;transform:translateY(-95vh) rotate(0)}15%,65%{opacity:.6}100%{opacity:0;transform:translateY(0) rotate(160deg)}}
@media(max-width:760px){.ft-banner{aspect-ratio:auto;min-height:710px;padding-bottom:310px}.ft-copy,.ft-look-1 .ft-copy,.ft-look-3 .ft-copy{position:relative;inset:auto;width:100%;box-sizing:border-box;align-items:center;text-align:center;padding:34px 28px 20px}.ft-banner .ft-heading{font-size:34px;line-height:1.2;margin-bottom:15px}.ft-banner .ft-eyebrow{font-size:10px;margin-bottom:14px;letter-spacing:.12em}.ft-banner .ft-description{font-size:13px;max-width:330px}.ft-banner .ft-cta{font-size:13px;padding:13px 20px}.ft-art,.ft-look-1 .ft-art,.ft-look-3 .ft-art{top:auto;bottom:0;right:10%;width:80%;height:310px}.ft-art .ft-greeting{top:8%;font-size:26px}.ft-artwork{height:70%;bottom:0}.ft-custom{min-height:580px;padding-bottom:0}.ft-custom .ft-copy{min-height:580px;justify-content:center}.ft-custom-picture img{object-position:center}.ft-page-edge{width:22px}.ft-page-effects .ft-burst{left:6px}.ft-page-effects .ft-burst-1{right:6px;left:auto}.ft-page-effects .ft-burst-2,.ft-page-effects .ft-burst-3,.ft-banner-effects .ft-burst-2,.ft-banner-effects .ft-burst-3,.ft-page-effects .ft-particle[data-mobile-hidden="true"],.ft-banner-effects .ft-particle[data-mobile-hidden="true"]{display:none}.ft-page-effects .ft-particle{width:3px;height:3px}.ft-motion-toggle{font-size:10px;bottom:10px;left:10px;max-width:150px}}
/* Custom mobile banners follow the homepage template: copy, then artwork. */
@media(max-width:760px){
    .ft-custom:has(.ft-copy){display:flex;flex-direction:column;flex:1 0 auto;min-height:0}
    .ft-custom:has(.ft-copy) .ft-copy{order:0;flex:1 0 auto;min-height:0;justify-content:flex-start;align-items:flex-start;text-align:left;padding:8.5cqw 7cqw 7.5cqw;background:var(--ft-wash),#fff}
    .ft-custom:has(.ft-copy) .ft-custom-picture{position:relative;inset:auto;display:block;order:1;flex:0 0 auto;width:100%;aspect-ratio:1.14/1;overflow:hidden}
    .ft-custom:has(.ft-copy) .ft-custom-picture img{object-position:right bottom}
}
@media(prefers-reduced-motion:reduce){.ft-page-effects,.ft-banner-effects,.ft-motion-toggle{display:none}.ft-particle,.ft-firework{animation:none!important}}
