/* SPORTSCARD CONNECT stage — full-bleed event band in section 03. 2026-10-29 */
.scc-story{display:block;scroll-margin-top:100px;margin-bottom:100px}
.scc-story .story-copy{margin-top:0}
.scc-story .story-copy .event-gallery{margin-top:0}
.scc-stage{position:relative;overflow:hidden;background:#0a0b16;color:#fff;isolation:isolate;width:100vw;margin-left:calc(50% - 50vw);margin-bottom:70px}
.scc-stage-media{position:absolute;inset:0;z-index:0}
.scc-stage-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 68%;transform:scale(1.06);filter:saturate(1.05)}
.scc-stage.is-visible .scc-stage-media img{animation:scc-drift 40s ease-in-out infinite alternate}
.scc-stage-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,22,.6) 0%,rgba(10,11,22,.25) 35%,rgba(10,11,22,.7) 70%,rgba(10,11,22,.96) 100%),linear-gradient(90deg,rgba(10,11,22,.78) 0%,rgba(10,11,22,.35) 50%,rgba(10,11,22,.1) 100%)}
.scc-stage-glow{position:absolute;inset:-20%;background:radial-gradient(40% 35% at 70% 30%,rgba(120,90,255,.35),transparent 70%),radial-gradient(35% 30% at 20% 80%,rgba(60,140,255,.25),transparent 70%);mix-blend-mode:screen;pointer-events:none;animation:scc-glow 14s ease-in-out infinite alternate}
.scc-stage-inner{position:relative;z-index:2;padding:120px var(--pad) 60px;max-width:1400px;margin:0 auto}
.scc-stage-eyebrow{display:flex;justify-content:space-between;gap:20px;font:600 12px/1.6 Arial,sans-serif;letter-spacing:.18em;color:#d5d8e4;border-top:1px solid rgba(255,255,255,.3);padding-top:16px}
.scc-stage-eyebrow>span:last-child{white-space:nowrap;text-align:right}
.scc-stage-title{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:clamp(46px,9.6vw,152px);line-height:.94;letter-spacing:-.055em;margin:48px 0 0;text-transform:uppercase;display:grid}
.scc-stage-title .scc-word{display:block;overflow:hidden}
.scc-stage-title .scc-word>i{display:block;font-style:normal;transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.75,.2,1)}
.scc-stage-title .scc-word:nth-child(2)>i{transition-delay:.12s;color:transparent;-webkit-text-stroke:2px #fff}
.scc-stage.is-visible .scc-word>i{transform:translateY(0)}
.scc-stage-lead{font-size:clamp(20px,2.2vw,30px);font-weight:800;letter-spacing:-.02em;margin:34px 0 0;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.scc-stage-text{font-size:16px;line-height:2.05;color:#e3e5ec;max-width:36em;margin-top:16px}
.scc-stage-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px 6vw;align-items:end;margin-top:40px}
.scc-stage-stats{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.3)}
.scc-stage-stats li{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.scc-stage-stats strong{font-family:Arial,sans-serif;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.03em;font-weight:800;white-space:nowrap}
.scc-stage-stats span{font-size:13px;line-height:1.7;color:#c6cad6}
.scc-stage-actions{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center}
.scc-cta{position:relative;display:inline-flex;align-items:center;gap:26px;padding:19px 30px;min-height:60px;background:#fff;color:#0a0b16;font-weight:800;font-size:16px;border-radius:999px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;box-shadow:0 14px 40px rgba(0,0,0,.45)}
.scc-cta>span{font-size:22px;line-height:1;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.scc-cta:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(0,0,0,.08) 50%,transparent 65%);transform:translateX(-130%);transition:transform .8s ease}
.scc-cta:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(0,0,0,.5)}
.scc-cta:hover:before{transform:translateX(130%)}
.scc-cta:hover>span{transform:translateX(6px)}
.scc-cta:active{transform:translateY(0) scale(.985)}
.scc-sub{display:inline-flex;align-items:center;gap:14px;padding:18px 6px;font-weight:700;font-size:15px;border-bottom:1px solid rgba(255,255,255,.5);transition:border-color .3s}
.scc-sub>span{font-size:18px;line-height:1;transition:transform .35s}
.scc-sub:hover{border-color:#fff}.scc-sub:hover>span{transform:translateX(5px)}
/* photo strip */
.scc-marquee{position:relative;z-index:2;display:grid;gap:10px;padding:10px 0 0;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.scc-track{display:flex;gap:10px;width:max-content;animation:scc-scroll 70s linear infinite}
.scc-track.reverse{animation-direction:reverse;animation-duration:84s}
.scc-marquee:hover .scc-track{animation-play-state:paused}
.scc-track img{height:150px;width:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px;display:block;filter:brightness(.92);transition:filter .3s,transform .5s cubic-bezier(.2,.7,.2,1)}
.scc-track img:hover{filter:brightness(1.05);transform:translateY(-4px)}
.scc-marquee-note{position:relative;z-index:2;text-align:center;font-size:11px;letter-spacing:.14em;color:#9ea3b2;padding:14px var(--pad) 22px;font-family:Arial,sans-serif}
/* entrance */
.scc-stage [data-rise]{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--order,0)*.12s)}
.scc-stage.is-visible [data-rise]{opacity:1;transform:translateY(0)}
/* photo window above now carries the event name */
.cards-section .photo-title small{display:block;font-size:.34em;letter-spacing:.14em;font-weight:700;margin-bottom:.5em;opacity:.9}
@keyframes scc-drift{from{transform:scale(1.06) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-1.5%,1.5%,0)}}
@keyframes scc-glow{from{transform:translate3d(0,0,0)}to{transform:translate3d(-4%,3%,0)}}
@keyframes scc-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:1024px){.scc-stage-grid{grid-template-columns:1fr;gap:34px}.scc-stage-inner{padding-top:100px}}
@media(max-width:700px){.scc-story{margin-bottom:70px}.scc-stage{margin-bottom:46px}.scc-stage-inner{padding:72px var(--pad) 36px}.scc-stage-eyebrow{flex-direction:column;gap:4px;font-size:10px;letter-spacing:.14em}.scc-stage-eyebrow>span:last-child{text-align:left;white-space:normal}.scc-stage-title{font-size:clamp(44px,13.5vw,60px);margin-top:30px}.scc-stage-title .scc-word:nth-child(2)>i{-webkit-text-stroke:1.4px #fff}.scc-stage-lead{font-size:21px;margin-top:24px}.scc-stage-text{font-size:15px;line-height:1.95;margin-top:12px}.scc-stage-grid{margin-top:28px;gap:26px}.scc-stage-stats li{padding:13px 0;gap:12px;grid-template-columns:1fr;align-items:start}.scc-stage-stats strong{font-size:22px}.scc-stage-stats span{font-size:12px}.scc-cta{width:100%;justify-content:space-between;min-height:58px}.scc-track img{height:96px}.scc-track{animation-duration:48s}.scc-track.reverse{animation-duration:58s}}
@media(prefers-reduced-motion:reduce){.scc-stage-media img,.scc-stage-glow,.scc-track{animation:none!important}.scc-stage [data-rise],.scc-word>i{opacity:1!important;transform:none!important}}
@media(hover:none){.scc-track img:hover{transform:none}}
/* business card 03 */
.business-card-image--scc{position:relative;background:#0a0b16;overflow:hidden}
.business-card-image--scc img{object-fit:cover;filter:brightness(.85) saturate(1.05)}
.business-card-image--scc:after{content:"";position:absolute;inset:auto 0 0 0;height:60%;background:linear-gradient(180deg,transparent,rgba(5,6,14,.85));pointer-events:none}
.business-card-image--scc .business-card-badge{position:absolute;z-index:2;left:16px;bottom:14px;color:#fff!important;font:900 clamp(20px,1.9vw,26px)/1 Arial,sans-serif!important;letter-spacing:-.04em!important;text-transform:uppercase;text-shadow:0 2px 16px rgba(0,0,0,.6);pointer-events:none}
.business-card-copy strong,.business-card-copy strong .business-title-tail{white-space:normal!important}
.business-card-copy .business-title-tail{display:block!important}
.business-card-image--scc .business-card-badge:after{content:'#4 / 神田明神ホール';display:block;font-size:10px;font-weight:700;letter-spacing:.12em;margin-top:6px;opacity:.9}
