:root{--bg:#050713;--bg2:#090d1b;--panel:#10162a;--text:#f7f8ff;--muted:#adb6ce;--line:rgba(255,255,255,.12);--pink:#ff4f8e;--orange:#ff785a;--blue:#64c7ff;--violet:#8c72ff;--green:#7ce5bd;--max:1200px;--shadow:0 32px 90px rgba(0,0,0,.45)}
h1,h2,h3,.logo,.eyebrow,.hero-kicker,.campaign-badge,.campaign-strip-copy strong,.program h3,.trainer h3,.price-value,.monthly-label span{font-family:"Oswald","Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;line-height:1.75;overflow-x:hidden}a{color:inherit}img{display:block;width:100%}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.section{padding:124px 0;position:relative}.dark{background:linear-gradient(180deg,#070a15,#0b1121)}.soft{background:#f5f6fa;color:#111626}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:900;color:#9edbff;text-transform:uppercase}.title{font-size:clamp(38px,5.6vw,76px);line-height:1.08;letter-spacing:-.055em;margin:14px 0 22px}.lead{font-size:clamp(17px,1.8vw,21px);color:var(--muted);max-width:760px}.soft .lead{color:#586177}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:16px 28px;border-radius:999px;background:linear-gradient(90deg,var(--pink),var(--orange));color:#fff;text-decoration:none;font-weight:900;border:0;box-shadow:0 18px 44px rgba(255,79,142,.28);transition:.25s;cursor:pointer}.btn:hover{transform:translateY(-3px);box-shadow:0 24px 54px rgba(255,79,142,.38)}.btn.ghost{background:rgba(255,255,255,.07);border:1px solid var(--line);box-shadow:none}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:rgba(124,229,189,.12);border:1px solid rgba(124,229,189,.28);color:#c6f6e4;font-size:12px;font-weight:900}.micro{font-size:12px;color:#c8cee0}.visual{position:relative;overflow:hidden;border-radius:34px;border:1px solid var(--line);box-shadow:var(--shadow);isolation:isolate}.visual img{height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.visual:hover img{transform:scale(1.035)}
.topbar{position:fixed;inset:0 0 auto;z-index:80;background:linear-gradient(180deg,rgba(3,5,12,.82),transparent);transition:.3s}.topbar.scrolled{background:rgba(5,7,15,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.topinner{height:76px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:23px;font-weight:950;letter-spacing:.16em}.logo small{display:block;font-size:8px;letter-spacing:.28em;color:#9aa5bf;margin-top:-7px}.nav{display:flex;gap:22px;align-items:center}.nav a{font-size:13px;text-decoration:none;color:#e7eaff}.nav .btn{min-height:44px;padding:10px 18px}
.hero{min-height:100svh;position:relative;display:grid;align-items:end;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('image/hero-cycle.jpg') 60% center/cover no-repeat;transform:scale(1.05)}.hero-video{position:absolute;inset:0 0 0 32%;width:auto;height:100%;object-fit:cover;object-position:64% 44%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%);mask-image:linear-gradient(90deg,transparent 0,#000 16%)}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 74% 38%,rgba(125,89,255,.24),transparent 28%),linear-gradient(90deg,rgba(3,5,12,.96) 0%,rgba(3,5,12,.76) 42%,rgba(3,5,12,.22) 75%),linear-gradient(0deg,rgba(3,5,12,.98) 0%,transparent 46%);z-index:1}.hero-grid{position:relative;z-index:2;padding:150px 0 92px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.hero h1{font-size:clamp(50px,7.6vw,104px);line-height:.98;letter-spacing:-.065em;margin:18px 0 28px;max-width:900px}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#fff,#b7dfff 48%,#d1bfff);-webkit-background-clip:text;color:transparent}.hero-copy{font-size:clamp(18px,2vw,24px);max-width:690px;color:#edf1ff}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.hero-proof{display:flex;gap:18px;flex-wrap:wrap;margin-top:23px;font-size:13px}.hero-proof span::before{content:"✓";color:var(--green);font-weight:950;margin-right:7px}.hero-card{justify-self:end;width:min(100%,370px);padding:26px;border-radius:28px;background:rgba(10,14,28,.56);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.16);box-shadow:var(--shadow)}.hero-card strong{font-size:46px;line-height:1}.hero-card p{color:#d2d8e9;margin:10px 0 0}.scrollcue{position:absolute;left:50%;bottom:22px;z-index:3;transform:translateX(-50%);font-size:10px;letter-spacing:.22em;color:#a9b2c9}.scrollcue::after{content:"";display:block;width:1px;height:42px;margin:10px auto 0;background:linear-gradient(#fff,transparent)}
.float-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.38;pointer-events:none}.orb1{width:280px;height:280px;background:radial-gradient(circle,#8c72ff,transparent 67%);right:-80px;top:16%}.orb2{width:240px;height:240px;background:radial-gradient(circle,#ff4f8e,transparent 68%);left:-90px;bottom:12%}
.manifesto{padding:90px 0;background:#070a14;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.manifesto-line{font-size:clamp(30px,5vw,70px);line-height:1.2;letter-spacing:-.05em;color:#f8faff}.manifesto-line span{color:#66708a}.manifesto-sub{margin-top:20px;color:#aab3ca;max-width:720px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.layer-stage{position:relative;min-height:610px}.layer-stage .back{position:absolute;inset:0 10% 12% 0}.layer-stage .front{position:absolute;width:54%;right:0;bottom:0;border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:0 35px 90px rgba(0,0,0,.55)}.layer-stage .front img{height:330px;object-fit:cover}.layer-label{position:absolute;left:28px;bottom:30px;z-index:4;padding:12px 15px;border-radius:14px;background:rgba(7,10,20,.7);backdrop-filter:blur(12px);border:1px solid var(--line);font-size:12px;font-weight:900;letter-spacing:.12em}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}.pillar{padding:26px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid var(--line);min-height:190px}.pillar small{color:#9edbff;letter-spacing:.13em}.pillar h3{font-size:22px;margin:8px 0}.pillar p{margin:0;color:var(--muted);font-size:15px}
.balance{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}.balance-card{border-radius:30px;padding:34px;position:relative;overflow:hidden;min-height:330px;border:1px solid var(--line)}.balance-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,7,16,.94),rgba(5,7,16,.18))}.balance-card>*{position:relative;z-index:2}.balance-card.begin{background:url('image/support-adjustment.jpg') center/cover}.balance-card.advance{background:url('image/experience-cycle.jpg') center/cover}.balance-card h3{font-size:32px;margin:130px 0 10px}.balance-card p{max-width:430px;color:#e3e8f8}
.experience-stage{position:relative;min-height:720px;margin-top:48px}.experience-main{position:absolute;inset:0 17% 10% 0;background:url('image/experience-main.jpg') center/cover;border-radius:38px;border:1px solid #596273;box-shadow:var(--shadow);overflow:hidden}.experience-main::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,6,14,.95),transparent 58%)}.experience-small{position:absolute;right:0;top:9%;width:35%;height:46%;background:url('image/experience-detail.jpg') center/cover;border-radius:30px;border:1px solid #596273;box-shadow:0 30px 80px rgba(0,0,0,.55)}.experience-word{position:absolute;z-index:3;font-weight:950;letter-spacing:-.05em;text-transform:uppercase}.w1{left:4%;top:8%;font-size:clamp(50px,9vw,120px);color:rgba(255,255,255,.92)}.w2{right:3%;bottom:17%;font-size:clamp(44px,8vw,100px);color:rgba(164,137,255,.88)}.experience-copy{position:absolute;z-index:4;left:4%;bottom:15%;max-width:560px;font-size:20px;color:#edf1ff}
.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}.program{min-height:480px;border-radius:30px;position:relative;overflow:hidden;border:1px solid #596273;display:flex;align-items:end;padding:30px;background-size:cover;background-position:center;transition:.35s}.program:hover{transform:translateY(-7px)}.program::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,6,14,.97),rgba(4,6,14,.08) 66%)}.program>*{position:relative}.program h3{font-size:38px;margin:0}.program p{color:#dce2f3}.program .tag{font-size:11px;letter-spacing:.15em;color:#a9dcff}.rpm{background-image:url('image/program-rpm.jpg')}.sprint{background-image:url('image/program-sprint.jpg')}.trip{background-image:url('image/program-trip.jpg')}
.team-head{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:end}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;align-items:stretch}.trainer{position:relative;min-height:0;border-radius:32px;overflow:hidden;border:1px solid var(--line);background:#0d1324;box-shadow:var(--shadow);display:flex;flex-direction:column}.trainer-visual{height:320px;flex:0 0 320px;position:relative;background:radial-gradient(circle at 50% 28%,rgba(110,202,255,.28),transparent 33%),linear-gradient(150deg,#17203b,#090d1c 60%,#1b1230)}.trainer:nth-child(2) .trainer-visual{background:radial-gradient(circle at 45% 25%,rgba(255,81,143,.3),transparent 34%),linear-gradient(150deg,#25152d,#0a0d19 60%,#101d32)}.trainer:nth-child(3) .trainer-visual{background:radial-gradient(circle at 54% 24%,rgba(143,112,255,.32),transparent 35%),linear-gradient(150deg,#1b1937,#090c18 60%,#21172d)}.silhouette{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:64%;height:82%;border-radius:48% 48% 18% 18%/30% 30% 12% 12%;background:linear-gradient(180deg,rgba(255,255,255,.19),rgba(255,255,255,.035));box-shadow:inset 0 0 60px rgba(255,255,255,.08)}.initials{position:absolute;inset:auto 0 8%;text-align:center;font-size:88px;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.12)}.photo-note{position:absolute;top:18px;right:18px;font-size:9px;letter-spacing:.14em;color:#d3d9e8;background:rgba(5,7,15,.6);border:1px solid var(--line);padding:7px 9px;border-radius:999px}.trainer-copy{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}.trainer-role{font-size:11px;letter-spacing:.16em;color:#9edbff}.trainer h3{font-size:36px;margin:5px 0 8px}.trainer p{color:var(--muted);margin:0;font-size:15px;min-height:4.8em}.lesson-label{margin-top:20px;font-size:10px;letter-spacing:.16em;color:#8e98ad}.lesson-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px;min-height:30px}.lesson-tag{display:inline-flex;align-items:center;min-height:30px;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.lesson-tag.rpm{border:1px solid rgba(74,144,255,.62);background:rgba(35,105,224,.22);color:#dcebff}
.lesson-tag.sprint{border:1px solid rgba(255,213,47,.72);background:rgba(255,207,32,.20);color:#fff2a6}
.lesson-tag.trip{border:1px solid rgba(190,196,207,.48);background:rgba(166,174,189,.16);color:#edf0f5}.credentials{margin-top:14px;font-size:12px;color:#dfe5f4;line-height:1.7}.team-statement{margin-top:34px;padding:48px;border-radius:34px;background:url('image/instructor-cycle.jpg') center/cover;position:relative;overflow:hidden;border:1px solid var(--line)}.team-statement::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,14,.96),rgba(4,6,14,.45))}.team-statement>*{position:relative}.team-statement blockquote{margin:0;font-size:clamp(28px,4vw,54px);line-height:1.25;letter-spacing:-.04em;max-width:800px}
.recovery{display:grid;grid-template-columns:1fr 1.1fr;gap:0;border-radius:38px;overflow:hidden;border:1px solid var(--line);background:#10172b}.recovery-copy{padding:58px}.recovery-img{min-height:520px;background:url('image/recovery-cycle.jpg') center/cover;position:relative}.recovery-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10172b,transparent 34%)}
.voice-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:end}.voice-labels{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.voice-labels span{padding:7px 12px;border-radius:999px;background:#e9edf6;color:#49546c;font-size:12px;font-weight:900;letter-spacing:.04em}.voice-stage{margin-top:42px;position:relative;padding:52px;border-radius:36px;overflow:hidden;background:url('image/experience-cycle.jpg') center 43%/cover;box-shadow:0 28px 80px rgba(27,34,58,.18)}.voice-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,22,.96),rgba(8,11,22,.65) 55%,rgba(8,11,22,.24))}.voice-stage>*{position:relative}.voice-stage .quote-mark{font-family:Georgia,serif;font-size:82px;line-height:.7;color:#ff5b91;opacity:.95}.voice-stage blockquote{margin:18px 0 16px;max-width:720px;font-size:clamp(28px,4vw,52px);line-height:1.3;letter-spacing:-.035em;font-weight:900;color:#fff}.voice-stage p{max-width:610px;color:#d9dfef;font-size:16px}.voice-stage .voice-person{margin-top:24px;color:#fff;font-size:13px;font-weight:900;letter-spacing:.06em}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.proof-card{background:#fff;color:#111626;padding:30px;border-radius:26px;border:1px solid #e5e8f0;box-shadow:0 18px 48px rgba(23,31,54,.08);position:relative;overflow:hidden;transition:.25s}.proof-card:hover{transform:translateY(-5px);box-shadow:0 26px 62px rgba(23,31,54,.13)}.proof-card::after{content:"";position:absolute;inset:auto -30px -55px auto;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(146,116,255,.16),transparent 68%)}.proof-card .voice-type{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f0f3f9;color:#58637a;font-size:11px;font-weight:950;letter-spacing:.08em}.proof-card .stars{margin:18px 0 8px;color:#ff4f8e;letter-spacing:.16em;font-size:13px}.proof-card .who{font-size:12px;color:#697188}.proof-card h3{font-size:22px;line-height:1.45;margin:10px 0}.proof-card p{color:#535c70}.proof-card .reason{margin-top:18px;padding-top:16px;border-top:1px solid #e8eaf0;font-size:12px;color:#737c90}.proof-card .reason b{color:#20283a}.voice-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:30px;padding:28px 32px;border-radius:24px;background:#11182b;color:#fff}.voice-cta strong{font-size:clamp(20px,2.4vw,29px);line-height:1.4}.voice-cta p{margin:4px 0 0;color:#b8c0d4;font-size:13px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:38px}.step{padding:24px;border-radius:22px;background:var(--panel);border:1px solid var(--line)}.step small{color:#9edbff;font-weight:900}.step h3{font-size:19px;margin:8px 0}.step p{color:var(--muted);font-size:14px}.step .feel{font-size:11px;color:#baf3da;margin-top:12px}

.pricing{background:linear-gradient(180deg,#070a15 0%,#0c1222 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pricing-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:end;margin-bottom:48px}.pricing-intro .lead{max-width:610px}
.price-groups{display:grid;grid-template-columns:1fr 1fr;gap:22px}.price-card{padding:34px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid var(--line);box-shadow:0 28px 70px rgba(0,0,0,.28)}.price-card.featured{background:radial-gradient(circle at 88% 4%,rgba(140,114,255,.22),transparent 35%),linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}.price-kicker{font-size:11px;letter-spacing:.18em;color:#9edbff;font-weight:900}.price-card h3{font-size:clamp(25px,3vw,38px);line-height:1.2;margin:9px 0 24px}.price-list{display:grid;gap:1px;border:1px solid var(--line);border-radius:20px;overflow:hidden}.price-row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:20px 21px;background:rgba(5,7,18,.48)}.price-row+ .price-row{border-top:1px solid var(--line)}.price-name{font-weight:900;font-size:17px}.price-name small{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:600}.price-value{font-size:25px;font-weight:950;letter-spacing:-.035em;white-space:nowrap}.price-value small{font-size:12px;color:var(--muted);font-weight:700;margin-left:2px}.pricing-note{margin-top:20px;padding:19px 21px;border-radius:18px;background:rgba(100,199,255,.075);border:1px solid rgba(100,199,255,.2);color:#dfe9fa;font-size:13px}.ticket-wrap{margin-top:24px;padding:34px;border-radius:30px;background:#f5f6fa;color:#111626}.ticket-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.ticket-head h3{font-size:clamp(27px,3.6vw,45px);line-height:1.1;letter-spacing:-.04em;margin:7px 0 0}.ticket-head p{margin:0;color:#667086}.ticket-table{width:100%;border-collapse:collapse;border-radius:18px;overflow:hidden}.ticket-table th,.ticket-table td{padding:18px 20px;text-align:left;border-bottom:1px solid #dfe3ec}.ticket-table th{font-size:12px;letter-spacing:.11em;color:#657087;background:#e9ecf3}.ticket-table td:last-child,.ticket-table th:last-child{text-align:right}.ticket-table td:last-child{font-size:20px;font-weight:950}.ticket-table tr:last-child td{border-bottom:0}.ticket-category td{padding-top:25px;font-size:12px;letter-spacing:.16em;color:#52617c;font-weight:900;background:#f0f2f7}.pricing-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}.pricing-cta p{margin:0;color:var(--muted)}

.faq{max-width:900px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq summary{font-size:18px;font-weight:850;cursor:pointer}.faq p{color:var(--muted)}
.reserve{position:relative;overflow:hidden}.reserve::before{content:"";position:absolute;inset:0;background:url('image/experience-cycle.jpg') center/cover;opacity:.2}.reserve-card{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;padding:52px;border-radius:36px;background:rgba(12,17,34,.86);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:15px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(4,7,15,.78);color:#fff;font:inherit}.form-grid textarea{min-height:94px}.submit{width:100%}.success{display:none;margin-top:14px;padding:13px;border-radius:12px;background:rgba(70,211,142,.14);color:#a8f3cd}.footer{padding:60px 0 120px;color:#8d96ae;font-size:13px}.sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(5,7,15,.92);backdrop-filter:blur(16px);border-top:1px solid var(--line)}.sticky .btn{width:100%;min-height:52px}.reveal{opacity:0;transform:translateY(24px);transition:.8s cubic-bezier(.2,.7,.2,1)}.reveal.show{opacity:1;transform:none}
@media(max-width:980px){.nav a:not(.btn){display:none}.hero-grid,.grid2,.team-head,.recovery,.reserve-card{grid-template-columns:1fr}.hero-card{justify-self:start}.pillars{grid-template-columns:repeat(2,1fr)}.programs,.team-grid{grid-template-columns:1fr}.trainer{min-height:0}.trainer-visual{height:300px;flex-basis:300px}.steps{grid-template-columns:1fr 1fr}.experience-stage{min-height:600px}.experience-main{right:0}.layer-stage{min-height:560px}.section{padding:94px 0}.sticky{display:block}.footer{padding-bottom:135px}.recovery-img::after{background:linear-gradient(0deg,#10172b,transparent 34%)}}
@media(max-width:640px){.container{width:min(calc(100% - 28px),var(--max))}.topinner{height:66px}.nav .btn{display:none}.hero{min-height:96svh}.hero-grid{padding:118px 0 76px}.hero h1{font-size:48px}.hero-copy{font-size:17px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-card{display:none}.section{padding:76px 0}.title{font-size:40px}.pillars,.balance,.proof-grid,.steps{grid-template-columns:1fr}.voice-intro{grid-template-columns:1fr}.voice-stage{padding:34px}.voice-cta{align-items:flex-start;flex-direction:column}.layer-stage{min-height:470px}.layer-stage .back{inset:0 0 18% 0}.layer-stage .front{width:68%;height:220px}.layer-stage .front img{height:220px}.experience-stage{min-height:510px}.experience-main{inset:0 5% 8% 0}.experience-small{width:48%;height:35%;top:6%}.experience-copy{font-size:16px;right:8%;bottom:12%}.w1{font-size:54px}.w2{font-size:48px}.program{min-height:420px}.team-statement{padding:30px}.recovery-copy{padding:34px}.recovery-img{min-height:360px}.reserve-card{padding:25px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:640px){.team-grid{gap:18px;margin-top:34px}.trainer-visual{height:240px;flex-basis:240px}.trainer-copy{padding:22px 22px 26px}.trainer h3{font-size:32px}.trainer p{font-size:14px;line-height:1.7}.lesson-label{margin-top:17px}.lesson-tags{gap:7px}.lesson-tag{min-height:32px;padding:7px 12px;font-size:12px}.credentials{font-size:11px;line-height:1.65;margin-top:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* === CINEMATIC BRAND UPGRADE === */
.hero{min-height:100svh;align-items:stretch;background:#03050c}
.hero-bg{inset:-5%;background-position:64% 44%;filter:saturate(1.08) contrast(1.06);transform:scale(1.1);will-change:transform}
.hero::before{background:radial-gradient(circle at 72% 34%,rgba(113,76,255,.27),transparent 29%),radial-gradient(circle at 84% 74%,rgba(255,67,139,.14),transparent 25%),linear-gradient(90deg,rgba(2,4,10,.98) 0%,rgba(2,4,10,.77) 42%,rgba(2,4,10,.18) 76%),linear-gradient(0deg,rgba(2,4,10,.98) 0%,rgba(2,4,10,.06) 56%,rgba(2,4,10,.42) 100%)}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.045) 49%,transparent 56%);mix-blend-mode:screen;pointer-events:none}
.hero-grid{min-height:100svh;padding:142px 0 82px;grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr);align-items:center}
.hero-kicker{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.2em;font-weight:900;color:#dce5ff}.hero-kicker::before{content:"";width:46px;height:1px;background:linear-gradient(90deg,var(--blue),transparent)}
.hero h1{font-size:clamp(58px,8.4vw,118px);max-width:980px;text-wrap:balance;text-shadow:0 22px 80px rgba(0,0,0,.44)}
.hero-copy{max-width:660px}
.hero-depth{position:relative;justify-self:end;width:min(100%,420px);height:560px;perspective:1200px}
.hero-depth-card{position:absolute;border:1px solid rgba(255,255,255,.16);box-shadow:0 40px 110px rgba(0,0,0,.58);overflow:hidden;backdrop-filter:blur(18px)}
.hero-depth-card.main{inset:4% 0 12% 12%;border-radius:34px;background:url('image/experience-cycle.jpg') center/cover;transform:rotateY(-7deg) rotateZ(1.5deg)}
.hero-depth-card.main::after{content:"";position:absolute;inset:0;background:linear-gradient(18deg,rgba(4,6,14,.9) 0%,rgba(4,6,14,.58) 24%,transparent 58%)}
.hero-depth-card.sub{width:58%;height:36%;left:0;bottom:0;border-radius:26px;background:url('image/support-adjustment.jpg') center/cover;transform:translateZ(90px) rotateZ(-4deg)}
.hero-depth-card.glass{right:-2%;top:0;width:62%;padding:22px;border-radius:24px;background:rgba(8,12,25,.56);transform:translateZ(120px) rotateZ(3deg);z-index:4}
.hero-depth-card.glass strong{display:block;font-size:44px;line-height:1}.hero-depth-card.glass span{font-size:12px;letter-spacing:.15em;color:#b8c5e4}.hero-depth-copy{position:absolute;left:36px;bottom:46px;z-index:3}.hero-depth-copy b{display:block;font-size:28px}.hero-depth-copy small{color:#d8def0}
.depth-section{overflow:hidden}.depth-section::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(92,113,255,.16),transparent 68%);filter:blur(8px);right:-180px;top:4%;pointer-events:none}.depth-section .container{position:relative;z-index:2}
.cinematic-band{min-height:680px;display:flex;align-items:end;background:url('image/experience-cycle.jpg') center/cover fixed;position:relative;overflow:hidden}.cinematic-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,12,.91),rgba(3,5,12,.28) 60%),linear-gradient(0deg,rgba(3,5,12,.95),transparent 54%)}.cinematic-band .container{position:relative;z-index:2;padding-bottom:90px}.cinematic-band h2{font-size:clamp(52px,8vw,112px);line-height:.92;letter-spacing:-.065em;max-width:920px;margin:0}.cinematic-band p{font-size:20px;max-width:610px;color:#dce3f5;margin-top:28px}
.brand-finale{min-height:92svh;position:relative;display:grid;align-items:center;overflow:hidden;background:url('image/hero-cycle.jpg') center 44%/cover no-repeat}.brand-finale::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(112,88,255,.22),transparent 30%),linear-gradient(0deg,rgba(3,5,12,.98) 0%,rgba(3,5,12,.50) 48%,rgba(3,5,12,.74) 100%)}.brand-finale-inner{position:relative;z-index:2;text-align:center;width:min(calc(100% - 40px),980px);margin:auto;padding:110px 0}.brand-finale .eyebrow{color:#c7d7ff}.brand-finale h2{font-size:clamp(54px,9vw,122px);line-height:.92;letter-spacing:-.07em;margin:18px 0 30px}.brand-finale p{font-size:clamp(17px,2vw,22px);max-width:650px;margin:0 auto 34px;color:#dce3f4}.brand-finale-mark{font-size:13px;letter-spacing:.34em;font-weight:950;margin-top:52px;color:#c8d1e7}.footer{background:#03050b;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero-depth{display:none}.cinematic-band{background-attachment:scroll;min-height:590px}}
@media(max-width:640px){.hero-bg{background-position:90% center}.hero-grid{min-height:100svh;padding-top:104px;padding-bottom:120px}.hero h1{font-size:54px}.hero-kicker{font-size:9px}.cinematic-band{min-height:520px}.cinematic-band .container{padding-bottom:58px}.brand-finale{min-height:82svh}.brand-finale-inner{padding:90px 0}.brand-finale h2{font-size:58px}}


@media(max-width:800px){.pricing-intro,.price-groups{grid-template-columns:1fr}.pricing-intro{gap:16px}.price-card,.ticket-wrap{padding:24px}.price-row{padding:17px 16px}.price-value{font-size:21px}.ticket-head,.pricing-cta{align-items:flex-start;flex-direction:column}.ticket-table th,.ticket-table td{padding:15px 12px}.pricing-cta .btn{width:100%}}

/* Campaign + schedule refinement */
.campaign-strip{display:block;position:relative;z-index:8;background:#e7e9ed;color:#171717;border-bottom:1px solid rgba(0,0,0,.2)}
.campaign-strip-inner{min-height:104px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding-top:17px;padding-bottom:17px}
.campaign-badge{font-size:10px;font-weight:950;letter-spacing:.2em;padding:9px 12px;border:1px solid rgba(0,0,0,.35);border-radius:999px;white-space:nowrap}
.campaign-strip-copy{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.campaign-strip-copy strong{font-size:clamp(22px,3vw,40px);line-height:1;letter-spacing:-.045em}.campaign-strip-copy span{font-weight:850;font-size:14px}
.campaign-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:999px;background:#181818;color:#fff;text-decoration:none;font-weight:900;white-space:nowrap;transition:.25s}.campaign-link:hover{transform:translateY(-2px);background:#000}
.campaign-link::after{content:'↗';font-size:14px}
.schedule{background:radial-gradient(circle at 10% 10%,rgba(85,181,255,.12),transparent 28%),linear-gradient(180deg,#080b14,#05070d);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.schedule-head{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end;margin-bottom:36px}.schedule-head .lead{max-width:560px}
.schedule-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.schedule-meta span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:#dce4f4;font-size:11px;font-weight:850;letter-spacing:.06em;background:rgba(255,255,255,.04)}
.schedule-frame{position:relative;padding:18px;border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025));border:1px solid var(--line);box-shadow:0 34px 90px rgba(0,0,0,.45);overflow:hidden}.schedule-frame::before{content:'';position:absolute;inset:-40% 50% 65% -10%;background:radial-gradient(circle,rgba(60,188,255,.18),transparent 65%);pointer-events:none}
.schedule-pdf-scroll{position:relative;height:min(78vh,900px);min-height:520px;overflow:auto;border-radius:18px;background:#fff}.schedule-pdf-scroll iframe{display:block;width:100%;height:100%;min-height:520px;border:0}
.agency-pdf-scroll{position:relative;height:min(78vh,900px);min-height:520px;overflow:auto;border-radius:18px;background:#fff}.agency-pdf-scroll iframe{display:block;width:100%;height:100%;min-height:520px;border:0}
.agency-head{margin-top:64px}
.schedule-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:21px}.schedule-actions p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.schedule-buttons{display:flex;gap:10px;flex-wrap:wrap}.btn.secondary{background:transparent;border:1px solid var(--line);color:#fff}.btn.secondary:hover{background:rgba(255,255,255,.08)}
.schedule-tip{display:none;color:#b8c3d8;font-size:11px;margin-top:11px}
.schedule-month-switch{display:flex;gap:10px;margin:0 0 14px}.schedule-month-switch .btn{min-width:132px}.schedule-month-switch .btn.is-current{background:linear-gradient(110deg,var(--pink),#ff765d);border-color:transparent;color:#fff}
@media(max-width:640px){.schedule-month-switch .btn{flex:1;min-width:0}}
.campaign-detail{margin-top:38px;display:grid;grid-template-columns:.72fr 1.28fr;gap:30px;align-items:stretch;padding:26px;border:1px solid rgba(244,236,53,.27);border-radius:30px;background:linear-gradient(120deg,rgba(244,236,53,.09),rgba(255,255,255,.025))}
.campaign-thumb{border-radius:20px;min-height:320px;background:url('image/campaign-flyer.png') center 10%/cover no-repeat;box-shadow:0 22px 55px rgba(0,0,0,.35)}
.campaign-detail-copy{display:flex;flex-direction:column;justify-content:center;padding:16px}.campaign-detail-copy .eyebrow{color:#f4ec35}.campaign-detail-copy h3{font-size:clamp(30px,4vw,54px);line-height:1.03;letter-spacing:-.05em;margin:12px 0 18px}.campaign-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:7px 0 24px}.campaign-points span{padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid var(--line);font-size:13px;font-weight:820}.campaign-caution{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 22px}
.flyer-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.93);backdrop-filter:blur(12px)}.flyer-modal.open{display:flex}.flyer-modal img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:12px;box-shadow:0 30px 100px #000}.flyer-close{position:fixed;right:22px;top:18px;border:0;background:#fff;color:#111;width:44px;height:44px;border-radius:50%;font-size:26px;cursor:pointer;font-weight:500}
@media(max-width:900px){.campaign-strip-inner{grid-template-columns:1fr auto}.campaign-badge{grid-column:1/-1;width:max-content}.schedule-head,.campaign-detail{grid-template-columns:1fr}.campaign-thumb{min-height:430px;background-size:contain;background-repeat:no-repeat;background-color:#251e1c}.campaign-points{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.campaign-strip-inner{display:flex;align-items:flex-start;flex-direction:column;gap:12px}.campaign-strip-copy{gap:7px}.campaign-strip-copy strong{font-size:30px}.campaign-link{width:100%}.schedule-frame{padding:10px;border-radius:20px}.schedule-pdf-scroll{height:68vh;min-height:420px}.schedule-pdf-scroll iframe{min-height:420px}.agency-pdf-scroll{height:68vh;min-height:420px}.agency-pdf-scroll iframe{min-height:420px}.agency-head{margin-top:44px}.schedule-actions{align-items:flex-start;flex-direction:column}.schedule-buttons,.schedule-buttons .btn{width:100%}.schedule-tip{display:block}.campaign-detail{padding:14px}.campaign-thumb{min-height:390px}.campaign-detail-copy{padding:10px 4px}.campaign-points{grid-template-columns:1fr}}


/* 2026-07 quality refinement */
.skip-link{position:fixed;left:16px;top:-80px;z-index:200;padding:12px 18px;border-radius:12px;background:#fff;color:#050713;font-weight:900;text-decoration:none;transition:.2s}.skip-link:focus{top:14px}
:focus-visible{outline:3px solid #9edbff;outline-offset:4px}
.value-section{background:linear-gradient(180deg,#f5f6fa,#eceff6);color:#111626}.value-head{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:end;margin-bottom:44px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-card{position:relative;min-height:310px;padding:31px;border-radius:28px;background:#fff;border:1px solid #dfe4ee;box-shadow:0 22px 55px rgba(24,35,60,.09);overflow:hidden}.value-card::after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-75px;bottom:-85px;background:radial-gradient(circle,rgba(100,199,255,.25),transparent 68%)}.value-card:nth-child(2)::after{background:radial-gradient(circle,rgba(140,114,255,.22),transparent 68%)}.value-card:nth-child(3)::after{background:radial-gradient(circle,rgba(124,229,189,.25),transparent 68%)}.value-num{font-size:11px;letter-spacing:.18em;font-weight:950;color:#6b7690}.value-card h3{font-size:27px;line-height:1.2;margin:18px 0 12px}.value-card p{color:#5d6679;margin:0}.value-proof{display:inline-flex;margin-top:24px;padding:8px 11px;border-radius:999px;background:#eef3fb;color:#40516d;font-size:11px;font-weight:900}
.visit-guide{margin-top:42px;padding:32px;border-radius:30px;background:linear-gradient(140deg,rgba(255,255,255,.09),rgba(255,255,255,.025));border:1px solid var(--line)}.visit-guide-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}.visit-guide-head h3{font-size:clamp(27px,4vw,46px);line-height:1.1;margin:6px 0 0}.visit-guide-head p{max-width:530px;color:var(--muted);margin:0}.visit-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.visit-check{padding:18px;border-radius:18px;background:rgba(4,7,16,.55);border:1px solid var(--line)}.visit-check b{display:block;font-size:15px;margin-bottom:5px}.visit-check span{font-size:12px;color:var(--muted)}
.notice-box{margin:0 0 22px;padding:18px 20px;border-radius:17px;background:rgba(255,194,82,.09);border:1px solid rgba(255,194,82,.26);color:#f1dfbd;font-size:13px}.notice-box strong{color:#fff}
.plan-guide{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}.plan-guide article{padding:20px;border-radius:20px;background:rgba(255,255,255,.055);border:1px solid var(--line)}.plan-guide b{display:block;font-size:17px;margin-bottom:5px}.plan-guide p{margin:0;color:var(--muted);font-size:13px}
.access{background:radial-gradient(circle at 90% 10%,rgba(100,199,255,.13),transparent 30%),#080c18}.access-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:stretch}.access-card{padding:38px;border-radius:32px;background:rgba(255,255,255,.055);border:1px solid var(--line)}.access-card address{font-style:normal;font-size:18px;line-height:1.9;margin:25px 0}.access-links{display:flex;gap:12px;flex-wrap:wrap}.access-map{min-height:420px;border-radius:32px;overflow:hidden;border:1px solid var(--line);position:relative;background:url('image/access-cycle.jpg') center/cover}.access-map::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,7,16,.94),rgba(4,7,16,.18))}.access-map-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}.access-map-copy strong{display:block;font-size:28px}.access-map-copy span{color:#d7deed}
.form-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.form-trust span{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.055);border:1px solid var(--line);font-size:11px;color:#d5dced;text-align:center}
@media(max-width:900px){.value-head,.access-grid{grid-template-columns:1fr}.value-grid{grid-template-columns:1fr}.visit-checks{grid-template-columns:1fr 1fr}.plan-guide{grid-template-columns:1fr}}
@media(max-width:640px){.visit-guide{padding:23px}.visit-guide-head{align-items:flex-start;flex-direction:column}.visit-checks,.form-trust{grid-template-columns:1fr}.access-card{padding:27px}.access-map{min-height:350px}}


.field-label{display:block;margin:0 0 7px;font-size:12px;font-weight:900;color:#dce3f4;letter-spacing:.03em}.form-grid label{display:block}.form-grid label.full{grid-column:1/-1}.consent{display:flex!important;align-items:flex-start;gap:11px;color:#e4e9f6;font-size:13px;line-height:1.55}.consent input{width:18px;height:18px;margin-top:2px;accent-color:#ff4f8e}.privacy-note{padding:15px 17px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid var(--line);font-size:12px;color:#c5ccdc;line-height:1.7}.tax-note{margin:24px 0 -12px;font-size:13px;font-weight:900;color:#505b72}.initials{letter-spacing:-.04em}.success:focus{outline:2px solid #9edbff;outline-offset:4px}
.form-grid input[type=date]{color-scheme:dark}
.email-field{min-width:0}.email-field .form-help{margin-top:8px;font-size:11px;white-space:nowrap}
.required-badge,.optional-badge{display:inline-block;margin-right:8px;padding:2px 7px;border-radius:5px;font-size:10px;letter-spacing:.03em;vertical-align:1px}.required-badge{background:#ff4f8e;color:#fff}.optional-badge{background:#596273;color:#fff}.form-choice-group{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#e4e9f6}.form-choice-group .radio-choice{display:inline-flex;align-items:center;gap:6px}.form-choice-group .age-choice{display:inline-flex;align-items:center;gap:7px}.form-choice-group input[type=radio]{width:auto;accent-color:var(--pink)}.form-choice-group .age-choice input{width:82px;padding:10px 12px}.form-help{margin:0 0 14px;color:#c5ccdc;font-size:13px;line-height:1.8}.form-help a,.privacy-note a{color:#9edbff;text-underline-offset:3px}.form-grid-nested{margin-top:12px}

/* Final editorial refinement */
.hero-depth-card.main{inset:0 0 7% 5%;transform:rotateY(-5deg) rotateZ(1deg);background-position:center 38%}
.hero-depth-card.sub{width:48%;height:31%;left:auto;right:-4%;bottom:-1%;z-index:2}
.hero-depth-copy{left:34px;right:auto;bottom:42px;z-index:5;width:56%;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}.hero-depth-copy b{font-size:28px;line-height:1.28;text-shadow:0 3px 18px rgba(0,0,0,.95),0 1px 3px rgba(0,0,0,.95)}.hero-depth-copy small{display:block;margin-top:7px;font-size:13px;line-height:1.65;color:#f2f5ff;text-shadow:0 2px 12px rgba(0,0,0,.98),0 1px 2px rgba(0,0,0,.98)}
.ride-support{overflow:hidden}.support-heading{display:grid;grid-template-columns:1.03fr .97fr;gap:40px;align-items:end;margin-bottom:46px}.support-heading .lead{margin:0}.support-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:stretch}.ride-support .pillars{grid-template-columns:1fr 1fr;gap:14px;margin:0}.ride-support .pillar{min-height:0;padding:25px;display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));transition:.3s}.ride-support .pillar:hover{transform:translateY(-4px);border-color:rgba(158,219,255,.38)}.pillar-number{font-size:30px;line-height:1;font-weight:950;color:rgba(158,219,255,.34);letter-spacing:-.05em}.pillar-body small{display:block;color:#9edbff;letter-spacing:.1em;font-weight:900}.pillar-body h3{font-size:24px;line-height:1.3;margin:7px 0 9px}.pillar-body p{font-size:14px;line-height:1.8}.support-visuals{position:relative;min-height:550px}.support-photo-main,.support-photo-sub{position:absolute;overflow:hidden;border-radius:30px;border:1px solid var(--line);box-shadow:var(--shadow)}.support-photo-main{inset:0 0 12% 10%}.support-photo-sub{left:0;bottom:0;width:48%;height:40%;box-shadow:0 28px 70px rgba(0,0,0,.5)}.support-photo-main img,.support-photo-sub img{width:100%;height:100%;object-fit:cover}.support-photo-main img{object-position:center}.support-photo-sub img{object-position:center 48%}
.experience-word{letter-spacing:-.06em}.w1{color:rgba(255,255,255,.95)}.w2{color:rgba(183,164,255,.9)}
.proof-grid{grid-template-columns:repeat(3,1fr)}.voice-count{text-align:center;margin:26px 0 0;color:#677086;font-size:12px;font-weight:900;letter-spacing:.14em}
.monthly-label{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:10px 0 18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.16)}.monthly-label span{font-size:13px;color:#9edbff;font-weight:950;letter-spacing:.15em}.monthly-label strong{font-size:17px;color:#eef2ff}.price-groups{position:relative}.price-card{padding:40px;border-color:rgba(158,219,255,.2);box-shadow:0 34px 90px rgba(0,0,0,.36)}.price-card.featured{border-color:rgba(140,114,255,.52);box-shadow:0 40px 110px rgba(77,53,167,.24)}.price-card h3{font-size:clamp(30px,3.6vw,46px)}.price-value{font-size:30px}.ticket-wrap{margin-top:48px;padding:28px 32px;background:#eef1f6;border:1px solid #d9dee9;box-shadow:none}.ticket-subtitle{font-size:11px;letter-spacing:.14em;color:#68738a;font-weight:900}.ticket-head h3{font-size:clamp(23px,2.7vw,34px);margin-top:5px}.ticket-table td:last-child{font-size:18px}.ticket-table th,.ticket-table td{padding-top:14px;padding-bottom:14px}
.brand-finale{background-position:72% 38%}.brand-finale::before{background:linear-gradient(90deg,rgba(3,5,12,.93) 0%,rgba(3,5,12,.78) 43%,rgba(3,5,12,.35) 75%),linear-gradient(0deg,rgba(3,5,12,.98) 0%,rgba(3,5,12,.2) 62%,rgba(3,5,12,.64) 100%)}.brand-finale-inner{text-align:left;margin-left:max(20px,calc((100% - 1200px)/2));margin-right:auto;width:min(calc(100% - 40px),760px)}.brand-finale p{margin-left:0;margin-right:0}.brand-finale h2{text-shadow:0 5px 34px rgba(0,0,0,.55)}
@media(max-width:980px){.support-heading,.support-layout{grid-template-columns:1fr}.support-heading{gap:14px}.support-visuals{min-height:500px}.proof-grid{grid-template-columns:1fr 1fr}.brand-finale{background-position:65% center}.brand-finale-inner{margin:auto;text-align:left}}
@media(max-width:640px){.ride-support .pillars,.proof-grid{grid-template-columns:1fr}.ride-support .pillar{grid-template-columns:44px 1fr;padding:21px}.pillar-number{font-size:25px}.pillar-body h3{font-size:21px}.support-visuals{min-height:430px}.support-photo-main{inset:0 0 16% 5%}.support-photo-sub{width:58%;height:38%}.monthly-label{align-items:flex-start;flex-direction:column;gap:4px}.price-card{padding:26px}.price-value{font-size:25px}.ticket-wrap{margin-top:34px;padding:22px 18px}.brand-finale{background-position:68% center}.brand-finale::before{background:linear-gradient(90deg,rgba(3,5,12,.95),rgba(3,5,12,.64)),linear-gradient(0deg,rgba(3,5,12,.98),transparent 70%)}.brand-finale-inner{padding:80px 0}.brand-finale h2{font-size:52px}}

.team-head .title{font-size:clamp(30px,5.3vw,68px)}
.no-wrap{white-space:nowrap}
.price-card h3{min-height:2.4em}
@media(min-width:981px){.program>div{width:100%}.program p{min-height:5.25em}}
.hero-actions .btn{min-width:240px;white-space:nowrap}
.hero-actions .btn.ghost{background:linear-gradient(110deg,#168f68,#49c78d);border:1px solid rgba(158,255,208,.55);box-shadow:0 18px 44px rgba(31,177,119,.22)}
.logo .site-logo{width:auto;height:60px;max-width:none;object-fit:contain}
.brand-finale-logos{display:flex;align-items:center;justify-content:center;min-height:clamp(230px,30vw,340px);margin:24px 0 34px}
.brand-finale-inner>.eyebrow{text-align:center}
.brand-finale-logo{display:block;width:auto;height:clamp(230px,30vw,340px);max-width:70%;object-fit:contain;opacity:0;clip-path:inset(0 100% 0 0)}
.brand-finale .btn{display:flex;width:max-content;margin-left:auto;margin-right:auto;background:linear-gradient(110deg,#ffad33,#ff6b35);box-shadow:0 18px 44px rgba(255,126,48,.28)}
.btn[href="#reserve"]{background:linear-gradient(110deg,#ffad33,#ff6b35);box-shadow:0 18px 44px rgba(255,126,48,.28)}
.brand-finale-inner.show .brand-finale-logo-primary{animation:brandLogoReveal 1.35s cubic-bezier(.2,.7,.2,1) .35s both}
@keyframes brandLogoReveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(14px) scale(.97)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.brand-finale-logo{opacity:1;clip-path:none;animation:none!important}}
@media(max-width:640px){.value-section{padding-top:38px}.value-head{gap:12px;margin-bottom:24px}.value-head .lead{margin:0}.experience-stage{min-height:560px}.experience-main{inset:0}.experience-small,.experience-word.w2{display:none}.section#program{padding-bottom:38px}.section#team{padding-top:38px}.team-head{gap:16px}.team-grid{margin-top:24px}.brand-finale-logos{min-height:clamp(180px,54vw,250px);margin:8px 0 28px}.brand-finale-logo{height:clamp(180px,54vw,250px);max-width:68%}}
@media(max-width:640px){.logo .site-logo{height:48px}}
.access-grid{grid-template-columns:1fr;gap:0}
.access-card{display:grid;grid-template-columns:1fr 1.05fr;gap:0;padding:0;overflow:hidden}
.access-copy{padding:40px}
.access-map{min-height:460px;border:0;border-radius:0;background:url('image/access-studio.jpg') center/cover;position:relative}
.access-map::before{background:linear-gradient(90deg,#10172b 0%,rgba(16,23,43,.55) 25%,rgba(16,23,43,.06) 75%),linear-gradient(0deg,rgba(4,7,16,.35),transparent 55%)}
@media(max-width:900px){.access-card{grid-template-columns:1fr}.access-copy{padding:30px}.access-map{min-height:350px}}
.recovery-copy .title{font-size:clamp(27px,4vw,46px)}
.voice-stage .quote-mark{font-family:"Oswald","Noto Sans JP",sans-serif;font-size:16px;line-height:1.5;letter-spacing:.12em;font-weight:900}
#flow>.container>.eyebrow,.faq>.eyebrow{font-size:16px}
.eyebrow{font-size:16px}
#flow .step h3{font-size:21px}
#flow .step p{font-size:16px;line-height:1.65}
.schedule-head h2{font-size:clamp(27px,5.6vw,68px)}
.pricing-intro h2{font-size:clamp(27px,5.6vw,68px)}
.value-head .title{font-size:clamp(25px,4vw,48px)}
.trainer-photo{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center}
.team-statement{background:#11182b;padding:28px 32px;border-radius:24px;border:1px solid var(--line)}
.team-statement::before{display:none}
.section#team{padding-bottom:64px}
.section#team+.section{padding-top:64px}
@media(max-width:640px){.section#team{padding-bottom:30px}.section#team+.section{padding-top:30px}}
@media(max-width:640px){#voices .voice-intro .title{max-width:100%;font-size:clamp(27px,7.5vw,32px);overflow-wrap:anywhere}}
@media(max-width:640px){.voice-stage{padding:22px}.voice-stage blockquote{background:transparent!important;color:#fff;font-size:clamp(21px,5.8vw,23px);max-width:100%;overflow-wrap:anywhere}.section#voices{padding-bottom:38px}.section#flow{padding-top:38px;padding-bottom:38px}.section#flow+.section{padding-top:38px}.section#schedule{padding-bottom:38px}.section#pricing{padding-top:38px;padding-bottom:38px}.section#access{padding-top:38px}}
@media(max-width:640px){.section.value-section{padding-bottom:38px}.section.ride-support{padding-top:38px}}
@media(max-width:640px){.section.ride-support{padding-bottom:38px}.section#experience{padding-top:38px}}
.cinematic-band h2{line-height:1.05}
@media(max-width:640px){.cinematic-band h2{font-size:clamp(34px,9vw,42px);white-space:nowrap}}
@media(max-width:640px){.section#program{padding-top:38px}}
@media(max-width:640px){#program>.container>.title{font-size:clamp(26px,8.5vw,34px);white-space:nowrap}}
@media(max-width:640px){.section#voices{padding-top:38px}.voice-intro{gap:12px}#voices .voice-intro .title{margin-bottom:12px}#voices .voice-intro .lead{margin:0}}
@media(min-width:641px){.section.value-section{padding-top:92px}}
@media(min-width:641px){.section.value-section{padding-bottom:92px}.section.ride-support{padding-top:92px}}
@media(min-width:641px){.section.ride-support{padding-bottom:92px}.section#experience{padding-top:64px}}
@media(min-width:641px){.section#experience{padding-bottom:76px}.cinematic-band{min-height:728px}}
@media(min-width:641px){.section#program{padding-top:92px}}
@media(min-width:641px){.section#program{padding-bottom:92px}.section#team{padding-top:92px}}
@media(min-width:641px){.section:has(+ .section#voices){padding-bottom:92px}.section#voices{padding-top:64px;padding-bottom:92px}.section#voices+.section{padding-top:92px}}
@media(min-width:641px){.section#flow{padding-bottom:92px}.section#flow+.section{padding-top:92px;padding-bottom:92px}.section#flow+.section+.section{padding-top:92px}}
@media(min-width:641px){.section#schedule{padding-bottom:92px}.section#pricing{padding-top:92px;padding-bottom:92px}.section#pricing+.section{padding-top:92px}}
@media(min-width:641px){.section#pricing{padding-bottom:64px}.section#pricing+.section#access{padding-top:64px}}

@media(min-width:641px){.section#access{padding-bottom:64px}.section#reserve{padding-top:64px}}

@media(min-width:641px){.section#reserve{padding-bottom:64px}}
.steps-viewport{width:100%;overflow:hidden;margin-top:38px;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
.steps-track.is-animated{display:flex;width:max-content;gap:12px;animation:steps-marquee 36s linear infinite}
.steps-track.is-animated:hover,.steps-track.is-animated:focus-within{animation-play-state:paused}
.steps-track.is-animated .steps{display:flex;grid-template-columns:none;gap:12px;width:max-content;margin:0;flex:0 0 auto}
.steps-track.is-animated .step{flex:0 0 clamp(250px,20vw,320px)}
@keyframes steps-marquee{to{transform:translateX(calc(-50% - 6px))}}
@media(max-width:640px){.steps-viewport{margin-top:28px}.steps-track.is-animated .step{flex-basis:min(78vw,300px)}}
@media(prefers-reduced-motion:reduce){.steps-track.is-animated{animation:none}}
.schedule-pdf-canvas{display:none}
@media(max-width:640px){.schedule-pdf-scroll.pdf-canvas-ready iframe{display:none}.schedule-pdf-scroll.pdf-canvas-ready .schedule-pdf-canvas{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;min-height:100%;padding:8px;background:#fff}.schedule-pdf-canvas canvas{display:block;max-width:100%;height:auto;box-shadow:0 2px 10px rgba(0,0,0,.14)}}


@media(min-width:641px){.section.ride-support{padding-bottom:56px}}

.manifesto{position:relative;z-index:2;border-bottom:0;padding-bottom:62px}
.manifesto::after{content:"";position:absolute;z-index:1;left:0;bottom:-60px;width:100%;height:120px;background:#070a14;clip-path:ellipse(60% 100% at 50% 0);pointer-events:none}
.value-section{position:relative;z-index:1}
@media(min-width:641px){.section.value-section{padding-top:120px}}
@media(max-width:640px){.manifesto{padding-bottom:60px}.manifesto::after{bottom:-35px;height:70px}.section.value-section{padding-top:70px}}


.hero-grid>div:first-child>:nth-child(1),.hero-grid>div:first-child>:nth-child(2),.hero-grid>div:first-child>:nth-child(3),.hero-grid>div:first-child>:nth-child(5),.hero-grid>div:first-child>:nth-child(6){opacity:0;animation:heroCopyReveal .75s cubic-bezier(.2,.7,.2,1) forwards}
.hero-grid>div:first-child>:nth-child(1){animation-delay:.12s}
.hero-grid>div:first-child>:nth-child(2){animation-delay:.24s}
.hero-grid>div:first-child>:nth-child(3){animation-delay:.36s}
.hero-grid>div:first-child>:nth-child(5){animation-delay:.48s}
.hero-grid>div:first-child>:nth-child(6){animation-delay:.6s}
@keyframes heroCopyReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}


@media(max-width:640px){.hero-bg{background-size:auto 125%;background-position:90% 100%}}

@media(max-width:640px){.hero-bg{background-image:url('image/hero-cycle-mobile.jpg'),url('image/hero-cycle.jpg');background-size:auto 125%,cover;background-position:90% 100%,90% center;background-repeat:no-repeat}}

@media(max-width:640px){.hero{min-height:100svh;background:#050713}.hero-bg{inset:0 0 auto;height:42svh;transform:none;background-size:cover,cover;background-position:90% 72%,90% center}.hero-video{display:none}.hero::before{background:linear-gradient(180deg,rgba(3,5,12,.04) 0%,rgba(3,5,12,.08) 70%,#050713 100%)}.hero-grid{min-height:100svh;padding:42svh 0 120px;align-items:start}}

@media(max-width:640px){.hero-bg{-webkit-mask-image:linear-gradient(to bottom,#000 58%,transparent 100%);mask-image:linear-gradient(to bottom,#000 58%,transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}


.mobile-break{display:none}
@media(max-width:640px){.mobile-break{display:block}}

.program{min-height:0;align-items:stretch;flex-direction:column;padding:0;background:#0b1121}.program::before{display:none}.program.rpm,.program.sprint,.program.trip{background-image:none}.program-video{width:100%;aspect-ratio:16/9;flex:none;overflow:hidden;background:#050713}.program-video iframe{display:block;width:100%;height:100%;border:0}.program-image{display:block;width:100%;height:220px;object-fit:cover}.program-copy{padding:24px 26px 28px}.program-copy h3{font-size:38px;margin:0}.program-copy p{color:#dce2f3}.program-copy .tag{font-size:11px;letter-spacing:.15em;color:#a9dcff}

/* Four vertically stacked support points with individual scroll reveals. */
.ride-support .pillars{display:flex;flex-direction:column;gap:0;margin:0}
.ride-support .pillar{min-height:0;padding:23px 0;display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start;border:0;border-bottom:1px solid rgba(255,255,255,.14);border-radius:0;background:transparent;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.ride-support .pillar:last-child{border-bottom:0}
.ride-support .pillar:hover{transform:translateY(-2px)}
.ride-support .pillar-number{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#f4f6fb;color:#11182b;font-size:19px;line-height:1;font-weight:950;letter-spacing:-.04em}
.ride-support .pillar-body small{display:none}
.ride-support .pillar-body h3{font-size:clamp(23px,2.5vw,29px);line-height:1.3;margin:0 0 8px}
.ride-support .pillar-body p{font-size:15px;line-height:1.8;margin:0;color:var(--muted)}
.ride-support .pillar:nth-child(2){transition-delay:.08s}.ride-support .pillar:nth-child(3){transition-delay:.16s}.ride-support .pillar:nth-child(4){transition-delay:.24s}
@media(max-width:640px){.ride-support .pillar{grid-template-columns:42px 1fr;gap:14px;padding:20px 0}.ride-support .pillar-number{width:38px;height:38px;font-size:16px}.ride-support .pillar-body h3{font-size:21px}.ride-support .pillar-body p{font-size:14px}}
