:root{--fw-flake-scale:2}
/* Frost system: separated crystals, corner anchoring, content above decoration. */
.fw-tile{isolation:isolate}
.fw-static{position:relative}
.fw-pattern{position:absolute;right:0;bottom:0;width:min(42%,var(--fw-width,220px));height:auto;aspect-ratio:4/3;max-height:76%;color:var(--fw-ink,#879da5);opacity:var(--fw-opacity,.74);z-index:1;pointer-events:none!important;overflow:hidden;border-bottom-right-radius:inherit}
.fw-pattern>svg{display:block;width:100%;height:100%;overflow:hidden}
.fw-white{--fw-ink:#f8fcff;--fw-opacity:.86}
.fw-dark{--fw-ink:#eef7fb;--fw-opacity:.9}
.fw-panel{--fw-ink:#879da5;--fw-opacity:.88}
.fw-tile>.wpb_wrapper{position:relative;z-index:2}
.fw-tile>.row_col_wrap_12{position:relative;z-index:10}
.fw-tile>.row-bg-wrap~.fw-pattern{z-index:4}
.fw-tile.frgp-head>.frgp-headinfo,.fw-tile.frgp-head>.frgp-headright,.fw-tile.frgp-head>.frgp-emoji,.fw-tile.frg-hdr>:not(.fw-pattern){z-index:2}
.fw-tile.frgp-head>.fw-pattern{width:min(24%,var(--fw-width));max-height:76%;--fw-opacity:.68}
.fw-tile.frg-hdr>.fw-pattern{width:calc(var(--fw-width)*.38);max-height:95%;--fw-opacity:.6;right:6px}
.fw-tile.card__media>.fw-pattern,.fw-tile.fgcat-detail__media>.fw-pattern{width:calc(var(--fw-width)*.57);--fw-opacity:.88}
body.frgp-men .fw-tile.frgp-head>.fw-pattern,body.frg-men .fw-tile.frg-hdr>.fw-pattern{--fw-ink:#eef7fb;--fw-opacity:.7}
.fw-dark>.fw-pattern{width:min(30%,calc(var(--fw-width)*1.25));max-height:68%}
.fw-snow-host{position:relative}.fw-footer-snow{position:absolute;top:0;left:0;width:100%;height:300px;pointer-events:none!important;z-index:4}

/* Original video remains intact; only these layers add winter decoration. */
.fw-weather{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.fw-weather-particle{position:absolute;left:var(--x);top:-24px;width:calc(var(--size)*var(--fw-flake-scale,1));height:calc(var(--size)*var(--fw-flake-scale,1));opacity:0;animation:fw-weather-fall var(--duration) linear var(--delay) infinite;will-change:transform}
.fw-weather-particle i{position:absolute;left:50%;top:0;width:calc(1.2px*var(--fw-flake-scale,1));height:100%;background:linear-gradient(#fdfefe,#b9cbd6);border-radius:2px;transform-origin:center;box-shadow:0 0 1px rgba(65,92,115,.35),0 0 3px rgba(255,255,255,.55)}
.fw-weather-particle i:nth-child(2){transform:rotate(60deg)}
.fw-weather-particle i:nth-child(3){transform:rotate(120deg)}
.fw-weather-particle:nth-child(3n){filter:blur(.35px)}
@keyframes fw-weather-fall{0%{transform:translate3d(0,0,0);opacity:0}5%{opacity:var(--alpha)}94%{opacity:var(--alpha)}100%{transform:translate3d(var(--drift),calc(100svh + 48px),0);opacity:0}}
.fw-hero-edge{position:absolute;pointer-events:none;color:#f7fdff;z-index:3;bottom:0;top:auto;width:min(29vw,320px);height:auto;aspect-ratio:4/3;opacity:.88;overflow:hidden}
.fw-hero-edge svg{width:100%;height:100%;display:block;position:relative}
.fw-hero-edge:before{content:"";position:absolute;inset:35% 0 0 25%;background:radial-gradient(ellipse at 100% 100%,rgba(255,255,255,.14),rgba(247,252,255,.035) 40%,transparent 70%);pointer-events:none}
.fw-hero-edge-left{left:0;transform:scaleX(-1);width:min(21vw,235px);opacity:.62}
.fw-hero-edge-right{right:0}
@media(max-width:690px){
 .fw-pattern{width:min(43%,calc(var(--fw-width,220px)*.8));max-height:65%}
 .fw-tile.frgp-head>.fw-pattern{width:min(30%,calc(var(--fw-width)*.75));max-height:52%}
 .fw-tile.frg-hdr>.fw-pattern{width:calc(var(--fw-width)*.32)}
 .fw-tile.card__media>.fw-pattern{width:calc(var(--fw-width)*.44)}
 .fw-dark>.fw-pattern{width:min(34%,var(--fw-width));max-height:60%}
 .fw-weather-particle:nth-child(n+21){display:none}
 .fw-hero-edge-right{width:145px;opacity:.88}
 .fw-hero-edge-left{width:105px;opacity:.52}
}
@media(prefers-reduced-motion:reduce){.fw-weather-particle{animation:none;display:none}}

/* Approved independent fade rhythm across the winter preview. */
.fw-crystal{animation:fw-crystal-fade var(--fw-duration,14s) cubic-bezier(.45,0,.55,1) var(--fw-delay,0s) infinite;transform-box:fill-box;transform:scale(var(--fw-flake-scale,1));transform-origin:center}
@keyframes fw-crystal-fade{0%,100%{opacity:var(--fw-min,.01)}38%{opacity:var(--fw-max,.65)}72%{opacity:var(--fw-min,.01)}}
@media(prefers-reduced-motion:reduce){.fw-crystal{animation:none}}

[data-frost-visible="false"] .fw-crystal{animation-play-state:paused}

/* White frost on tinted fills; the original tones of the panels stay intact. */
.fw-light>.fw-pattern{--fw-ink:#ffffff;--fw-opacity:.96;color:#ffffff}

.fw-tile.frg-hdr.fw-light>.fw-pattern path{vector-effect:non-scaling-stroke;stroke-width:.6px}

/* Settings retain the existing positions and all three approved crystal shapes. */
:root{--fw-kind-0:2;--fw-kind-1:2;--fw-kind-2:2;--fw-speed:1;--fw-twinkle-scale:1;--fw-brightness:.65}
html[data-fw-ready="false"] :is(.fw-pattern,.fw-weather,.fw-hero-edge,.fw-footer-snow){visibility:hidden}
.fw-crystal[data-kind="0"]{--fw-draw-scale:var(--fw-kind-0,2)}
.fw-crystal[data-kind="1"]{--fw-draw-scale:var(--fw-kind-1,2)}
.fw-crystal[data-kind="2"]{--fw-draw-scale:var(--fw-kind-2,2)}
.fw-crystal{transform:scale(var(--fw-draw-scale,2));animation-duration:calc(var(--fw-duration,14s)/var(--fw-speed,1))}
.fw-twinkle-art,.fw-weather-star,.fw-twinkle-only{display:none}
html[data-fw-mode="snow"] .fw-weather-particle:nth-child(n+31){display:none}
.fw-weather-particle{width:calc(var(--size)*var(--fw-kind-0,2));height:calc(var(--size)*var(--fw-kind-0,2));animation-duration:calc(var(--duration)/var(--fw-speed,1))}
.fw-weather-particle i{width:calc(1.2px*var(--fw-kind-0,2))}
/* Optical glints are rasterized from one transparent sprite, with no outlines. */
.fw-optical-cluster{display:none;position:absolute;inset:0;pointer-events:none!important}
.fw-optical-point{position:absolute;left:clamp(14.5px,var(--fw-optical-x,50%),calc(100% - 14.5px));top:clamp(14.5px,var(--fw-optical-y,50%),calc(100% - 14.5px));width:min(28.8px,calc(var(--fw-optical-size,21px)*var(--fw-twinkle-scale,1)));height:min(28.8px,calc(var(--fw-optical-size,21px)*var(--fw-twinkle-scale,1)));transform:translate(-50%,-50%)}
.fw-crystal.fw-optical-light{display:block;position:absolute;inset:0;width:100%;height:100%;background:url('./optical-glint-v3.svg') center/contain no-repeat;opacity:0;transform:scale(.58);transform-box:border-box;transform-origin:center;animation:fw-optical-pulse calc(var(--fw-optical-duration,4.6s)/var(--fw-speed,1)) linear var(--fw-optical-delay,0s) infinite;pointer-events:none!important}
html[data-fw-mode="twinkle"] :is(.fw-pattern,.fw-hero-edge){opacity:1}
html[data-fw-mode="twinkle"] .fw-hero-edge:before{display:none}
html[data-fw-mode="twinkle"] :is(.fw-pattern,.fw-hero-edge)>svg{display:none}
html[data-fw-mode="twinkle"] .fw-optical-cluster{display:block}
@keyframes fw-optical-pulse{
 0%,35%,70%,100%{opacity:0;transform:scale(.58)}
 43%{opacity:calc(var(--fw-brightness,.65)*.12);transform:scale(.7)}
 50%{opacity:var(--fw-brightness,.65);transform:scale(1)}
 60%{opacity:calc(var(--fw-brightness,.65)*.2);transform:scale(.85)}
}
/* The parent falls gently; only the optical child pulses. Snow movement is unchanged. */
html[data-fw-mode="twinkle"] .fw-weather-particle{top:-28px;width:min(28.8px,calc(var(--twinkle-size,21px)*var(--fw-twinkle-scale,1)));height:min(28.8px,calc(var(--twinkle-size,21px)*var(--fw-twinkle-scale,1)));filter:none;will-change:transform;animation:fw-weather-silver-fall calc(var(--twinkle-fall,20s)/var(--fw-speed,1)) linear var(--twinkle-fall-delay,0s) infinite}
html[data-fw-mode="twinkle"] .fw-weather-particle i{display:none}
html[data-fw-mode="snow"] .fw-weather-star{display:none}
html[data-fw-mode="twinkle"] .fw-weather-star{display:block;--fw-optical-duration:var(--twinkle-duration,4.6s);--fw-optical-delay:var(--twinkle-delay,0s)}
@keyframes fw-weather-silver-fall{0%{transform:translate3d(0,0,0);opacity:0}4%{opacity:1}96%{opacity:1}100%{transform:translate3d(var(--drift),calc(100svh + 56px),0);opacity:0}}
@media(max-width:690px){html[data-fw-mode="twinkle"] .fw-weather-particle:nth-child(n+21){display:block}html[data-fw-mode="twinkle"] .fw-weather-particle:nth-child(n+41){display:none}}
[data-frost-visible="false"] :is(.fw-crystal,.fw-weather-particle,.fw-weather-star){animation-play-state:paused}
html[data-fw-paused="true"] :is(.fw-crystal,.fw-weather-particle,.fw-weather-star){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 .fw-crystal{animation:none!important}
 html[data-fw-mode="twinkle"] .fw-optical-light{opacity:calc(var(--fw-brightness,.65)*.45);transform:scale(.85)}
 .fw-weather-particle{animation:none!important;display:none!important}
}
/* Preserve the existing placement/extent of offer and service decorations. */
html[data-fw-mode="twinkle"] .fw-tile.frg-hdr>.fw-pattern{width:calc(var(--fw-width)*.46);max-height:84%}

/* Photo frost only: the standalone Winter gift-layout rules are not loaded. */
.fw-photo-frost{position:relative;isolation:isolate}
.fw-photo-frost>.fw-pattern{z-index:4;color:#fff;--fw-opacity:.92;width:min(35%,190px);max-height:32%;pointer-events:none!important}
@media(max-width:690px){.fw-photo-frost>.fw-pattern{width:min(37%,155px)}}
a.fw-photo-frost{display:block;overflow:hidden;border-radius:inherit}
