/* Refinement of the existing VICTORY composition. Motion is progressive enhancement. */
body.victory-refined { --v3-ivory:#f0ece4; --v3-ink:#151413; --v3-cherry:#792d3d; --v3-stage-bg:linear-gradient(125deg,#242126 0%,#19171b 55%,#111215 100%); }
body.victory-refined.v3-modal-open { overflow:hidden; }
html:has(.victory-refined) { scrollbar-gutter:stable; }
.victory-refined #main-content { width:100%; max-width:none; margin:0; padding:0; overflow:clip; }
.victory-refined :where(section,div[id]) { scroll-margin-top:68px; }
html:has(.victory-refined) { scroll-behavior:smooth; }
body.victory-refined .victory-nav { position:fixed; z-index:40; display:flex; align-items:center; justify-content:space-between; min-height:68px; padding:0 4vw; background:rgba(9,9,9,.92); border:0; }
body.victory-refined .victory-nav__brand { font:500 1.45rem/1 Oswald,sans-serif; letter-spacing:.09em; }
body.victory-refined .victory-nav nav { align-items:center; gap:clamp(16px,2.2vw,34px); }
body.victory-refined .victory-nav nav a, body.victory-refined .victory-nav__book { font:500 10px/1.5 Oswald,sans-serif; letter-spacing:.12em; }
body.victory-refined .victory-nav__book { border:0; border-bottom:1px solid #736e66; padding:9px 0; background:transparent; }
body.victory-refined .victory-nav nav a:hover { color:#d8a6ad; }
body.victory-refined .victory-mobile-menu nav { position:fixed; top:60px; left:0; right:0; width:100%; padding:24px; background:#111; border:0; border-bottom:1px solid #514b47; }
body.victory-refined .victory-mobile-menu nav a { font:500 1.25rem/2 Oswald,sans-serif; }
.victory-refined .v2-kicker { color:#bdb5aa; font-size:11px; letter-spacing:.14em; }
.victory-refined .v2-button { font:500 11px/1 Oswald,sans-serif; text-transform:uppercase; letter-spacing:.09em; white-space:nowrap; }
.victory-refined .v2-button:hover { transform:none; background:#e0d7cc; border-color:#e0d7cc; }
.victory-refined .v2-button:active { transform:translateY(1px); }
.victory-refined .v2-button:hover span,.victory-refined .v2-text-link:hover span { transform:translateX(4px); }
.victory-refined .v2-text-link { font:500 11px/1.5 Oswald,sans-serif; text-transform:uppercase; letter-spacing:.09em; }
.victory-refined .flash { position:fixed; z-index:45; top:76px; left:4vw; right:4vw; max-width:700px; margin:0 auto; }

/* 01: a quiet graphite stage puts the wordmark and message first. */
.v3-hero-scroll { position:relative; background:var(--v3-ivory); }
.victory-refined .v2-hero { display:block; height:100svh; min-height:720px; background:var(--v3-stage-bg); color:var(--v2-paper); }
.victory-refined .v2-hero::before { content:none; }
.v3-hero-word { position:absolute; z-index:1; inset:18% 0 auto; display:flex; justify-content:center; font:500 24vw/.92 Oswald,sans-serif; letter-spacing:-.055em; color:var(--v2-paper); opacity:var(--hero-word-opacity,1); pointer-events:none; }
.v3-hero-word span:first-child { transform:translateX(calc(-1 * var(--hero-shift,0px))); }
.v3-hero-word span:last-child { transform:translateX(var(--hero-shift,0px)); }
.v3-hero-meta { position:absolute; z-index:3; inset:114px 4vw auto; display:flex; justify-content:space-between; font:400 10px/1.8 Oswald,sans-serif; text-transform:uppercase; letter-spacing:.13em; transform:translateY(calc(-1 * var(--hero-meta-shift,0px))); opacity:var(--hero-copy-opacity,1); }
.v3-hero-meta span:last-child { text-align:right; }
.victory-refined .v2-hero__copy { position:absolute; z-index:4; left:4vw; bottom:7vh; width:42vw; padding:0; animation:none; opacity:var(--hero-copy-opacity,1); transform:translateY(var(--hero-copy-shift,0px)); }
.victory-refined .v2-hero h1 { margin:0 0 18px; max-width:none; font-size:clamp(66px,7vw,108px); line-height:.86; }
.victory-refined .v2-hero h1 em { color:#dfacb4; }
.victory-refined .v2-hero__lead { max-width:310px; font-size:12px; line-height:1.75; }
.victory-refined .v2-actions { gap:22px; margin-top:22px; }
.v3-hero-ivory { position:absolute; z-index:0; inset:0; background:var(--v3-ivory); transform:scaleX(var(--hero-ivory-open,0)); transform-origin:center; }
.v3-intro-mark { display:none; }
body.v3-intro .v3-intro-mark { display:block; position:absolute; z-index:8; left:50%; top:48%; transform:translate(-50%,-50%); font:400 14px/1 Oswald,sans-serif; animation:v3-intro-mark 1.35s both; pointer-events:none; }
body.v3-intro .v3-hero-word { animation:v3-word-in 1.3s cubic-bezier(.22,.7,.25,1) both; }
body.v3-intro .v2-hero__copy,body.v3-intro .v3-hero-meta,body.v3-intro .victory-nav { animation:v3-meta-in 1.45s both; }
@keyframes v3-intro-mark { 0% { opacity:0;letter-spacing:.08em } 18% { opacity:1 } 50% { opacity:1;letter-spacing:.6em } 70%,100% { opacity:0;letter-spacing:.6em } }
@keyframes v3-word-in { 0%,35% { opacity:0;clip-path:inset(100% 0 0) } 100% { opacity:1;clip-path:inset(0) } }
@keyframes v3-meta-in { 0%,72% { opacity:0 } 100% { opacity:1 } }

/* 02: ivory typography transitions into the graphite stage. */
.victory-refined .v2-manifesto { padding:0; min-height:0; overflow:clip; background:var(--v3-ivory); color:var(--v3-ink); }
.v3-manifesto-stage { position:relative; min-height:100svh; padding:13vh 7vw 10vh; overflow:hidden; }
.victory-refined .v2-manifesto .v2-kicker { position:relative; z-index:2; color:#615950; margin:0 0 48px; }
.victory-refined .v2-manifesto h2 { position:relative; z-index:2; max-width:none; color:var(--v3-ink); font-size:clamp(86px,11.5vw,180px); line-height:.82; opacity:var(--philosophy-text-opacity,1); }
.victory-refined .v2-manifesto h2 span { color:var(--v3-ink); padding:0; -webkit-text-stroke:0; width:max-content; max-width:100%; }
.victory-refined .v2-manifesto h2 span:first-child { transform:translateX(var(--type-x,0px)); }
.victory-refined .v2-manifesto h2 span:nth-child(2) { margin-left:29%; font-style:italic; color:var(--v3-cherry); transform:translateX(calc(-1 * var(--type-x,0px))); }
.victory-refined .v2-manifesto h2 span:nth-child(3) { margin-left:9%; transform:translateX(var(--type-x,0px)); }
.victory-refined .v2-manifesto__note { position:relative; z-index:2; color:#5d554c; font-size:13px; max-width:320px; margin:45px 8vw 0 auto; opacity:var(--philosophy-text-opacity,1); }
.v3-letter-portal { position:absolute; z-index:3; inset:0; display:grid; place-items:center; pointer-events:none; opacity:var(--portal-opacity,0); }
.v3-letter-portal span { font:600 72svh/.8 "Cormorant Garamond",Georgia,serif; color:#090909; transform:scale(var(--portal-scale,1)); transform-origin:40% 50%; }
.v3-portal-sand { position:absolute; z-index:4; inset:0; background:var(--v3-stage-bg); opacity:var(--portal-sand-opacity,0); pointer-events:none; }

/* 03: a pinned portrait with three typographic beats. */
.victory-refined .v2-about { display:block; padding:0; background:var(--v3-stage-bg); }
.v3-about-stage { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; padding:9vh 7vw; min-height:100svh; overflow:hidden; }
.victory-refined .v2-about__photo { position:relative; z-index:2; min-height:0; width:100%; height:79svh; max-height:880px; background:#c3c0ba; transform:translateX(var(--about-photo-x,0px)) scale(var(--about-photo-scale,1)); transform-origin:25% 50%; }
.victory-refined .v2-about__photo img { filter:grayscale(.25); transform:scale(var(--about-crop,1)); }
.victory-refined .v2-about__copy { position:relative; z-index:3; max-width:none; opacity:var(--about-copy-opacity,1); }
.victory-refined .v2-about h2 { font-size:clamp(66px,7.2vw,115px); line-height:.88; }
.victory-refined .v2-about h2 em { color:#dab0b7; }
.victory-refined .v2-about__bio { max-width:350px; font-size:13px; }
.v3-about-index { position:absolute; z-index:3; top:13vh; left:47%; display:grid; gap:10px; font:500 12px/1.1 Oswald,sans-serif; text-transform:uppercase; letter-spacing:.12em; opacity:var(--about-copy-opacity,1); }
.v3-about-index span:first-child { font-size:40px; letter-spacing:-.02em; }
.v3-about-meta { position:absolute; z-index:3; bottom:3vh; left:7vw; margin:0; font:400 10px/1.75 Oswald,sans-serif; letter-spacing:.1em; text-transform:uppercase; opacity:var(--about-copy-opacity,1); }

/* 04: videos are grouped in a native, keyboard-operable carousel. */
.v4-dance { padding:105px 0 100px; background:var(--v3-ivory); color:var(--v3-ink); }
.v4-dance__head { display:flex; align-items:end; justify-content:space-between; gap:32px; margin:0 7vw 38px; }
.victory-refined .v4-dance__head h2 { margin:0 0 15px; color:var(--v3-ink); font:500 clamp(60px,6.6vw,105px)/.9 "Cormorant Garamond",Georgia,serif; letter-spacing:-.055em; text-transform:uppercase; }
.v4-dance__head p { max-width:440px; margin:0; color:#5d554c; font-size:13px; line-height:1.6; }
.v4-dance__controls { display:flex; align-items:center; flex:none; gap:14px; }
.v4-dance__controls button { display:grid; place-items:center; width:48px; height:48px; border:1px solid #857a77; border-radius:50%; background:transparent; color:var(--v3-ink); font-size:22px; cursor:pointer; transition:color .25s,background .25s,border-color .25s; }
.v4-dance__controls button:not(:disabled):hover { background:var(--v3-cherry); border-color:var(--v3-cherry); color:#fff; }
.v4-dance__controls button:disabled { opacity:.35; cursor:default; }
.v4-dance__controls span { min-width:43px; text-align:center; font:500 11px/1 Oswald,sans-serif; letter-spacing:.12em; }
.v4-dance__viewport { overflow-x:auto; overflow-y:hidden; padding:0 7vw 22px; scrollbar-width:thin; scrollbar-color:#968d88 transparent; overscroll-behavior-inline:contain; }
.v4-dance__track { display:flex; align-items:start; gap:22px; width:max-content; }
.v4-dance__card { flex:none; margin:0; }
.v4-dance__card--wide { width:min(65vw,900px); }
.v4-dance__card--portrait { width:min(28vw,390px); }
.v4-dance__open { position:relative; display:block; width:100%; height:clamp(340px,42vw,560px); padding:0; border:0; overflow:hidden; background:#161619; cursor:pointer; }
.v4-dance__open img { display:block; width:100%; height:100%; object-fit:cover; filter:brightness(.88); transition:transform .5s,filter .3s; }
.v4-dance__open:hover img { transform:scale(1.025); filter:brightness(1); }
.v4-dance__play { position:absolute; top:50%; left:50%; display:grid; place-items:center; width:64px; height:64px; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:rgba(17,18,21,.45); color:#fff; font-size:20px; transform:translate(-50%,-50%); backdrop-filter:blur(4px); }
.v4-dance__card figcaption { padding-top:13px; color:#5d554c; font:500 11px/1.5 Oswald,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.v4-dance__controls button:focus-visible,.v4-dance__open:focus-visible,.v4-dance__viewport:focus-visible { outline:2px solid var(--v3-cherry); outline-offset:3px; }
.v3-film-dialog { position:fixed; width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; inset:0; border:0; margin:0; padding:0; background:#090909; }
.v3-film-dialog::backdrop { background:#090909; }
.v3-film-dialog video { width:100%; height:100%; object-fit:contain; }
.v3-film-dialog button { position:absolute; z-index:2; top:20px; right:24px; width:48px; height:48px; border:1px solid #b6b0a7; border-radius:50%; color:#fff; background:#151413; font-size:30px; cursor:pointer; }

/* Schedule keeps database-driven rows, with no card surfaces. */
.victory-refined .v2-schedule { display:block; padding:75px 7vw 110px; background:var(--v3-ivory); color:var(--v3-ink); }
.victory-refined .v2-schedule__intro { position:static; display:grid; grid-template-columns:1.5fr 1fr; column-gap:8vw; align-items:end; }
.victory-refined .v2-schedule__intro .v2-kicker { grid-column:1/-1; color:#665e53; }
.victory-refined .v2-schedule h2 { font-size:clamp(70px,7.2vw,120px); color:var(--v3-ink); margin:28px 0 45px; }
.victory-refined .v2-schedule h2 em { color:var(--v3-cherry); }
.victory-refined .v2-schedule__intro > p:last-child { color:#5d554c; font-size:13px; margin:0 0 50px; max-width:310px; }
.victory-refined .v2-class-list { border-color:#8d857a; }
.victory-refined .v2-class { min-height:132px; grid-template-columns:1fr 1.6fr auto; gap:30px; background:transparent; border-color:#bcb4a9; transition:opacity .3s,color .3s; }
.victory-refined .v2-class:hover { padding-inline:0; background:transparent; color:var(--v3-cherry); }
.victory-refined .v2-class-list:has(.v2-class:hover) .v2-class:not(:hover) { opacity:.55; }
.victory-refined .v2-class__time { color:#5a5248; font-size:12px; }
.victory-refined .v2-class__time time { color:var(--v3-ink); font:500 32px/1 Oswald,sans-serif; }
.victory-refined .v2-class__name h3 { color:inherit; font-size:clamp(27px,3.3vw,54px); }
.victory-refined .v2-class__name p { color:#60584e; font:400 11px/1.5 Oswald,sans-serif; text-transform:uppercase; letter-spacing:.1em; }
body.victory-refined .v2-class__book { display:inline-flex; gap:26px; align-items:center; justify-content:space-between; border:0; padding:12px 0; color:var(--v3-ink); font:500 11px/1 Oswald,sans-serif; text-transform:uppercase; letter-spacing:.1em; text-decoration:none; }
body.victory-refined .v2-class__book:hover { background:none; color:var(--v3-cherry); }
.victory-refined .v2-class__book span { color:var(--v3-cherry); font-size:20px; }
.victory-refined .v2-class__book:hover span { transform:translateX(5px); }

/* Community: asymmetric photographic sizes; one horizontal scroll sequence. */
.victory-refined .v2-community { padding:100px 7vw 70px; min-height:950px; display:grid; grid-template-columns:1.1fr 1.7fr .7fr; gap:28px; background:var(--v3-ivory); color:var(--v3-ink); }
.victory-refined .v2-community__intro { grid-column:1; grid-row:1; padding-top:0; }
.victory-refined .v2-community .v2-kicker { color:#635a50; }
.victory-refined .v2-community h2 { color:var(--v3-ink); font-size:clamp(58px,6.7vw,106px); }
.victory-refined .v2-community h2 em { color:var(--v3-cherry); }
.victory-refined .v2-community__intro > p:last-child { color:#5d554c; max-width:240px; font-size:13px; }
.victory-refined .v2-community figure { overflow:visible; background:none; }
.victory-refined .v2-community figure img { height:100%; filter:grayscale(.2); }
.victory-refined .v2-community__group { grid-column:2/4; grid-row:1; width:100%; height:37vw; max-height:530px; margin-top:100px; }
.victory-refined .v2-community__portrait { grid-column:1; grid-row:2; width:75%; height:27vw; max-height:430px; margin:-100px 0 0 !important; }
.v3-community-detail { grid-column:3; grid-row:2; height:20vw; max-height:300px; margin:0 !important; }
.victory-refined .v2-community figcaption { padding-top:10px; color:#5d554c; font:400 10px/1.5 Oswald,sans-serif; text-transform:uppercase; letter-spacing:.12em; }
.victory-refined .v2-gallery { padding:0; background:var(--v3-ivory); color:var(--v3-ink); overflow:clip; }
.v3-gallery-stage { position:relative; min-height:90svh; padding:70px 0; overflow:hidden; }
.v3-gallery-meta { display:flex; justify-content:space-between; margin:0 7vw 32px; color:#62584d; font:400 10px/1.5 Oswald,sans-serif; text-transform:uppercase; letter-spacing:.13em; }
.victory-refined .v2-gallery__track { overflow:visible; padding:0 7vw; gap:45px; width:max-content; transform:translateX(var(--gallery-x,0px)); scroll-snap-type:none; }
.victory-refined .v2-gallery figure { flex:0 0 31vw; width:31vw; }
.victory-refined .v2-gallery figure:nth-child(2) { flex-basis:51vw; width:51vw; margin-top:70px; }
.victory-refined .v2-gallery figure:nth-child(3) { flex:0 0 min(31vw,35svh); width:min(31vw,35svh); margin-top:25px; }
.victory-refined .v2-gallery figure:nth-child(4) { margin-top:85px; }
.victory-refined .v2-gallery img { height:62svh; min-height:340px; max-height:660px; filter:grayscale(.15); }
.victory-refined .v2-gallery figure:nth-child(2) img { height:48svh; }
.victory-refined .v2-gallery figcaption { color:#635a50; text-transform:uppercase; font-size:10px; }
.victory-refined .v2-news { background:var(--v3-ivory); color:var(--v3-ink); padding:60px 7vw 100px; }
.victory-refined .v2-news :is(.v2-kicker,.v2-text-link,.v2-news__list time,.v2-news__list p) { color:#5d554c; }
.victory-refined .v2-news h3 { color:var(--v3-ink); }
.victory-refined .v2-news__list article { border-color:#bcb4a9; }

/* 05: the contact section returns to matte graphite. */
.victory-refined .v2-contact { padding:125px 7vw 35px; min-height:88svh; background:var(--v3-stage-bg); isolation:isolate; }
.victory-refined .v2-contact::before { content:none; }
.v3-contact-word { position:absolute; z-index:0; top:14%; left:-2%; color:transparent; -webkit-text-stroke:1px rgba(240,236,228,.14); font:500 28vw/1 Oswald,sans-serif; letter-spacing:-.055em; pointer-events:none; }
.victory-refined .v2-contact .v2-kicker { position:relative; }
.victory-refined .v2-contact h2 { position:relative; z-index:1; font-size:clamp(92px,13vw,200px); max-width:none; line-height:.83; margin:38px 0; }
.victory-refined .v2-contact h2 em { color:#e2b6bc; }
.victory-refined .v2-contact.is-outline h2 > span { color:transparent; -webkit-text-stroke:1px #e9e0d5; }
.victory-refined .v2-contact__details { z-index:1; margin-top:100px; font-size:11px; border-color:#5d554c; }
.victory-refined .v2-footer { padding:28px 4vw; }
.victory-refined .v2-footer__brand { font-family:Oswald,sans-serif; }

/* Booking: selected class survives reopening and is submitted to the same endpoint. */
body.victory-refined .v2-dialog { width:min(550px,100%); max-width:none; background:var(--v3-ivory); color:var(--v3-ink); }
body.victory-refined .v2-dialog[open] { animation:v3-panel-in .6s cubic-bezier(.22,.7,.25,1) both; }
body.victory-refined .v2-dialog.is-closing { animation:v3-panel-out .35s ease both; }
.victory-refined .v2-dialog::backdrop { background:rgba(0,0,0,.55); backdrop-filter:blur(2px); }
.victory-refined .v2-dialog__form { padding:60px 50px 40px; }
.victory-refined .v2-dialog .v2-kicker { color:#62594f; margin:20px 0 36px; }
body.victory-refined .v2-dialog h2 { font-size:clamp(64px,5.6vw,88px); line-height:.87; letter-spacing:-.055em; }
.victory-refined .v2-dialog__class { color:#5d554c; font-size:12px; line-height:1.7; border-color:#b0a69a; margin:30px 0 12px; }
.victory-refined .v2-dialog__form input { border-bottom-color:#95897a; padding:8px 0; background:transparent; box-shadow:none; }
.victory-refined .v2-dialog__form label { color:#50473e; font-size:11px; }
.victory-refined .v2-dialog__form .v2-button { width:100%; margin-top:40px; justify-content:space-between; color:var(--v3-ivory); background:var(--v3-ink) !important; border-color:var(--v3-ink); }
.victory-refined .v2-dialog__form .v2-button:hover { background:var(--v3-cherry) !important; border-color:var(--v3-cherry); }
.victory-refined .v2-dialog__close { border:0; top:15px; right:20px; border-radius:0; background:transparent !important; }
.victory-refined .v3-film-dialog button { background:#151413 !important; }
.victory-refined .v3-booking-fallback button { background:var(--v3-ivory) !important; }
.v3-booking-anchor { height:0; }
.v3-booking-fallback { padding:50px 7vw; background:var(--v3-ivory); color:var(--v3-ink); }
.v3-booking-fallback form { display:grid; gap:14px; max-width:500px; }
.v3-booking-fallback input { min-height:44px; }
@keyframes v3-panel-in { from { transform:translateX(100%) } to { transform:translateX(0) } }
@keyframes v3-panel-out { to { transform:translateX(100%) } }

/* Mask reveals are deliberately selective, not a uniform cascade on every element. */
.victory-refined .v2-reveal { opacity:1; }
body.v3-reveal-enabled .v2-reveal { clip-path:inset(0 0 100%); }
body.v3-reveal-enabled .v2-reveal.is-visible { clip-path:inset(0); transition:clip-path .9s cubic-bezier(.22,.7,.25,1); }
body.v3-reveal-enabled .v2-class.v2-reveal { clip-path:none; }
body.v3-reveal-enabled .v2-community__portrait.v2-reveal { transition-duration:1.2s; }
@media (min-width:901px) {
  body.v3-scroll-enabled .v3-hero-scroll { height:185svh; }
  body.v3-scroll-enabled .v2-hero { position:sticky; top:0; min-height:0; }
  body.v3-scroll-enabled .v2-manifesto { height:175svh; }
  body.v3-scroll-enabled .v3-manifesto-stage { position:sticky; top:0; height:100svh; }
  body.v3-scroll-enabled .v2-about { height:220svh; }
  body.v3-scroll-enabled .v3-about-stage { position:sticky; top:0; height:100svh; }
  body.v3-scroll-enabled .v2-gallery { height:210svh; }
  body.v3-scroll-enabled .v3-gallery-stage { position:sticky; top:0; height:100svh; }
}
@media (max-width:1100px) {
  .victory-refined .v2-hero__copy { width:42vw; }
  .victory-refined .v2-hero h1 { font-size:72px; }
  .victory-refined .v2-actions { gap:15px; }
  body.victory-refined .victory-nav nav { gap:17px; }
}
@media (max-width:900px) {
  body.victory-refined .victory-nav { min-height:60px; padding-inline:22px; }
  body.victory-refined .victory-nav > nav,body.victory-refined .victory-nav__book { display:none; }
  body.victory-refined .victory-mobile-menu { display:block; }
  .victory-refined .v2-hero { min-height:720px; }
  .v3-hero-word { top:21%; font-size:26vw; }
  .victory-refined .v2-hero__copy { width:47vw; }
  .v3-hero-meta { inset:95px 22px auto; }
  .v3-manifesto-stage { min-height:0; padding:100px 7vw; }
  .victory-refined .v2-manifesto h2 { font-size:12vw; }
  .v3-about-stage { min-height:0; padding:90px 7vw; gap:6vw; }
  .victory-refined .v2-about__photo { height:75vw; }
  .victory-refined .v2-about h2 { font-size:7.7vw; }
  .v3-about-index { left:46%; top:110px; }
  .v3-about-meta { bottom:35px; }
  .v4-dance { padding:80px 0; }
  .v4-dance__card--wide { width:70vw; }
  .v4-dance__card--portrait { width:38vw; }
  .victory-refined .v2-schedule__intro { column-gap:5vw; }
  .victory-refined .v2-community { min-height:0; padding:70px 7vw; }
  .victory-refined .v2-community h2 { font-size:8vw; }
  .victory-refined .v2-community__portrait { margin:-40px 0 0 !important; }
  .v3-gallery-stage { min-height:0; padding:35px 0 65px; }
  .victory-refined .v2-gallery__track { width:100%; overflow-x:auto; padding:0 7vw 20px; gap:24px; scroll-snap-type:x mandatory; }
  .victory-refined .v2-gallery figure,.victory-refined .v2-gallery figure:nth-child(2),.victory-refined .v2-gallery figure:nth-child(3),.victory-refined .v2-gallery figure:nth-child(4) { width:65vw; flex:0 0 65vw; margin:0; scroll-snap-align:center; }
  .victory-refined .v2-gallery figure:nth-child(3) { width:min(36vw,330px); flex:0 0 min(36vw,330px); margin:0; }
  .victory-refined .v2-gallery img,.victory-refined .v2-gallery figure:nth-child(2) img { height:70vw; min-height:0; max-height:600px; }
  .victory-refined .v2-contact { min-height:0; padding:90px 7vw 35px; }
}
@media (max-width:600px) {
  .victory-refined :where(section,div[id]) { scroll-margin-top:60px; }
  .victory-refined .v2-hero { height:100svh; min-height:620px; display:block; }
  .v3-hero-word { inset:31% 0 auto; font-size:27vw; }
  .v3-hero-meta { inset:87px 20px auto; font-size:9px; }
  .victory-refined .v2-hero__copy { left:20px; bottom:30px; width:calc(100% - 40px); padding:0; }
  .victory-refined .v2-hero h1 { font-size:clamp(54px,15.5vw,82px); margin:0 0 14px; line-height:.86; }
  .victory-refined .v2-hero__lead { max-width:300px; font-size:11px; line-height:1.7; }
  .victory-refined .v2-actions { margin-top:19px; gap:24px; }
  .victory-refined .v2-button { min-height:48px; padding-inline:17px; font-size:10px; }
  .v3-manifesto-stage { padding:92px 20px 80px; }
  .victory-refined .v2-manifesto .v2-kicker { font-size:10px; margin-bottom:40px; }
  .victory-refined .v2-manifesto h2 { font-size:14.5vw; line-height:.88; }
  .victory-refined .v2-manifesto h2 span:nth-child(2) { margin-left:37%; }
  .victory-refined .v2-manifesto h2 span:nth-child(3) { margin-left:3%; }
  .victory-refined .v2-manifesto__note { max-width:270px; margin:36px 0 0 auto; font-size:12px; }
  .v3-about-stage { grid-template-columns:1fr; padding:60px 20px 75px; gap:34px; }
  .victory-refined .v2-about__photo { width:86%; height:110vw; max-height:580px; }
  .victory-refined .v2-about__copy { padding-left:7%; }
  .victory-refined .v2-about h2 { font-size:17vw; margin:22px 0; }
  .victory-refined .v2-about__bio { font-size:12px; max-width:290px; }
  .v3-about-index { top:78px; left:auto; right:24px; writing-mode:vertical-rl; font-size:10px; }
  .v3-about-index span:first-child { font-size:24px; }
  .v3-about-meta { position:static; margin:0 0 0 7%; font-size:9px; }
  .v4-dance { padding:70px 0 75px; }
  .v4-dance__head { display:block; margin:0 20px 28px; }
  .victory-refined .v4-dance__head h2 { font-size:clamp(58px,15vw,76px); }
  .v4-dance__head p { max-width:315px; font-size:12px; }
  .v4-dance__controls { margin-top:24px; }
  .v4-dance__viewport { padding:0 20px 18px; }
  .v4-dance__track { gap:14px; }
  .v4-dance__card--wide { width:calc(100vw - 40px); }
  .v4-dance__card--portrait { width:70vw; }
  .v4-dance__open { height:95vw; max-height:470px; }
  .v4-dance__card--wide .v4-dance__open { height:68vw; }
  .v4-dance__card figcaption { font-size:10px; }
  .victory-refined .v2-schedule { padding:75px 20px; }
  .victory-refined .v2-schedule__intro { display:block; }
  .victory-refined .v2-schedule h2 { font-size:16.5vw; margin:25px 0; }
  .victory-refined .v2-schedule__intro > p:last-child { margin:0 0 36px; font-size:12px; max-width:270px; }
  .victory-refined .v2-class { grid-template-columns:1fr auto; gap:12px; min-height:135px; padding:20px 0; }
  .victory-refined .v2-class__time { font-size:10px; align-items:center; gap:12px; }
  .victory-refined .v2-class__time time { font-size:20px; }
  .victory-refined .v2-class__name h3 { font-size:27px; }
  .victory-refined .v2-class__name p { font-size:9px; }
  body.victory-refined .v2-class__book { gap:14px; font-size:9px; min-width:100px; }
  .victory-refined .v2-class-list:has(.v2-class:hover) .v2-class:not(:hover) { opacity:1; }
  .victory-refined .v2-community { grid-template-columns:1.15fr 1fr; gap:18px; padding:60px 20px 40px; }
  .victory-refined .v2-community__intro { grid-column:1/-1; grid-row:1; padding:0; }
  .victory-refined .v2-community h2 { font-size:15vw; margin:25px 0; }
  .victory-refined .v2-community__intro > p:last-child { font-size:12px; max-width:270px; }
  .victory-refined .v2-community__group { grid-column:1/-1; grid-row:2; height:64vw; margin:20px 0 25px; }
  .victory-refined .v2-community__portrait { grid-column:1; grid-row:3; width:100%; height:75vw; margin:0 !important; }
  .v3-community-detail { grid-column:2; grid-row:3; height:50vw; margin:40px 0 0 !important; }
  .victory-refined .v2-community figcaption { font-size:9px; }
  .v3-gallery-meta { margin:0 20px 28px; font-size:9px; }
  .victory-refined .v2-gallery__track { padding-inline:20px; }
  .victory-refined .v2-gallery figure,.victory-refined .v2-gallery figure:nth-child(2),.victory-refined .v2-gallery figure:nth-child(3),.victory-refined .v2-gallery figure:nth-child(4) { flex-basis:78vw; width:78vw; }
  .victory-refined .v2-gallery figure:nth-child(3) { flex-basis:68vw; width:68vw; }
  .victory-refined .v2-gallery img,.victory-refined .v2-gallery figure:nth-child(2) img { height:95vw; }
  .victory-refined .v2-contact { padding:80px 20px 30px; }
  .victory-refined .v2-contact h2 { font-size:18vw; line-height:.86; margin:32px 0; }
  .v3-contact-word { top:23%; font-size:29vw; }
  .victory-refined .v2-contact__details { grid-template-columns:1fr; gap:20px; margin-top:80px; font-size:11px; }
  .victory-refined .v2-footer { padding:25px 20px 35px; grid-template-columns:1fr auto; }
  .victory-refined .v2-footer__brand { grid-column:auto; }
  .victory-refined .v2-footer > span:nth-child(2) { grid-row:2; }
  .victory-refined .v2-footer > a:nth-child(3) { grid-row:3; grid-column:1/-1; }
  .victory-refined .v2-dialog__form { padding:65px 28px 35px; }
  body.victory-refined .v2-dialog h2 { font-size:19vw; }
}
@media (prefers-reduced-motion:reduce) {
  html:has(.victory-refined) { scroll-behavior:auto; }
  body.victory-refined *,body.victory-refined *::before,body.victory-refined *::after { animation:none !important; transition:none !important; }
  .v3-intro-mark { display:none !important; }
  .victory-refined .v2-reveal { opacity:1 !important;clip-path:none !important;transform:none !important; }
}
