
:root{
  --warm:#faf8f3;
  --paper:#f5f1e9;
  --ink:#17202a;
  --muted:#687178;
  --copper:#b97843;
  --deep:#071522;
  --deep2:#0b1f31;
  --blue:#29a9ff;
  --line-progress:0;
  --wash:0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--warm);color:var(--ink);font-family:"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
.serif{font-family:Georgia,"Noto Serif JP",serif}
.kicker{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--copper)}
.section-index{position:absolute;left:24px;top:24px;font-size:9px;letter-spacing:.2em;color:rgba(23,32,42,.38)}

/* 01 HERO */
.hero{min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding:12vw 8vw 8vw;position:relative;background:var(--warm)}
.hero-meta{font-size:12px;letter-spacing:.18em;color:var(--copper);font-weight:700;margin-bottom:28px}
.hero h1{font-family:Georgia,"Noto Serif JP",serif;font-weight:500;font-size:clamp(40px,5.8vw,80px);line-height:1.3;max-width:1100px;margin:0 0 32px;letter-spacing:-.02em}
.hero-sub{font-size:clamp(15px,1.25vw,18px);line-height:2.1;color:var(--muted);max-width:680px;margin:0}

/* 02 PROBLEM */
.problem{position:relative;min-height:64vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8vw 8vw;text-align:center;background:var(--warm)}
.problem-inner{max-width:860px}
.problem h2{font-family:Georgia,"Noto Serif JP",serif;font-weight:500;font-size:clamp(34px,4.6vw,64px);line-height:1.38;margin:0 0 28px;letter-spacing:-.01em}
.problem p{font-size:16px;line-height:2.2;color:var(--muted);margin:0}

/* 03 METHOD */
.method-scene{position:relative;min-height:100vh;display:flex;align-items:center;padding:7vw 5vw;gap:5vw}
.method-scene.reverse{flex-direction:row-reverse}
.method-photo{width:65%;height:76vh;overflow:hidden;background:#ddd}
.method-copy{width:35%;max-width:430px}
.method-copy h2{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(36px,4vw,62px);font-weight:500;margin:.4em 0;line-height:1.25}
.method-copy p,.method-outro p{font-size:16px;line-height:2;color:var(--muted)}
.method-scene.near{flex-direction:column;padding-top:10vw;padding-bottom:10vw}
.method-scene.near .method-photo{width:min(72%,980px);height:68vh}
.method-scene.near .method-copy{width:min(72%,980px);max-width:none}
.method-outro{min-height:64vh;display:grid;place-items:center;text-align:center;padding:8vw 6vw;background:var(--warm)}
.method-outro>div{max-width:920px}
.method-outro h2{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(34px,4.4vw,60px);font-weight:500;line-height:1.35;margin:0 0 24px}

/* 04 SERVICE (EDITORIAL SPREAD) */
.service{position:relative;background:var(--warm);padding:10vw 8vw 12vw}
.service-head{max-width:900px;margin:0 auto 8vw;text-align:center}
.service-head h2{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(34px,4.5vw,62px);font-weight:500;line-height:1.35;margin:.35em 0 .45em}
.service-head p{color:var(--muted);line-height:2}
.service-spread{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:9vw;position:relative}
.service-col{display:flex;flex-direction:column;justify-content:flex-start}
.service-col.sports{margin-top:0}
.service-col .kicker{margin-bottom:16px}
.service-col h3{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(32px,3.8vw,52px);font-weight:500;line-height:1.3;margin:0 0 20px}
.service-col p{color:var(--muted);line-height:2.1;font-size:16px;margin:0 0 24px}
.service-col .movement-list{font-family:Georgia,"Noto Serif JP",serif;font-size:15px;color:#7e878e;letter-spacing:.12em;line-height:2.4;margin-bottom:32px}
.service-bridge{grid-column:1 / -1;text-align:center;padding-top:6vw;margin-top:3vw}
.service-bridge h4{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(22px,2.4vw,34px);font-weight:500;line-height:1.5;margin:0;color:#2c3742}

/* 05 ABOUT */
.about{position:relative;background:var(--warm);padding:11vw 6vw 6vw}
.about-wrap{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);gap:7vw;align-items:center}
.about-visual{position:relative;min-height:720px}
.about-visual .portrait-main{position:absolute;left:0;top:0;width:72%;height:74%;overflow:hidden;background:#ccc}
.about-visual .portrait-sub{position:absolute;right:0;bottom:0;width:51%;height:48%;overflow:hidden;border:12px solid var(--warm);background:#bbb}
.about-copy h2{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(36px,4.4vw,62px);font-weight:500;line-height:1.35;margin:.35em 0 .6em}
.about-copy p{color:var(--muted);font-size:15.5px;line-height:2.1;margin:0 0 1.3em}
.about-years{margin-top:36px;padding-top:24px;border-top:1px solid rgba(23,32,42,.14);display:flex;gap:24px;align-items:baseline}
.about-years strong{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(56px,6vw,86px);font-weight:500;line-height:1;color:#25313b}
.about-years span{font-size:12px;letter-spacing:.12em;color:#8b8178}
.about-afterglow{min-height:44vh;display:flex;flex-direction:column;justify-content:center;padding:4vw 8vw 5vw;background:var(--warm)}
.about-afterglow>div{max-width:860px}
.about-afterglow h2{font-family:Georgia,"Noto Serif JP",serif;font-weight:500;font-size:clamp(36px,5.2vw,70px);line-height:1.24;margin:0 0 18px;letter-spacing:-.02em}
.about-afterglow p{font-size:clamp(15px,1.2vw,17px);line-height:2;color:var(--muted);max-width:650px;margin:0}

/* 06 SPORTS TRANSITION */
.transition{position:relative;min-height:220vh;background:var(--warm);isolation:isolate}
.transition::before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(75% 42% at 52% 34%,rgba(41,169,255,calc(.19 * var(--wash))),transparent 72%),linear-gradient(to bottom,rgba(250,248,243,1) 0%,rgba(243,246,247,calc(1 - var(--wash))) 16%,color-mix(in srgb,var(--deep2) calc(var(--wash) * 100%),#f1f2ef) 58%,var(--deep) 100%)}
.transition::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;z-index:-2;background:linear-gradient(to bottom,transparent,var(--deep) 22% 100%);pointer-events:none}
.sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.signature{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.signature path.core{fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(41,169,255,.5));stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--line-progress))}
.signature path.glow{fill:none;stroke:rgba(41,169,255,.18);stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--line-progress));filter:blur(3px)}
.sports-copy-wrap{position:relative;width:min(1180px,88vw);height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding-top:4vh}
.sports-main-copy{max-width:920px;transform:translateY(calc((1 - var(--wash)) * 20px));opacity:clamp(.22,var(--wash),1);color:color-mix(in srgb,#f7fbff calc(var(--wash)*100%),var(--ink));text-shadow:0 1px 18px rgba(0,0,0,calc(.18*var(--wash)))}
.sports-main-copy .eyebrow{font-size:11px;letter-spacing:.26em;font-weight:700;color:color-mix(in srgb,var(--blue) calc(var(--wash)*100%),#9b7654);margin-bottom:18px}
.sports-main-copy h2{font-family:Georgia,"Noto Serif JP",serif;font-weight:500;font-size:clamp(38px,5.2vw,74px);line-height:1.28;margin:0;letter-spacing:-.02em}
.sports-main-copy p{font-size:clamp(14px,1.15vw,17px);line-height:2;margin:28px auto 0;max-width:700px;color:color-mix(in srgb,rgba(232,241,248,.78) calc(var(--wash)*100%),var(--muted))}
.preview{position:absolute;inset:auto 6vw 8vh auto;width:min(28vw,420px);aspect-ratio:16/10;border:1px solid rgba(255,255,255,.12);overflow:hidden;opacity:clamp(0, calc((var(--wash) - .52) * 2.4), 1);transform:translateY(calc((1 - var(--wash))*34px)) scale(calc(.96 + var(--wash)*.04));background:linear-gradient(145deg,rgba(41,169,255,.11),rgba(255,255,255,.025));backdrop-filter:blur(2px)}
.preview::before{content:"MOVEMENT / PREVIEW";position:absolute;left:16px;top:14px;z-index:3;font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.8);text-shadow:0 1px 8px rgba(0,0,0,.45)}
.preview::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(5,13,22,.24) 0%,rgba(5,13,22,0) 42%,rgba(5,13,22,.22) 100%)}
.movement-preview-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 50%;display:block}
.movement-preview-logo{position:absolute;right:14px;bottom:12px;z-index:3;width:clamp(96px,30%,136px);height:auto;opacity:.72;filter:brightness(0) invert(1);pointer-events:none;user-select:none}
.branches{position:absolute;left:50%;bottom:8vh;transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr;gap:28px;width:min(900px,78vw);opacity:clamp(0, calc((var(--wash) - .72) * 3.4), 1)}
.branch{position:relative;text-align:left;padding:22px 24px 20px;border-top:1px solid rgba(100,193,255,.42);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);color:#eef6fb}
.branch::before{content:"";position:absolute;left:0;top:-1px;width:42px;height:1px;background:var(--blue);box-shadow:0 0 10px rgba(41,169,255,.65)}
.branch small{display:block;font-size:10px;letter-spacing:.2em;color:#7bcaff;margin-bottom:8px}
.branch strong{display:block;font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(22px,2.2vw,34px);font-weight:500;margin-bottom:9px}
.branch span{font-size:13px;line-height:1.7;color:rgba(234,242,248,.64)}

/* 06 -> 07 DECELERATION WRAPPER */
.decelerate{background:linear-gradient(to bottom, var(--deep) 0%, #152230 40%, #e2ded5 80%, var(--warm) 100%);min-height:22vh;padding-top:0}

/* 07 FIRST VISIT */
.first-visit{position:relative;background:var(--warm);padding:8vw 8vw 12vw}
.first-visit-wrap{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0, 1.1fr) minmax(320px, 0.9fr);gap:8vw;align-items:start}
.first-visit-visual{position:sticky;top:12vh;height:74vh;overflow:hidden;background:#ddd}
.first-visit-copy h2{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(34px,4.2vw,58px);font-weight:500;line-height:1.35;margin:0 0 24px}
.first-visit-copy p.lead{font-size:16px;line-height:2.1;color:var(--muted);margin:0 0 48px}
.process-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:36px}
.process-step{position:relative;padding-left:42px;border-left:1px solid rgba(23,32,42,.15)}
.process-step::before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--copper)}
.process-step small{font-size:10px;letter-spacing:.2em;color:var(--copper);font-weight:700;display:block;margin-bottom:6px}
.process-step h3{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(20px,2vw,28px);font-weight:500;margin:0 0 8px}
.process-step p{font-size:14.5px;line-height:1.9;color:var(--muted);margin:0}

/* 08 CASES */
.cases{position:relative;background:var(--paper);padding:11vw 8vw 12vw}
.cases-head{max-width:860px;margin:0 auto 7vw;text-align:center}
.cases-head h2{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(34px,4.5vw,62px);font-weight:500;line-height:1.35;margin:.35em 0 .45em}
.cases-head p{color:var(--muted);line-height:2}
.cases-list{width:min(1140px,100%);margin:0 auto;display:flex;flex-direction:column}
.case-row{display:grid;grid-template-columns:120px 1.4fr 1.6fr;gap:4vw;padding:40px 0;border-top:1px solid rgba(23,32,42,.12);align-items:baseline}
.case-row:last-child{border-bottom:1px solid rgba(23,32,42,.12)}
.case-num{font-family:Georgia,"Noto Serif JP",serif;font-size:18px;color:var(--copper);letter-spacing:.1em}
.case-main h3{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(20px,2vw,26px);font-weight:500;line-height:1.4;margin:0 0 10px}
.case-main span{font-size:12px;color:#8c8378;letter-spacing:.08em}
.case-detail{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.case-field small{display:block;font-size:10px;letter-spacing:.18em;color:var(--muted);margin-bottom:4px}
.case-field p{font-size:13.5px;line-height:1.8;margin:0;color:#333e48}

/* TOP 08 / Real consultation preview */
.cases-preview{padding:8vw 8vw 9vw}
.cases-preview .cases-head{margin-bottom:4.5vw}
.cases-preview-list{width:min(1080px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);border-top:1px solid rgba(23,32,42,.12)}
/* RC61: editorial grid. Top row = 3 equal columns, bottom row = 2 equal columns.
   Every card starts from the same top baseline; no bottom-aligned copy and no orphan centered card. */
.cases-preview-item{padding:clamp(26px,2.8vw,38px) clamp(18px,2.4vw,32px);border-bottom:1px solid rgba(23,32,42,.12);min-height:210px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;text-align:left}
.cases-preview-item:nth-child(-n+3){grid-column:span 4}
.cases-preview-item:nth-child(1),.cases-preview-item:nth-child(2){border-right:1px solid rgba(23,32,42,.12)}
.cases-preview-item:nth-child(n+4){grid-column:span 6;min-height:184px}
.cases-preview-item:nth-child(4){border-right:1px solid rgba(23,32,42,.12)}
.cases-preview-item:last-child{grid-column:span 6;min-height:184px;border-right:0;text-align:left;align-items:flex-start;justify-content:flex-start}
.cases-preview-scene{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--copper);margin-bottom:11px}
.cases-preview-item h3{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(22px,2.45vw,34px);font-weight:500;line-height:1.55;margin:0;color:var(--ink)}
.cases-preview-item p{font-size:13px;line-height:1.8;color:var(--muted);margin:8px 0 0}
.cases-preview-close{width:min(780px,100%);margin:clamp(38px,4.5vw,58px) auto 0;text-align:center}
.cases-preview-close p{font-size:14px;line-height:2;color:var(--muted);margin:0 0 8px}
.cases-preview-close strong{display:block;font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(22px,2.5vw,34px);font-weight:500;line-height:1.55;margin-bottom:20px}
.cases-preview-link{display:inline-flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--ink);color:var(--ink);text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.08em}
.cases-preview-link span{font-size:18px;transition:transform .2s ease}
.cases-preview-link:hover span{transform:translateX(5px)}

/* 09 ACCESS / STORE */
.access{position:relative;background:var(--warm);padding:11vw 8vw 10vw}
.access-wrap{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:1.2fr 0.8fr;gap:7vw;align-items:center}
.access-photo{height:64vh;overflow:hidden;background:#ccc}
.access-info h2{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(32px,3.8vw,52px);font-weight:500;line-height:1.35;margin:0 0 24px}
.access-address{font-size:15px;line-height:2;color:var(--muted);margin-bottom:32px}
.access-phone{margin-bottom:32px}
.access-phone small{display:block;font-size:10px;letter-spacing:.2em;color:var(--copper);font-weight:700;margin-bottom:6px}
.access-phone a{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(28px,3vw,42px);color:var(--ink);text-decoration:none;font-weight:500;letter-spacing:.04em}
.access-online-reservation{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:-6px 0 30px}
.access-online-reservation__button{display:inline-flex;align-items:center;justify-content:center;min-width:230px;padding:16px 26px;background:var(--ink);color:#fff;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.08em;transition:opacity .2s ease,transform .2s ease}
.access-online-reservation__button:hover{opacity:.9;transform:translateY(-1px)}
.access-online-reservation small{font-size:11px;color:var(--muted);letter-spacing:.04em}
.access-schedule{font-size:13px;line-height:1.8;color:#7e878e;border-top:1px solid rgba(23,32,42,.12);padding-top:20px}

/* 10 FINAL CTA */
.cta{position:relative;background:var(--warm);min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8vw}
.cta-inner{max-width:760px}
.cta h2{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(36px,4.6vw,66px);font-weight:500;line-height:1.35;margin:0 0 20px;letter-spacing:-.01em}
.cta p{font-size:16px;line-height:2;color:var(--muted);margin:0 0 44px}
.cta-online-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:28px}
.cta-online-button{display:inline-flex;align-items:center;justify-content:center;min-width:min(360px,80vw);padding:18px 34px;background:var(--ink);color:#fff;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:.1em;transition:opacity .2s ease,transform .2s ease}
.cta-online-button:hover{opacity:.9;transform:translateY(-1px)}
.cta-online-wrap small{font-size:11px;color:var(--muted);letter-spacing:.04em}
.cta-divider{display:flex;align-items:center;gap:14px;width:min(360px,80vw);margin:0 auto 24px;color:#9a9188;font-size:10px;letter-spacing:.18em}
.cta-divider::before,.cta-divider::after{content:"";height:1px;flex:1;background:rgba(23,32,42,.12)}
.cta-phone-wrap{display:inline-flex;flex-direction:column;align-items:center}
.cta-phone-wrap small{font-size:10px;letter-spacing:.2em;color:var(--copper);font-weight:700;margin-bottom:8px}
.cta-phone-wrap a{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(34px,4vw,56px);color:var(--ink);text-decoration:none;font-weight:500;letter-spacing:.05em}

/* RC12 — Desktop SPORTS is a separate DOM/layout.
   RC9 mobile flow stays on .egao-sports-flow. At 960px+ the isolated desktop DOM is used and never inherits
   .preview/.branches absolute positioning, eliminating the collision class. */
.egao-sports-flow{display:contents}
.egao-sports-desktop{display:none}

@media(min-width:960px){
  #sports-transition .egao-sports-flow{display:none}
  #sports-transition .egao-sports-desktop{
    position:relative;
    z-index:2;
    width:min(1120px,86vw);
    height:min(82vh,780px);
    margin:0 auto;
    display:grid;
    grid-template-rows:auto auto auto;
    align-content:center;
    justify-items:center;
    row-gap:clamp(24px,3.2vh,36px);
  }
  #sports-transition .egao-sports-desktop__copy{
    width:min(920px,78vw);
    margin:0 auto;
    text-align:center;
    color:color-mix(in srgb,#f7fbff calc(var(--wash)*100%),var(--ink));
    text-shadow:0 1px 18px rgba(0,0,0,calc(.18*var(--wash)));
  }
  #sports-transition .egao-sports-desktop__eyebrow{
    margin-bottom:16px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.26em;
    color:color-mix(in srgb,var(--blue) calc(var(--wash)*100%),#9b7654);
  }
  #sports-transition .egao-sports-desktop__copy h2{
    margin:0;
    font-family:Georgia,"Noto Serif JP",serif;
    font-size:clamp(44px,4.6vw,68px);
    font-weight:500;
    line-height:1.22;
    letter-spacing:-.02em;
  }
  #sports-transition .egao-sports-desktop__copy p{
    max-width:720px;
    margin:20px auto 0;
    font-size:clamp(14px,1.05vw,16px);
    line-height:1.9;
    color:color-mix(in srgb,rgba(232,241,248,.82) calc(var(--wash)*100%),var(--muted));
  }
  #sports-transition .egao-sports-desktop__preview{
    position:relative;
    justify-self:center;
    align-self:center;
    width:min(520px,46vw);
    height:clamp(112px,14vh,138px);
    min-height:112px;
    border:1px solid rgba(255,255,255,.12);
    overflow:hidden;
    opacity:clamp(0,calc((var(--wash) - .46) * 2.8),1);
    background:linear-gradient(145deg,rgba(41,169,255,.11),rgba(255,255,255,.025));
    backdrop-filter:blur(2px);
  }
  #sports-transition .egao-sports-desktop__preview::before{
    content:"MOVEMENT / PREVIEW";
    position:absolute;left:16px;top:13px;z-index:3;
    font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.8);
    text-shadow:0 1px 8px rgba(0,0,0,.45);
  }
  #sports-transition .egao-sports-desktop__preview::after{
    content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(180deg,rgba(5,13,22,.24) 0%,rgba(5,13,22,0) 42%,rgba(5,13,22,.22) 100%);
  }
  #sports-transition .egao-sports-desktop__preview .movement-preview-logo{right:14px;bottom:10px;width:clamp(108px,28%,142px)}
  #sports-transition .egao-sports-desktop__paths{
    width:min(960px,78vw);
    margin:0 auto;
    justify-self:center;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:42px;
    opacity:clamp(0,calc((var(--wash) - .66) * 3.2),1);
  }
  #sports-transition .egao-sports-desktop__path{
    position:relative;
    min-height:150px;
    padding:22px 28px 20px;
    border-top:1px solid rgba(100,193,255,.42);
    background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);
    color:#eef6fb;
    text-align:left;
    text-decoration:none;
  }
  #sports-transition .egao-sports-desktop__path::before{
    content:"";position:absolute;left:0;top:-1px;width:42px;height:1px;
    background:var(--blue);box-shadow:0 0 10px rgba(41,169,255,.65);
  }
  #sports-transition .egao-sports-desktop__path small{display:block;font-size:10px;letter-spacing:.2em;color:#7bcaff;margin-bottom:8px}
  #sports-transition .egao-sports-desktop__path strong{display:block;font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(24px,2vw,32px);font-weight:500;margin-bottom:9px}
  #sports-transition .egao-sports-desktop__path span{font-size:13px;line-height:1.7;color:rgba(234,242,248,.68)}
}

@media(max-width:760px){
  .hero{min-height:85vh;padding:24vw 7vw 16vw}
  .problem{padding:20vw 7vw}
  .method-scene,.method-scene.reverse,.method-scene.near{display:block;padding:12vh 0}
  .method-photo,.method-scene.near .method-photo{width:92%;margin:0 auto;height:58vh}
  .method-copy,.method-scene.near .method-copy{width:86%;margin:32px auto 0}
  .service{padding:18vw 7vw 20vw}
  .service-spread{grid-template-columns:1fr;gap:14vw}
  .service-col.sports{margin-top:0}
  .about{padding:18vw 7vw 12vw}
  .about-wrap{display:flex;flex-direction:column;gap:14vw}
  .about-visual{width:100%;min-height:116vw}
  .about-afterglow{min-height:auto;padding:12vw 7vw 14vw}
  /* 06 SPORTS TRANSITION — mobile follows natural document flow.
     No sticky/absolute stacking: line -> copy -> preview -> student/adult. */
  .transition{min-height:auto;padding:0 0 16vh;background:var(--deep)}
  .transition::before{z-index:-3}
  .transition::after{height:44%}
  .sticky{position:relative;top:auto;height:auto;min-height:0;overflow:hidden;display:block}
  /* Give the invasion time to be felt on a phone. The copy occupies a little
     more than one viewport before the preview/branches enter. */
  .sports-copy-wrap{min-height:118svh;height:auto;padding:18vh 7vw 16vh;width:100%;display:flex;align-items:center;text-align:left}
  .sports-main-copy{max-width:100%;text-align:left;opacity:1}
  .sports-main-copy h2{font-size:clamp(34px,10vw,50px)}
  .sports-main-copy p{margin:22px 0 0;max-width:none}
  .preview{position:relative;inset:auto;width:86vw;margin:2vh auto 9vh;aspect-ratio:16/9}
  .branches{position:relative;left:auto;bottom:auto;transform:none;grid-template-columns:1fr;gap:18px;width:86vw;margin:0 auto}
  
  .decelerate{min-height:18vh}

  /* 07-10 mobile overrides */
  .first-visit{padding:18vw 7vw 20vw}
  .first-visit-wrap{display:flex;flex-direction:column;gap:10vw}
  .first-visit-visual{position:static;width:100%;height:52vh}
  .cases{padding:18vw 7vw 20vw}
  .cases-preview{padding:14vw 7vw 16vw}
  .cases-preview .cases-head{margin-bottom:10vw}
  .case-row{grid-template-columns:1fr;gap:16px;padding:28px 0}
  .case-detail{grid-template-columns:1fr;gap:16px}
  .cases-preview-list{display:block}
  .cases-preview-item,.cases-preview-item:last-child{min-height:0;padding:22px 0;display:block;border-left:0;border-right:0;text-align:left}
  .cases-preview-item:nth-child(n){border-right:0}
  .cases-preview-scene{display:block;margin-bottom:12px}
  .cases-preview-item h3{font-size:clamp(23px,7vw,30px);line-height:1.5}
  .cases-preview-close{text-align:left;margin-top:36px}
  .cases-preview-close strong{font-size:24px}
  .access{padding:18vw 7vw 20vw}
  .access-wrap{display:flex;flex-direction:column;gap:10vw}
  .access-photo{width:100%;height:48vh}
  .cta{min-height:60vh;padding:20vw 7vw}
  .section-index{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .signature path.core,.signature path.glow{stroke-dashoffset:0!important}
  .sports-main-copy,.preview{transform:none!important}
}

.branch{text-decoration:none}

/* RC26 — Home online reservation CTA */
@media(max-width:760px){
  .access-online-reservation{align-items:stretch;margin-top:0}
  .access-online-reservation__button{width:100%;min-width:0}
  .cta-online-button{width:min(100%,360px);min-width:0}
}

/* RC29 — Home SPORTS CARE conversion paths
   Scope: #sports-transition only. Existing page sections remain untouched. */
#sports-transition .sports-detail-link{
  display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding-bottom:6px;
  border-bottom:1px solid rgba(123,202,255,.62);color:#9bd7ff;text-decoration:none;
  font-size:12px;font-weight:700;letter-spacing:.08em;transition:color .2s ease,border-color .2s ease;
}
#sports-transition .sports-detail-link:hover{color:#fff;border-color:#fff}
#sports-transition .sports-detail-link span{font-size:17px;line-height:1;transition:transform .2s ease}
#sports-transition .sports-detail-link:hover span{transform:translateX(4px)}

#sports-transition .sports-preview-actions{
  width:86vw;margin:-5.5vh auto 7vh;display:flex;align-items:center;justify-content:center;gap:12px;
}
#sports-transition .sports-preview-actions a{
  min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;
  text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.06em;border:1px solid rgba(255,255,255,.22);
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
#sports-transition .sports-preview-actions__detail{color:#e9f5fc;background:rgba(255,255,255,.035)}
#sports-transition .sports-preview-actions__reserve{color:#071521;background:#8fd4ff;border-color:#8fd4ff!important}
#sports-transition .sports-preview-actions a:hover{transform:translateY(-1px)}
#sports-transition .sports-preview-actions__detail:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.42)}
#sports-transition .sports-preview-actions__reserve:hover{background:#b5e4ff;border-color:#b5e4ff!important}

#sports-transition .branch,
#sports-transition .egao-sports-desktop__path{cursor:default}
#sports-transition .branch-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:18px}
#sports-transition .branch-actions a{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;
  text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1.35;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
#sports-transition .branch-actions__detail{padding-left:0!important;color:#b9dff4;border-bottom:1px solid rgba(123,202,255,.4)}
#sports-transition .branch-actions__detail span{margin-left:8px;font-size:15px}
#sports-transition .branch-actions__reserve{color:#071521;background:#8fd4ff;border:1px solid #8fd4ff}
#sports-transition .branch-actions a:hover{transform:translateY(-1px)}
#sports-transition .branch-actions__detail:hover{color:#fff;border-color:#fff}
#sports-transition .branch-actions__reserve:hover{background:#b5e4ff;border-color:#b5e4ff}

#sports-transition .sports-home-final-cta{
  width:86vw;margin:5vh auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);text-align:center;
}
#sports-transition .sports-home-final-cta p{margin:0 0 14px;color:rgba(234,242,248,.62);font-size:12px;letter-spacing:.05em}
#sports-transition .sports-home-final-cta__actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
#sports-transition .sports-home-final-cta__actions a{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;
  border:1px solid rgba(255,255,255,.24);color:#eef6fb;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.06em;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
#sports-transition .sports-home-final-cta__actions a:hover{transform:translateY(-1px);background:rgba(255,255,255,.07)}
#sports-transition .sports-home-final-cta__actions .is-primary{background:#8fd4ff;border-color:#8fd4ff;color:#071521}
#sports-transition .sports-home-final-cta__actions .is-primary:hover{background:#b5e4ff;border-color:#b5e4ff}

@media(min-width:960px){
  #sports-transition .egao-sports-desktop{
    height:min(90vh,860px);row-gap:clamp(14px,1.8vh,22px);
    grid-template-rows:auto auto auto auto auto;
  }
  #sports-transition .egao-sports-desktop__copy .sports-detail-link{margin-top:17px}
  #sports-transition .sports-preview-actions--desktop{
    width:auto;margin:-5px auto 0;gap:10px;opacity:clamp(0,calc((var(--wash) - .54) * 3),1);
  }
  #sports-transition .sports-preview-actions--desktop a{min-height:40px;padding:9px 16px;font-size:11px}
  #sports-transition .egao-sports-desktop__paths{gap:34px}
  #sports-transition .egao-sports-desktop__path{min-height:176px;padding:20px 26px 18px}
  #sports-transition .egao-sports-desktop__path .branch-actions{margin-top:14px;gap:8px 11px}
  #sports-transition .egao-sports-desktop__path .branch-actions a{min-height:36px;padding:8px 12px;font-size:10.5px}
  #sports-transition .sports-home-final-cta--desktop{
    width:min(760px,68vw);margin:0 auto;padding-top:14px;opacity:clamp(0,calc((var(--wash) - .72) * 3.6),1);
  }
  #sports-transition .sports-home-final-cta--desktop p{margin-bottom:10px}
  #sports-transition .sports-home-final-cta--desktop .sports-home-final-cta__actions a{min-height:40px;padding:9px 17px;font-size:11px}
}

@media(max-width:760px){
  #sports-transition .sports-main-copy .sports-detail-link{margin-top:24px}
  #sports-transition .sports-preview-actions{display:grid;grid-template-columns:1fr 1.25fr;margin:-5.5vh auto 7vh}
  #sports-transition .sports-preview-actions a{width:100%;padding:11px 10px;font-size:11px;text-align:center}
  #sports-transition .branch{padding:24px 22px 22px}
  #sports-transition .branch-actions{display:grid;grid-template-columns:1fr;margin-top:18px}
  #sports-transition .branch-actions a{width:100%;min-height:44px}
  #sports-transition .branch-actions__detail{justify-content:flex-start;padding-left:0!important}
  #sports-transition .sports-home-final-cta{margin-top:7vh;text-align:left}
  #sports-transition .sports-home-final-cta__actions{display:grid;grid-template-columns:1fr}
  #sports-transition .sports-home-final-cta__actions a{width:100%;text-align:center}
}

/* RC55 — HOME SPORTS funnel simplification */
#sports-transition .egao-sports-home-v2{position:relative;z-index:3;width:min(1180px,calc(100% - 96px));margin:auto;padding:clamp(120px,13vw,190px) 0 110px;color:#eef6fb}
#sports-transition .egao-sports-home-v2__copy{max-width:780px}
#sports-transition .egao-sports-home-v2__copy .eyebrow{font-size:11px;letter-spacing:.22em;color:#79c9f8;margin-bottom:24px}
#sports-transition .egao-sports-home-v2__copy h2{font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(48px,6.2vw,86px);line-height:1.17;font-weight:500;margin:0 0 30px}
#sports-transition .egao-sports-home-v2__copy p{max-width:680px;font-size:15px;line-height:2;color:rgba(234,242,248,.7)}
#sports-transition .egao-sports-home-v2__media{position:relative;margin:62px 0 34px;aspect-ratio:16/7;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#081827}
#sports-transition .egao-sports-home-v2__media video{width:100%;height:100%;object-fit:cover;display:block}
#sports-transition .egao-sports-home-v2__media:after{content:"MOVEMENT / PREVIEW";position:absolute;left:18px;top:16px;font-size:9px;letter-spacing:.2em;color:#fff;background:rgba(7,21,34,.55);padding:7px 9px}
#sports-transition .egao-sports-home-v2__media .movement-preview-logo{position:absolute;right:18px;bottom:14px;width:132px;opacity:.68}
#sports-transition .egao-sports-home-v2__paths{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
#sports-transition .egao-sports-home-v2__paths a{display:grid;gap:9px;padding:28px 34px;text-decoration:none;color:inherit;transition:background .2s ease}
#sports-transition .egao-sports-home-v2__paths a:first-child{border-right:1px solid rgba(255,255,255,.14)}
#sports-transition .egao-sports-home-v2__paths a:hover{background:rgba(255,255,255,.05)}
#sports-transition .egao-sports-home-v2__paths small{font-size:9px;letter-spacing:.2em;color:#79c9f8}
#sports-transition .egao-sports-home-v2__paths strong{font-family:Georgia,"Noto Serif JP",serif;font-size:27px;font-weight:500}
#sports-transition .egao-sports-home-v2__paths span{font-size:12px;line-height:1.8;color:rgba(234,242,248,.62)}
#sports-transition .egao-sports-home-v2__actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:32px}
#sports-transition .egao-sports-home-v2__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;text-decoration:none;font-size:11px;letter-spacing:.05em}
#sports-transition .egao-sports-home-v2__detail{color:#eaf3f8;border:1px solid rgba(255,255,255,.25)}
#sports-transition .egao-sports-home-v2__reserve{background:#8fd4ff;color:#071521!important;border:1px solid #8fd4ff!important}
@media(max-width:760px){#sports-transition .egao-sports-home-v2{width:min(100% - 40px,560px);padding:110px 0 90px}#sports-transition .egao-sports-home-v2__copy h2{font-size:clamp(40px,11vw,54px)}#sports-transition .egao-sports-home-v2__media{aspect-ratio:4/3;margin:42px 0 24px}#sports-transition .egao-sports-home-v2__paths{grid-template-columns:1fr}#sports-transition .egao-sports-home-v2__paths a:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}#sports-transition .egao-sports-home-v2__paths a{padding:24px 20px}#sports-transition .egao-sports-home-v2__actions{display:grid;grid-template-columns:1fr;margin-top:24px}#sports-transition .egao-sports-home-v2__actions a{width:100%}}
/* RC55 — replace legacy 220vh sticky SPORTS transition with a normal, readable section */
#sports-transition{min-height:auto;background:var(--deep)}
#sports-transition .sticky{position:relative;top:auto;height:auto;min-height:0;overflow:visible;display:block}
#sports-transition .signature{opacity:.34;pointer-events:none}


/* RC62 — consultation preview: stable two-column rhythm with a full-width closing card. */
@media (min-width:761px){
  .cases-preview-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cases-preview-item,
  .cases-preview-item:nth-child(-n+3),
  .cases-preview-item:nth-child(n+4),
  .cases-preview-item:last-child{grid-column:auto;min-height:220px;justify-content:flex-start;align-items:flex-start;text-align:left;}
  .cases-preview-item:nth-child(odd):not(:last-child){border-right:1px solid rgba(23,32,42,.12);}
  .cases-preview-item:nth-child(even){border-right:0;}
  .cases-preview-item:last-child{grid-column:1 / -1;min-height:180px;border-right:0;align-items:flex-start;justify-content:flex-start;padding-left:clamp(26px,4vw,56px);}
}
