/* VICTORY: tile-and-poster art direction. All marketing-page overrides are scoped here. */
body.victory-pop {
  --pop-ink:#17171a;
  --pop-paper:#f5f5f3;
  --pop-pink:#ed667b;
  --pop-pale:#ffdce7;
  --pop-tile:linear-gradient(90deg,#303033 0 2px,#838386 3px,#d5d5d6 5px,transparent 7px),linear-gradient(0deg,#303033 0 2px,#838386 3px,#d5d5d6 5px,transparent 7px),linear-gradient(135deg,#f9f9f8,#e8e8e8);
  --v3-ivory:var(--pop-paper);
  --v3-ink:var(--pop-ink);
  --v3-cherry:#bd2d57;
  background:var(--pop-tile);
  background-size:160px 160px;
  color:var(--pop-ink);
}
body.victory-pop .victory-nav { background:rgba(245,245,243,.96); border-bottom:2px solid var(--pop-ink); }
body.victory-pop .victory-nav__brand,
body.victory-pop .victory-nav nav a,
body.victory-pop .victory-nav__book { color:var(--pop-ink); }
body.victory-pop .victory-nav nav a:hover,
body.victory-pop .victory-nav__book:hover { color:#bd2d57; }
body.victory-pop .victory-nav__book { border-color:var(--pop-ink); }
body.victory-pop .victory-mobile-menu summary span { background:var(--pop-ink); }
body.victory-pop .victory-mobile-menu nav { background:var(--pop-paper); border-color:var(--pop-ink); }
body.victory-pop .victory-mobile-menu nav a { color:var(--pop-ink); }
body.victory-pop .v2-kicker { color:var(--pop-ink); }
body.victory-pop .v2-button { background:var(--pop-ink); border-color:var(--pop-ink); color:#fff; }
body.victory-pop .v2-button:hover { background:#bd2d57; border-color:#bd2d57; color:#fff; }
body.victory-pop .v2-text-link { color:var(--pop-ink); border-bottom:2px solid var(--pop-ink); }

/* The opening is a typographic poster on glazed white tile, not a portrait hero. */
body.victory-pop .v3-hero-scroll { background:transparent; }
body.victory-pop .v2-hero { height:100svh; min-height:720px; background:var(--pop-tile); background-size:160px 160px; color:var(--pop-ink); overflow:hidden; }
body.victory-pop .v3-intro-mark { display:none !important; }
body.victory-pop .v3-hero-word { z-index:1; inset:20vh 3vw auto 4vw; display:block; color:var(--pop-ink); font:600 clamp(55px,14.2vw,205px)/.9 Oswald,sans-serif; letter-spacing:-.055em; white-space:nowrap; opacity:1; }
body.victory-pop .v4-pop-bubble { position:absolute; z-index:2; top:34vh; right:5vw; width:min(64vw,920px); height:auto; transform:rotate(-7deg); filter:drop-shadow(0 16px 12px rgba(33,16,26,.18)); animation:pop-bubble-in .9s cubic-bezier(.2,.7,.2,1) both; pointer-events:none; }
body.victory-pop .v4-pop-bubble { aspect-ratio:2103/748; }
body.victory-pop .v4-pop-bubble__whole { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
body.victory-pop .v4-pop-bubble__whole { transition:opacity .08s ease; }
body.victory-pop .v4-pop-bubble.is-sliced .v4-pop-bubble__whole { opacity:0; }
body.victory-pop .v8-bubble-pieces { position:absolute; inset:0; }
body.victory-pop .v8-bubble-piece { position:absolute; display:block; max-width:none; object-fit:fill; transform-origin:50% 92%; }
body.victory-pop .v8-bubble-piece.is-falling { animation:v8-bubble-drop 1.48s both; }
@keyframes v8-bubble-drop {
  0% { transform:translate3d(0,0,0) rotate(0) scale(1); animation-timing-function:cubic-bezier(.48,.02,.9,.62); }
  58% { transform:translate3d(var(--drop-x),var(--drop-y),0) rotate(var(--drop-rotate)) scale(var(--land-scale),.58); animation-timing-function:cubic-bezier(.14,.58,.3,1); }
  75% { transform:translate3d(var(--drop-x),calc(var(--drop-y) - 13px),0) rotate(var(--bounce-rotate)) scale(var(--land-scale),.88); animation-timing-function:cubic-bezier(.46,.07,.8,.57); }
  89% { transform:translate3d(var(--drop-x),var(--drop-y),0) rotate(var(--drop-rotate)) scale(var(--land-scale),.69); animation-timing-function:ease-out; }
  100% { transform:translate3d(var(--drop-x),var(--drop-y),0) rotate(var(--drop-rotate)) scale(var(--land-scale)); }
}
/* A few vinyl ribbons drift through the opening, echoing a dancer's movement. */
body.victory-pop .v7-ribbon-field { position:absolute; z-index:4; inset:0; overflow:hidden; pointer-events:none; }
body.victory-pop .v7-ribbon-field span { position:absolute; top:0; left:var(--ribbon-x); display:block; width:var(--ribbon-size); aspect-ratio:3/2; background:url('/static/images/victory-dance-ribbon-v1.png') center/contain no-repeat; opacity:0; pointer-events:none; }
body.victory-pop .v7-ribbon-field span.is-popped { visibility:hidden; }
body.victory-pop .v7-ribbon-bursts { position:absolute; inset:0; pointer-events:none; }
body.victory-pop .v7-ribbon-pixel { position:absolute; display:block; width:6px; height:6px; background:#ed667b; opacity:0; animation:v7-ribbon-pixel-out .58s cubic-bezier(.16,.64,.3,1) var(--pixel-delay) both; pointer-events:none; }
body.victory-pop .v7-ribbon-pixel:nth-child(3n) { width:4px; height:4px; background:#ffdce7; }
body.victory-pop .v7-ribbon-pixel:nth-child(4n) { background:#bd2d57; }
body.victory-pop .v7-ribbon-pixel:nth-child(5n) { background:#fff5fa; }
@media (prefers-reduced-motion:no-preference) {
  body.victory-pop .v7-ribbon-field { animation:v7-ribbon-field-in .7s ease-out 1.5s both; }
  body.victory-pop .v7-ribbon-field span { animation:v7-ribbon-drift var(--ribbon-duration) linear var(--ribbon-delay) infinite both; will-change:transform; }
}
@keyframes v7-ribbon-field-in { from { opacity:0; } to { opacity:1; } }
@keyframes v7-ribbon-pixel-out {
  0% { opacity:1; transform:translate3d(0,0,0) scale(1); }
  65% { opacity:.95; }
  100% { opacity:0; transform:translate3d(var(--pixel-x),var(--pixel-y),0) scale(.35); }
}
@keyframes v7-ribbon-drift {
  0% { opacity:0; transform:translate3d(-14px,-130px,0) rotate(-24deg) scale(.88); }
  10% { opacity:.83; }
  38% { transform:translate3d(var(--ribbon-sway),calc(38svh - 130px),0) rotate(18deg) scale(1); }
  68% { transform:translate3d(0,calc(68svh - 130px),0) rotate(-17deg) scale(.94); }
  90% { opacity:.83; }
  100% { opacity:0; transform:translate3d(var(--ribbon-drift),calc(100svh + 80px),0) rotate(28deg) scale(.9); }
}
body.victory-pop .v3-hero-meta { top:104px; left:4vw; right:4vw; color:var(--pop-ink); }
body.victory-pop .v3-hero-meta :is(span,button) { position:relative; display:block; flex:none; padding:14px 19px; color:#17171a; font-size:12px; font-weight:600; line-height:1.35; letter-spacing:.06em; background-position:center; background-repeat:no-repeat; background-size:100% 100%; filter:drop-shadow(2px 4px 3px rgba(20,20,22,.16)); }
body.victory-pop .v3-hero-meta .v4-meta-sponge { background-image:url('/static/images/victory-sponge-label-v1.webp'); transform:rotate(-4deg); }
body.victory-pop .v3-hero-meta button.v4-meta-sponge { width:max-content; border:0; border-radius:0; background:url('/static/images/victory-sponge-label-v1.webp') center/100% 100% no-repeat !important; font-family:Oswald,sans-serif; text-align:left; text-transform:uppercase; appearance:none; cursor:grab; touch-action:none; user-select:none; translate:var(--sponge-x,0px) var(--sponge-y,0px); transition:translate .56s cubic-bezier(.18,.76,.22,1); }
body.victory-pop .v3-hero-meta button.v4-meta-sponge:focus-visible { outline:2px solid var(--pop-ink); outline-offset:5px; }
body.victory-pop .v2-hero.is-wiping .v3-hero-meta { z-index:6; }
body.victory-pop .v2-hero.is-wiping .v4-meta-sponge { cursor:grabbing; transition:none; }
body.victory-pop [data-sponge-smear="ink"] { --v8-smear-rgb:23 23 26; }
body.victory-pop [data-sponge-smear="red"] { --v8-smear-rgb:189 45 87; }
body.victory-pop .v8-ink-glyph { display:inline-block; }
body.victory-pop .v3-hero-word .v8-ink-glyph.is-erased,
body.victory-pop .v8-ink-glyph.is-erased { animation:v8-ink-wipe .72s ease-out both; }
body.victory-pop .v3-hero-word .v8-ink-glyph.is-erased::after { animation:none; opacity:0; }
@keyframes v8-ink-wipe {
  0% { opacity:1; filter:blur(0); transform:translate3d(0,0,0) skewX(0); text-shadow:none; }
  32% { opacity:.86; filter:blur(.8px); transform:translate3d(var(--glyph-pull-x),var(--glyph-pull-y),0) skewX(-7deg); text-shadow:4px 1px 1px rgb(var(--v8-smear-rgb) / .7); }
  72% { opacity:.38; filter:blur(2.3px); transform:translate3d(var(--glyph-pull-x),var(--glyph-pull-y),0) skewX(-13deg); text-shadow:11px 2px 5px rgb(var(--v8-smear-rgb) / .42); }
  100% { opacity:.22; filter:blur(1.8px); transform:translate3d(var(--glyph-pull-x),var(--glyph-pull-y),0) skewX(-16deg); text-shadow:12px 3px 5px rgb(var(--v8-smear-rgb) / .26); }
}
body.victory-pop .v8-smear-layer { position:absolute; z-index:5; inset:0; overflow:hidden; pointer-events:none; opacity:1; transition:opacity 4s ease; }
body.victory-pop .v8-smear-layer.is-settled { opacity:.68; }
body.victory-pop .v9-ink-imprint { position:absolute; display:block; white-space:pre; color:inherit; transform-origin:10% 55%; text-shadow:5px 2px 2px rgb(var(--ink-rgb) / .5); animation:v9-ink-pull .88s ease-out both; pointer-events:none; }
@keyframes v9-ink-pull {
  0% { opacity:.7; filter:blur(.5px); transform:translate3d(0,0,0) scale(1); }
  45% { opacity:.58; filter:blur(1.5px); transform:translate3d(var(--ink-half-x),var(--ink-half-y),0) scale(1.26,1.07) skewX(-8deg); }
  100% { opacity:.36; filter:blur(2.7px); transform:translate3d(var(--ink-dx),var(--ink-dy),0) scale(var(--ink-stretch-x),var(--ink-stretch-y)) skewX(-14deg); }
}
body.victory-pop .v8-smear-mark { position:absolute; display:block; width:var(--mark-width); height:var(--mark-height); border-radius:80% 18% 70% 22%; background:linear-gradient(90deg,rgb(var(--mark-rgb) / .88),rgb(var(--mark-rgb) / .55) 38%,rgb(var(--mark-rgb) / .18) 72%,transparent); filter:blur(1.2px); transform:rotate(var(--mark-angle)); transform-origin:0 50%; pointer-events:none; }
body.victory-pop .v8-smear-mark::after { content:""; position:absolute; left:18%; top:60%; width:5px; height:6px; border-radius:50%; background:rgb(var(--mark-rgb) / .5); }
body.victory-pop .v3-hero-meta .v4-meta-cloth { align-self:flex-start; padding:15px 24px; background-image:url('/static/images/victory-cloth-label-v1.webp'); transform:rotate(5deg); }
body.victory-pop .v2-hero__copy { z-index:3; bottom:6vh; left:4vw; width:min(520px,42vw); color:var(--pop-ink); }
body.victory-pop .v2-hero.has-fallen-letters .v2-hero__copy { transform:translateY(-150px); transition:transform .72s cubic-bezier(.2,.76,.26,1); }
@media (max-width:700px) { body.victory-pop .v2-hero.has-fallen-letters .v2-hero__copy { transform:translateY(-70px); } }
body.victory-pop .v2-hero h1 { color:var(--pop-ink); font:600 clamp(72px,7.5vw,118px)/.91 Oswald,sans-serif; letter-spacing:-.045em; text-transform:uppercase; }
body.victory-pop .v2-hero h1 em { color:#bd2d57; font-style:normal; }
body.victory-pop .v2-hero .v2-text-link { align-self:center; }
body.victory-pop .v3-hero-word span { position:relative; display:inline-block; transform-origin:50% 100%; }
body.victory-pop .v3-hero-word span::after { content:""; position:absolute; left:12%; right:12%; bottom:-.075em; height:.045em; border-radius:50%; background:var(--pop-ink); filter:blur(3px); opacity:0; pointer-events:none; }
body.victory-pop .v5-hero-line { display:block; overflow:hidden; padding-bottom:.11em; margin-bottom:-.11em; }
body.victory-pop .v5-hero-line > span { display:block; }
@media (prefers-reduced-motion:no-preference) {
  body.victory-pop .v3-hero-word span { animation:v5-letter-fall 1.38s both; animation-delay:calc(var(--fall-order) * 59ms); }
  body.victory-pop .v3-hero-word span::after { animation:v5-tile-impact 1.38s both; animation-delay:calc(var(--fall-order) * 59ms); }
  body.victory-pop .v4-pop-bubble { animation:v5-bubble-land 1.35s cubic-bezier(.22,.6,.22,1) .44s both; }
  body.victory-pop .v5-hero-line > span { animation:v5-title-rise .86s cubic-bezier(.19,1,.28,1) both; }
  body.victory-pop .v5-hero-line:first-child > span { animation-delay:1.14s; }
  body.victory-pop .v5-hero-line:last-child > span { animation-delay:1.3s; }
  body.victory-pop .v2-hero .v2-actions { animation:v5-support-rise .55s ease-out 1.62s both; }
}
@keyframes v5-letter-fall {
  0% { transform:translate3d(0,-28vh,0) rotate(var(--fall-tilt)) scale(1.03); animation-timing-function:cubic-bezier(.48,0,.88,.54); }
  43% { transform:translate3d(0,0,0) rotate(-2deg) scale(1.09,.73); animation-timing-function:cubic-bezier(.12,.54,.3,1); }
  54% { transform:translate3d(0,-.24em,0) rotate(1.5deg) scale(.98,1.04); animation-timing-function:cubic-bezier(.55,0,.82,.58); }
  66% { transform:translate3d(0,0,0) rotate(-.7deg) scale(1.04,.88); animation-timing-function:cubic-bezier(.12,.54,.3,1); }
  76% { transform:translate3d(0,-.075em,0) rotate(.4deg) scale(1); animation-timing-function:cubic-bezier(.55,0,.82,.58); }
  87% { transform:translate3d(0,0,0) rotate(0) scale(1.01,.97); }
  100% { transform:translate3d(0,0,0) rotate(0) scale(1); }
}
@keyframes v5-tile-impact { 0%,36% { opacity:0; transform:scaleX(.2); } 43% { opacity:.42; transform:scaleX(1.38); } 54% { opacity:.12; transform:scaleX(.7); } 66% { opacity:.31; transform:scaleX(1.12); } 100% { opacity:.16; transform:scaleX(1); } }
@keyframes v5-bubble-land { 0% { opacity:0; transform:translate3d(0,-32vh,0) rotate(-14deg) scale(1.03); } 48% { opacity:1; transform:translate3d(0,0,0) rotate(-4deg) scale(1.08,.84); } 64% { transform:translate3d(0,-5vh,0) rotate(-9deg) scale(.98,1.03); } 81% { transform:translate3d(0,0,0) rotate(-7deg) scale(1.02,.96); } 100% { transform:translate3d(0,0,0) rotate(-7deg) scale(1); } }
@keyframes v5-title-rise { from { transform:translate3d(0,115%,0); } to { transform:translate3d(0,0,0); } }
@keyframes v5-support-rise { from { opacity:0; transform:translate3d(0,16px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
body.victory-pop.v3-intro .v3-hero-word,
body.victory-pop.v3-intro .v2-hero__copy,
body.victory-pop.v3-intro .v3-hero-meta,
body.victory-pop.v3-intro .victory-nav { animation:none; }
@keyframes pop-bubble-in { from { opacity:0; transform:translateY(28px) rotate(-10deg) scale(.93); } to { opacity:1; transform:translateY(0) rotate(-7deg) scale(1); } }

/* Pink manifesto is the single deliberate color-block transition. */
body.victory-pop .v2-manifesto { min-height:0; background:var(--pop-pink); color:var(--pop-ink); }
body.victory-pop .v3-manifesto-stage { display:flex; flex-direction:column; justify-content:center; min-height:88svh; padding:105px 7vw 95px; }
body.victory-pop .v2-manifesto .v2-kicker { margin:0 0 26px; color:var(--pop-ink); }
body.victory-pop .v2-manifesto h2 { color:var(--pop-ink); font:600 clamp(92px,11vw,170px)/.83 Oswald,sans-serif; letter-spacing:-.055em; text-transform:uppercase; }
body.victory-pop .v2-manifesto h2 span,
body.victory-pop .v2-manifesto h2 span:nth-child(2) { margin:0; color:var(--pop-ink); font-style:normal; transform:none; }
body.victory-pop .v2-manifesto h2 span:nth-child(2) { color:#fff; -webkit-text-stroke:2px var(--pop-ink); transform:translateX(18vw); }
body.victory-pop .v2-manifesto h2 span:nth-child(3) { margin-left:7vw; }
body.victory-pop .v2-manifesto__note { margin:26px 1vw 0 auto; max-width:360px; color:var(--pop-ink); font-weight:700; line-height:1.55; }
/* Tap-to-break: one pink sheet fractures to uncover a message, without disturbing the page flow. */
body.victory-pop .v2-manifesto { background:var(--pop-ink); }
body.victory-pop .v3-manifesto-stage { display:block; min-height:88svh; padding:0; isolation:isolate; background:var(--pop-ink); }
body.victory-pop .v5-shatter-front,
body.victory-pop .v5-shatter-back { display:flex; flex-direction:column; justify-content:center; min-height:88svh; padding:105px 7vw 95px; }
body.victory-pop .v5-shatter-front { position:relative; z-index:1; background:var(--pop-pink); transition:opacity .22s ease; }
body.victory-pop .v5-shatter-back { position:absolute; z-index:0; inset:0; visibility:hidden; opacity:0; transform:translate3d(0,24px,0); background:var(--pop-ink); color:var(--pop-paper); transition:opacity .45s ease,transform .6s cubic-bezier(.2,.8,.2,1),visibility 0s .45s; }
body.victory-pop .v5-shatter-kicker { margin:0 0 22px; color:var(--pop-pale); font:600 14px/1.3 Oswald,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
body.victory-pop .v5-shatter-back h2 { margin:0; color:var(--pop-paper); font:600 clamp(84px,12vw,190px)/.85 Oswald,sans-serif; letter-spacing:-.055em; text-transform:uppercase; }
body.victory-pop .v5-shatter-back h2 span { display:block; width:auto; max-width:none; margin:0; padding:0; color:var(--pop-pink); -webkit-text-stroke:0; transform:none; }
body.victory-pop .v5-shatter-note { max-width:410px; margin:35px 0 0 auto; color:var(--pop-paper); font-size:16px; font-weight:700; line-height:1.55; }
body.victory-pop .v5-shatter-trigger { display:none; position:absolute; z-index:2; inset:0; width:100%; border:0; padding:0; background:transparent !important; color:var(--pop-ink); cursor:pointer; touch-action:manipulation; }
body.victory-pop .v2-manifesto.is-shatter-ready .v5-shatter-trigger { display:block; }
body.victory-pop .v5-shatter-trigger span { position:absolute; left:7vw; bottom:28px; border-bottom:2px solid currentColor; padding:8px 0; font:600 15px/1.2 Oswald,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
body.victory-pop .v5-shatter-cracks { position:absolute; z-index:2; inset:0; width:100%; height:100%; pointer-events:none; opacity:1; transition:opacity .24s ease; }
body.victory-pop .v2-manifesto.is-shattered .v5-shatter-cracks { opacity:0; }
body.victory-pop .v5-shatter-trigger:hover span { color:var(--pop-paper); }
body.victory-pop .v5-shatter-reset { width:max-content; min-height:44px; margin:30px 0 0; border:0; border-bottom:2px solid var(--pop-paper); border-radius:0; padding:6px 0; background:transparent !important; color:var(--pop-paper); font:600 15px/1.1 Oswald,sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; touch-action:manipulation; }
body.victory-pop .v5-shatter-reset span { margin-left:14px; color:var(--pop-pink); font-size:23px; }
body.victory-pop .v5-shatter-reset:hover { color:var(--pop-pink); border-color:var(--pop-pink); }
body.victory-pop .v5-shatter-fragments { display:none; position:absolute; z-index:3; inset:0; pointer-events:none; }
body.victory-pop .v5-shatter-fragment { position:absolute; inset:0; background:var(--pop-pink); opacity:0; }
body.victory-pop .v5-shatter-shard-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:105px 7vw 95px; font-style:normal; }
body.victory-pop .v5-shatter-fragment:nth-child(1) { clip-path:polygon(0 0,30% 0,36% 23%,22% 46%,0 37%); --shard-x:-18vw; --shard-y:-22vh; --shard-rotate:-14deg; }
body.victory-pop .v5-shatter-fragment:nth-child(2) { clip-path:polygon(30% 0,62% 0,58% 32%,36% 23%); --shard-x:5vw; --shard-y:-25vh; --shard-rotate:11deg; }
body.victory-pop .v5-shatter-fragment:nth-child(3) { clip-path:polygon(62% 0,100% 0,100% 38%,78% 46%,58% 32%); --shard-x:22vw; --shard-y:-18vh; --shard-rotate:16deg; }
body.victory-pop .v5-shatter-fragment:nth-child(4) { clip-path:polygon(0 37%,22% 46%,30% 68%,0 73%); --shard-x:-24vw; --shard-y:6vh; --shard-rotate:8deg; }
body.victory-pop .v5-shatter-fragment:nth-child(5) { clip-path:polygon(22% 46%,36% 23%,58% 32%,57% 70%,30% 68%); --shard-x:-7vw; --shard-y:18vh; --shard-rotate:-11deg; }
body.victory-pop .v5-shatter-fragment:nth-child(6) { clip-path:polygon(58% 32%,78% 46%,100% 38%,100% 75%,72% 69%,57% 70%); --shard-x:24vw; --shard-y:7vh; --shard-rotate:-13deg; }
body.victory-pop .v5-shatter-fragment:nth-child(7) { clip-path:polygon(0 73%,30% 68%,57% 70%,47% 100%,0 100%); --shard-x:-12vw; --shard-y:26vh; --shard-rotate:12deg; }
body.victory-pop .v5-shatter-fragment:nth-child(8) { clip-path:polygon(57% 70%,72% 69%,100% 75%,100% 100%,47% 100%); --shard-x:16vw; --shard-y:25vh; --shard-rotate:-10deg; }
body.victory-pop .v2-manifesto.is-shattered .v5-shatter-front { opacity:0; pointer-events:none; }
body.victory-pop .v2-manifesto.is-shattered .v5-shatter-back { visibility:visible; opacity:1; transform:none; transition-delay:.34s,.34s,0s; }
body.victory-pop .v2-manifesto.is-shattered .v5-shatter-fragments { display:block; }
@media (prefers-reduced-motion:no-preference) {
  body.victory-pop .v2-manifesto.is-crack-hit .v5-shatter-front { animation:v5-shell-tap .22s ease-out; }
  body.victory-pop .v2-manifesto.is-shattered .v5-shatter-fragment { animation:v5-shard-break .86s cubic-bezier(.2,.6,.25,1) both; }
  body.victory-pop .v2-manifesto.is-shattered .v5-shatter-fragment:nth-child(even) { animation-delay:.035s; }
}
@keyframes v5-shell-tap { 0%,100% { transform:translate3d(0,0,0); } 35% { transform:translate3d(-3px,1px,0); } 70% { transform:translate3d(2px,-1px,0); } }
@keyframes v5-shard-break { 0% { opacity:1; transform:translate3d(0,0,0) rotate(0); } 15% { opacity:1; transform:translate3d(calc(var(--shard-x) * .08),calc(var(--shard-y) * .08),0) rotate(calc(var(--shard-rotate) * .12)); } 100% { opacity:0; transform:translate3d(var(--shard-x),var(--shard-y),0) rotate(var(--shard-rotate)); } }

/* Editorial portraits: the real teacher remains the subject of both new treatments. */
body.victory-pop .v2-about { background:var(--pop-paper); color:var(--pop-ink); }
body.victory-pop .v3-about-stage { min-height:0; gap:7vw; padding:105px 7vw; }
body.victory-pop .v2-about__photo { height:min(72vw,760px); max-height:none; background:#eee; border:3px solid var(--pop-ink); transform:none; }
body.victory-pop .v2-about__photo img { object-fit:cover; object-position:50% 44%; filter:none; transform:none; }
body.victory-pop .v2-about__copy { color:var(--pop-ink); opacity:1; }
body.victory-pop .v2-about h2 { margin:20px 0 28px; color:var(--pop-ink); font:600 clamp(73px,7vw,115px)/.88 Oswald,sans-serif; letter-spacing:-.045em; text-transform:uppercase; }
body.victory-pop .v2-about h2 em { color:#bd2d57; font-style:normal; }
body.victory-pop .v2-about__bio { color:#303033; font-size:14px; line-height:1.7; }
body.victory-pop .v3-about-index { display:none; }
body.victory-pop .v3-about-meta { bottom:38px; color:var(--pop-ink); }

body.victory-pop .v4-dance { padding:100px 0; background:var(--pop-tile); background-size:160px 160px; color:var(--pop-ink); }
body.victory-pop .v4-dance__head h2 { color:var(--pop-ink); font:600 clamp(70px,8vw,132px)/.85 Oswald,sans-serif; letter-spacing:-.05em; }
body.victory-pop .v4-dance__head p { display:inline-block; box-sizing:border-box; width:fit-content; max-width:min(100%,440px); padding:12px 15px; border:2px solid var(--pop-ink); background:var(--pop-paper); box-shadow:5px 5px 0 rgba(23,23,26,.15); color:#242428; font-weight:700; }
body.victory-pop .v4-dance__head { margin-bottom:35px; }
body.victory-pop .v4-dance__viewport { overflow:visible; padding:0 7vw; }
body.victory-pop .v4-dance__track { position:relative; display:block; width:100%; max-width:1500px; height:clamp(760px,63vw,980px); margin:0 auto; }
body.victory-pop .v4-dance__card { position:absolute; width:auto; margin:0; transition:transform .4s cubic-bezier(.2,.75,.25,1),filter .4s; }
body.victory-pop .v4-dance__card--wide { z-index:2; top:23%; left:1%; width:65%; transform:rotate(-4deg); }
body.victory-pop .v4-dance__card:nth-child(2) { z-index:4; top:1%; right:2%; width:27%; transform:rotate(7deg); }
body.victory-pop .v4-dance__card:nth-child(3) { z-index:3; top:46%; right:4%; width:29%; transform:rotate(-8deg); }
body.victory-pop .v4-dance__card:hover { z-index:5; transform:rotate(0deg) translateY(-8px); }
body.victory-pop .v4-dance__open { width:100%; height:auto; aspect-ratio:9/13; border:8px solid var(--pop-paper); border-bottom-width:8px; border-radius:0; box-shadow:0 17px 3px rgba(23,23,26,.08),0 24px 25px rgba(23,23,26,.21); }
body.victory-pop .v4-dance__card--wide .v4-dance__open { aspect-ratio:16/9; }
body.victory-pop .v4-dance__card figcaption { display:inline-block; margin-top:7px; padding:7px 10px; background:var(--pop-paper); color:var(--pop-ink); font-size:12px; font-weight:600; box-shadow:3px 4px 0 rgba(23,23,26,.12); }
body.victory-pop .v4-dance__open:focus-visible { outline-offset:6px; }

body.victory-pop .v2-schedule { background:var(--pop-paper); }
body.victory-pop .v2-schedule h2 { font:600 clamp(78px,8vw,130px)/.85 Oswald,sans-serif; letter-spacing:-.05em; }
body.victory-pop .v2-schedule h2 em { color:#bd2d57; font-style:normal; }
body.victory-pop .v2-class-list { border-top:3px solid var(--pop-ink); }
body.victory-pop .v2-class { border-color:#5b5b5d; }
body.victory-pop .v2-class__name h3 { font-family:Oswald,sans-serif; font-weight:600; text-transform:uppercase; }
body.victory-pop .v9-schedule-extras { margin-top:clamp(42px,6vw,88px); border-top:3px solid var(--pop-ink); }
body.victory-pop .v9-price-list { display:grid; grid-template-columns:1fr 1fr 1.35fr; }
body.victory-pop .v9-price { display:flex; flex-direction:column; justify-content:space-between; min-height:148px; gap:22px; padding:22px clamp(12px,2.4vw,38px) 28px 0; }
body.victory-pop .v9-price + .v9-price { border-left:1px solid #a6a6a8; padding-left:clamp(14px,2.4vw,38px); }
body.victory-pop .v9-price > span { display:grid; gap:3px; color:var(--pop-ink); font:600 14px/1.25 Oswald,sans-serif; letter-spacing:.055em; text-transform:uppercase; }
body.victory-pop .v9-price small { color:#545457; font:500 12px/1.35 Manrope,sans-serif; letter-spacing:0; text-transform:none; }
body.victory-pop .v9-price strong { color:var(--pop-ink); font:600 clamp(35px,4.3vw,67px)/1 Oswald,sans-serif; letter-spacing:-.045em; white-space:nowrap; }
body.victory-pop .v9-price:last-child strong { color:#bd2d57; }
body.victory-pop .v9-schedule-address { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; border-top:1px solid #a6a6a8; padding-top:18px; }
body.victory-pop .v9-schedule-address > span { font:600 12px/1.4 Oswald,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
body.victory-pop .v9-schedule-address a { color:var(--pop-ink); font:600 14px/1.5 Manrope,sans-serif; text-decoration:underline; text-decoration-color:#bd2d57; text-underline-offset:4px; }
body.victory-pop .v9-schedule-address a:hover,
body.victory-pop .v9-schedule-address a:focus-visible { color:#bd2d57; }
/* The weekly timetable remains plain HTML; fog is an optional pointer layer. */
body.victory-pop .v5-fog-instructions { display:none; align-items:center; justify-content:space-between; gap:24px; margin:0 0 18px; }
body.victory-pop .v5-fog-instructions p { flex:1 1 auto; max-width:500px; margin:0; color:var(--pop-ink); font-size:13px; font-weight:700; line-height:1.5; }
body.victory-pop .v5-fog-instructions button { width:auto; min-height:44px; flex:none; border:0; border-bottom:2px solid var(--pop-ink); border-radius:0; padding:7px 0; background:transparent; color:var(--pop-ink); font:600 13px/1 Oswald,sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
body.victory-pop .v5-fog-instructions button span { margin-left:16px; color:#bd2d57; font-size:19px; }
body.victory-pop .v5-fog-instructions button:hover { color:#bd2d57; border-color:#bd2d57; }
body.victory-pop .v5-fog-instructions button:disabled { color:#67676a; border-color:#b4b4b6; cursor:default; }
body.victory-pop .v5-fog-mirror { position:relative; isolation:isolate; }
body.victory-pop .v5-fog-canvas { display:none; position:absolute; z-index:2; inset:0; width:100%; height:100%; touch-action:none; cursor:crosshair; }
body.victory-pop .v5-fog-sponge { display:none; position:absolute; z-index:3; top:32px; right:32px; width:164px; height:66px; border:0; padding:0; background:transparent; color:var(--pop-ink); cursor:grab; touch-action:none; transform:translate3d(var(--wipe-x,0px),var(--wipe-y,0px),0) rotate(-8deg); transition:transform .35s cubic-bezier(.2,.75,.25,1),opacity .35s; filter:drop-shadow(3px 6px 4px rgba(23,23,26,.18)); }
body.victory-pop .v5-fog-sponge img { display:block; width:100%; height:100%; object-fit:fill; }
body.victory-pop .v5-fog-sponge span { position:absolute; inset:0; display:grid; place-items:center; padding:0 12px; font:600 15px/1 Oswald,sans-serif; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; pointer-events:none; }
body.victory-pop .v5-fog-sponge.is-dragging { cursor:grabbing; transition:none; }
body.victory-pop .v2-schedule.is-fog-ready .v5-fog-instructions { display:flex; }
body.victory-pop .v2-schedule.is-fog-ready .v5-fog-canvas,
body.victory-pop .v2-schedule.is-fog-ready .v5-fog-sponge { display:block; }
body.victory-pop .v2-schedule.is-fog-cleared .v5-fog-canvas,
body.victory-pop .v2-schedule.is-fog-cleared .v5-fog-sponge { opacity:0; pointer-events:none; }
body.victory-pop .v5-fog-instructions button:focus-visible,
body.victory-pop .v5-fog-sponge:focus-visible { outline:3px solid #bd2d57; outline-offset:4px; }

body.victory-pop .v2-community { min-height:0; background:var(--pop-pink); color:var(--pop-ink); }
body.victory-pop .v2-community h2 { color:var(--pop-ink); font:600 clamp(66px,7.5vw,120px)/.85 Oswald,sans-serif; letter-spacing:-.045em; text-transform:uppercase; }
body.victory-pop .v2-community h2 em { color:#fff; font-style:normal; -webkit-text-stroke:1px var(--pop-ink); }
body.victory-pop .v2-community__intro > p:last-child,
body.victory-pop .v2-community figcaption { color:var(--pop-ink); font-weight:700; }
body.victory-pop .v2-community figure img { filter:none; border:3px solid var(--pop-ink); }
body.victory-pop .v2-community__portrait { width:100%; height:min(43vw,590px); margin:-40px 0 0 !important; }
body.victory-pop .v2-community__portrait img { object-fit:cover; object-position:50% 34%; }
body.victory-pop .v3-community-detail { display:none; }
body.victory-pop .v6-community-copy { max-width:330px; line-height:1.65; }

body.victory-pop .v2-gallery { background:var(--pop-paper); }
body.victory-pop .v3-gallery-stage { min-height:0; padding:70px 0 90px; }
body.victory-pop .v2-gallery__track { width:100%; overflow-x:auto; gap:25px; transform:none; scroll-snap-type:x proximity; scrollbar-width:thin; }
body.victory-pop .v2-gallery figure { scroll-snap-align:start; }
body.victory-pop .v2-gallery img { border:3px solid var(--pop-ink); filter:none; }
body.victory-pop .v2-news { background:var(--pop-paper); }
body.victory-pop .v2-news h3 { font-family:Oswald,sans-serif; text-transform:uppercase; }

body.victory-pop .v2-contact { min-height:85svh; background:var(--pop-tile); background-size:160px 160px; color:var(--pop-ink); }
body.victory-pop .v3-contact-word { color:transparent; -webkit-text-stroke:3px rgba(23,23,26,.25); }
body.victory-pop .v2-contact h2 { color:var(--pop-ink); font:600 clamp(100px,13vw,200px)/.82 Oswald,sans-serif; letter-spacing:-.05em; text-transform:uppercase; }
body.victory-pop .v2-contact h2 em { color:#bd2d57; font-style:normal; }
body.victory-pop .v2-contact.is-outline h2 > span { color:var(--pop-ink); -webkit-text-stroke:0; }
body.victory-pop .v2-contact__details { color:var(--pop-ink); border-color:var(--pop-ink); }
body.victory-pop .v2-contact__details a { color:var(--pop-ink); }
body.victory-pop .v2-footer { background:var(--pop-ink); color:#fff; }
body.victory-pop .v2-footer a { color:#fff; }

body.victory-pop .v2-dialog { background:var(--pop-paper); }
body.victory-pop .v2-dialog h2 { font:600 clamp(64px,6vw,96px)/.88 Oswald,sans-serif; }
body.victory-pop .v2-dialog__form .v2-button { background:var(--pop-ink) !important; }
body.victory-pop .v3-film-error,
body.victory-pop .v3-film-loading { position:absolute; left:50%; bottom:34px; z-index:2; width:max-content; max-width:calc(100% - 32px); transform:translateX(-50%); margin:0; padding:12px 18px; background:var(--pop-paper); color:var(--pop-ink); font-size:14px; text-align:center; }
body.victory-pop .v3-film-error[hidden],
body.victory-pop .v3-film-loading[hidden] { display:none; }
body.victory-pop .v3-film-error a { color:#a62049; text-decoration:underline; font-weight:700; }
body.victory-pop .v3-film-dialog [data-film-quality] { top:20px; left:24px; right:auto; width:auto; min-width:120px; height:48px; border:1px solid #fff; border-radius:0; padding:0 14px; background:rgba(23,23,26,.88) !important; color:#fff; font:600 13px/1 Oswald,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
body.victory-pop .v3-film-dialog [data-film-quality]:hover { background:#bd2d57 !important; }
body.victory-pop :focus-visible { outline:3px solid #bd2d57; outline-offset:3px; }

@media (max-width:900px) {
  body.victory-pop .v3-hero-word { top:25vh; left:4vw; font-size:14.2vw; }
  body.victory-pop .v4-pop-bubble { top:39vh; right:4vw; width:74vw; }
  body.victory-pop .v2-hero__copy { width:62vw; }
  body.victory-pop .v4-dance__track { height:clamp(620px,85vw,760px); }
  body.victory-pop .v3-about-stage { padding:75px 7vw; }
  body.victory-pop .v2-about__photo { height:70vw; }
  body.victory-pop .v2-about h2 { font-size:8vw; }
  body.victory-pop .v2-community__portrait { height:43vw; margin:-40px 0 0 !important; }
}
@media (max-width:600px) {
  body.victory-pop { background-size:108px 108px; }
  body.victory-pop .v2-hero { min-height:680px; }
  body.victory-pop .v2-hero,body.victory-pop .v4-dance { background-size:108px 108px; }
  body.victory-pop .v3-hero-meta { top:79px; left:14px; right:14px; }
  body.victory-pop .v3-hero-meta :is(span,button) { padding:13px 15px; font-size:10px; }
  body.victory-pop .v3-hero-meta .v4-meta-cloth { padding:13px 17px; }
  body.victory-pop .v3-hero-word { top:24vh; left:18px; font-size:15.3vw; }
  body.victory-pop .v4-pop-bubble { top:36vh; right:2vw; width:95vw; }
  body.victory-pop .v7-ribbon-field span { width:min(var(--ribbon-size),70px); }
  body.victory-pop .v7-ribbon-field span:nth-child(n+6) { display:none; }
  body.victory-pop .v2-hero__copy { left:20px; bottom:34px; width:calc(100% - 40px); }
  body.victory-pop .v2-hero h1 { font-size:clamp(64px,17vw,84px); }
  body.victory-pop .v2-hero .v2-actions { gap:15px; }
  body.victory-pop .v2-hero .v2-text-link { font-size:10px; }
  body.victory-pop .v3-manifesto-stage { min-height:0; padding:0; }
  body.victory-pop .v5-shatter-front,
  body.victory-pop .v5-shatter-back { min-height:0; padding:90px 20px 112px; }
  body.victory-pop .v5-shatter-shard-copy { padding:90px 20px 112px; }
  body.victory-pop .v5-shatter-trigger span { left:20px; bottom:21px; font-size:12px; }
  body.victory-pop .v5-shatter-kicker { font-size:11px; }
  body.victory-pop .v5-shatter-back h2 { font-size:17vw; line-height:.9; }
  body.victory-pop .v5-shatter-note { max-width:270px; margin:28px 0 0 auto; font-size:13px; }
  body.victory-pop .v5-shatter-reset { font-size:12px; }
  body.victory-pop .v2-manifesto h2 { font-size:17vw; line-height:.9; }
  body.victory-pop .v2-manifesto h2 span:nth-child(2) { transform:translateX(11vw); }
  body.victory-pop .v2-manifesto h2 span:nth-child(3) { margin-left:0; }
  body.victory-pop .v2-manifesto__note { margin:28px 0 0 auto; max-width:250px; font-size:12px; }
  body.victory-pop .v3-about-stage { padding:65px 20px 75px; }
  body.victory-pop .v2-about__photo { width:100%; height:115vw; max-height:590px; }
  body.victory-pop .v2-about__copy { padding-left:0; }
  body.victory-pop .v2-about h2 { font-size:17vw; }
  body.victory-pop .v3-about-meta { margin-left:0; }
  body.victory-pop .v4-dance { padding:75px 0; }
  body.victory-pop .v4-dance__head h2 { font-size:16vw; }
  body.victory-pop .v4-dance__viewport { padding:0 20px; }
  body.victory-pop .v4-dance__track { display:flex; flex-direction:column; align-items:flex-start; gap:0; height:auto; }
  body.victory-pop .v4-dance__card { position:relative; top:auto; right:auto; left:auto; }
  body.victory-pop .v4-dance__card--wide { width:94%; margin:15px 0 22px 1%; transform:rotate(-4deg); }
  body.victory-pop .v4-dance__card:nth-child(2) { width:61%; margin:-5px 1% 5px auto; transform:rotate(7deg); }
  body.victory-pop .v4-dance__card:nth-child(3) { width:68%; margin:-42px auto 0 1%; transform:rotate(-6deg); }
  body.victory-pop .v4-dance__open { height:auto; max-height:none; border-width:6px; }
  body.victory-pop .v4-dance__card--wide .v4-dance__open { height:auto; }
  body.victory-pop .v4-dance__card figcaption { max-width:100%; font-size:10px; }
  body.victory-pop .v2-schedule h2 { font-size:16vw; }
  body.victory-pop .v9-price-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.victory-pop .v9-price { min-height:122px; padding:16px 10px 19px 0; gap:16px; }
  body.victory-pop .v9-price + .v9-price { padding-left:14px; }
  body.victory-pop .v9-price:last-child { grid-column:1/-1; min-height:112px; border-top:1px solid #a6a6a8; border-left:0; padding-left:0; }
  body.victory-pop .v9-price > span { font-size:12px; }
  body.victory-pop .v9-price strong { font-size:clamp(33px,10vw,48px); }
  body.victory-pop .v9-schedule-address { align-items:flex-start; flex-direction:column; }
  body.victory-pop .v5-fog-instructions { align-items:flex-start; flex-direction:column; gap:8px; }
  body.victory-pop .v5-fog-instructions p { font-size:12px; }
  body.victory-pop .v5-fog-instructions button { font-size:11px; }
  body.victory-pop .v5-fog-sponge { top:22px; right:14px; width:140px; height:58px; }
  body.victory-pop .v5-fog-sponge span { font-size:12px; }
  body.victory-pop .v2-community h2 { font-size:15vw; }
  body.victory-pop .v2-community__portrait { grid-column:1/-1; grid-row:3; justify-self:end; width:82%; height:100vw; margin:0 !important; }
  body.victory-pop .v2-community__group { margin-bottom:0; }
  body.victory-pop .v6-community-copy { max-width:350px; }
  body.victory-pop .v2-gallery__track { gap:16px; }
  body.victory-pop .v2-contact { padding:85px 20px 35px; background-size:108px 108px; }
  body.victory-pop .v2-contact h2 { font-size:17vw; }
  body.victory-pop .v2-contact__details { background:rgba(245,245,243,.86); padding:18px; }
}
@media (max-width:380px) {
  body.victory-pop .v2-class__time { display:grid; gap:5px; }
}
@media (prefers-reduced-motion:reduce) {
  body.victory-pop .v7-ribbon-field { display:none; }
  body.victory-pop .v4-pop-bubble { animation:none; }
  body.victory-pop .v4-pop-bubble__whole,
  body.victory-pop .v3-hero-meta button.v4-meta-sponge,
  body.victory-pop .v8-smear-layer,
  body.victory-pop .v2-hero.has-fallen-letters .v2-hero__copy { transition:none; }
  body.victory-pop .v8-bubble-piece.is-falling { animation:none; transform:translate3d(var(--drop-x),var(--drop-y),0) rotate(var(--drop-rotate)) scale(var(--land-scale)); }
  body.victory-pop .v3-hero-word .v8-ink-glyph.is-erased,
  body.victory-pop .v8-ink-glyph.is-erased { animation:none; opacity:.22; filter:blur(1.8px); }
  body.victory-pop .v9-ink-imprint { animation:none; opacity:.36; filter:blur(2.7px); transform:translate3d(var(--ink-dx),var(--ink-dy),0) scale(var(--ink-stretch-x),var(--ink-stretch-y)); }
  body.victory-pop .v4-dance__card { transition:none; }
  body.victory-pop .v5-fog-sponge { transition:none; }
  body.victory-pop .v5-shatter-front,
  body.victory-pop .v5-shatter-back { transition:none; }
}
