/* HOME — intro, heroes, home sections (shared nav/footer/btn live in components.css) */
body.site-home section{position:relative;padding:clamp(84px,11vw,150px) 0;border-top:1px solid var(--line)}
body.site-home section::after{content:"";position:absolute;right:-5vw;top:14%;width:26vw;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);transform:rotate(-14deg);opacity:.18;pointer-events:none}

/* Intro lockup structure */
.intro{position:fixed;inset:0;z-index:3200;display:grid;place-items:center;overflow:hidden;background:transparent;pointer-events:none;transition:opacity .03s linear,visibility .03s linear}.intro.done,.subpage #intro{opacity:0;visibility:hidden;pointer-events:none}.intro.done *,.subpage #intro *{animation:none!important}
.intro-panel{position:absolute;inset:-14%;z-index:1;background:#020202;will-change:transform,opacity}.intro-panel.upper{clip-path:polygon(0 0,100% 0,100% 40%,0 60%);animation:introPanelUpper .38s cubic-bezier(.72,0,.22,1) .82s forwards}.intro-panel.lower{clip-path:polygon(0 60%,100% 40%,100% 100%,0 100%);animation:introPanelLower .38s cubic-bezier(.72,0,.22,1) .82s forwards}
.intro-stage{position:relative;z-index:4;display:grid;justify-items:center;align-content:center;width:min(920px,92vw);min-height:560px;transform:translateY(-1vh);animation:introStageOut .10s linear .84s forwards}
.intro-symbol-cut{position:relative;width:clamp(300px,29vw,440px);aspect-ratio:1/1;opacity:0;transform:scale(.74) rotate(-5deg);animation:introSymbolStageIn .30s cubic-bezier(.16,.84,.22,1) .05s forwards}
.intro-symbol-cut img,.intro-wordmark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;will-change:transform,opacity,filter}
.intro-symbol-cut img{filter:drop-shadow(0 0 42px rgba(224,29,38,.5))}
.intro-symbol-cut .symbol-top{clip-path:polygon(0 0,100% 0,100% 40%,0 60%);animation:symbolTopCut .22s cubic-bezier(.7,0,.25,1) .61s forwards}
.intro-symbol-cut .symbol-mid{display:none}
.intro-symbol-cut .symbol-bottom{clip-path:polygon(0 60%,100% 40%,100% 100%,0 100%);animation:symbolBottomCut .22s cubic-bezier(.7,0,.25,1) .61s forwards}
.cut-overlay{position:absolute;inset:0;z-index:9;width:100%;height:100%;overflow:visible;pointer-events:none}.cut-overlay line{fill:none;stroke:#fff;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:150;stroke-dashoffset:150;opacity:0;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 9px #e01d26) drop-shadow(0 0 18px rgba(224,29,38,.8))}.cut-overlay line.ghost{stroke:#e01d26;stroke-width:.9;filter:drop-shadow(0 0 8px rgba(224,29,38,.9))}
.symbol-cut-1{animation:cutSnap .16s cubic-bezier(.1,.82,.2,1) .55s forwards}.symbol-ghost-1{animation:ghostSnap .22s ease-out .565s forwards}.symbol-cut-2,.symbol-ghost-2{display:none}
.intro-wordmark{position:relative;width:min(610px,76vw);aspect-ratio:218.07/139.76;margin-top:-72px;opacity:0;transform:translateY(12px) scale(.98);animation:introWordmarkIn .25s cubic-bezier(.18,.82,.2,1) .16s forwards}.intro-wordmark img{filter:brightness(0) invert(1)}
.intro-wordmark .word-top{clip-path:polygon(0 0,100% 0,100% 40%,0 60%);animation:wordTopCut .22s cubic-bezier(.7,0,.25,1) .82s forwards}.intro-wordmark .word-mid{display:none}.intro-wordmark .word-bottom{clip-path:polygon(0 60%,100% 40%,100% 100%,0 100%);animation:wordBottomCut .22s cubic-bezier(.7,0,.25,1) .82s forwards}
.word-cut-1{animation:cutSnap .16s cubic-bezier(.1,.82,.2,1) .74s forwards}.word-ghost-1{animation:ghostSnap .22s ease-out .755s forwards}.word-cut-2,.word-ghost-2{display:none}
.intro-caption{margin-top:-26px;color:#69696e;font-size:10px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;opacity:0;animation:introCaptionIn .20s ease .25s forwards}
/* Screen slash aligned with wordmark cut. */
.intro-screen-slash{position:absolute;left:-16vw;top:50%;z-index:7;width:132vw;height:4px;background:linear-gradient(90deg,transparent 0%,rgba(224,29,38,.12) 13%,#e01d26 35%,#fff 50%,#e01d26 64%,rgba(224,29,38,.12) 87%,transparent 100%);box-shadow:0 0 12px #fff,0 0 32px rgba(224,29,38,.92);transform:rotate(-9deg) translateX(-120%);opacity:0;animation:screenBlade .28s cubic-bezier(.1,.84,.22,1) .74s forwards}.intro-screen-slash::after{content:"";position:absolute;left:6%;top:14px;width:88%;height:1px;background:rgba(224,29,38,.55)}
.intro-flash{position:absolute;inset:0;z-index:8;background:white;pointer-events:none;opacity:0;animation:introFlash .075s linear .82s forwards}
@keyframes introSymbolStageIn{0%{opacity:0;transform:scale(.56) rotate(-10deg);filter:blur(7px)}70%{opacity:1}100%{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}
@keyframes cutSnap{0%{opacity:0;stroke-dashoffset:150}10%{opacity:1}68%{opacity:1;stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:-90}}
@keyframes ghostSnap{0%{opacity:0;stroke-dashoffset:150}20%{opacity:.72}64%{opacity:.22;stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:-35}}
@keyframes symbolTopCut{0%,8%{transform:none;opacity:1}100%{transform:translate(-13px,-12px) rotate(-1.8deg);opacity:.1}}
@keyframes symbolBottomCut{0%,8%{transform:none;opacity:1}100%{transform:translate(13px,12px) rotate(1.8deg);opacity:.1}}
@keyframes introWordmarkIn{to{opacity:1;transform:none}}@keyframes introCaptionIn{to{opacity:1}}
@keyframes wordTopCut{0%,8%{transform:none;opacity:1}100%{transform:translate(-16px,-9px) rotate(-1.2deg);opacity:.06;filter:brightness(0) invert(1) blur(.8px)}}
@keyframes wordBottomCut{0%,8%{transform:none;opacity:1}100%{transform:translate(16px,9px) rotate(1.2deg);opacity:.06;filter:brightness(0) invert(1) blur(.8px)}}
@keyframes introStageOut{to{opacity:0;visibility:hidden}}
@keyframes screenBlade{0%{opacity:0;transform:rotate(-9deg) translateX(-120%) scaleX(.35)}10%{opacity:1}68%{opacity:1;transform:rotate(-9deg) translateX(0) scaleX(1)}100%{opacity:0;transform:rotate(-9deg) translateX(118%) scaleX(.38)}}
@keyframes introPanelUpper{to{transform:translate(-11vw,-21vh) rotate(-1.8deg);opacity:0}}@keyframes introPanelLower{to{transform:translate(11vw,21vh) rotate(1.8deg);opacity:0}}@keyframes introFlash{0%,100%{opacity:0}50%{opacity:.34}}


/* hero */
.hero{min-height:100svh;padding:100px 0 38px;display:flex;align-items:flex-end;border:0;overflow:hidden;background:#060606}.hero-grid{position:absolute;inset:0;opacity:.32;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,black,transparent 88%)}.hero-glow{position:absolute;width:70vw;height:70vw;right:-20vw;top:-25vw;border-radius:50%;background:radial-gradient(circle,rgba(224,29,38,.24),rgba(224,29,38,.05) 30%,transparent 67%);filter:blur(8px)}.hero-line{position:absolute;width:110vw;height:2px;left:-10vw;top:49%;transform:rotate(-11deg);background:linear-gradient(90deg,transparent 8%,var(--red),white,var(--red),transparent 92%);box-shadow:0 0 24px rgba(224,29,38,.65);opacity:.7}.hero-line::before,.hero-line::after{content:"";position:absolute;left:23%;width:54%;height:1px;background:rgba(224,29,38,.6)}.hero-line::before{top:-26px}.hero-line::after{top:22px}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48;filter:saturate(.78) contrast(1.08)}
.hero-silhouettes{position:absolute;right:-3%;bottom:0;width:min(62vw,890px);height:82%;display:flex;align-items:end;justify-content:flex-end;gap:min(1.7vw,24px);opacity:.82;pointer-events:none;z-index:4}.silhouette{height:78%;width:18%;background:linear-gradient(180deg,#1d1d20 0,#0b0b0c 60%,#050505 100%);clip-path:polygon(22% 5%,66% 0,82% 11%,81% 28%,96% 42%,89% 100%,12% 100%,6% 45%,19% 28%);border:1px solid rgba(255,255,255,.07);filter:drop-shadow(-18px 0 28px rgba(0,0,0,.85));position:relative;transform-origin:bottom center}.silhouette:nth-child(1){height:63%;transform:translateY(5%) rotate(-2deg)}.silhouette:nth-child(2){height:75%}.silhouette:nth-child(3){height:86%;z-index:2}.silhouette:nth-child(4){height:69%;transform:translateY(4%) rotate(2deg)}.silhouette::after{content:"PLAYER";position:absolute;left:50%;bottom:10%;transform:translateX(-50%) rotate(-90deg);font-size:10px;letter-spacing:.3em;color:rgba(255,255,255,.12)}
/* Classic B: photo fills the slot (standing cutout), not intrinsic thumb size under the match strip */
.hero:not(.hero-dynamic) .hero-silhouettes{bottom:112px;height:calc(82% - 24px);min-height:360px}
.hero:not(.hero-dynamic) .silhouette.has-photo{
  background:none!important;
  clip-path:none!important;
  border-color:transparent;
  overflow:visible;
  filter:drop-shadow(-18px 0 28px rgba(0,0,0,.85));
  position:relative;
  flex-shrink:0;
}
.hero:not(.hero-dynamic) .silhouette.has-photo::after{content:none}
.hero:not(.hero-dynamic) .silhouette.has-photo .classic-hero-player-image,
.hero-dynamic .hero-dynamic-figure.has-photo .classic-hero-player-image,
.hero-dynamic .hero-dynamic-figure.has-photo [data-hero-figure-img],
.hero-dynamic .hero-dynamic-figure.has-photo img{
  position:absolute;
  left:50%;
  bottom:0;
  width:auto;
  max-width:none;
  transform:translateX(-50%);
  object-fit:contain;
  object-position:center bottom;
  display:block;
  pointer-events:none;
}
.hero:not(.hero-dynamic) .silhouette:nth-child(1).has-photo .classic-hero-player-image{height:clamp(220px,38vh,480px)}
.hero:not(.hero-dynamic) .silhouette:nth-child(2).has-photo .classic-hero-player-image{height:clamp(260px,44vh,540px)}
.hero:not(.hero-dynamic) .silhouette:nth-child(3).has-photo .classic-hero-player-image{height:clamp(300px,50vh,600px)}
.hero:not(.hero-dynamic) .silhouette:nth-child(4).has-photo .classic-hero-player-image{height:clamp(240px,40vh,500px)}
.hero-dynamic .hero-dynamic-figure.has-photo .classic-hero-player-image,
.hero-dynamic .hero-dynamic-figure.has-photo [data-hero-figure-img],
.hero-dynamic .hero-dynamic-figure.has-photo img{height:clamp(340px,58vh,720px)}
.hero:not(.hero-dynamic) .silhouette.has-photo.is-flipped .classic-hero-player-image,
.hero-dynamic .hero-dynamic-figure.has-photo.is-flipped .classic-hero-player-image,
.hero-dynamic .hero-dynamic-figure.has-photo.is-flipped [data-hero-figure-img]{transform:translateX(-50%) scaleX(-1)}
@media(max-width:720px){
  .hero:not(.hero-dynamic) .silhouette:nth-child(1).has-photo .classic-hero-player-image{height:clamp(180px,32vh,360px)}
  .hero:not(.hero-dynamic) .silhouette:nth-child(2).has-photo .classic-hero-player-image{height:clamp(210px,36vh,400px)}
  .hero:not(.hero-dynamic) .silhouette:nth-child(3).has-photo .classic-hero-player-image{height:clamp(240px,40vh,440px)}
  .hero:not(.hero-dynamic) .silhouette:nth-child(4).has-photo .classic-hero-player-image{height:clamp(190px,34vh,380px)}
  .hero-dynamic .hero-dynamic-figure.has-photo .classic-hero-player-image,
  .hero-dynamic .hero-dynamic-figure.has-photo [data-hero-figure-img],
  .hero-dynamic .hero-dynamic-figure.has-photo img{height:clamp(260px,48vh,560px)}
}
@media(max-width:720px){
  .hero:not(.hero-dynamic) .hero-silhouettes{bottom:222px}
}
.hero-inner{position:relative;z-index:3;width:min(var(--max),calc(100% - var(--pad)*2));margin:auto}.hero-copy{max-width:780px;padding-bottom:7vh}.hero-eyebrow{display:flex;align-items:center;gap:10px;color:#d3d3d3;font-size:12px;font-weight:750;letter-spacing:.12em}.hero-eyebrow .live{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(224,29,38,.12);animation:pulse 1.7s infinite}@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(224,29,38,0)}}.hero-title{margin:18px 0 0;font-size:clamp(72px,12vw,178px);line-height:.72;letter-spacing:-.075em;font-weight:950;text-transform:uppercase}.hero-title span{display:block}.hero-title .stroke{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.45);transform:translateX(7%)}.hero-desc{margin-top:32px;max-width:510px;color:#bbb;font-size:15px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.hero-bottom{width:100%;border-top:1px solid var(--line);display:grid;grid-template-columns:1.3fr 1fr 1fr;min-height:92px}.hero-stat{padding:17px 24px;border-right:1px solid var(--line);display:flex;align-items:center;gap:14px}.hero-stat:last-child{border:0}.hero-stat strong{font-size:30px;line-height:1}.hero-stat span{font-size:11px;color:#a7a7aa;line-height:1.4;text-transform:uppercase;letter-spacing:.07em}.ticker{overflow:hidden;display:flex;align-items:center;position:relative}.ticker-track{display:flex;width:max-content;animation:ticker 23s linear infinite}.ticker-item{white-space:nowrap;padding:0 30px;color:#bbb;font-size:12px}.ticker-item b{color:white;margin-right:14px}.ticker-item em{color:var(--red);font-style:normal;margin-right:8px}@keyframes ticker{to{transform:translateX(-50%)}}

/* match stage */
.match-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:18px}.next-match{position:relative;min-height:500px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(135deg,#111 0,#080808 45%,#17090b 100%)}.next-match::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,rgba(224,29,38,.12) 48.2%,transparent 48.7%);transform:skewX(-17deg)}.match-top{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#aaa}.match-top .status{color:var(--red);font-weight:850}.versus{min-height:360px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:42px}.team-mark{display:grid;justify-items:center;text-align:center;gap:12px}.team-mark img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 0 25px rgba(224,29,38,.25))}.team-mark .fake-mark{width:92px;height:92px;border:1px solid var(--line);display:grid;place-items:center;font-size:22px;font-weight:900;color:#737378}.team-mark b{font-size:clamp(20px,3vw,34px);letter-spacing:-.035em;text-transform:uppercase}.team-mark span{font-size:11px;color:#777}.vs{font-size:13px;font-weight:900;color:#777;position:relative}.vs::before,.vs::after{content:"";position:absolute;left:50%;width:1px;height:74px;background:linear-gradient(transparent,var(--line),transparent)}.vs::before{bottom:34px}.vs::after{top:34px}.match-foot{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:#aaa;font-size:12px}.result-panel{border:1px solid var(--line);background:#090909;padding:24px;display:flex;flex-direction:column}.result-panel h3{font-size:18px;margin:0 0 18px}.result-list{display:grid;gap:0}.result-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.result-row .rank{font-size:20px;font-weight:900;color:#555}.result-row.ours .rank,.result-row.ours b{color:var(--red)}.result-row span:last-child{color:#777}.result-cta{margin-top:auto;padding-top:24px}

/* teams */
.teams{overflow:hidden}.team-switch{display:flex;border-bottom:1px solid var(--line);margin-bottom:0}.team-switch button{appearance:none;border:0;background:none;color:#777;padding:16px 24px;font-weight:850;font-size:13px;letter-spacing:.04em;border-bottom:2px solid transparent;cursor:pointer}.team-switch button.active{color:white;border-bottom-color:var(--red)}.roster-stage{position:relative;min-height:640px;border-bottom:1px solid var(--line);overflow:hidden}.roster-bg{position:absolute;inset:0;background:radial-gradient(circle at 74% 30%,rgba(224,29,38,.18),transparent 38%),linear-gradient(110deg,#0a0a0a 0,#0a0a0a 38%,#101011 38%,#070707 100%)}.roster-word{position:absolute;right:-2%;top:8%;font-size:clamp(100px,17vw,250px);line-height:.8;font-weight:950;color:rgba(255,255,255,.025);letter-spacing:-.08em;text-transform:uppercase}.roster-meta{position:absolute;left:clamp(20px,5vw,70px);top:64px;z-index:3;max-width:390px}.roster-meta .league{color:var(--red);font-size:11px;font-weight:850;letter-spacing:.13em}.roster-meta h3{font-size:clamp(38px,5vw,72px);line-height:.9;margin:14px 0 16px;letter-spacing:-.055em}.roster-meta p{color:#9c9ca0;font-size:14px}.players{position:absolute;inset:0 0 0 36%;display:flex;align-items:flex-end;justify-content:flex-end;padding-right:2vw}.player-card{position:relative;height:84%;width:25%;min-width:0;border-left:1px solid rgba(255,255,255,.07);overflow:hidden;transition:width .45s cubic-bezier(.2,.7,.2,1),background .3s}.player-card:hover{width:34%;background:rgba(224,29,38,.055)}.player-body{position:absolute;left:8%;right:8%;bottom:-4%;height:83%;background:linear-gradient(180deg,#242426,#0d0d0f 68%,#070707);clip-path:polygon(28% 0,70% 0,82% 12%,84% 30%,98% 43%,92% 100%,8% 100%,2% 43%,16% 30%,18% 12%);filter:drop-shadow(-12px 0 20px rgba(0,0,0,.5));transition:transform .35s}.player-card:hover .player-body{transform:scale(1.035) translateY(-1%)}.player-number{position:absolute;right:10px;top:24px;font-size:60px;font-weight:950;color:rgba(255,255,255,.04)}.player-info{position:absolute;left:18px;bottom:22px;z-index:4}.player-info small{display:block;color:var(--red);font-size:9px;font-weight:850;letter-spacing:.16em}.player-info b{display:block;font-size:clamp(16px,2vw,28px);text-transform:uppercase;letter-spacing:-.04em}.player-info span{font-size:10px;color:#7d7d81}.player-slash{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s}.player-card:hover .player-slash{transform:scaleX(1)}



/* HOME Gwangju section — scoped under .gwangju */
.gwangju{overflow:hidden;background:#080808}.gwangju .city-word{position:absolute;left:-2vw;bottom:-4vw;font-size:clamp(140px,25vw,360px);font-weight:950;letter-spacing:-.085em;color:rgba(255,255,255,.018);line-height:.7;pointer-events:none}.gwangju .city-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.gwangju .city-copy{position:relative;z-index:2;padding:32px 0}.gwangju .city-copy h3{font-size:clamp(52px,8vw,112px);line-height:.82;letter-spacing:-.065em;margin:18px 0 28px;text-transform:uppercase}.gwangju .city-copy p{max-width:540px;color:#a2a2a6}.gwangju .city-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.gwangju .route-map{position:relative;min-height:520px;border:1px solid var(--line);background:linear-gradient(150deg,#0b0b0c,#090909);overflow:hidden}.gwangju .route-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px}.gwangju .route-line{position:absolute;left:14%;top:18%;width:70%;height:64%}.gwangju .route-line svg{width:100%;height:100%;overflow:visible}.gwangju .route-line path{fill:none;stroke:var(--red);stroke-width:2;stroke-dasharray:7 10;filter:drop-shadow(0 0 7px rgba(224,29,38,.6));animation:dash 12s linear infinite}@keyframes dash{to{stroke-dashoffset:-200}}.gwangju .route-node{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.08),0 0 22px rgba(224,29,38,.55)}.gwangju .route-node span{position:absolute;left:17px;top:-6px;white-space:nowrap;font-size:10px;color:#aaa;letter-spacing:.05em}.gwangju .n1{left:18%;top:24%}.gwangju .n2{left:60%;top:18%}.gwangju .n3{left:75%;top:54%}.gwangju .n4{left:42%;top:76%}.gwangju .n5{left:17%;top:66%}.gwangju .route-card{position:absolute;right:22px;bottom:22px;width:min(270px,65%);border:1px solid var(--line);background:rgba(8,8,8,.88);backdrop-filter:blur(12px);padding:18px}.gwangju .route-card small{color:var(--red);font-weight:850}.gwangju .route-card b{display:block;margin-top:5px;font-size:18px}.gwangju .route-card p{font-size:11px;color:#888;margin-top:8px}

/* partners + business */
.partner-marquee{overflow:hidden;border-block:1px solid var(--line);padding:22px 0}.partner-track{display:flex;width:max-content;animation:ticker 32s linear infinite}.partner-logo{width:200px;height:70px;margin-right:12px;border:1px solid var(--line);display:grid;place-items:center;color:#525257;font-weight:850;font-size:13px;letter-spacing:.12em}.business-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:46px}.business-main{border:1px solid var(--line);padding:36px;background:linear-gradient(135deg,#0d0d0f,#080808)}.business-main h3{font-size:clamp(36px,5vw,64px);line-height:.93;letter-spacing:-.05em;margin:0 0 20px}.business-main p{color:#999;max-width:650px}.business-list{display:grid;border:1px solid var(--line)}.business-list div{padding:20px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:34px 1fr;gap:12px}.business-list div:last-child{border:0}.business-list span{color:var(--red);font-size:11px;font-weight:900}.business-list b{font-size:13px}

/* Desktop rhythm + hero accents */
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(108deg,transparent 0 64%,rgba(224,29,38,.06) 64.15% 64.35%,transparent 64.5%),linear-gradient(108deg,transparent 0 73%,rgba(255,255,255,.035) 73.1% 73.2%,transparent 73.3%)}
.hero-line{height:3px;top:47%;transform:rotate(-13deg)}.hero-line::before{top:-34px;transform:translateX(8%)}.hero-line::after{top:31px;transform:translateX(-6%)}

/* Match center lobby (8 teams) */
.match-layout{grid-template-columns:minmax(0,1.58fr) minmax(330px,.42fr);gap:20px;align-items:stretch}.next-match{min-height:590px;background:linear-gradient(145deg,#101011 0,#080808 52%,#150708 100%)}.next-match::after{content:"08 TEAMS";position:absolute;right:-12px;bottom:42px;font-size:clamp(68px,6.3vw,122px);font-weight:950;letter-spacing:-.07em;color:rgba(255,255,255,.022);line-height:.7;pointer-events:none}.lobby-head{padding:28px 30px 10px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.lobby-head h3{margin:0;font-size:clamp(34px,3.1vw,58px);line-height:.92;letter-spacing:-.045em}.lobby-head p{margin:0;color:#777;font-size:11px;text-align:right;letter-spacing:.06em;text-transform:uppercase}.lobby-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:22px 28px 88px}.lobby-team{position:relative;min-height:152px;border:1px solid var(--line);background:rgba(8,8,9,.78);padding:18px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:.28s ease;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}.lobby-team::before{content:"";position:absolute;right:-42px;top:28px;width:95px;height:1px;background:var(--red);transform:rotate(-28deg);opacity:.28}.lobby-team:hover{border-color:rgba(255,255,255,.32);transform:translateY(-4px);background:#101012}.lobby-team.ours{border-color:rgba(224,29,38,.65);background:linear-gradient(145deg,rgba(224,29,38,.18),#0a0a0b 60%);box-shadow:inset 3px 0 0 var(--red)}.lobby-index{font-size:10px;color:#5c5c61;letter-spacing:.16em}.lobby-team.ours .lobby-index{color:var(--red)}.lobby-logo{width:48px;height:48px;display:grid;place-items:center;border:0;background:transparent;font-size:12px;font-weight:900;color:#69696e}.lobby-logo img{width:34px;height:34px;object-fit:contain;background:transparent}.lobby-team.ours .lobby-logo img{filter:drop-shadow(0 0 16px rgba(224,29,38,.45))}.lobby-name b{display:block;font-size:15px;line-height:1.05;letter-spacing:-.02em}.lobby-name span{display:block;margin-top:5px;font-size:9px;color:#666;letter-spacing:.08em}.match-foot{padding:17px 28px}.result-panel{padding:28px;min-height:590px}.result-panel h3{font-size:22px}.result-list{grid-template-columns:1fr 1fr;column-gap:18px}.result-row{grid-template-columns:38px 1fr auto;padding:13px 0}.result-row:nth-child(2){border-top:1px solid var(--line)}.result-row .rank{font-size:17px}.result-row b{font-size:11px}.result-row span:last-child{font-size:9px}.result-cta{padding-top:18px}

/* Slash hover accents on visual panels */
.roster-stage,.route-map{clip-path:polygon(0 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%)}.route-map::after{content:"";position:absolute;left:-35%;top:52%;width:170%;height:1px;background:linear-gradient(90deg,transparent,var(--red),rgba(255,255,255,.65),var(--red),transparent);transform:rotate(-13deg) scaleX(0);transform-origin:left;opacity:.55;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.route-map:hover::after{transform:rotate(-13deg) scaleX(1)}

@media(min-width:1500px) and (min-height:850px){
  :root{--max:1710px;--pad:clamp(56px,4vw,84px)}
  .hero{height:100vh;min-height:900px;padding:110px 0 0}.hero-copy{max-width:940px;padding-bottom:12vh}.hero-title{font-size:clamp(136px,9.8vw,188px);line-height:.72}.hero-desc{font-size:17px;max-width:580px}.hero-silhouettes{width:min(57vw,1060px);height:86%;right:-1%}.hero-bottom{min-height:100px}.hero-stat{padding-inline:30px}
  body.site-home section{padding:108px 0}body.site-home .section-title{font-size:clamp(68px,4.8vw,94px)}body.site-home .section-head{margin-bottom:58px}body.site-home .section-copy{font-size:16px;max-width:620px}
  #matches{min-height:100vh;display:flex;align-items:center;padding-top:116px;padding-bottom:90px}.lobby-grid{gap:12px}.lobby-team{min-height:164px}.result-panel,.next-match{min-height:610px}
  .roster-stage{min-height:690px}.gwangju .city-layout{grid-template-columns:.92fr 1.08fr}.gwangju .route-map{min-height:590px}
}
.hero-title .stroke{color:rgba(255,255,255,.08);-webkit-text-stroke:1.5px rgba(255,255,255,.78);letter-spacing:-.065em}
@media(min-width:1900px) and (min-height:1000px){.hero-copy{padding-bottom:13vh}.hero-title{font-size:190px}body.site-home .section-head{margin-bottom:62px}.lobby-team{min-height:170px}}
@media(max-width:1050px){.lobby-grid{grid-template-columns:repeat(2,1fr)}.match-layout{grid-template-columns:1fr}.result-panel{min-height:auto}.result-list{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.intro-symbol-wrap{width:180px}.intro-type-wrap{width:160px}.lobby-head{padding:22px 18px 6px;align-items:flex-start;flex-direction:column}.lobby-head p{text-align:left}.lobby-grid{grid-template-columns:repeat(2,1fr);padding:18px 16px 72px;gap:8px}.lobby-team{min-height:125px;padding:13px}.lobby-logo{width:38px;height:38px}.match-layout{grid-template-columns:1fr}.result-list{grid-template-columns:1fr}.result-row:nth-child(2){border-top:1px solid var(--line)}.next-match{min-height:auto}.next-match::after{font-size:72px}.match-foot{position:absolute}.result-panel{min-height:auto}}

@media(max-width:1050px){
  .hero-silhouettes{right:-15%;width:76vw;opacity:.48}.hero-copy{padding-bottom:5vh}.match-layout,.gwangju .city-layout,.business-grid{grid-template-columns:1fr}.players{left:30%}.roster-meta{max-width:300px}body.site-home .section-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:720px){
  .hero{padding-top:86px}.hero-silhouettes{right:-38%;width:110vw;opacity:.32}.hero-title{font-size:clamp(70px,24vw,116px)}.hero-title .stroke{transform:none}.hero-desc{max-width:82%}.hero-bottom{grid-template-columns:1fr 1fr}.ticker{grid-column:span 2;min-height:55px;border-top:1px solid var(--line)}.hero-stat{padding:14px 18px}.hero-stat strong{font-size:24px}.match-layout{grid-template-columns:1fr}.versus{padding:28px 18px}.team-mark img,.team-mark .fake-mark{width:65px;height:65px}.match-foot{position:static}.next-match{min-height:auto}.roster-stage{min-height:730px}.roster-meta{left:20px;top:38px;right:20px}.players{left:0;top:240px;height:490px;padding:0}.player-card{height:100%;width:25%}.player-card:hover{width:31%}.player-info{left:8px;bottom:14px}.player-number{font-size:34px;right:4px}.gwangju .city-copy h3{font-size:clamp(62px,20vw,108px)}.gwangju .route-map{min-height:440px}body.site-home .section-title{font-size:clamp(42px,15vw,72px)}
}

/* v8 hero spacing correction — keep the lockup dramatic without crushing short viewports */
@media(min-width:721px){
  .hero{min-height:max(780px,100svh);padding:128px 0 118px;align-items:center}
  .hero-inner{width:min(var(--max),calc(100% - max(var(--pad),48px)*2));margin-inline:auto}
  .hero-copy{max-width:900px;padding:24px 0 46px}
  .hero-title{margin-top:28px;font-size:clamp(82px,8.8vw,156px);line-height:.86;letter-spacing:-.066em}
  .hero-title.hero-title--motion{line-height:.86}
  .hero-title span+span{margin-top:.09em}
  .hero-title--motion span.hero-title-line + span.hero-title-line{margin-top:-.14em}
  .hero-title .stroke{transform:translateX(1.5%)}
  .hero-desc{margin-top:42px;max-width:570px;line-height:1.72}
  .hero-actions{margin-top:30px}
  .hero-bottom{position:absolute;left:0;right:0;bottom:0}
}
@media(min-width:721px) and (max-height:720px){
  .hero{min-height:780px}
  .hero-copy{padding-top:54px}
  .hero-title{font-size:clamp(82px,8vw,126px)}
}
@media(max-width:720px){
  .intro-stage{min-height:440px;width:92vw}
  .intro-symbol-cut{width:clamp(165px,48vw,220px)}
  .intro-wordmark{width:min(390px,78vw);margin-top:-28px}
  .intro-caption{margin-top:-14px;font-size:8px;letter-spacing:.2em}
  .hero{min-height:760px;padding-bottom:142px;align-items:center}
  .hero-copy{padding:30px 0 0}
  .hero-title{line-height:.88;letter-spacing:-.06em;margin-top:22px}
  .hero-title.hero-title--motion{line-height:.88}
  .hero-title span+span{margin-top:.08em}
  .hero-title--motion span.hero-title-line + span.hero-title-line{margin-top:-.12em}
  .hero-desc{margin-top:30px;line-height:1.65}
  .hero-bottom{position:absolute;left:0;right:0;bottom:0}
}

/* Intro timing — final motion values */
.intro{transition:opacity .14s ease,visibility .14s ease}
.intro-stage{width:min(900px,92vw);min-height:600px;transform:translateY(-2vh);display:flex;flex-direction:column;align-items:center;justify-content:center}
.intro-symbol-cut{width:clamp(260px,23vw,350px);opacity:0;transform:scale(.78) rotate(-4deg);animation:v10LockupIn .34s cubic-bezier(.16,.84,.22,1) .08s forwards}
.intro-wordmark{width:min(350px,56vw);margin-top:-45px;opacity:0;transform:translateY(12px) scale(.97);animation:v10WordIn .34s cubic-bezier(.18,.82,.2,1) .16s forwards}
.intro-caption{margin-top:-22px;animation:v10CaptionIn .2s ease .30s forwards}

/* One diagonal cut per lockup asset. */
.intro-symbol-cut .symbol-mid,.intro-wordmark .word-mid{display:none!important}
.intro-symbol-cut .symbol-top{clip-path:polygon(0 0,100% 0,100% 42%,0 61%);animation:v10SymbolTop .24s cubic-bezier(.7,0,.25,1) .70s forwards}
.intro-symbol-cut .symbol-bottom{clip-path:polygon(0 61%,100% 42%,100% 100%,0 100%);animation:v10SymbolBottom .24s cubic-bezier(.7,0,.25,1) .70s forwards}
.intro-wordmark .word-top{clip-path:polygon(0 0,100% 0,100% 42%,0 61%);animation:v10WordTop .25s cubic-bezier(.7,0,.25,1) .88s forwards}
.intro-wordmark .word-bottom{clip-path:polygon(0 61%,100% 42%,100% 100%,0 100%);animation:v10WordBottom .25s cubic-bezier(.7,0,.25,1) .88s forwards}

.symbol-cut-1{animation:v10Cut .145s cubic-bezier(.05,.86,.18,1) .58s forwards!important}
.symbol-ghost-1{animation:v10Ghost .22s ease-out .59s forwards!important}
.word-cut-1{animation:v10Cut .145s cubic-bezier(.05,.86,.18,1) .76s forwards!important}
.word-ghost-1{animation:v10Ghost .22s ease-out .77s forwards!important}
.symbol-cut-2,.symbol-ghost-2,.word-cut-2,.word-ghost-2{display:none!important}

/* Shared blade trajectory for symbol + wordmark cuts. */
.cut-overlay line{stroke-width:1.9;stroke-dasharray:150;stroke-dashoffset:150}
.intro-screen-slash{top:52%;animation:v10ScreenBlade .34s cubic-bezier(.08,.86,.2,1) .96s forwards!important}
.intro-flash{animation:v10Flash .10s linear 1.07s forwards!important}
.intro-panel.upper{animation:v10PanelUpper .52s cubic-bezier(.76,0,.22,1) 1.08s forwards!important}
.intro-panel.lower{animation:v10PanelLower .52s cubic-bezier(.76,0,.22,1) 1.08s forwards!important}

@keyframes v10LockupIn{0%{opacity:0;transform:scale(.66) rotate(-7deg);filter:blur(6px)}75%{opacity:1}100%{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}
@keyframes v10WordIn{0%{opacity:0;transform:translateY(18px) scale(.95);filter:blur(4px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes v10CaptionIn{to{opacity:1}}
@keyframes v10Cut{0%{opacity:0;stroke-dashoffset:150}8%{opacity:1}62%{opacity:1;stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:-82}}
@keyframes v10Ghost{0%{opacity:0;stroke-dashoffset:150}18%{opacity:.65}70%{opacity:.18;stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:-28}}
@keyframes v10SymbolTop{0%,5%{transform:none;opacity:1}100%{transform:translate(-13px,-9px) rotate(-1.6deg);opacity:.05}}
@keyframes v10SymbolBottom{0%,5%{transform:none;opacity:1}100%{transform:translate(13px,9px) rotate(1.6deg);opacity:.05}}
@keyframes v10WordTop{0%,5%{transform:none;opacity:1}100%{transform:translate(-18px,-8px) rotate(-1deg);opacity:.06;filter:brightness(0) invert(1) blur(.6px)}}
@keyframes v10WordBottom{0%,5%{transform:none;opacity:1}100%{transform:translate(18px,8px) rotate(1deg);opacity:.06;filter:brightness(0) invert(1) blur(.6px)}}
@keyframes v10ScreenBlade{0%{opacity:0;transform:rotate(-9deg) translateX(-120%) scaleX(.28)}10%{opacity:1}68%{opacity:1;transform:rotate(-9deg) translateX(0) scaleX(1)}100%{opacity:0;transform:rotate(-9deg) translateX(118%) scaleX(.34)}}
@keyframes v10PanelUpper{to{transform:translate(-10vw,-18vh) rotate(-1.7deg);opacity:0}}
@keyframes v10PanelLower{to{transform:translate(10vw,18vh) rotate(1.7deg);opacity:0}}
@keyframes v10Flash{0%,100%{opacity:0}50%{opacity:.30}}

@media(max-width:720px){
  .intro-stage{min-height:520px}
  .intro-symbol-cut{width:clamp(210px,55vw,290px)}
  .intro-wordmark{width:min(250px,64vw);margin-top:-32px}
}



/* v13 — fan-facing NEWS + SHOP sections */
.news-head-side{max-width:560px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}.news-head-side p{color:#929298;font-size:14px;line-height:1.7}.text-link{font-size:11px;font-weight:900;letter-spacing:.12em;display:inline-flex;gap:12px;align-items:center}.text-link span{color:var(--red);font-size:16px}
.news-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:14px}.news-feature{position:relative;min-height:650px;border:1px solid var(--line);background:#09090a;overflow:hidden;display:grid;grid-template-rows:1fr auto;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}.news-feature-art{position:relative;min-height:390px;overflow:hidden;background:radial-gradient(circle at 72% 30%,rgba(224,29,38,.22),transparent 28%),linear-gradient(145deg,#141416 0,#0a0a0b 52%,#101012 100%)}.news-feature-art::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 86px,rgba(255,255,255,.025) 87px 88px),repeating-linear-gradient(0deg,transparent 0 86px,rgba(255,255,255,.02) 87px 88px)}.news-feature-number{position:absolute;right:-1vw;bottom:-5vw;font-size:clamp(180px,25vw,360px);font-weight:950;line-height:.8;color:rgba(255,255,255,.025);letter-spacing:-.09em}.news-slash{position:absolute;height:2px;background:linear-gradient(90deg,transparent,var(--red),#fff,var(--red),transparent);transform-origin:left center;box-shadow:0 0 18px rgba(224,29,38,.35)}.news-slash.s1{width:78%;left:4%;top:54%;transform:rotate(-13deg)}.news-slash.s2{width:55%;right:-8%;top:32%;transform:rotate(-13deg);opacity:.28}.asset-label{position:absolute;left:24px;top:22px;font-size:9px;font-weight:800;letter-spacing:.13em;color:#666}.news-feature-copy{position:relative;padding:30px 32px 32px;border-top:1px solid var(--line)}.news-meta{display:flex;gap:14px;align-items:center;font-size:9px;font-weight:800;letter-spacing:.11em;color:#6f6f75}.news-meta span{color:var(--red)}.news-feature h3{font-size:clamp(34px,4.8vw,68px);line-height:.92;letter-spacing:-.055em;margin:14px 0 16px;max-width:850px}.news-feature p{color:#8c8c91;font-size:13px;line-height:1.65;max-width:680px}.news-arrow{margin-top:22px;display:inline-flex;align-items:center;gap:12px;font-size:10px;font-weight:900;letter-spacing:.12em}.news-arrow b{color:var(--red);font-size:15px}.news-feature::after{content:"";position:absolute;inset:-30% auto auto -65%;width:65%;height:170%;background:linear-gradient(100deg,transparent,rgba(224,29,38,.2),transparent);transform:rotate(12deg);transition:transform .75s cubic-bezier(.2,.8,.2,1)}.news-feature:hover::after{transform:translateX(250%) rotate(12deg)}
.news-list{border-top:1px solid var(--line)}.news-row{position:relative;min-height:145px;border:1px solid var(--line);border-top:0;padding:24px 22px;display:grid;grid-template-columns:42px 1fr 30px;gap:16px;align-items:center;background:#09090a;overflow:hidden}.news-index{font-size:11px;color:#555;font-weight:900}.news-row h3{font-size:clamp(17px,1.45vw,23px);line-height:1.12;letter-spacing:-.035em;margin:9px 0 0}.news-row-arrow{justify-self:end;color:#555;font-size:20px;transition:transform .3s,color .3s}.news-row::before{content:"";position:absolute;left:-25%;top:50%;width:55%;height:1px;background:linear-gradient(90deg,transparent,var(--red),#fff);transform:rotate(-13deg) scaleX(0);transform-origin:left;transition:transform .38s}.news-row:hover{background:#0e0e10}.news-row:hover::before{transform:rotate(-13deg) scaleX(1.7)}.news-row:hover .news-row-arrow{transform:translate(3px,-3px);color:var(--red)}.news-channel{border:1px solid var(--line);border-top:0;padding:22px;display:flex;justify-content:space-between;gap:20px;align-items:end;background:linear-gradient(130deg,rgba(224,29,38,.06),transparent)}.news-channel small{display:block;color:var(--red);font-size:9px;font-weight:900;letter-spacing:.12em}.news-channel strong{display:block;margin-top:8px;font-size:13px;letter-spacing:.03em}.news-channel span{color:#777;font-size:10px;text-align:right;max-width:180px}
.shop-section{overflow:hidden;padding-top:0}.shop-marquee{border-block:1px solid var(--line);padding:14px 0;overflow:hidden;margin-bottom:54px}.shop-track{display:flex;width:max-content;animation:ticker 24s linear infinite}.shop-track span{font-size:clamp(30px,5vw,68px);font-weight:950;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.2);letter-spacing:-.05em;padding-right:30px}.shop-drop{border:1px solid var(--line);display:grid;grid-template-columns:.82fr 1.18fr;min-height:610px;background:#080809;clip-path:polygon(0 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%)}.shop-copy{padding:38px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);background:linear-gradient(145deg,#0e0e10,#080808)}.drop-no{margin:34px 0 8px;color:var(--red);font-size:11px;font-weight:900;letter-spacing:.18em}.shop-copy h2{font-size:clamp(50px,7vw,100px);line-height:.84;letter-spacing:-.065em;margin:0}.shop-copy-bottom p{max-width:430px;color:#929298;font-size:13px;line-height:1.7;margin-bottom:24px}.drop-stage{position:relative;min-height:610px;overflow:hidden;background:radial-gradient(circle at 53% 44%,rgba(224,29,38,.24),transparent 27%),linear-gradient(145deg,#141416,#070708 65%)}.drop-stage::before{content:"DROP 012";position:absolute;left:2%;bottom:-1vw;font-size:clamp(94px,15vw,220px);font-weight:950;letter-spacing:-.085em;color:rgba(255,255,255,.025);white-space:nowrap}.drop-orbit{position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-16deg)}.drop-orbit.o1{width:70%;aspect-ratio:1}.drop-orbit.o2{width:48%;aspect-ratio:1;border-color:rgba(224,29,38,.13)}.drop-card{position:absolute;border:1px solid rgba(255,255,255,.13);background:linear-gradient(155deg,#19191c,#0b0b0c);box-shadow:0 32px 80px rgba(0,0,0,.46);display:flex;flex-direction:column;justify-content:space-between;padding:18px;transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .3s}.drop-card span{font-size:9px;color:var(--red);font-weight:900}.drop-card b{font-size:11px;letter-spacing:.08em;color:#606067}.drop-card.d1{width:25%;height:56%;left:14%;top:20%;transform:rotate(-9deg)}.drop-card.d2{width:32%;height:40%;left:37%;top:31%;transform:rotate(4deg)}.drop-card.d3{width:24%;height:52%;right:10%;top:17%;transform:rotate(10deg)}.drop-stage:hover .d1{transform:rotate(-13deg) translate(-10px,-10px);border-color:rgba(224,29,38,.45)}.drop-stage:hover .d2{transform:rotate(1deg) translateY(10px);border-color:rgba(224,29,38,.45)}.drop-stage:hover .d3{transform:rotate(14deg) translate(10px,-8px);border-color:rgba(224,29,38,.45)}.drop-caption{position:absolute;left:26px;right:26px;bottom:24px;display:flex;justify-content:space-between;gap:18px;align-items:end}.drop-caption small{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.12em}.drop-caption strong{font-size:11px;color:#777;font-weight:600;text-align:right}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.product-card{border:1px solid var(--line);background:#09090a;overflow:hidden}.product-thumb{position:relative;min-height:260px;background:linear-gradient(145deg,#121214,#080809);overflow:hidden}.product-thumb::after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.055);right:-40px;top:-45px;transform:rotate(45deg)}.product-thumb>span{display:none}.mini-slash{position:absolute;width:120%;height:2px;left:-10%;top:54%;background:linear-gradient(90deg,transparent,var(--red),#fff,var(--red),transparent);transform:rotate(-13deg) scaleX(0);transition:transform .5s cubic-bezier(.2,.8,.2,1);transform-origin:center;pointer-events:none}.product-card:hover .mini-slash{transform:rotate(-13deg) scaleX(1)}.product-info{padding:19px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;align-items:end}.product-info small{color:var(--red);font-size:8px;font-weight:900;letter-spacing:.12em}.product-info h3{margin:6px 0 0;font-size:16px;letter-spacing:-.03em}.product-info>b{font-size:9px;color:#777;white-space:nowrap}.product-card:hover .product-info>b{color:var(--red)}
@media(max-width:1050px){.news-layout{grid-template-columns:1fr}.news-feature{min-height:580px}.news-list{display:grid;grid-template-columns:1fr 1fr;border-top:0}.news-row{border-top:1px solid var(--line)}.news-channel{border-top:1px solid var(--line)}.shop-drop{grid-template-columns:1fr}.shop-copy{min-height:430px;border-right:0;border-bottom:1px solid var(--line)}.product-grid{grid-template-columns:1fr 1fr}.product-card:last-child{grid-column:span 2}.drop-stage{min-height:540px}}
@media(max-width:720px){.news-head-side{max-width:none}.news-layout{display:block}.news-feature{min-height:0;margin-bottom:10px}.news-feature-art{min-height:320px}.news-feature-copy{padding:24px 20px 26px}.news-feature h3{font-size:clamp(34px,11vw,54px)}.news-list{display:block}.news-row{min-height:118px;grid-template-columns:32px 1fr 24px;padding:18px 16px}.news-channel{align-items:flex-start;flex-direction:column}.news-channel span{text-align:left;max-width:none}.shop-marquee{margin-bottom:36px}.shop-copy{padding:28px 20px;min-height:410px}.shop-copy h2{font-size:clamp(48px,15vw,72px)}.drop-stage{min-height:430px}.drop-card.d1{left:7%;width:29%;height:52%}.drop-card.d2{left:34%;width:36%;height:36%}.drop-card.d3{right:5%;width:27%;height:48%}.drop-caption{left:16px;right:16px;bottom:16px;display:block}.drop-caption strong{display:block;text-align:left;margin-top:6px}.product-grid{grid-template-columns:1fr}.product-card:last-child{grid-column:auto}.product-thumb{min-height:220px}}



/* v14 — equal-height news rail + Q&A contact board */
@media(min-width:1051px){
  .news-layout{align-items:stretch}
  .news-feature{height:100%}
  .news-list{display:grid;grid-template-rows:repeat(4,minmax(0,1fr)) auto;height:100%;border-top:1px solid var(--line)}
  .news-row{min-height:0}
}
@media(max-width:1050px) and (min-width:721px){.news-channel{grid-column:1/-1}}

/* Compact hero match center */
.hero-title .stroke{color:#aaa9a7;-webkit-text-stroke:0;font-size:.74em;line-height:.92;letter-spacing:-.045em;transform:none;text-shadow:0 10px 32px rgba(0,0,0,.32)}
.hero-match-center{position:absolute;left:0;right:0;bottom:0;z-index:6;width:100%;min-height:112px;display:grid;grid-template-columns:132px minmax(160px,.28fr) minmax(0,1fr);border-top:1px solid rgba(255,255,255,.14);background:rgba(5,5,6,.86);backdrop-filter:blur(18px)}
.hero-match-switch{display:grid;grid-template-rows:1fr 1fr;border-right:1px solid var(--line)}
.hero-match-switch-btn{border:0;border-bottom:1px solid var(--line);background:transparent;color:#8f8f94;padding:8px 10px;text-align:center;font-family:inherit;font-size:12px;font-weight:900;line-height:1.2;letter-spacing:.1em;white-space:nowrap;cursor:pointer;transition:background .25s,color .25s}
.hero-match-switch-btn:last-child{border-bottom:0}
.hero-match-switch-btn:hover,.hero-match-switch-btn.active{color:#fff;background:rgba(255,255,255,.03)}
.hero-match-switch-btn.active{box-shadow:inset 2px 0 0 var(--red);color:#fff}
.hero-match-switch-btn:disabled{opacity:.35;cursor:not-allowed}
.hero-match-brand{padding:12px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0}.hero-match-brand small{display:flex;align-items:center;gap:9px;color:#f14a51;font-size:11px;font-weight:900;line-height:1.3;letter-spacing:.12em}.hero-match-brand small::before{content:"";width:18px;height:1px;background:var(--red)}.hero-match-brand strong{font-size:13px;line-height:1.25;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-match-panels{min-width:0}.hero-match-panel{height:100%;display:grid;grid-template-columns:124px minmax(150px,.7fr) minmax(280px,1.35fr) minmax(200px,.7fr);align-items:stretch;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.hero-match-panel[hidden]{display:none}.hero-match-rank{padding:12px 14px 12px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.hero-match-rank small{color:#a1a1a6;font-size:10px;font-weight:850;line-height:1.3;letter-spacing:.08em}.hero-match-rank strong{margin-top:3px;color:#fff;font-size:26px;line-height:.95;letter-spacing:-.035em}.hero-match-rank strong.red{color:#f02a33}
.hero-match-main{padding:12px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;min-width:0}.hero-match-main small{color:#f15a60;font-size:11px;font-weight:850;line-height:1.3;letter-spacing:.035em}.hero-match-main b{display:block;margin-top:4px;font-size:14px;line-height:1.25;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-match-main span{display:block;max-width:100%;margin-top:3px;color:#a1a1a6;font-size:11px;line-height:1.3;letter-spacing:.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-match-extra{padding:8px 12px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0}.hero-match-extra small{color:#a1a1a6;font-size:11px;font-weight:900;line-height:1.3;letter-spacing:.12em}
.hero-lobby-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(24px,1fr));gap:3px}
.hero-lobby-cell{display:flex;align-items:center;gap:5px;min-width:0;min-height:24px;padding:3px 5px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.28)}
.hero-lobby-cell img{width:13px;height:13px;flex:0 0 auto;object-fit:contain}
.hero-lobby-cell b{min-width:0;color:#d8d8dc;font-size:9px;font-weight:800;line-height:1.1;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-lobby-cell.ours{border-color:rgba(224,29,38,.55);background:rgba(224,29,38,.1)}
.hero-lobby-cell.ours b{color:#fff}
.hero-lobby-cell.is-advanced{border-color:rgba(110,160,230,.38);background:rgba(60,110,190,.12)}
.hero-lobby-cell.is-eliminated{opacity:.58}
.hero-lobby-cell.ours.is-eliminated{opacity:1;border-color:rgba(224,29,38,.65);background:rgba(224,29,38,.16)}
.hero-standing-rows{display:grid;gap:3px}
.hero-standing-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:22px;padding:2px 4px}
.hero-standing-row em{color:#777;font:900 11px/1 inherit;letter-spacing:.04em}
.hero-standing-row b{min-width:0;color:#d8d8dc;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-standing-row span{color:#8f8f94;font-size:10px;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.hero-standing-row.ours em,.hero-standing-row.ours b,.hero-standing-row.ours span{color:#f14a51}
.hero-standing-empty{margin:0;color:#777;font-size:11px;letter-spacing:.04em}
.hero-match-actions{display:grid;grid-template-columns:1fr;min-width:0}
.hero-match-actions.has-circuit{grid-template-columns:1fr 1fr}
.hero-match-link{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;padding:0 12px;color:#eee;font-size:11px;font-weight:900;line-height:1.3;letter-spacing:.055em;text-align:center;transition:background .25s,color .25s}.hero-match-link span{color:#f14a51;font-size:17px}.hero-match-link:hover{background:var(--red);color:#fff}.hero-match-link:hover span{color:#fff}
.hero-match-circuit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:0 12px;border:0;border-right:1px solid var(--line);background:transparent;color:#eee;font-family:inherit;cursor:pointer;transition:background .25s,color .25s}
.hero-match-circuit small{color:#a1a1a6;font-size:11px;font-weight:900;letter-spacing:.12em}
.hero-match-circuit strong{color:#fff;font-size:22px;line-height:1;letter-spacing:-.03em}
.hero-match-circuit:hover,.hero-match-center.is-circuit-open .hero-match-circuit{background:rgba(224,29,38,.88);color:#fff}
.hero-match-center.is-circuit-open .hero-match-circuit small{color:rgba(255,255,255,.78)}
.hero-match-brand.is-toggle{appearance:none;-webkit-appearance:none;width:100%;border:0;border-right:1px solid var(--line);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .2s}
.hero-match-brand.is-toggle:hover,.hero-match-center.is-schedule-open .hero-match-brand.is-toggle{background:rgba(255,255,255,.04)}
.hero-match-brand.is-toggle span{display:block;margin-top:2px;color:#8f8f94;font-size:10px;font-weight:800;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-match-sheets{position:absolute;left:0;right:0;bottom:100%;z-index:7;display:flex;align-items:stretch;justify-content:space-between;gap:12px;height:0;grid-column:1/-1;pointer-events:none}
.hero-match-center.is-schedule-open .hero-match-sheets,
.hero-match-center.is-circuit-open .hero-match-sheets{height:min(48vh,400px)}
.hero-schedule-sheet,.hero-circuit-sheet{position:relative;height:100%;pointer-events:none;visibility:hidden}
.hero-schedule-sheet{width:min(360px,34vw);flex:0 0 auto;margin-left:132px}
.hero-circuit-sheet{width:min(320px,30vw);flex:0 0 auto;margin-left:auto}
.hero-schedule-sheet[hidden],.hero-circuit-sheet[hidden]{display:block!important;visibility:hidden}
.hero-match-center.is-schedule-open .hero-schedule-sheet,
.hero-match-center.is-circuit-open .hero-circuit-sheet{pointer-events:auto;visibility:visible}
.hero-sheet-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:rgba(5,5,6,.96);backdrop-filter:blur(18px);box-shadow:0 -18px 40px rgba(0,0,0,.35);transform:translateY(12px);opacity:0;transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .28s ease}
.hero-match-center.is-schedule-open .hero-schedule-sheet .hero-sheet-panel,
.hero-match-center.is-circuit-open .hero-circuit-sheet .hero-sheet-panel{transform:translateY(0);opacity:1}
.hero-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.1);flex:0 0 auto}
.hero-sheet-head small{display:block;color:#f14a51;font-size:10px;font-weight:900;letter-spacing:.12em}
.hero-sheet-head strong{display:block;margin-top:4px;font-size:14px;letter-spacing:.02em}
.hero-sheet-close{width:32px;height:32px;border:0;background:transparent;color:#8f8f94;font-size:22px;line-height:1;cursor:pointer}
.hero-sheet-close:hover{color:#fff}
.hero-sheet-foot{flex:0 0 auto;padding:10px 16px;border-top:1px solid rgba(255,255,255,.08)}
.hero-sheet-foot a{color:#cfcfd2;font-size:11px;font-weight:800;letter-spacing:.04em;text-decoration:none}
.hero-sheet-foot a:hover{color:#fff}
.hero-schedule-list,.hero-circuit-sheet-list{flex:1 1 auto;min-height:0;overflow:auto;padding:6px 0}
.hero-schedule-row{display:grid;grid-template-columns:minmax(72px,auto) minmax(0,1fr);gap:2px 12px;align-items:center;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.05);color:inherit;text-decoration:none}
.hero-schedule-row em{grid-row:span 2;color:#f14a51;font:900 12px/1.1 inherit;letter-spacing:.02em;font-style:normal;white-space:nowrap}
.hero-schedule-row b{min-width:0;color:#d8d8dc;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-schedule-row span{color:#8f8f94;font-size:10px;font-weight:700;letter-spacing:.03em}
.hero-schedule-row:hover{background:rgba(255,255,255,.04)}
.hero-schedule-row.ours b,.hero-schedule-row.ours span{color:#f14a51}
.hero-circuit-sheet-row{display:grid;grid-template-columns:36px 18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.05)}
.hero-circuit-sheet-row em{color:#777;font:900 12px/1 inherit;letter-spacing:.04em;font-style:normal}
.hero-circuit-sheet-row img{width:18px;height:18px;object-fit:contain;background:transparent}
.hero-circuit-sheet-row b{min-width:0;color:#d8d8dc;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-circuit-sheet-row span{color:#8f8f94;font-size:11px;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.hero-circuit-score{display:grid;justify-items:end;gap:2px;text-align:right}
.hero-circuit-score strong{color:inherit;font-size:11px;line-height:1.05}
.hero-circuit-score small{color:#666;font-size:8px;font-weight:800;letter-spacing:.02em;line-height:1;white-space:nowrap}
.hero-circuit-sheet-row.ours{background:rgba(224,29,38,.1)}
.hero-circuit-sheet-row.ours em,.hero-circuit-sheet-row.ours b,.hero-circuit-sheet-row.ours span{color:#f14a51}
.hero-circuit-sheet-row.ours .hero-circuit-score small{color:rgba(241,74,81,.72)}
@media(max-width:1100px) and (min-width:721px){.hero-match-center{grid-template-columns:120px minmax(0,1fr)}.hero-match-brand{display:none}.hero-match-panel{grid-template-columns:112px minmax(140px,.7fr) minmax(220px,1.3fr) minmax(170px,.7fr)}.hero-schedule-sheet{margin-left:120px}}
@media(max-width:720px){.hero{min-height:920px;padding-bottom:280px}.hero-match-center{min-height:248px;grid-template-columns:1fr;grid-template-rows:auto 1fr}.hero-match-switch{grid-template-rows:none;grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--line)}.hero-match-switch-btn{border-bottom:0;border-right:1px solid var(--line);text-align:center;padding:10px;font-size:12px}.hero-match-switch-btn:last-child{border-right:0}.hero-match-switch-btn.active{box-shadow:inset 0 -2px 0 var(--red)}.hero-match-brand{display:none}.hero-match-panel{grid-template-columns:100px 1fr;grid-template-rows:auto auto auto;min-height:200px}.hero-match-rank{padding:12px;grid-row:1}.hero-match-rank strong{font-size:24px}.hero-match-main{padding:12px;grid-row:1}.hero-match-main b{font-size:13px;white-space:normal}.hero-match-extra{grid-column:1/-1;border-right:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hero-match-actions{grid-column:1/-1;grid-template-columns:1fr;min-height:44px}.hero-match-actions.has-circuit{grid-template-columns:1fr 1fr}.hero-match-link{padding:10px;text-align:center}.hero-match-circuit{padding:10px;border-right:1px solid var(--line)}.hero-match-sheets{height:min(42vh,340px)}.hero-schedule-sheet{width:min(46vw,210px);margin-left:0}.hero-circuit-sheet{width:min(86vw,320px)}.hero-circuit-sheet-row{grid-template-columns:32px 16px minmax(0,1fr) auto;padding:8px 10px}}

/* Standalone Q&A page */
.site-empty{margin:0;padding:22px 0;color:#8d8d92;font-size:14px;letter-spacing:.04em}

.home-promo{padding:72px 0;border-top:1px solid rgba(255,255,255,.08)}

/* Public schedule, webtoon, dynamic hero */

.pub-cal-section{padding-top:28px;padding-bottom:48px}
.pub-cal-api-bar{display:flex;justify-content:flex-end;margin-top:14px}
.pub-cal-api-trigger{min-height:40px;padding:0 14px;font-size:12px;letter-spacing:.06em}
.pub-cal-api-modal{max-width:min(640px,94vw)}
.pub-cal-api-card{display:grid;gap:16px}
.pub-cal-api-kicker{margin:0 0 8px;color:var(--red,#e01d26);font-size:11px;font-weight:800;letter-spacing:.16em}
.pub-cal-api-copy h2{margin:0 0 8px;font-size:20px;letter-spacing:-.03em}
.pub-cal-api-copy p{margin:0;max-width:58ch;color:#a7a7ad;font-size:14px;line-height:1.55}
.pub-cal-api-copy code{font-size:.92em;color:#ececef}
.pub-cal-api-actions{display:flex;flex-wrap:wrap;gap:8px}
.pub-cal-api-endpoints{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pub-cal-api-endpoints li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.08);background:#09090a}
.pub-cal-api-endpoints span{font-size:11px;font-weight:800;letter-spacing:.08em;color:#9a9aa0}
.pub-cal-api-endpoints code{min-width:0;overflow:auto;white-space:nowrap;font-size:12px;color:#ececef}
@media (max-width:720px){
  .pub-cal-api-endpoints li{grid-template-columns:1fr}
}
.pub-cal-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.pub-cal-filter{border:1px solid rgba(255,255,255,.14);padding:8px 12px;font-size:11px;letter-spacing:.12em;font-weight:800;color:#bdbdc2}
.pub-cal-filter.is-active,.pub-cal-filter:hover{border-color:var(--red,#e01d26);color:#fff}
.pub-cal-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:22px;align-items:start}
.pub-cal-panel,.pub-cal-side{border:1px solid rgba(255,255,255,.1);background:#0b0b0c;padding:18px}
.pub-cal-head,.pub-cal-side-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}
.pub-cal-head h2{margin:0;font-size:22px;letter-spacing:-.03em}
.pub-cal-side-head{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.pub-cal-date-block{width:100%}
.pub-cal-date-kicker{display:block;color:var(--red,#e01d26);font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:10px}
.pub-cal-date-stack{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:end}
.pub-cal-date-month{grid-column:1;grid-row:1;color:#bdbdc2;font-size:13px;font-weight:800;letter-spacing:.18em}
.pub-cal-date-day{grid-column:1;grid-row:2;margin:0;font-size:clamp(56px,8vw,84px);line-height:.85;letter-spacing:-.06em;font-weight:900}
.pub-cal-date-weekday{grid-column:2;grid-row:2;padding-bottom:8px;color:#8d8d92;font-size:14px;font-weight:800;letter-spacing:.14em}
.pub-cal-date-count{display:none}
.pub-cal-nav{display:flex;gap:6px}
.pub-cal-nav a{border:1px solid rgba(255,255,255,.14);padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.08em}
.pub-cal-nav a:hover{border-color:#fff;color:#fff}
.pub-cal-weekdays,.pub-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.pub-cal-weekdays span{color:#8d8d92;font-size:10px;font-weight:800;letter-spacing:.08em;text-align:center;padding:4px 0}
.pub-cal-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:152px;border:1px solid rgba(255,255,255,.08);background:#09090a;padding:10px;color:#d8d8dc;transition:border-color .15s,background .15s,color .15s}
.pub-cal-day:hover{border-color:rgba(255,255,255,.28);color:#fff}
.pub-cal-day.is-out{opacity:.32}
.pub-cal-day.is-today{border-color:#fff;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.pub-cal-day.is-selected,.pub-cal-day.has-match.is-selected{border-color:var(--red,#e01d26);background:#1a1011;color:#fff}
.pub-cal-day.has-match:not(.is-selected){border-color:rgba(224,29,38,.5);background:rgba(224,29,38,.06)}
.pub-cal-day.has-match .pub-cal-num{color:#fff}
.pub-cal-day.has-ours:not(.is-selected){border-color:rgba(224,29,38,.55);background:rgba(224,29,38,.08)}
.pub-cal-day.has-league:not(.has-ours):not(.is-selected){border-color:rgba(120,160,220,.45);background:rgba(90,130,190,.08)}
.pub-cal-day.has-ours.has-league:not(.is-selected){border-color:rgba(224,29,38,.45);background:linear-gradient(135deg,rgba(224,29,38,.1),rgba(90,130,190,.08))}
.pub-cal-num{font-size:13px;font-weight:800}
.pub-cal-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-width:0}
.pub-cal-tourney-marks{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;max-width:58%;justify-content:flex-end}
.pub-cal-tourney-mark{
  display:block;width:18px;height:14px;flex:0 0 auto;
  background-position:center;background-repeat:no-repeat;background-size:contain;
  object-fit:contain;object-position:center;opacity:.92;
  transform:scale(var(--logo-scale,1));transform-origin:center;
}
.pub-cal-tourney-mark.is-tinted{
  background-color:var(--logo-color,#fff);background-image:none!important;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
}
.pub-cal-day.has-match .pub-cal-tourney-mark{opacity:1}
@media (max-width:720px){
  .pub-cal-tourney-mark{width:14px;height:11px}
}
.pub-cal-dots{display:flex;gap:4px;margin-top:auto;flex-wrap:wrap}
.pub-cal-dot{display:inline-flex;align-items:center;justify-content:center;min-width:8px;height:8px;border-radius:999px;background:var(--red,#e01d26);color:#fff;font-size:9px;font-weight:800;padding:0 4px}
.pub-cal-dot.is-ours{background:var(--red,#e01d26)}
.pub-cal-dot.is-league{background:#6f8fbd}
.pub-cal-match.is-ours{border-color:rgba(224,29,38,.28)}
.pub-cal-match.is-league{border-color:rgba(120,160,220,.22)}
.pub-cal-state.is-ours{color:#ff8f8f}
.pub-cal-state.is-league{color:#9eb6d8}
.pub-cal-matches{display:grid;gap:14px}
.pub-cal-match{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.12);padding:16px 18px;background:linear-gradient(165deg,#121214,#0a0a0b);display:grid;gap:12px;align-content:start}
.pub-cal-match-logo{
  position:absolute;right:6%;bottom:8%;top:auto;z-index:0;pointer-events:none;
  width:min(52%,240px);height:min(78%,220px);
  opacity:.14;object-fit:contain;object-position:center;
  transform:scale(calc(var(--logo-scale,1) * 1.05));transform-origin:center right;
}
.pub-cal-match-logo.is-tinted{
  display:block;background-color:var(--logo-color,#fff);background-image:none!important;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
}
.pub-cal-match::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(100deg,#121214 28%,rgba(18,18,20,.55) 58%,transparent 78%);
}
.pub-cal-match > *:not(.pub-cal-match-logo){position:relative;z-index:1}
.pub-cal-match-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#b0b0b6;font-size:12px;letter-spacing:.06em;font-weight:700}
.pub-cal-state{color:var(--red,#e01d26);letter-spacing:.12em}
.pub-cal-match.is-result .pub-cal-state{color:#ffe1b0}
.pub-cal-match-title{display:grid;gap:8px}
.pub-cal-match-title small{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;color:#f2f2f4;font-size:clamp(18px,2.2vw,24px);letter-spacing:-.03em;font-weight:850;line-height:1.2}
.pub-cal-venue{display:inline-flex;align-items:center;gap:6px;max-width:100%;vertical-align:middle;line-height:1}
.pub-cal-map{
  position:relative;
  display:inline-grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 auto;
  margin-top:0;
  border:1px solid rgba(224,29,38,.55);
  background:rgba(224,29,38,.14);
  color:#fff;
  text-decoration:none;
  overflow:visible;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.pub-cal-map:hover,
.pub-cal-map:focus-visible{
  background:rgba(224,29,38,.28);
  border-color:rgba(224,29,38,.95);
  box-shadow:0 0 0 3px rgba(224,29,38,.14);
  outline:none;
}
.pub-cal-map-icon{
  position:relative;
  z-index:1;
  display:block;
  width:18px;
  height:18px;
  transform-origin:50% 90%;
  animation:pubCalMapBob 1.8s ease-in-out infinite;
}
.pub-cal-map-ring{
  position:absolute;
  inset:0;
  border:1px solid rgba(224,29,38,.55);
  opacity:0;
  pointer-events:none;
  animation:pubCalMapRing 1.8s ease-out infinite;
}
.pub-cal-map:hover .pub-cal-map-icon,
.pub-cal-map:focus-visible .pub-cal-map-icon{
  animation:pubCalMapPop .42s cubic-bezier(.2,.9,.2,1);
}
@keyframes pubCalMapBob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-1.5px)}
}
@keyframes pubCalMapRing{
  0%{transform:scale(.72);opacity:.55}
  70%,100%{transform:scale(1.55);opacity:0}
}
@keyframes pubCalMapPop{
  0%{transform:translateY(0) scale(1)}
  35%{transform:translateY(-3px) scale(1.12)}
  100%{transform:translateY(0) scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .pub-cal-map-icon,
  .pub-cal-map-ring,
  .pub-cal-map:hover .pub-cal-map-icon,
  .pub-cal-map:focus-visible .pub-cal-map-icon{animation:none}
}
.pub-cal-match-title h3{margin:0;font-size:clamp(16px,2vw,22px);letter-spacing:-.03em;line-height:1.15;font-weight:900}
.pub-cal-match-title p{margin:0;color:#bdbdc2;font-size:13px;line-height:1.5}
.pub-cal-entrants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pub-cal-entrants span{display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 8px;align-items:center;border:1px solid rgba(255,255,255,.08);padding:8px;background:#09090a}
.pub-cal-entrants img,.pub-cal-entrants i{width:36px;height:28px;object-fit:contain;display:grid;place-items:center;background:transparent;border:0;font-size:10px;font-weight:800;grid-row:span 2}
.pub-cal-entrants i{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.pub-cal-entrants b{font-size:12px}
.pub-cal-entrants small{color:#8d8d92;font-size:10px}
.pub-cal-entrants span.ours{border-color:rgba(224,29,38,.55);background:rgba(224,29,38,.08)}
.pub-cal-entrants.is-text span{grid-template-columns:minmax(0,1fr);padding:10px 12px}
.pub-cal-entrants.is-text.standings span{grid-template-columns:28px minmax(0,1fr) auto}
.pub-cal-day-wrap{position:relative;min-height:152px}
.pub-cal-day-wrap.is-out{opacity:.32}
.pub-cal-day-wrap .pub-cal-day{min-height:152px;height:100%;width:100%;box-sizing:border-box}
.pub-cal-add{position:absolute;right:4px;bottom:4px;z-index:2;display:none;width:18px;height:18px;place-items:center;border:1px solid rgba(255,255,255,.2);background:#161618;color:#fff;font-size:12px;font-weight:800;line-height:1;cursor:pointer;padding:0}
.pub-cal-day-wrap:hover .pub-cal-add{display:grid}
.pub-cal-side-actions{display:flex;flex-wrap:wrap;align-items:center;margin-top:16px;justify-content:flex-end;gap:8px}
.pub-cal-side-actions .btn{width:auto;min-height:40px;padding:0 14px;gap:10px;align-items:center;color:#f2f2f4;-webkit-text-fill-color:#f2f2f4;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
.pub-cal-side-actions .btn.red{color:#fff;-webkit-text-fill-color:#fff;border-color:var(--red,#e01d26);background:var(--red,#e01d26)}
.pub-cal-side-actions .btn:hover{color:#080808;-webkit-text-fill-color:#080808;background:#fff;border-color:#fff;transform:none}
.pub-cal-match-admin{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}
.pub-cal-match-admin .btn{width:auto;min-height:48px;padding:0 18px;gap:8px;align-items:center;font-size:14px;font-weight:750;letter-spacing:.04em;color:#f2f2f4;-webkit-text-fill-color:#f2f2f4;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
.pub-cal-match-admin .btn:hover{color:#080808;-webkit-text-fill-color:#080808;background:#fff;border-color:#fff;transform:none}
.pub-cal-chzzk{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;margin-left:2px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#f2f2f4;vertical-align:middle;transition:background .15s ease,border-color .15s ease,color .15s ease}
.pub-cal-chzzk img{width:18px;height:18px;display:block;object-fit:contain;filter:brightness(0) invert(1)}
.pub-cal-chzzk:hover,.pub-cal-chzzk:focus-visible{background:#00ffa3;border-color:#00ffa3;color:#080808}
.pub-cal-chzzk:hover img,.pub-cal-chzzk:focus-visible img{filter:none}
.pub-cal-result-admin{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 10px}
.pub-cal-result-modes{display:inline-flex;flex-wrap:wrap;gap:6px}
.pub-cal-result-actions{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.pub-cal-result-admin:not(.is-editing) .pub-cal-result-actions{display:none}
.pub-cal-result-admin.is-editing{padding:10px;border:1px solid rgba(224,29,38,.45);background:rgba(224,29,38,.07)}
.pub-cal-result-admin .btn.red{color:#fff;-webkit-text-fill-color:#fff;border-color:var(--red,#e01d26);background:var(--red,#e01d26)}
.pub-cal-result-admin .btn{width:auto;min-height:40px;padding:0 14px;font-size:13px;font-weight:750;letter-spacing:.04em;color:#f2f2f4;-webkit-text-fill-color:#f2f2f4;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
.pub-cal-result-admin .btn.is-active,.pub-cal-result-admin .btn[aria-pressed="true"]{background:#fff;color:#080808;-webkit-text-fill-color:#080808;border-color:#fff}
.pub-cal-result-admin .btn:hover{color:#080808;-webkit-text-fill-color:#080808;background:#fff;border-color:#fff;transform:none}
.pub-cal-result-preset{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:rgba(242,242,244,.72)}
.pub-cal-result-preset select{
  min-height:40px;padding:0 10px;border:1px solid rgba(255,255,255,.28);
  background:#121214;color:#f2f2f4;font-size:13px;border-radius:6px;
  color-scheme:dark;
}
.pub-cal-result-preset select option,
.pub-cal-result-preset select optgroup{
  color:#111;background:#fff;
}
.pub-cal-chip[data-osa-result-chip]{cursor:default}
.pub-cal-matchup.is-result-editing .pub-cal-chip[data-osa-result-chip]{cursor:pointer}
.pub-cal-matchup.is-result-editing[data-result-edit-mode="ranking"] .pub-cal-chip[data-osa-result-chip]{cursor:grab}
.pub-cal-chip[data-osa-result-chip].is-dragging{opacity:.45;cursor:grabbing}
.pub-cal-chips.is-drag-over{outline:1px dashed rgba(110,160,230,.55);outline-offset:4px}
.pub-cal-result-hint[data-busy="1"]{color:#6ea0e6}
.pub-cal-result-hint.is-error{color:#e01d26}
.pub-cal-chip[data-osa-result-chip]{appearance:none;-webkit-appearance:none;font:inherit;color:inherit;width:100%}
.pub-cal-matchup.is-result-editing .pub-cal-chip[data-osa-result-chip]:hover{border-color:rgba(255,255,255,.35)}
.pub-cal-chip[data-osa-result-chip]:focus-visible{outline:2px solid #6ea0e6;outline-offset:2px}
.pub-cal-matchup.is-result-editing .pub-cal-chip{transition:border-color .12s ease,background .12s ease,opacity .12s ease}
.pub-cal-quick-modal .btn{color:#f2f2f4;-webkit-text-fill-color:#f2f2f4;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
.pub-cal-quick-modal .btn.red{color:#fff;-webkit-text-fill-color:#fff;border-color:var(--red,#e01d26);background:var(--red,#e01d26)}
.pub-cal-quick-modal .btn:hover{color:#080808;-webkit-text-fill-color:#080808;background:#fff;border-color:#fff}
.pub-cal-quick-modal{border:1px solid rgba(255,255,255,.14);padding:0;background:#0c0c0d;color:#e8e8ec;max-width:min(560px,94vw);max-height:min(92vh,840px);overflow:auto}
.pub-cal-quick-modal::backdrop{background:rgba(0,0,0,.72);cursor:pointer}
.pub-cal-quick-card{padding:20px;display:grid;gap:14px}
.pub-cal-quick-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.pub-cal-quick-card h2{margin:0;font-size:18px}
.pub-cal-quick-card header p{margin:8px 0 0;color:#9a9aa0;font-size:13px;line-height:1.5}
.pub-cal-quick-close{appearance:none;width:36px;height:36px;border:1px solid rgba(255,255,255,.16);background:#161618;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0}
.pub-cal-quick-close:hover{border-color:#fff;background:#1e1e22}
.pub-cal-quick-error{margin:0;color:#ff8f8f;font-size:13px}
.pub-cal-quick-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pub-cal-quick-fields > label,.pub-cal-quick-fields > fieldset,.pub-cal-quick-venue{display:grid;gap:6px;font-size:12px;color:#9a9aa0;border:0;padding:0;margin:0}
.pub-cal-quick-fields .is-wide,.pub-cal-quick-venue{grid-column:1 / -1}
.pub-cal-quick-fields input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
.pub-cal-quick-fields select{width:100%;min-height:40px;border:1px solid rgba(255,255,255,.12);background:#09090a;color:#fff;padding:8px 10px;box-sizing:border-box}
.pub-cal-quick-fields input[type=radio],
.pub-cal-quick-fields input[type=checkbox]{width:auto;min-width:16px;min-height:16px;margin:0;padding:0;border:0;background:transparent;accent-color:var(--red,#e01d26);flex-shrink:0}
.pub-cal-quick-choices{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.pub-cal-quick-choice{display:inline-flex;align-items:center;gap:8px;margin:0;color:#d6d6d9;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.pub-cal-quick-venue-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.pub-cal-quick-venue-row .btn{min-height:40px;white-space:nowrap;padding:0 12px}
.pub-cal-quick-actions{display:flex;gap:8px;flex-wrap:wrap}
.pub-cal-quick-hint{margin:0;color:#9a9aa0;font-size:12px;line-height:1.45}
@media(max-width:720px){
  .pub-cal-quick-fields{grid-template-columns:1fr}
  .pub-cal-quick-venue-row{grid-template-columns:1fr}
}
.pub-cal-entrants.standings span{grid-template-columns:28px 36px minmax(0,1fr) auto}
.pub-cal-entrants.standings i{width:28px;height:auto;border:0;background:transparent;grid-row:auto}
.pub-cal-matchup{display:grid;gap:12px}
.pub-cal-group{
  display:grid;
  gap:12px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,#101012,#0a0a0b);
  padding:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.pub-cal-group-label{
  color:#f2f2f4;
  font-size:14px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.pub-cal-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pub-cal-chip{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:84px;padding:14px 10px 12px;border:1px solid rgba(255,255,255,.1);background:rgba(9,9,10,.92);text-align:center}
.pub-cal-chip-dot{position:absolute;top:8px;left:8px;width:6px;height:6px;border-radius:50%;background:#6a6a70}
.pub-cal-chip img,.pub-cal-chip>i{width:44px;height:36px;object-fit:contain;display:grid;place-items:center;background:transparent;border:0;font-size:12px;font-weight:800}
.pub-cal-chip>i{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.pub-cal-chip b{font-size:13px;letter-spacing:.04em;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pub-cal-chip em{display:block;position:static;margin-top:-2px;font-style:normal;font-size:11px;font-weight:900;line-height:1;letter-spacing:.08em;color:#e01d26}
.pub-cal-chip em[data-osa-result-rank]{min-height:11px}
.pub-cal-chip.is-pending{background:rgba(16,16,18,.92);border-color:rgba(255,255,255,.1)}
.pub-cal-chip.is-ours{background:linear-gradient(145deg,rgba(224,29,38,.34),rgba(12,8,9,.9) 55%,rgba(36,10,14,.88));border-color:rgba(224,29,38,.55)}
.pub-cal-chip.is-ours .pub-cal-chip-dot{background:#e01d26}
.pub-cal-chip.is-ours img{filter:drop-shadow(0 0 14px rgba(224,29,38,.55))}
.pub-cal-chip.is-advanced{background:rgba(60,110,190,.2);border-color:rgba(110,160,230,.6)}
.pub-cal-chip.is-advanced .pub-cal-chip-dot{background:#6ea0e6}
.pub-cal-chip.is-advanced em[data-osa-result-rank]{color:#8bb8ff}
.pub-cal-chip.is-eliminated{background:rgba(224,29,38,.14);border-color:rgba(224,29,38,.48)}
.pub-cal-chip.is-eliminated .pub-cal-chip-dot{background:#e01d26}
.pub-cal-chip.is-ranked-blue{
  background:rgba(60,110,190,.2);
  border-color:rgba(110,160,230,.6);
}
.pub-cal-chip.is-ranked-blue .pub-cal-chip-dot{background:#6ea0e6}
.pub-cal-chip.is-ranked-blue em[data-osa-result-rank]{color:#8bb8ff}
.pub-cal-chip.is-ranked-red{
  background:rgba(224,29,38,.14);
  border-color:rgba(224,29,38,.48);
}
.pub-cal-chip.is-ranked-red .pub-cal-chip-dot{background:#e01d26}
.pub-cal-chip.is-ranked-red em[data-osa-result-rank]{color:#ff777d}
.pub-cal-chip.is-ranked.is-champion{
  background:linear-gradient(145deg,rgba(180,126,38,.34),rgba(42,31,15,.94) 58%,rgba(12,12,13,.96));
  border-color:rgba(255,211,126,.78);
  box-shadow:inset 0 0 0 1px rgba(255,220,150,.1),0 0 18px rgba(240,189,88,.08);
}
.pub-cal-chip.is-ranked.is-champion .pub-cal-chip-dot{background:#f0bd58;box-shadow:0 0 10px rgba(240,189,88,.5)}
.pub-cal-chip.is-ranked.is-champion em[data-osa-result-rank]{color:#ffd98c}
.pub-cal-chip.is-ranked.is-runner-up{
  background:linear-gradient(145deg,rgba(170,180,194,.28),rgba(42,46,52,.94) 58%,rgba(12,12,13,.96));
  border-color:rgba(218,226,236,.76);
  box-shadow:inset 0 0 0 1px rgba(240,245,250,.09);
}
.pub-cal-chip.is-ranked.is-runner-up .pub-cal-chip-dot{background:#d8e0e8;box-shadow:0 0 9px rgba(216,224,232,.4)}
.pub-cal-chip.is-ranked.is-runner-up em[data-osa-result-rank]{color:#e3e9ef}
.pub-cal-chip.is-ranked.is-third-place{
  background:linear-gradient(145deg,rgba(164,91,45,.3),rgba(55,31,20,.94) 58%,rgba(12,12,13,.96));
  border-color:rgba(211,132,78,.72);
  box-shadow:inset 0 0 0 1px rgba(231,150,91,.08);
}
.pub-cal-chip.is-ranked.is-third-place .pub-cal-chip-dot{background:#c77a49;box-shadow:0 0 9px rgba(199,122,73,.4)}
.pub-cal-chip.is-ranked.is-third-place em[data-osa-result-rank]{color:#df9a68}
.pub-cal-chip.is-ours-mark{box-shadow:inset 0 0 0 1px rgba(224,29,38,.35)}
.pub-cal-match footer{display:flex;justify-content:flex-end;gap:10px;padding-top:4px;border-top:1px solid rgba(255,255,255,.06);color:#8d8d92;font-size:11px;letter-spacing:.06em;font-weight:700}
.pub-cal-preview{display:grid;gap:3px;margin-top:8px;min-width:0;width:100%}
.pub-cal-preview-line{
  display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  line-height:1.25;letter-spacing:.01em;font-weight:750;color:#b8b8be;
}
.pub-cal-preview-line.is-l1{font-size:13px;font-weight:850;color:#f2f2f4;letter-spacing:.04em}
.pub-cal-preview-line.is-l2{font-size:12px;font-weight:800;color:#ececef}
.pub-cal-preview-line.is-l3{font-size:12px;font-weight:700;color:#c7c7cc}
.pub-cal-preview-line.is-l4{font-size:11px;font-weight:700;color:#9a9aa0}
.pub-cal-preview-line.is-l5{font-size:10px;font-weight:650;color:#8a8a90}
.pub-cal-day.has-match .pub-cal-preview-line.is-l1,
.pub-cal-day.has-match .pub-cal-preview-line.is-l2{color:#fff}
.pub-cal-day.has-ours .pub-cal-preview-line.is-l3,
.pub-cal-day.has-ours .pub-cal-preview-line.is-l4,
.pub-cal-day.has-ours .pub-cal-preview-line.is-l5{color:#ffb0b5}

/* Calendar text size (CMS: schedule.calendar_text_size) */
.pub-cal-panel[data-cal-text-size="sm"] .pub-cal-day,
.pub-cal-panel[data-cal-text-size="sm"] .pub-cal-day-wrap,
.pub-cal-panel[data-cal-text-size="sm"] .pub-cal-day-wrap .pub-cal-day{min-height:136px}
.pub-cal-panel[data-cal-text-size="sm"] .pub-cal-preview-line.is-l1{font-size:11px}
.pub-cal-panel[data-cal-text-size="sm"] .pub-cal-preview-line.is-l2,
.pub-cal-panel[data-cal-text-size="sm"] .pub-cal-preview-line.is-l3{font-size:10px}
.pub-cal-panel[data-cal-text-size="sm"] .pub-cal-preview-line.is-l4,
.pub-cal-panel[data-cal-text-size="sm"] .pub-cal-preview-line.is-l5{font-size:9px}

.pub-cal-panel[data-cal-text-size="lg"] .pub-cal-day,
.pub-cal-panel[data-cal-text-size="lg"] .pub-cal-day-wrap,
.pub-cal-panel[data-cal-text-size="lg"] .pub-cal-day-wrap .pub-cal-day{min-height:176px}
.pub-cal-panel[data-cal-text-size="lg"] .pub-cal-preview{gap:4px;margin-top:10px}
.pub-cal-panel[data-cal-text-size="lg"] .pub-cal-preview-line.is-l1{font-size:14px}
.pub-cal-panel[data-cal-text-size="lg"] .pub-cal-preview-line.is-l2{font-size:13px}
.pub-cal-panel[data-cal-text-size="lg"] .pub-cal-preview-line.is-l3{font-size:12px}
.pub-cal-panel[data-cal-text-size="lg"] .pub-cal-preview-line.is-l4{font-size:11px}
.pub-cal-panel[data-cal-text-size="lg"] .pub-cal-preview-line.is-l5{font-size:10px}
.pub-cal-panel[data-cal-text-size="lg"] .pub-cal-num{font-size:14px}
@media (max-width:720px){
  .pub-cal-preview-line.is-l1{font-size:10px}
  .pub-cal-preview-line.is-l2,
  .pub-cal-preview-line.is-l3{font-size:9px}
  .pub-cal-preview-line.is-l4,
  .pub-cal-preview-line.is-l5{font-size:8px}
  .pub-cal-panel[data-cal-text-size="lg"] .pub-cal-preview-line.is-l1{font-size:11px}
  .pub-cal-panel[data-cal-text-size="lg"] .pub-cal-preview-line.is-l2,
  .pub-cal-panel[data-cal-text-size="lg"] .pub-cal-preview-line.is-l3{font-size:10px}
}
.pub-cal-watch{display:flex;justify-content:flex-start;align-items:center;gap:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}
.pub-cal-watch-btn,.pub-cal-watch-menu>summary{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid rgba(224,29,38,.55);background:rgba(224,29,38,.12);color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;list-style:none}
.pub-cal-watch-menu>summary::-webkit-details-marker{display:none}
.pub-cal-watch-btn:hover,.pub-cal-watch-menu>summary:hover{background:rgba(224,29,38,.22);border-color:rgba(224,29,38,.8)}
.pub-cal-watch-menu{position:relative}
.pub-cal-watch-list{position:absolute;left:0;bottom:calc(100% + 6px);min-width:160px;display:grid;gap:0;border:1px solid rgba(255,255,255,.14);background:#101012;z-index:5;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.pub-cal-watch-list a{padding:10px 12px;color:#ececef;font-size:12px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.06)}
.pub-cal-watch-list a:last-child{border-bottom:0}
.pub-cal-watch-list a:hover{background:rgba(224,29,38,.12);color:#fff}


.webtoon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.webtoon-card{border:1px solid rgba(255,255,255,.1);background:#0b0b0c;display:block}
.webtoon-cover{min-height:240px;background:#151517 center/cover no-repeat}
.webtoon-card .card-body{padding:16px}
.webtoon-card small{color:#8d8d92;font-size:11px;letter-spacing:.1em}
.webtoon-card h3{margin:8px 0 0;font-size:20px}
.webtoon-card p{margin:8px 0 0;color:#bdbdc2;font-size:12px;letter-spacing:.06em}
.webtoon-cuts{display:grid;gap:12px;max-width:720px;margin:0 auto}
.webtoon-cut{margin:0}
.webtoon-cut img{width:100%;display:block;border:1px solid rgba(255,255,255,.08)}
.webtoon-cut figcaption{margin-top:8px;color:#8d8d92;font-size:12px}
.webtoon-summary{max-width:46rem;margin:0 0 24px;color:#bdbdc2;line-height:1.6}
.webtoon-back{margin-top:28px}
.home-webtoon{padding:72px 0;border-top:1px solid rgba(255,255,255,.08)}
.home-webtoon-rail{position:relative;margin-top:8px}
.home-webtoon-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px) / 4);
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  cursor:grab;
  padding-bottom:4px;
}
.home-webtoon-track::-webkit-scrollbar{display:none}
.home-webtoon-track.is-dragging{cursor:grabbing;scroll-behavior:auto;user-select:none}
.home-webtoon-card{scroll-snap-align:start;min-width:0}
.home-webtoon-nav{
  position:absolute;
  top:50%;
  z-index:2;
  width:42px;
  height:42px;
  margin-top:-21px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  background:rgba(8,8,8,.82);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.home-webtoon-nav:hover{border-color:#fff;background:#111}
.home-webtoon-nav.is-prev{left:-8px}
.home-webtoon-nav.is-next{right:-8px}
.home-webtoon-nav[hidden]{display:none!important}

.hero-video-template .hero-video-shade{position:absolute;inset:0;background:rgba(0,0,0,var(--hero-video-overlay,.45));pointer-events:none;z-index:1}
.hero-video-template .hero-inner{position:relative;z-index:2}
.hero-video-template .hero-bottom:not(.hero-match-center){position:relative;z-index:2}

/* Template A — full-bleed editorial film + timed captions */
/* Keep title/caption boxes uncompressed; rich caption HTML already supplies <br> line breaks. */
.hero-video-editorial{width:100%;max-width:none;min-height:100svh;margin-inline:auto;padding:0;align-items:center;overflow:clip;contain:paint;clip-path:inset(0);isolation:isolate;background:#020202}
.hero-video-editorial.hero-video-size-half{height:var(--hero-video-half-height,560px);min-height:var(--hero-video-half-height,560px);max-width:var(--hero-video-max-width,none)}
.hero-video-editorial .hero-video{z-index:0;opacity:.9;filter:none;transform:scale(1.005) translateZ(0);will-change:transform}
.hero-video-editorial .hero-video-shade{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.36) 0%,rgba(0,0,0,var(--hero-video-overlay,.45)) 46%,rgba(0,0,0,.78) 100%),linear-gradient(90deg,rgba(0,0,0,.42),transparent 38%,rgba(0,0,0,.12))}
.hero-video-texture{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.09;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1px,transparent 5px)}
.hero-video-editorial::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 -18vh 20vh rgba(0,0,0,.34)}
.hero-video-index{position:absolute;top:clamp(92px,11vh,132px);left:var(--pad);right:var(--pad);z-index:4;display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.66);font-size:9px;font-weight:900;letter-spacing:.28em}
.hero-video-index b{font-size:11px;color:#fff;letter-spacing:.08em}
.hero-video-editorial-inner{position:absolute!important;inset:0;z-index:3!important;width:100%;max-width:none;padding:0}
/* Center lockup in the safe band (above match strip). No fixed translateY —
   that pushes CTAs under the strip when the viewport shrinks (browser zoom). */
.hero-video-editorial-copy{position:relative;display:flex;box-sizing:border-box;width:100%;height:100%;max-width:none;padding:clamp(96px,12vh,140px) 0 clamp(56px,8vh,100px);align-items:center;justify-content:center;text-align:left;overflow:hidden}
.hero-video-has-strip .hero-video-editorial-copy{padding-bottom:clamp(112px,14vh,168px)}
.hero-video-editorial .hero-eyebrow{display:none!important}
.hero-video-lockup{position:relative;left:auto;top:auto;bottom:auto;display:flex;width:min(100%,1200px);max-height:100%;padding-inline:20px;flex-direction:column;align-items:center;justify-content:center;gap:0;transform:scale(calc(var(--hero-video-lockup-scale,1) * var(--hero-video-fit-scale,1)));transform-origin:center center;overflow:visible}
.hero-video-has-strip .hero-video-lockup{max-height:100%;transform:scale(calc(var(--hero-video-lockup-scale,1) * var(--hero-video-fit-scale,1)))}
.hero-video-calligraphy{display:flex;justify-content:center;align-items:center;position:relative;left:calc(var(--hero-video-ox-calli,0) * 1px);top:calc(var(--hero-video-oy-calli,0) * 1px);width:auto;max-width:min(calc(var(--hero-video-calligraphy-width,720px) * var(--hero-video-calligraphy-scale,1)),92vw);min-height:0;margin:0;flex-shrink:0;line-height:0}
.hero-video-calligraphy:not(.has-image){display:none}
.hero-video-calligraphy img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(var(--hero-video-calligraphy-height,220px) * var(--hero-video-calligraphy-scale,1));object-fit:contain;object-position:center;filter:drop-shadow(0 8px 24px rgba(0,0,0,.45))}
/* Gaps scale with nearby element size so shrinking calligraphy/title doesn't leave huge holes */
.hero-video-editorial .hero-title.hero-title--motion{position:relative;top:calc(var(--hero-video-oy-title,0) * 1px);left:calc(var(--hero-video-ox-title,0) * 1px);width:max-content;max-width:100%;flex-shrink:0;margin:0 0 calc((var(--hero-video-gap-calli-body,14) * 1px) * var(--hero-video-title-scale,1));padding-block:0;font-size:calc(clamp(64px,8.6vw,148px) * var(--hero-video-title-scale,1));line-height:.82;letter-spacing:-.075em;text-align:center;text-shadow:0 8px 42px rgba(0,0,0,.55);transform:none}
.hero-video-editorial .hero-title.hero-title--wordmark{line-height:0;letter-spacing:0;text-transform:none;text-shadow:none;width:auto;max-width:min(96vw,920px)}
/* Same width for both lines (original SVG is 218.07 wide) so SLASHER/ESPORTS edges align */
.hero-video-editorial .hero-title--wordmark .hero-title-wordmark{display:block;position:relative;z-index:1;width:calc(222px * var(--hero-video-wordmark-scale,1));height:auto;max-width:min(96vw,920px);margin:0 auto;object-fit:contain;object-position:center;opacity:0;filter:brightness(0) invert(1) drop-shadow(0 8px 42px rgba(0,0,0,.55))}
.hero-video-editorial .hero-title--wordmark.is-play .hero-title-wordmark,.hero-video-editorial .hero-title--wordmark.is-static .hero-title-wordmark{opacity:1;transform:none}
.hero-video-editorial .hero-wordmark-line{position:relative;display:block;width:max-content;max-width:100%;margin-inline:auto;overflow:visible;line-height:0}
.hero-video-editorial .hero-wordmark-line .hero-title-wipe{top:0;bottom:0;left:0;right:0;z-index:2}
.hero-video-editorial .hero-video-calligraphy{opacity:0}
.hero-video-editorial [data-hero-slogan] > .hero-desc-line,
.hero-video-editorial:not(.is-hero-ready) [data-hero-slogan-actions] .btn{opacity:0;transform:translateY(18px)}
.hero-video-editorial.is-hero-ready [data-hero-slogan-actions] .btn{opacity:1;transform:none}
.hero-video-editorial .hero-desc-line{display:block;width:100%;max-width:620px;margin:0 auto;line-height:1.28}
.hero-video-editorial .hero-desc-line + .hero-desc-line{margin-top:0.12em}
.hero-video-editorial .hero-desc-line:has(> strong:only-child){line-height:1.18}
.hero-video-editorial .hero-desc-line:has(> strong:only-child) + .hero-desc-line:has(> strong:only-child){margin-top:0.06em}

/* Calligraphy sits between SVG and caption — gaps track calligraphy scale */
.hero-video-lockup:has(.hero-video-calligraphy.has-image) .hero-title.hero-title--motion{margin-bottom:calc((var(--hero-video-gap-title-calli,8) * 1px) * var(--hero-video-title-scale,1))}
.hero-video-lockup:has(.hero-video-calligraphy.has-image) .hero-title.hero-title--wordmark{margin-bottom:calc((var(--hero-video-gap-title-calli,8) * 1px) * var(--hero-video-wordmark-scale,1))}
.hero-video-lockup:has(.hero-video-calligraphy.has-image) .hero-video-calligraphy{margin:0 0 calc((var(--hero-video-gap-calli-body,14) * 1px) * var(--hero-video-calligraphy-scale,1))}
.hero-video-lockup:has(.hero-title--wordmark):has(.hero-video-calligraphy.has-image) .hero-video-calligraphy{margin-top:0}
.hero-video-lockup:has(.hero-video-calligraphy.has-image) .hero-video-caption{margin-top:0}
.hero-video-editorial .hero-actions{justify-content:center;margin-top:calc((var(--hero-video-gap-body-cta,18) * 1px) * var(--hero-video-desc-scale,1));gap:12px}
.hero-video-editorial.hero-video-size-half .hero-title.hero-title--motion{top:calc(var(--hero-video-oy-title,0) * 1px);font-size:calc(clamp(52px,7.4vw,110px) * var(--hero-video-title-scale,1))}
.hero-video-editorial .hero-title--motion .hero-title-line{width:max-content;max-width:100%;margin-inline:auto;padding:0;text-align:center}
.hero-video-editorial .hero-title--motion .hero-title-line:nth-child(2){margin-top:-.22em;margin-left:auto;margin-right:auto}
/* Rebuild single-SVG stack: 8 units gap on 218.07 artboard */
.hero-video-editorial .hero-title--wordmark.hero-title--motion .hero-title-line:nth-child(2),
.hero-video-editorial .hero-title--wordmark .hero-wordmark-line + .hero-wordmark-line{margin-top:calc(222px * var(--hero-video-wordmark-scale,1) * 8 / 218.07)}
.hero-video-editorial .hero-title--motion .hero-title-wipe{left:0;right:0;background:#b51721;box-shadow:0 0 32px rgba(181,23,33,.2)}
.hero-video-caption{flex-shrink:0;position:relative;left:calc(var(--hero-video-ox-caption,0) * 1px);top:calc(var(--hero-video-oy-caption,0) * 1px);bottom:auto;width:min(640px,88vw);margin:0;opacity:0;transform:translateY(18px);text-align:center;text-shadow:0 2px 18px #000}
/* Render the editor's newlines once; only explicit bold markers emphasize text. */
.hero-video-editorial .hero-video-description{max-width:620px;margin:0 auto;color:rgba(255,255,255,.9);font-size:calc(clamp(13px,1.15vw,16px) * var(--hero-video-desc-scale,1));font-weight:400;line-height:1.32;white-space:normal;overflow-wrap:break-word}
.hero-video-editorial .hero-video-description strong{color:#fff;font-size:calc(clamp(14px,1.25vw,18px) * var(--hero-video-desc-scale,1));font-weight:900;line-height:1.15}
.hero-video-editorial .hero-desc-kicker{display:block;max-width:620px;margin:0 auto;color:#fff;font-size:clamp(14px,1.2vw,18px);font-weight:950;letter-spacing:.1em;line-height:1.25;text-transform:uppercase;white-space:normal}
.hero-video-editorial .hero-desc-kicker strong{font-weight:950}
.hero-video-editorial .hero-desc-spacer{display:block;margin:0;padding:0;border:0;line-height:1;overflow:hidden;visibility:hidden}
.hero-video-editorial .hero-desc-spacer[data-size="1"]{height:clamp(10px,1.2vh,16px)}
.hero-video-editorial .hero-desc-spacer[data-size="2"]{height:clamp(16px,1.8vh,24px)}
.hero-video-editorial .hero-desc-spacer[data-size="3"]{height:clamp(22px,2.4vh,32px)}
.hero-video-editorial .hero-desc-spacer[data-size="4"]{height:clamp(28px,3vh,40px)}
.hero-video-editorial .hero-desc-spacer[data-size="5"]{height:clamp(34px,3.6vh,48px)}
.hero-video-editorial .hero-desc-spacer[data-size="6"]{height:clamp(40px,4.2vh,56px)}
.hero-video-editorial .hero-desc-lead{max-width:620px;margin:4px auto 0;color:#fff;font-size:clamp(14px,1.25vw,17px);font-weight:750;line-height:1.45;text-wrap:pretty;white-space:normal}
.hero-video-editorial .hero-desc-lead strong{font-weight:900}
.hero-video-editorial .hero-desc{max-width:620px;margin:12px auto 0;color:rgba(255,255,255,.9);font-size:clamp(13px,1.15vw,16px);font-weight:500;line-height:1.65;text-wrap:pretty;white-space:normal}
.hero-video-editorial .hero-desc strong{font-weight:850;color:#fff}
.hero-video-editorial .hero-actions .btn{position:relative;isolation:isolate;min-height:46px;padding:12px 20px;font-size:13px;color:#fff!important;-webkit-text-fill-color:#fff;background:rgba(0,0,0,.62);backdrop-filter:none;transition:background .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease,filter .25s ease}
.hero-video-editorial .hero-actions .btn::after{position:relative;z-index:1;color:currentColor;-webkit-text-fill-color:currentColor}
.hero-video-editorial .hero-actions .btn.is-style-blade{border-radius:0;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,9px 100%)}
.hero-video-editorial .hero-actions .btn.is-style-pill{border-radius:999px;clip-path:none}
.hero-video-editorial .hero-actions .btn.is-style-square{border-radius:8px;clip-path:none}
.hero-video-editorial .hero-actions .btn.is-color-red{color:#fff!important;background:var(--red);border-color:var(--red)}
.hero-video-editorial .hero-actions .btn.is-color-red.is-hover-color:hover,
.hero-video-editorial .hero-actions .btn.is-color-red.is-hover-color:focus-visible,
.hero-video-editorial .hero-actions .btn.is-color-red.is-hover-lift:hover,
.hero-video-editorial .hero-actions .btn.is-color-red.is-hover-lift:focus-visible,
.hero-video-editorial .hero-actions .btn.is-color-red.is-hover-glow:hover,
.hero-video-editorial .hero-actions .btn.is-color-red.is-hover-glow:focus-visible{color:#fff!important;-webkit-text-fill-color:#fff;background:#bd171f;border-color:#f13a42}
.hero-video-editorial .hero-actions .btn.is-color-dark{color:#fff!important;background:rgba(0,0,0,.72);border-color:rgba(255,255,255,.42)}
.hero-video-editorial .hero-actions .btn.is-color-dark.is-hover-color:hover,
.hero-video-editorial .hero-actions .btn.is-color-dark.is-hover-color:focus-visible,
.hero-video-editorial .hero-actions .btn.is-color-dark.is-hover-lift:hover,
.hero-video-editorial .hero-actions .btn.is-color-dark.is-hover-lift:focus-visible,
.hero-video-editorial .hero-actions .btn.is-color-dark.is-hover-glow:hover,
.hero-video-editorial .hero-actions .btn.is-color-dark.is-hover-glow:focus-visible{color:#fff!important;-webkit-text-fill-color:#fff;background:rgba(255,255,255,.16);border-color:#fff}
.hero-video-editorial .hero-actions .btn.is-color-white{color:#fff!important;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.72)}
.hero-video-editorial .hero-actions .btn.is-color-white.is-hover-color:hover,
.hero-video-editorial .hero-actions .btn.is-color-white.is-hover-color:focus-visible,
.hero-video-editorial .hero-actions .btn.is-color-white.is-hover-lift:hover,
.hero-video-editorial .hero-actions .btn.is-color-white.is-hover-lift:focus-visible,
.hero-video-editorial .hero-actions .btn.is-color-white.is-hover-glow:hover,
.hero-video-editorial .hero-actions .btn.is-color-white.is-hover-glow:focus-visible{color:#080808!important;-webkit-text-fill-color:#080808;background:#fff;border-color:#fff}
.hero-video-editorial .hero-actions .btn.is-color-ghost{color:#fff!important;background:transparent;border-color:rgba(255,255,255,.38)}
.hero-video-editorial .hero-actions .btn.is-color-ghost.is-hover-color:hover,
.hero-video-editorial .hero-actions .btn.is-color-ghost.is-hover-color:focus-visible,
.hero-video-editorial .hero-actions .btn.is-color-ghost.is-hover-lift:hover,
.hero-video-editorial .hero-actions .btn.is-color-ghost.is-hover-lift:focus-visible,
.hero-video-editorial .hero-actions .btn.is-color-ghost.is-hover-glow:hover,
.hero-video-editorial .hero-actions .btn.is-color-ghost.is-hover-glow:focus-visible{color:#fff!important;-webkit-text-fill-color:#fff;background:rgba(255,255,255,.12);border-color:#fff}
/* Kill global .btn:hover translate that fights GSAP / magnetic */
.hero-video-editorial .hero-actions .btn.is-hover-color:hover,
.hero-video-editorial .hero-actions .btn.is-hover-color:focus-visible,
.hero-video-editorial .hero-actions .btn.is-hover-glow:hover,
.hero-video-editorial .hero-actions .btn.is-hover-glow:focus-visible,
.hero-video-editorial .hero-actions .btn.is-hover-none:hover,
.hero-video-editorial .hero-actions .btn.is-hover-none:focus-visible{transform:none}
.hero-video-editorial .hero-actions .btn.is-hover-lift:hover,
.hero-video-editorial .hero-actions .btn.is-hover-lift:focus-visible{transform:translateY(-2px)}
.hero-video-editorial .hero-actions .btn.is-hover-glow:hover,
.hero-video-editorial .hero-actions .btn.is-hover-glow:focus-visible{box-shadow:0 0 28px rgba(224,29,38,.38),0 0 0 1px rgba(255,255,255,.08)}
.hero-video-editorial .hero-actions .btn.is-hover-none:hover,
.hero-video-editorial .hero-actions .btn.is-hover-none:focus-visible{filter:none;box-shadow:none}
/* Legacy class fallbacks */
.hero-video-editorial .hero-actions .btn:not(.is-color-red):not(.is-color-dark):not(.is-color-white):not(.is-color-ghost):not(.red){color:#fff;border-color:rgba(255,255,255,.5)}
.hero-video-editorial .hero-actions .btn:not(.is-color-red):not(.is-color-dark):not(.is-color-white):not(.is-color-ghost):not(.red):hover,
.hero-video-editorial .hero-actions .btn:not(.is-color-red):not(.is-color-dark):not(.is-color-white):not(.is-color-ghost):not(.red):focus-visible{color:#fff!important;-webkit-text-fill-color:#fff;background:rgba(255,255,255,.18);border-color:#fff;transform:none}
.hero-video-editorial .hero-actions .btn.red{color:#fff;background:var(--red);border-color:var(--red)}
.hero-video-editorial .hero-actions .btn.red:hover,
.hero-video-editorial .hero-actions .btn.red:focus-visible{color:#fff!important;-webkit-text-fill-color:#fff;background:#bd171f;border-color:#f13a42;transform:none}
.hero-video-editorial .hero-bottom{position:absolute;left:0;right:0;bottom:0;z-index:5;overflow:hidden;border-bottom:1px solid #080809;background:#060607;backdrop-filter:none;transform:translateZ(0)}
/* Match Center circuit sheet slides up — must not clip */
.hero-video-editorial .hero-bottom.hero-match-center{
  position:absolute;
  inset:auto 0 0 0;
  width:100%;
  min-height:112px;
  overflow:visible;
  transform:none;
  z-index:8;
}
.hero-video-editorial .hero-bottom.hero-match-center.is-circuit-open{
  z-index:30;
}
.hero-video-editorial.hero-video-size-half .hero-video-index{top:88px}
.hero-video-editorial.hero-video-size-half .hero-actions{margin-top:14px}
@media(max-width:720px){
  .hero-video-editorial{width:100%;min-height:680px;height:auto;max-width:none;padding:0}
  .hero-video-editorial.hero-video-size-half{height:var(--hero-video-half-height,560px);min-height:var(--hero-video-half-height,560px)}
  .hero-video-editorial-inner,.hero-video-editorial.hero-video-size-half .hero-video-editorial-inner{padding:0}
  .hero-video-index,.hero-video-editorial.hero-video-size-half .hero-video-index{top:84px;left:18px;right:18px}
  .hero-video-editorial.hero-video-size-half .hero-video-index{display:none}
  .hero-video-editorial-copy{padding:clamp(84px,14vh,112px) 0 clamp(48px,8vh,88px);overflow:hidden}
  .hero-video-has-strip .hero-video-editorial-copy{padding-bottom:clamp(112px,18vh,180px)}
  .hero-video-lockup{padding-inline:14px;max-height:100%;transform:scale(calc(var(--hero-video-lockup-scale,1) * var(--hero-video-fit-scale,1)))}
  .hero-video-has-strip .hero-video-lockup{transform:scale(calc(var(--hero-video-lockup-scale,1) * var(--hero-video-fit-scale,1)));max-height:100%}
  .hero-video-calligraphy{width:auto;max-width:min(calc(var(--hero-video-calligraphy-width,720px) * var(--hero-video-calligraphy-scale,1)),90vw);margin:0;left:calc(var(--hero-video-ox-calli,0) * 1px);top:calc(var(--hero-video-oy-calli,0) * 1px)}
  .hero-video-calligraphy img{width:auto;height:auto;max-width:100%;max-height:min(calc(var(--hero-video-calligraphy-height,220px) * var(--hero-video-calligraphy-scale,1)),28vh)}
  .hero-video-editorial .hero-title.hero-title--motion{top:calc(var(--hero-video-oy-title,0) * 1px);left:calc(var(--hero-video-ox-title,0) * 1px);font-size:calc(clamp(50px,16.5vw,72px) * var(--hero-video-title-scale,1));line-height:.84;overflow:visible}
  .hero-video-lockup:has(.hero-video-calligraphy.has-image) .hero-title.hero-title--motion{margin-bottom:calc((var(--hero-video-gap-title-calli,8) * 1px) * var(--hero-video-title-scale,1))}
  .hero-video-lockup:has(.hero-video-calligraphy.has-image) .hero-title.hero-title--wordmark{margin-bottom:calc((var(--hero-video-gap-title-calli,8) * 1px) * var(--hero-video-wordmark-scale,1))}
  .hero-video-lockup:has(.hero-video-calligraphy.has-image) .hero-video-calligraphy{margin-bottom:calc((var(--hero-video-gap-calli-body,14) * 1px) * var(--hero-video-calligraphy-scale,1))}
  .hero-video-lockup:has(.hero-title--wordmark):has(.hero-video-calligraphy.has-image) .hero-video-calligraphy{margin-top:0}
  .hero-video-lockup:has(.hero-video-calligraphy.has-image) .hero-video-caption{margin-top:0}
  .hero-video-editorial.hero-video-size-half .hero-title.hero-title--motion{top:calc(var(--hero-video-oy-title,0) * 1px);font-size:calc(clamp(46px,14.5vw,64px) * var(--hero-video-title-scale,1))}
  .hero-video-editorial .hero-title--motion .hero-title-line{padding-inline:0}
  .hero-video-editorial .hero-title--motion .hero-title-line:first-child{margin-inline:auto}
  .hero-video-editorial .hero-title--motion .hero-title-line:nth-child(2){margin-top:-.2em;margin-inline:auto}
  .hero-video-editorial .hero-title--wordmark.hero-title--motion .hero-title-line:nth-child(2){margin-top:calc(222px * var(--hero-video-wordmark-scale,1) * 8 / 218.07)}
  .hero-video-caption,.hero-video-editorial.hero-video-size-half .hero-video-caption{bottom:auto;width:90vw;margin:0;padding:0;left:calc(var(--hero-video-ox-caption,0) * 1px);top:calc(var(--hero-video-oy-caption,0) * 1px)}
  .hero-video-editorial .hero-desc-kicker{font-size:13px}
  .hero-video-editorial .hero-desc-lead{font-size:14px;margin-top:3px}
  .hero-video-editorial .hero-desc{font-size:13px;line-height:1.6;margin-top:10px}
  .hero-video-editorial .hero-actions{margin-top:16px}
  .hero-video-editorial .hero-actions .btn{min-height:44px;font-size:12px}
  .hero-video-editorial.hero-video-size-half .hero-actions{display:none}
}
@media(prefers-reduced-motion:reduce){.hero-video-editorial .hero-video{transform:none}.hero-video-caption{opacity:1;transform:none}}

/* Template C — same B layout; figure slot replaces one silhouette (never full-bleed cover) */
.hero-dynamic .hero-dynamic-bottom{margin:14px 0 0;display:grid;gap:2px;letter-spacing:.14em;font-size:12px;font-weight:850;color:#cfcfd2;text-transform:uppercase}
.hero-dynamic .hero-dynamic-bottom strong{font-size:clamp(18px,2.2vw,28px);letter-spacing:-.04em;color:#fff}
.hero-dynamic-figures{z-index:4}
.hero-dynamic-figure{
  height:86%;
  width:18%;
  min-width:120px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(180deg,#1d1d20 0,#0b0b0c 60%,#050505 100%) center 18%/cover no-repeat;
  clip-path:polygon(22% 5%,66% 0,82% 11%,81% 28%,96% 42%,89% 100%,12% 100%,6% 45%,19% 28%);
  border:1px solid rgba(255,255,255,.07);
  filter:drop-shadow(-18px 0 28px rgba(0,0,0,.85));
  position:relative;
  transform-origin:bottom center;
  z-index:3;
  transition:opacity .45s ease,transform .55s ease,filter .45s ease;
}
.hero-dynamic-figure.has-photo{
  clip-path:none!important;
  background:transparent!important;
  border-color:transparent;
  filter:drop-shadow(-18px 0 28px rgba(0,0,0,.85));
  overflow:visible;
  flex-shrink:0;
  position:relative;
  width:auto;
  min-width:clamp(150px,18vw,260px);
  height:auto;
  min-height:clamp(340px,58vh,720px);
  align-self:flex-end;
}
.hero-dynamic-figure:not(.has-photo) [data-hero-figure-img],
.hero-dynamic-figure:not(.has-photo) img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  display:block;
}
.hero-dynamic-figure.has-photo{background-color:transparent;background-image:none;clip-path:none}
.hero-dynamic.is-leaving .hero-dynamic-figure,
.hero-dynamic.is-leaving [data-hero-copy]{opacity:.35}
.hero-dynamic.is-entering .hero-dynamic-figure,
.hero-dynamic.is-entering [data-hero-copy]{opacity:1}
.hero-dynamic.is-fade.is-leaving .hero-dynamic-figure,
.hero-dynamic.is-fade.is-leaving [data-hero-copy]{opacity:0}
.hero-dynamic.is-slide.is-leaving .hero-dynamic-figure{transform:translateX(8%)}
.hero-dynamic.is-slide.is-entering .hero-dynamic-figure{transform:translateX(0)}
.hero-dynamic.is-mask.is-leaving .hero-dynamic-figure{clip-path:inset(0 40% 0 0);opacity:.5}
.hero-dynamic.is-mask.is-entering .hero-dynamic-figure{clip-path:polygon(22% 5%,66% 0,82% 11%,81% 28%,96% 42%,89% 100%,12% 100%,6% 45%,19% 28%);opacity:1}
.hero-dynamic.is-mask.is-entering .hero-dynamic-figure.has-photo{clip-path:none;opacity:1}
.hero-dynamic.is-mask.is-leaving .hero-dynamic-figure.has-photo{clip-path:inset(0 40% 0 0)!important;opacity:.5}
.hero-dynamic.is-mask.is-entering .hero-dynamic-figure.has-photo{clip-path:none!important;opacity:1}
@media(max-width:720px){
  .hero-dynamic .hero-dynamic-figure.has-photo{
    min-width:clamp(120px,28vw,200px);
    min-height:clamp(260px,48vh,560px);
  }
}
.hero-dynamic.is-cut .hero-dynamic-figure,
.hero-dynamic.is-cut [data-hero-copy]{transition:none}
@media (prefers-reduced-motion:reduce){
  .hero-dynamic-figure,[data-hero-copy]{transition:none!important}
}

@media(max-width:980px){
  .pub-cal-layout,.webtoon-grid{grid-template-columns:1fr}
  .home-webtoon-track{grid-auto-columns:calc((100% - 16px) / 2)}
  .home-webtoon-nav.is-prev{left:0}
  .home-webtoon-nav.is-next{right:0}
  .pub-cal-entrants{grid-template-columns:1fr}
  .pub-cal-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
  @media (min-width:720px){
    .pub-cal-chips{grid-template-columns:repeat(4,minmax(0,1fr))}
  }
}
@media(max-width:560px){
  .home-webtoon-track{grid-auto-columns:calc(100% - 8px)}
}

/* Preserve transparent player portrait aspect ratio (img contain over bg fallback). */
.player-body.has-photo{
  background-color:#0d0d0f;
  background-size:cover;
  background-position:center 18%;
  background-repeat:no-repeat;
}
.portrait.has-photo::before{display:none}
.portrait-figure{
  position:absolute;
  left:16%;
  bottom:-8%;
  width:68%;
  height:87%;
  z-index:1;
  background:#1a1a1d center 18%/cover no-repeat;
  clip-path:polygon(28% 0,70% 0,82% 13%,84% 30%,98% 44%,92% 100%,8% 100%,2% 44%,16% 30%,18% 13%);
  filter:drop-shadow(-10px 0 18px rgba(0,0,0,.45));
}
.portrait.has-photo .portrait-figure{clip-path:none;background:transparent;left:0;bottom:0;width:100%;height:100%}
.portrait.has-photo span{z-index:2}

/* PHASE 3.6 — home rhythm + schedule date block extras */

body.site-home .section-head{
  align-items:flex-end;
  gap:clamp(20px,3vw,36px);
  margin-bottom:clamp(36px,4.5vw,48px);
}
body.site-home .section-head .kicker{
  margin:0;
}
body.site-home .section-head .section-title{
  margin-top:10px;
}
body.site-home .section-head .section-copy{
  margin:0;
  max-width:28rem;
  line-height:1.75;
}
.home-schedule .section-head,
.home-webtoon .section-head,
.home-news .section-head,
.home-creators .section-head,
.home-media .section-head{
  padding-bottom:4px;
}

.pub-cal-date-stack{
  min-height:4.5rem;
}
.pub-cal-match:hover{
  border-color:rgba(255,255,255,.22);
}

@media(max-width:720px){
  .pub-cal-date-stack{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
  }
  .pub-cal-date-weekday{
    grid-column:1;
    grid-row:3;
    padding-bottom:0;
    padding-top:4px;
  }
}

/* HOME Goods — real product lead visual (no placeholder cards) */
.shop-drop{
  position:relative;
  z-index:0;
  overflow:hidden;
  isolation:isolate;
  contain:paint;
}
.drop-stage{
  position:relative;
  z-index:0;
  overflow:hidden;
}
.drop-orbit,
.drop-stage::before{
  z-index:0;
  pointer-events:none;
}
.drop-lead{
  position:absolute;
  inset:12% 10% 14% 18%;
  z-index:1;
  max-width:100%;
  max-height:100%;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  border:1px solid rgba(255,255,255,.14);
  background:#0b0b0c;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
}
.drop-lead-media{
  min-height:0;
  background:#151517 center/cover no-repeat;
}
.drop-lead-meta{
  padding:14px 16px;
  border-top:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,#121214,#0a0a0b);
}
.drop-lead-meta small{
  display:block;
  color:var(--red,#e01d26);
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
}
.drop-lead-meta b{
  display:block;
  margin-top:6px;
  font-size:clamp(18px,2.4vw,28px);
  letter-spacing:-.04em;
}
.drop-lead-meta span{
  display:block;
  margin-top:4px;
  color:#9a9aa0;
  font-size:13px;
}
.product-grid{
  position:relative;
  z-index:2;
  margin-top:18px;
}
.product-card{
  position:relative;
  z-index:1;
  background:#09090a;
  isolation:isolate;
}
.product-thumb{
  isolation:isolate;
  background-color:#09090a;
  background-size:cover;
  background-position:center;
}
.product-thumb .mini-slash{
  /* rest: hidden — only expand on hover (was a permanent red slash over photos) */
  transform:rotate(-13deg) scaleX(0);
  pointer-events:none;
}
@media(max-width:900px){
  .drop-lead{inset:10% 8% 12% 8%}
}

/* PHASE 3.7 — cutout players, detail panels, solid hero titles, social icons */

/* Classic / Dynamic: both title lines solid (no outline stroke) */
.hero-title .hero-title-secondary,
.hero-title span.hero-title-secondary{
  color:#fff;
  -webkit-text-stroke:0;
  text-shadow:none;
  transform:none;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  opacity:.92;
}

/* Home roster players: <img> contain, no polygon clip */
.player-body{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.player-body.has-photo{
  background-image:none!important;
  background-color:#0d0d0f;
}
.player-character-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  clip-path:none!important;
  pointer-events:none;
}

/* Team roster portraits — placeholder coffin only when no photo */
.portrait:not(.has-photo)::before{
  z-index:0;
}
.portrait.has-photo::before{
  display:none!important;
  content:none!important;
}
.portrait.has-photo{
  background-color:#121214;
  background-image:
    radial-gradient(circle at 72% 18%,rgba(224,29,38,.14),transparent 42%),
    linear-gradient(180deg,#161618 0%,#101012 100%);
}
.portrait.has-photo .portrait-figure{display:none!important}
.portrait.has-photo .player-character-image{
  position:absolute;
  left:50%;
  bottom:-2%;
  z-index:2;
  width:auto;
  max-width:96%;
  height:96%;
  transform:translateX(-50%);
  object-fit:contain;
  object-position:center bottom;
  clip-path:none!important;
  filter:drop-shadow(-12px 0 22px rgba(0,0,0,.5));
  pointer-events:none;
}
.portrait.has-photo .portrait-number,
.portrait.has-photo > span:not(.card-hover-glow):not(.card-hover-rise){
  z-index:3;
}
.portrait.has-photo > .card-hover-glow,
.portrait.has-photo > .card-hover-rise{
  z-index:1;
}
.portrait.has-photo > .roster-card-back{
  z-index:2;
}
.portrait.has-photo > .roster-card-birth{
  z-index:2;
}
.portrait.has-photo > .roster-card-sign{
  z-index:4;
}
.portrait:not(.has-photo) .player-character-image{display:none}
.portrait-figure .player-character-image{
  position:absolute;
  left:8%;
  bottom:0;
  width:84%;
  height:92%;
  z-index:1;
  object-fit:contain;
  object-position:center bottom;
  clip-path:none!important;
  filter:drop-shadow(-10px 0 18px rgba(0,0,0,.45));
}
.portrait-figure{
  clip-path:none!important;
  background:transparent!important;
  left:0;bottom:0;width:100%;height:100%;
}
.roster-card.is-selected{
  border-color:rgba(224,29,38,.7);
  box-shadow:inset 0 0 0 1px rgba(224,29,38,.35);
}
.roster-card{cursor:default}
.creator-card{cursor:default}

.person-detail{
  margin-top:28px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(165deg,#121214,#0a0a0b);
  padding:24px;
  display:grid;
  grid-template-columns:minmax(160px,220px) minmax(0,1fr);
  gap:24px;
  align-items:start;
  min-height:180px;
}
.person-detail[hidden]{display:none!important}
.person-detail-art{
  min-height:220px;
  background:#101012;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  border:1px solid rgba(255,255,255,.08);
}
.person-detail-art.has-photo{
  background-color:#121214;
  background-image:radial-gradient(circle at 72% 18%,rgba(224,29,38,.12),transparent 42%),linear-gradient(180deg,#161618 0%,#101012 100%);
}
.person-detail-art img{
  width:100%;
  height:240px;
  object-fit:contain;
  object-position:center bottom;
}
.person-detail-meta small{
  color:var(--red,#e01d26);
  font-size:10px;
  letter-spacing:.14em;
  font-weight:850;
}
.person-detail-meta h3{
  margin:8px 0 6px;
  font-size:clamp(24px,3vw,36px);
  letter-spacing:-.04em;
}
.person-detail-meta .person-detail-team{
  margin:0 0 14px;
  color:#8d8d92;
  font-size:12px;
}
.person-detail-bio{
  margin:0 0 16px;
  color:#cfcfd2;
  line-height:1.65;
  font-size:14px;
  white-space:pre-wrap;
}
.person-detail-list{
  list-style:none;
  margin:0 0 18px;
  padding:0;
  display:grid;
  gap:10px;
}
.person-detail-list li{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:10px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px;
}
.person-detail-list em{
  color:var(--red,#e01d26);
  font-style:normal;
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
}
.person-detail-list strong{display:block;font-size:14px}
.person-detail-list span{display:block;margin-top:4px;color:#8d8d92;font-size:12px;line-height:1.5}
.person-social{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.person-social a,
.creator-social a.social-icon,
.roster-links a.social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  width:32px;
  height:32px;
  padding:0;
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:9px;
  letter-spacing:.12em;
  font-weight:800;
}
.person-social a img,
.creator-social a.social-icon img,
.roster-links a.social-icon img{
  width:14px;
  height:14px;
  display:block;
  filter:brightness(0) invert(1);
  opacity:.9;
}
.social-dot img{
  width:14px;
  height:14px;
  display:block;
  filter:brightness(0) invert(1);
  opacity:.92;
}
.creator-card.is-selected,
.creator-card.is-expanded,
.roster-card.is-selected,
.roster-card.is-expanded{
  border-color:rgba(224,29,38,.7);
  box-shadow:inset 0 0 0 1px rgba(224,29,38,.35);
}
.creator-card{cursor:default}
.roster-card.is-expanded{
  grid-column:span 1;
}

.person-detail-inline{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.1);
  text-align:left;
  animation:personInlineOpen .28s ease-out;
}
@keyframes personInlineOpen{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:none}
}
.creator-card .person-detail-inline{
  text-align:left;
}
.creator-card.is-expanded{
  padding-bottom:20px;
}
.person-detail-inline-meta{
  display:grid;
  gap:10px;
}
.person-detail-inline .person-detail-bio{
  margin:0;
  color:#cfcfd2;
  font-size:13px;
  line-height:1.65;
  white-space:pre-wrap;
}
.person-detail-inline .person-detail-list{
  margin:0;
}
.person-detail-inline-social{
  justify-content:flex-start;
}
.roster-card .person-detail-inline{
  padding:0 18px 18px;
  margin-top:0;
  border-top:0;
}
.roster-card.is-expanded .card-body{
  padding-bottom:0;
}
.roster-card.is-expanded .person-detail-inline{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:14px;
}

@media(max-width:900px){
  .person-detail{grid-template-columns:1fr}
  .person-detail-art img{height:200px}
}

/* PHASE 3.8 — integration polish (partners / news thumbs / media rows) */

.news-feature-art[style*="background-image"] {
  background-size: cover;
  background-position: center;
}

.news-feature-art[style*="background-image"]::before {
  opacity: .35;
}

.partner-logo-slot {
  display: grid;
  place-items: center;
  margin: 0;
  line-height: 0;
}

.partner-logo-slot--marquee {
  width: 150px;
  height: 44px;
}

.partner-logo-slot--sponsor {
  width: min(100%, 200px);
  height: 72px;
  margin: 0 auto 14px;
}

.partner-logo img,
.partner-logo-mark--marquee,
.partner-logo-mark--sponsor {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center;
  transform: scale(var(--logo-scale, 1));
  transform-origin: center;
}

.partner-logo-mark--marquee {
  filter: grayscale(1) brightness(1.15);
  opacity: .88;
}

.partner-logo-mark--marquee.is-tinted,
.partner-logo-mark--sponsor.is-tinted {
  background-color: var(--logo-color, #fff);
  filter: none;
  opacity: .92;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.partner-logo span:not(.partner-logo-slot):not(.partner-logo-mark) {
  color: #525257;
  font-weight: 850;
  font-size: 13px;
  letter-spacing: .12em;
}

.sponsor-logo {
  display: block;
  width: min(100%, 200px);
  height: 72px;
  margin: 0 auto 14px;
  object-fit: contain;
}

.sponsor-card {
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}

.sponsor-card-inner {
  position: relative;
  z-index: 2;
}

.sponsor-card-hover-name,
.partner-logo-hover-name {
  position: absolute;
  inset: 12% 8% auto;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .45s ease, transform .55s cubic-bezier(.2,.8,.2,1);
}

.sponsor-card-hover-name strong,
.partner-logo-hover-name strong {
  display: block;
  max-width: 100%;
  color: rgba(255,255,255,.22);
  font-weight: 950;
  letter-spacing: -.05em;
  line-height: .9;
  text-transform: uppercase;
  word-break: break-word;
}

.sponsor-card-hover-name strong {
  font-size: clamp(28px, 3.2vw, 48px);
}

.sponsor-card--feature .sponsor-card-hover-name {
  inset: 14px 18px auto auto;
  text-align: right;
}

.sponsor-card--feature .partner-logo-slot--sponsor {
  width: min(100%, 220px);
  height: 96px;
  margin: 0;
}

.partner-logo-hover-name {
  inset: 8px 8px auto;
}

.partner-logo-hover-name strong {
  font-size: 11px;
  letter-spacing: .04em;
  line-height: 1.15;
  color: rgba(255,255,255,.55);
}

.sponsor-card:hover .sponsor-card-hover-name,
.sponsor-card:focus-within .sponsor-card-hover-name,
.partner-logo:hover .partner-logo-hover-name,
.partner-logo:focus-within .partner-logo-hover-name {
  opacity: 1;
  transform: none;
}

.partner-logo {
  position: relative;
  overflow: hidden;
}

.partner-logo-inner {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}

.partner-logo .card-hover-glow,
.partner-logo .card-hover-rise,
.sponsor-card .card-hover-glow,
.sponsor-card .card-hover-rise {
  z-index: 1;
}

.lobby-logo img {
  max-width: 56px;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
  background: transparent;
}

.match-foot a {
  color: inherit;
  text-decoration: none;
}

.match-foot a:hover {
  color: var(--red);
}

/* ——— HOME 2026 polish: Dynamic motion + title wipe + compact goods + scoped spacing ——— */

/* Dynamic Original: keep figures above copy; don't fade on mobile like classic silhouettes */
.hero.hero-dynamic .hero-dynamic-figures,
.hero.hero-dynamic .hero-dynamic-stage{
  z-index:4;
  opacity:1;
}
.hero.hero-dynamic .hero-dynamic-figures{
  bottom:112px;
  height:calc(88% - 24px);
  min-height:420px;
}
.hero.hero-dynamic .hero-dynamic-stage{
  bottom:112px;
  height:calc(80% - 24px);
  min-height:400px;
}
@media(max-width:980px){
  .hero.hero-dynamic .hero-dynamic-figures,
  .hero.hero-dynamic .hero-dynamic-stage{opacity:.88}
}
@media(max-width:720px){
  .hero.hero-dynamic .hero-dynamic-figures,
  .hero.hero-dynamic .hero-dynamic-stage{opacity:.78;right:-8%;width:min(92vw,520px)}
  .hero.hero-dynamic .hero-dynamic-figures{bottom:222px}
  .hero.hero-dynamic .hero-dynamic-stage{bottom:222px;height:calc(58% - 12px);min-height:280px}
}

/* Vertical Drop + Orbit stage */
.hero-dynamic-stage{
  position:absolute;
  right:1%;
  bottom:108px;
  width:min(58vw,860px);
  height:74%;
  z-index:4;
  pointer-events:none;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:clamp(6px,1.2vw,18px);
}
.hero-dyn-person{
  position:relative;
  flex:1 1 0;
  max-width:26%;
  height:86%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  opacity:0;
  transform:translate3d(0,-16%,0);
  transition:opacity .5s ease,transform .55s cubic-bezier(.2,.8,.2,1);
}
.hero-dyn-person.is-in{opacity:1;transform:translate3d(0,0,0)}
.hero-dyn-person.is-out{opacity:0;transform:translate3d(0,10%,0)}
.hero-dynamic-stage.is-count-1 .hero-dyn-person{max-width:48%;margin-right:6%}
.hero-dynamic-stage.is-count-2 .hero-dyn-person{max-width:36%}
.hero-dynamic-stage.is-count-3 .hero-dyn-person{max-width:32%}
.hero-dyn-person-figure{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
}
.hero-dyn-person-figure img{
  width:auto;
  max-width:none;
  height:clamp(300px,52vh,680px);
  object-fit:contain;
  object-position:center bottom;
  display:block;
  filter:drop-shadow(-14px 0 24px rgba(0,0,0,.8));
}
@media(max-width:720px){
  .hero-dyn-person-figure img{height:clamp(240px,46vh,520px)}
}
.hero-dyn-person.is-flipped .hero-dyn-person-figure img{transform:scaleX(-1)}
.hero-dyn-person-label{
  margin-top:10px;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .35s ease .05s,transform .35s ease .05s;
}
.hero-dyn-person.is-label-on .hero-dyn-person-label{opacity:1;transform:none}
.hero-dyn-person-label em{
  display:inline-block;
  margin-right:8px;
  color:var(--red,#e01d26);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.hero-dyn-person-label b{
  display:block;
  margin-top:4px;
  font-size:clamp(13px,1.3vw,18px);
  letter-spacing:-.03em;
  line-height:1.05;
}
.hero-dyn-person-label span{
  display:block;
  margin-top:2px;
  color:#8a8a90;
  font-size:10px;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-dyn-person-label::before{
  content:"";
  display:block;
  width:0;
  height:2px;
  margin-bottom:8px;
  background:var(--red,#e01d26);
  transition:width .28s cubic-bezier(.2,.8,.2,1);
}
.hero-dyn-person.is-label-on .hero-dyn-person-label::before{width:42px}

/* Orbit: absolute slots, slow swap */
.hero-dynamic.is-motion-orbit .hero-dynamic-stage{
  display:block;
}
.hero-dynamic.is-motion-orbit .hero-dyn-person{
  position:absolute;
  width:28%;
  height:70%;
  max-width:none;
  transition:transform .95s cubic-bezier(.22,.7,.2,1),opacity .95s ease,z-index 0s .4s;
}
.hero-dynamic.is-motion-orbit .hero-dyn-person[data-orbit-slot="0"]{
  left:50%;bottom:4%;transform:translate3d(-50%,0,0) scale(1.12);z-index:5;opacity:1;
}
.hero-dynamic.is-motion-orbit .hero-dyn-person[data-orbit-slot="1"]{
  left:8%;bottom:22%;transform:translate3d(0,0,0) scale(.86);z-index:3;opacity:.78;
}
.hero-dynamic.is-motion-orbit .hero-dyn-person[data-orbit-slot="2"]{
  left:36%;bottom:38%;transform:translate3d(0,0,0) scale(.72);z-index:1;opacity:.55;
}
.hero-dynamic.is-motion-orbit .hero-dyn-person[data-orbit-slot="3"]{
  right:6%;left:auto;bottom:18%;transform:translate3d(0,0,0) scale(.9);z-index:4;opacity:.84;
}
.hero-dynamic.is-motion-orbit .hero-dyn-person-label{display:none}
.hero-dyn-focus{
  position:absolute;
  left:18px;bottom:18px;
  z-index:6;
  min-width:140px;
  padding:12px 14px;
  border-left:2px solid var(--red,#e01d26);
  background:linear-gradient(90deg,rgba(0,0,0,.55),transparent);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-dyn-focus small{display:block;color:var(--red,#e01d26);font-size:9px;font-weight:900}
.hero-dyn-focus b{display:block;margin-top:6px;font-size:clamp(16px,2vw,26px);letter-spacing:-.04em;text-transform:none}
.hero-dyn-focus span{display:block;margin-top:4px;color:#9a9aa0;font-size:10px;font-weight:750}

@media(max-width:900px){
  .hero-dynamic-stage{bottom:230px;height:58%;width:min(70vw,480px)}
  .hero-dynamic.is-motion-orbit .hero-dyn-person{width:34%;height:62%}
}
@media(max-width:720px){
  .hero-dynamic-stage{right:-4%;bottom:250px;width:78vw;height:48%;gap:4px}
  .hero-dyn-person-label b{font-size:12px}
  .hero-dyn-focus{left:10px;bottom:8px;padding:8px 10px}
  .hero-dyn-focus b{font-size:15px}
}

/* Main typography wipe / reveal (once) */
.hero-title.hero-title--motion{
  position:relative;
  line-height:.72;
  overflow:visible;
  padding-block:.04em;
}
.hero-title--motion .hero-title-line{
  position:relative;
  display:block;
  overflow:visible;
  width:max-content;
  max-width:100%;
  /* Full em box so the wipe covers glyph ink; lockup tightness comes from negative margin */
  line-height:1;
  padding-block:0;
}
.hero-title--motion .hero-title-line + .hero-title-line{
  margin-top:-.28em;
}
.hero-title--motion .hero-title-wipe{
  position:absolute;
  left:-.03em;
  right:-.06em;
  top:-.02em;
  bottom:-.02em;
  z-index:2;
  background:var(--red,#e01d26);
  transform:scaleX(0);
  transform-origin:left center;
  pointer-events:none;
}
.hero-title--motion .hero-title-line .hero-title-wipe + .hero-title-text{
  margin-top:0;
}
.hero-title--motion .hero-title-text{
  display:block;
  position:relative;
  z-index:1;
  line-height:1;
  padding-block:0;
  opacity:0;
  transform:translateY(10%);
}
.hero-title--motion.is-play .hero-title-line:nth-child(1) .hero-title-wipe{
  animation:heroWipeBox .72s cubic-bezier(.18,.82,.2,1) .08s both;
}
.hero-title--motion.is-play .hero-title-line:nth-child(1) .hero-title-text{
  animation:heroTitleIn .55s cubic-bezier(.2,.8,.2,1) .34s both, heroChromatic .28s linear .34s both;
}
.hero-title--motion.is-play .hero-title-line:nth-child(2) .hero-title-wipe{
  animation:heroWipeBox .72s cubic-bezier(.18,.82,.2,1) .42s both;
}
.hero-title--motion.is-play .hero-title-line:nth-child(2) .hero-title-text{
  animation:heroTitleIn .55s cubic-bezier(.2,.8,.2,1) .68s both, heroChromatic .28s linear .68s both;
}
.hero-title--motion.is-static .hero-title-wipe{display:none}
.hero-title--motion.is-static .hero-title-text,
.hero-title--motion.is-static .hero-title-wordmark{opacity:1;transform:none}
@keyframes heroWipeBox{
  0%{transform:scaleX(0);transform-origin:left center}
  42%{transform:scaleX(1);transform-origin:left center}
  58%{transform:scaleX(1);transform-origin:right center}
  100%{transform:scaleX(0);transform-origin:right center}
}
@keyframes heroTitleIn{
  0%{opacity:0;transform:translateY(10%)}
  100%{opacity:1;transform:none}
}
@keyframes heroChromatic{
  0%{text-shadow:2px 0 rgba(224,29,38,.85),-2px 0 rgba(255,255,255,.35)}
  100%{text-shadow:none}
}

/* HOME Goods compact 4×1 */
body.site-home #shop.shop-section--compact{
  padding-top:48px;
  padding-bottom:40px;
}
body.site-home #shop.shop-section--compact .shop-head{
  margin-bottom:28px;
}
body.site-home #shop.shop-section--compact .shop-head .section-title{
  font-size:clamp(36px,4.6vw,64px);
}
body.site-home #shop.shop-section--compact .shop-head .section-copy{
  margin-top:12px;
  max-width:420px;
}
body.site-home #shop .product-grid--home{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:0;
}
body.site-home #shop .product-grid--home .product-thumb{
  aspect-ratio:1/1;
  width:100%;
  min-height:0;
  height:auto;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  background-color:#0d0d0f;
}
body.site-home #shop .product-grid--home .product-thumb>span{display:none}
body.site-home #shop .product-grid--home.is-size-small{
  grid-template-columns:repeat(4,minmax(0,170px));
  justify-content:center;
  gap:10px;
}
body.site-home #shop .product-grid--home.is-size-small .product-info{
  padding:14px 14px;
  gap:10px;
}
body.site-home #shop .product-grid--home.is-size-small .product-info h3{
  font-size:13px;
  line-height:1.35;
}
body.site-home #shop .product-grid--home.is-size-small .product-info p,
body.site-home #shop .product-grid--home.is-size-small .product-info>b{
  font-size:11px;
}
@media(max-width:1050px){
  body.site-home #shop .product-grid--home{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.site-home #shop .product-grid--home .product-card:last-child{grid-column:auto}
  body.site-home #shop .product-grid--home.is-size-small{
    grid-template-columns:repeat(2,minmax(0,170px));
  }
}
@media(max-width:520px){
  body.site-home #shop .product-grid--home{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.site-home #shop .product-grid--home .product-thumb{min-height:0;aspect-ratio:1/1}
  body.site-home #shop.shop-section--compact{padding-top:36px;padding-bottom:28px}
  body.site-home #shop .product-grid--home.is-size-small{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
}

/* Goods ↔ Webtoon ↔ Business spacing only (do not touch global section padding) */
body.site-home #shop.shop-section--compact + #home-webtoon,
body.site-home #shop + #home-webtoon{
  padding-top:40px;
}
body.site-home #home-webtoon{
  padding-bottom:40px;
}
body.site-home #home-webtoon + #partners,
body.site-home #shop + #partners{
  padding-top:40px;
}

/* Template 4 — Phase hero (GSAP enter · Swup re-entry) */
.hero-phase{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(ellipse 70% 80% at 78% 58%, rgba(224,29,38,.16), transparent 52%),
    linear-gradient(180deg, #070708 0%, #0a0607 48%, #050505 100%);
}
.hero-phase::after{content:none;display:none}
.hero-phase-field{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.hero-phase-wash{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, #050505 8%, rgba(5,5,5,.55) 38%, transparent 68%),
    linear-gradient(180deg, rgba(5,5,5,.2) 0%, transparent 28%, rgba(5,5,5,.55) 100%);
  z-index:2;
}
.hero-phase-blade{
  position:absolute;
  left:-18%;
  top:46%;
  z-index:4;
  width:136%;
  height:3px;
  background:linear-gradient(90deg, transparent 4%, var(--red) 36%, #fff 50%, var(--red) 64%, transparent 96%);
  box-shadow:0 0 18px rgba(224,29,38,.7);
  transform:rotate(-11deg);
  will-change:transform;
}
.hero-phase-figure{
  position:absolute;
  right:-4%;
  bottom:0;
  z-index:1;
  height:92%;
  width:min(58vw, 920px);
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.hero-phase-figure img{
  height:100%;
  width:auto;
  max-width:none;
  object-fit:contain;
  object-position:bottom center;
  filter:drop-shadow(-28px 12px 40px rgba(0,0,0,.55));
}
.hero-phase-figure.is-flipped img{transform:scaleX(-1)}
.hero-phase-copy{
  position:relative;
  z-index:3;
  width:min(var(--max), calc(100% - var(--pad) * 2));
  margin:0 auto;
  padding:18vh 0 12vh;
  max-width:920px;
  margin-left:var(--pad);
}
.hero-phase-brand{
  margin:0 0 18px;
  color:var(--red);
  font-size:clamp(13px, 1.4vw, 18px);
  font-weight:900;
  letter-spacing:.42em;
  line-height:1;
}
.hero-phase-title{
  margin:0;
  font-size:clamp(72px, 12.5vw, 188px);
  font-weight:950;
  letter-spacing:-.08em;
  line-height:.78;
  text-transform:uppercase;
  overflow:hidden;
}
.hero-phase-title span{
  display:block;
  will-change:transform, opacity;
}
.hero-phase-desc{
  max-width:28rem;
  margin:28px 0 0;
  color:#b8b8bc;
  font-size:15px;
  line-height:1.75;
}
.hero-phase-cta{
  display:inline-flex;
  align-items:center;
  margin-top:32px;
  border:0;
  background:var(--red);
  color:#fff;
  padding:14px 22px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
}
.hero-phase-cta:hover{background:#c41820;color:#fff}
.hero-phase.is-static .hero-phase-blade{transform:rotate(-11deg) scaleX(1)}
.hero-phase.is-static [data-hero-phase-figure],
.hero-phase.is-static [data-hero-phase-brand],
.hero-phase.is-static [data-hero-phase-line],
.hero-phase.is-static [data-hero-phase-desc],
.hero-phase.is-static [data-hero-phase-cta]{opacity:1;transform:none}
@media(max-width:900px){
  .hero-phase-figure{right:-18%;width:78vw;height:70%;opacity:.55}
  .hero-phase-copy{padding:22vh 0 10vh;max-width:100%}
  .hero-phase-title{font-size:clamp(64px, 20vw, 120px)}
}
@media(prefers-reduced-motion:reduce){
  .hero-phase-blade{transform:rotate(-11deg)!important}
}

@media (prefers-reduced-motion: reduce){
  .hero-dyn-person,
  .hero-dyn-person-label,
  .hero-dynamic.is-motion-orbit .hero-dyn-person{
    transition:none!important;
  }
  .hero-dyn-person{opacity:1;transform:none}
  .hero-dyn-person-label{opacity:1;transform:none}
  .hero-title--motion .hero-title-wipe{display:none!important}
  .hero-title--motion .hero-title-text,
  .hero-title--motion .hero-title-wordmark{opacity:1!important;transform:none!important;animation:none!important}
}

/* Home events — fixed 3x1 editorial cards below the hero match center. */
.home-events{overflow:hidden;background:transparent}
body.site-home #home-events .section-title{font-size:clamp(36px,4.6vw,64px)}
.home-events-head-side{display:grid;justify-items:end;gap:18px;max-width:32rem;text-align:right}
.home-events-head-side .section-copy{margin:0}
.home-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);width:100%;margin-inline:auto}
.home-event-grid.is-count-1,.home-event-grid.is-count-2{display:flex;justify-content:center}
.home-event-grid.is-count-1 .home-event-card,.home-event-grid.is-count-2 .home-event-card{flex:0 1 32%}
.home-event-card{display:grid;grid-template-rows:auto 1fr;min-width:0;border:1px solid rgba(255,255,255,.1);background:#0b0b0c;color:inherit;text-decoration:none;overflow:hidden;transition:border-color .25s ease,transform .35s cubic-bezier(.2,.8,.2,1),background .25s ease}
.home-event-visual{position:relative;aspect-ratio:16/10;overflow:hidden;background:#141416 center/cover no-repeat}
.home-event-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,3,4,.04) 35%,rgba(3,3,4,.78) 100%);transition:background .3s ease}
.home-event-fallback{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.18);font-size:clamp(18px,2vw,30px);font-weight:950;letter-spacing:-.04em}
.home-event-status{position:absolute;left:16px;top:16px;z-index:2;padding:7px 10px;border:1px solid rgba(255,255,255,.18);background:rgba(7,7,8,.76);backdrop-filter:blur(8px);color:#d8d8dc;font-size:10px;font-weight:900;letter-spacing:.1em}
.home-event-status.is-live{border-color:rgba(224,29,38,.62);background:rgba(224,29,38,.9);color:#fff}
.home-event-status.is-ended{color:#777}
.home-event-arrow{position:absolute;right:16px;bottom:14px;z-index:2;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.24);background:rgba(7,7,8,.62);font-size:18px;transition:background .25s ease,border-color .25s ease,transform .25s ease}
.home-event-info{display:grid;align-content:start;gap:10px;min-height:112px;padding:20px}
.home-event-info strong{font-size:clamp(17px,1.35vw,22px);line-height:1.4;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:anywhere}
.home-event-info time{color:#8d8d92;font-size:11px;font-weight:700;letter-spacing:.05em}
.home-event-card:hover,.home-event-card:focus-visible{border-color:rgba(224,29,38,.58);background:#111113;transform:translateY(-5px)}
.home-event-card:hover .home-event-visual::after,.home-event-card:focus-visible .home-event-visual::after{background:linear-gradient(180deg,rgba(224,29,38,.05) 20%,rgba(3,3,4,.82) 100%)}
.home-event-card:hover .home-event-arrow,.home-event-card:focus-visible .home-event-arrow{border-color:var(--red);background:var(--red);transform:translate(2px,-2px)}
@media(max-width:1050px){.home-event-grid,.home-event-grid.is-count-1,.home-event-grid.is-count-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:normal}.home-event-grid.is-count-1 .home-event-card{grid-column:1/-1;width:min(100%,520px);justify-self:center}}
@media(max-width:720px){.home-events-head-side{justify-items:start;text-align:left}.home-event-grid,.home-event-grid.is-count-1,.home-event-grid.is-count-2{display:flex;gap:12px;width:auto;margin-inline:calc(var(--pad)*-1);padding-inline:var(--pad);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);overscroll-behavior-inline:contain;scrollbar-width:none}.home-event-grid::-webkit-scrollbar{display:none}.home-event-card,.home-event-grid.is-count-1 .home-event-card{flex:0 0 min(82vw,340px);width:auto;scroll-snap-align:start}.home-event-info{min-height:100px;padding:16px}.home-event-status{left:12px;top:12px}.home-event-arrow{right:12px;bottom:12px}.home-event-card:hover,.home-event-card:focus-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.home-event-card,.home-event-arrow{transition:none}}