:root{--navy:#101e2c;--yellow:#f3dc32;--ink:#132433;--muted:#58646b;--line:#dce0e1;--paper:#f3f5f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}p{margin:0 0 1.2em}h1,h2,h3{line-height:1.5;margin:0;font-weight:800}h2{font-size:clamp(2rem,3.5vw,3.15rem);letter-spacing:.035em}h3{font-size:1.25rem}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #498bd5;outline-offset:6px}.wrap{max-width:1200px;margin:auto;padding-left:40px;padding-right:40px}.section{padding-top:104px;padding-bottom:104px}.eyebrow{font-family:Arial,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.15em;margin-bottom:24px;color:#58666e}.eyebrow.light{color:#c6d0d7}.header{height:90px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--navy);color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff20}.brand{display:flex;align-items:center;gap:8px;line-height:1.2;font-family:Arial,sans-serif;font-weight:800;font-size:1.08rem;letter-spacing:.02em;flex-shrink:0}.brand img{width:55px;height:55px;object-fit:contain}.brand small{display:block;font-size:.63rem;letter-spacing:.26em;margin-top:7px}.header nav{display:flex;gap:23px;font-size:.875rem}.header nav a{padding:12px 0}.header nav a:hover{color:var(--yellow)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:15px 24px;font-size:.9375rem;font-weight:800;line-height:1.5;transition:transform .2s,background .2s;border:0}.button span{font-size:1.4rem;font-family:Arial}.button:hover{transform:translateY(-3px)}.yellow{background:var(--yellow);color:var(--navy)}.yellow:hover{background:#ffe962}.dark{background:var(--navy);color:white}.large{padding:22px 28px;min-width:305px;font-size:1.0625rem}.hero{min-height:685px;background:var(--navy);color:white;position:relative;overflow:hidden}.hero-field{position:absolute;inset:0 0 0 38%;background:linear-gradient(90deg,var(--navy) 0%,#101e2c60 48%,#101e2c33),url('assets/field.png') center/cover;opacity:.55}.hero-word{position:absolute;top:22px;left:34%;font-size:clamp(7rem,16vw,15rem);line-height:1;white-space:nowrap;font-weight:900;font-family:Arial,sans-serif;color:transparent;-webkit-text-stroke:1px #ffffff26;letter-spacing:-.065em}.hero-player{position:absolute;right:3%;bottom:-50px;height:700px;width:auto;max-width:55%;object-fit:contain;object-position:bottom}.hero-content{position:relative;z-index:2;padding:65px 0 96px;max-width:1200px;margin:auto;padding-left:40px}.hero .eyebrow{font-family:inherit;font-size:.82rem;letter-spacing:.05em;display:flex;align-items:center;gap:12px}.hero .eyebrow span{width:26px;height:3px;background:var(--yellow)}h1{font-size:clamp(2.7rem,5.3vw,4.7rem);line-height:1.32;letter-spacing:.035em;margin:26px 0 24px}h1 em{font-style:normal;color:var(--yellow)}.hero-sub{font-size:1.6rem;font-weight:700;line-height:1.7;margin-bottom:20px}.hero-description{font-size:.9375rem;color:#e0e5e8;margin-bottom:28px}.hero-note{font-size:.75rem;margin:17px 0 0;color:#c2cbd1}.hero-caption{position:absolute;right:35px;bottom:28px;font:700 .75rem Arial;letter-spacing:.1em;display:flex;gap:60px}.scroll{position:absolute;left:40px;bottom:22px;display:flex;gap:30px;font:700 .65rem Arial;letter-spacing:.15em;color:#aab5bf}.intro-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--yellow);padding:25px max(30px,calc((100vw - 1120px)/2));gap:25px}.intro-strip p{margin:0;white-space:nowrap;font-size:.875rem;font-weight:700}.intro-strip span{font:bold 1.75rem Arial;letter-spacing:-.03em;margin-right:10px}.about{display:grid;grid-template-columns:1fr 1.08fr;gap:80px}.section-lead{font-size:1.1rem;font-weight:700;margin-top:28px}.about-copy>p{color:var(--muted)}.values{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:35px}.values div{border-top:1px solid var(--line);padding-top:19px;display:grid;grid-template-columns:25px 1fr;gap:5px 8px}.values b{font:.8rem Arial;color:#737c81;padding-top:8px}.values strong{font-size:1.1rem}.values span{font-size:.875rem;color:var(--muted);grid-column:2}.features{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:48px}.section-heading>p{color:var(--muted);font-size:.9375rem;max-width:390px;margin:0 0 6px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#dee3e5}.feature{background:white;padding:30px}.feature .number{font:bold 2.4rem Arial;color:#b4bfc4;display:block;margin-bottom:32px}.feature h3{margin-bottom:16px}.feature p{font-size:.9375rem;color:var(--muted);margin:0}.primary-feature{grid-row:span 2;background:var(--navy);color:white;display:flex;flex-direction:column;justify-content:center;padding:40px}.primary-feature .number{color:var(--yellow);font-size:4rem}.primary-feature h3{font-size:1.7rem}.primary-feature p{color:#c4cdd3}.text-link{display:flex;justify-content:space-between;padding:22px 0 9px;border-bottom:1px solid #ffffff60;margin-top:30px;font-size:.9rem}.coach-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px}.coach-layout figure{margin:0}.coach-layout figure img{width:100%;height:610px;object-fit:cover;object-position:center}.coach-layout figcaption{font-size:.8rem;color:var(--muted);padding-top:15px}.coach-list article+article{margin-top:35px;padding-top:35px;border-top:1px solid var(--line)}.coach-list .eyebrow{margin-bottom:10px;font-size:.75rem}.coach-list h3{font-size:1.75rem;margin-bottom:16px}.coach-list h3 small{font:700 .75rem Arial;letter-spacing:.04em;margin-left:15px;color:var(--muted)}.coach-list p{font-size:.9375rem;color:var(--muted)}.qualifications{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:.75rem;line-height:1.5}.qualifications li{padding:6px 9px;background:var(--paper)}blockquote{margin:22px 0 0;padding:0 0 0 18px;border-left:3px solid var(--yellow);font-weight:700;font-size:1.1rem;line-height:1.8}.courses{background:var(--navy);color:white}.courses .section-heading>p{color:#bfc9d0}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.course-card{background:white;color:var(--ink);padding:26px 23px;border-top:5px solid var(--yellow)}.course-age{font-size:.875rem;margin-bottom:20px;color:var(--muted)}.course-card h3{font:bold 3.6rem Arial;letter-spacing:-.045em}.course-tagline{font-weight:700;font-size:.9375rem;margin:24px 0 12px}.course-desc{font-size:.875rem;color:var(--muted);min-height:54px}.price{font:bold 2.1rem Arial;margin-top:28px;white-space:nowrap}.price small{font:400 .75rem sans-serif;margin-left:6px}.duration{font-size:.8rem;color:var(--muted);margin:8px 0 0}.course-notes{display:flex;justify-content:space-between;gap:30px;color:#c5cdd3;margin:24px 0 45px;font-size:.8rem}.course-notes p{margin:0}.special-courses{border-top:1px solid #ffffff40}.special-courses article{padding:34px 0;display:flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid #ffffff40}.special-courses article>div:first-child{max-width:620px}.special-courses h3{margin:8px 0 12px;font-size:1.5rem}.special-courses p{font-size:.9rem;color:#c5cdd3;margin:0}.special-courses .eyebrow{font-size:.7rem}.special-price{font:bold 2.1rem Arial;white-space:nowrap}.special-price small{display:block;font:400 .8rem sans-serif;margin-top:9px}.special-price a{display:block;font:700 .8rem sans-serif;margin-top:20px;color:var(--yellow)}.private-price p{font-size:1rem;white-space:nowrap}.private-price b{color:white}.venues{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.venues article{position:relative;padding:32px 45px 32px 0;border-top:1px solid var(--line)}.venue-no{position:absolute;top:30px;right:5px;font:bold 2rem Arial;color:#b1bbc0}.area{font-size:.8rem;color:var(--muted);margin-bottom:10px}.venues h3{font-size:1.2rem;margin-bottom:12px}.venues p{font-size:.875rem}.venues a{font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.venues .small{margin-top:16px}.new-venue .area{color:#334617;font-weight:bold}.small{font-size:.75rem;color:var(--muted)}.venue-note{padding-top:20px}.voices{background:var(--paper)}.voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:44px;margin-bottom:20px}.voice-grid article{background:white;padding:32px 36px}.quote{font:5rem Georgia;line-height:.8;display:block;color:#b8a218}.voice-grid h3{font-size:1.4rem;margin:10px 0 20px}.voice-grid p{font-size:.9375rem;color:var(--muted)}.voice-grid footer{border-top:1px solid var(--line);padding-top:19px;margin-top:25px;font-size:.875rem;font-weight:bold}.voice-grid footer span{font-size:.75rem;font-weight:normal;margin-left:20px;color:var(--muted)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.faq-layout>div>p:last-child{font-size:.9375rem;color:var(--muted);margin-top:25px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{position:relative;list-style:none;cursor:pointer;font-size:.9375rem;font-weight:700;padding:0 32px 0 32px}summary::-webkit-details-marker{display:none}summary:before{content:'Q';position:absolute;left:0;font:700 1.1rem Arial;top:5px;color:#778388}summary:after{content:'+';position:absolute;right:3px;font:1.5rem Arial;top:2px}details[open] summary:after{content:'−'}.faq-list details p{font-size:.9375rem;color:var(--muted);margin:18px 30px 0 32px}.trial{background:var(--yellow)}.trial .section-heading>p{color:#384326}.steps{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:0 0 50px;padding:0;gap:24px}.steps li{border-top:1px solid #10233350;padding-top:20px}.steps span{font:bold 1.9rem Arial;display:block;margin-bottom:18px}.steps h3{font-size:1rem}.steps p{font-size:.875rem;line-height:1.8;margin-top:8px}.trial-bottom{border-top:1px solid #10233350;padding-top:40px;display:flex;align-items:center;justify-content:space-between;gap:30px}.trial-bottom h3{font-size:1.5rem}.trial-bottom p{font-size:.8rem;margin:13px 0 0}.footer{padding-top:50px;padding-bottom:32px}.footer .brand img{background:var(--navy)}.footer>p{font-size:.875rem;margin-top:20px}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:25px;display:flex;gap:30px;font-size:.75rem;color:var(--muted)}.footer-bottom small{margin-right:auto;font-size:.75rem}.menu-toggle,.mobile-cta{display:none}.skip{position:fixed;top:-80px;left:20px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}[hidden]{display:none!important}@media(min-width:1550px){.hero-player{right:calc((100vw - 1320px)/2)}}@media(max-width:1100px){.header{padding:0 24px;gap:20px}.header nav{gap:15px;font-size:.75rem}.brand{font-size:.9rem}.header-cta{gap:20px;padding:13px 18px}.hero-player{right:-4%;opacity:.9}.course-grid{grid-template-columns:repeat(2,1fr)}.course-desc{min-height:0}.feature{padding:25px}.about{gap:40px}.hero-content{padding-left:35px}.intro-strip{padding:23px 30px;gap:10px}.intro-strip span{font-size:1.4rem}}@media(max-width:800px){.header{height:76px;padding:0 20px}.header nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:7px;padding:12px 6px;background:none;border:0;width:40px}.menu-toggle span{width:27px;height:2px;background:white}.brand img{width:46px;height:46px}.brand{font-size:.9rem}#mobile-nav{position:fixed;z-index:19;top:76px;left:0;right:0;background:var(--navy);color:white;padding:20px 28px;box-shadow:0 8px 15px #0002}#mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid #ffffff20}.wrap{padding-left:24px;padding-right:24px}.section{padding-top:72px;padding-bottom:72px}.hero{min-height:765px}.hero-content{padding:35px 24px 80px}.hero .eyebrow{font-size:.7rem;max-width:300px;margin-bottom:26px}.hero-word{top:200px;left:10%;font-size:8rem}.hero-player{height:460px;right:-40px;bottom:145px;max-width:85%;opacity:1}.hero-field{inset:10% 0 0 0;opacity:.38}.hero-content h1{font-size:clamp(2.5rem,8vw,3.4rem);position:relative;z-index:1}.hero-sub{font-size:1.2rem;margin-top:25px;position:relative;z-index:1}.hero-description{margin-top:175px;position:relative;font-size:.875rem}.hero .button{width:100%;max-width:390px;min-width:0;position:relative}.hero-note{font-size:.67rem;position:relative}.hero-caption{display:none}.scroll{left:24px;bottom:23px}.intro-strip{grid-template-columns:1fr 1fr;padding:22px 24px;gap:14px 20px}.intro-strip p{font-size:.75rem}.intro-strip span{font-size:1.4rem;display:inline-block;min-width:82px}.about,.coach-layout,.faq-layout{grid-template-columns:1fr;gap:34px}.section-lead{font-size:1rem}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin:23px 0 0;font-size:.875rem}.feature-grid{grid-template-columns:1fr 1fr}.primary-feature{grid-column:span 2;grid-row:auto;display:block}.primary-feature .number{font-size:2.4rem;margin-bottom:20px}.primary-feature h3 br{display:none}.primary-feature .text-link{max-width:260px}.feature h3{font-size:1.125rem}.feature .number{margin-bottom:18px}.feature p{font-size:.875rem}.coach-layout figure img{height:370px;object-position:center 45%}.coach-list h3 small{font-size:.65rem}.coach-list{margin-top:5px}.course-grid{gap:12px}.course-card{padding:23px 18px}.course-card h3{font-size:2.8rem}.price{font-size:1.8rem}.course-tagline{font-size:.875rem;min-height:48px}.course-desc{font-size:.8rem;min-height:49px}.course-notes{display:block;font-size:.75rem}.course-notes p+p{margin-top:12px}.special-courses article{display:block}.special-price,.private-price{margin-top:25px}.special-courses h3{font-size:1.25rem}.venues{grid-template-columns:1fr}.voice-grid{grid-template-columns:1fr;gap:16px}.voice-grid article{padding:28px}.steps{grid-template-columns:1fr;gap:0;margin-bottom:30px}.steps li{display:grid;grid-template-columns:45px 1fr;gap:0 15px;padding:19px 0}.steps span{grid-row:span 2;margin:0;font-size:1.5rem}.steps h3{font-size:1rem}.steps p{margin:5px 0 0}.trial-bottom{display:block;padding-top:25px}.trial-bottom .button{margin-top:24px;min-width:0;width:100%;max-width:400px}.trial-bottom h3{font-size:1.2rem}.footer-bottom{flex-wrap:wrap;gap:14px 25px}.footer-bottom small{width:100%}.footer{padding-bottom:105px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:25;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#101e2cf2;border-top:1px solid #ffffff20}.mobile-cta .button{display:flex;width:100%;padding:14px 20px;font-size:.9375rem}html{scroll-padding-top:95px}.eyebrow{font-size:.75rem;margin-bottom:18px}.trial-bottom p br{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the complete hero silhouette inside the frame. */
.hero-player{bottom:35px;height:640px;right:5%;max-width:48%}
@media(min-width:1550px){.hero-player{right:calc((100vw - 1280px)/2)}}
@media(max-width:800px){.hero-player{top:280px;bottom:auto;right:16px;height:375px;max-width:75%}.hero-description{margin-top:355px}.hero{min-height:930px}}

/* Individual coach portraits and biographies */
.coach-profiles{display:grid;gap:56px}.coach-profile{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:64px;align-items:center}.coach-profile+.coach-profile{padding-top:56px;border-top:1px solid var(--line)}.coach-portrait{margin:0;background:#bbc0c6;border-bottom:5px solid var(--yellow)}.coach-portrait img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}.coach-bio .eyebrow{margin-bottom:12px;font-size:.75rem}.coach-bio h3{font-size:1.9rem;margin-bottom:22px}.coach-bio h3 small{display:block;font:700 .8rem Arial;letter-spacing:.08em;margin-top:9px;color:var(--muted)}.coach-bio>p:not(.eyebrow){color:var(--muted);font-size:1rem;line-height:2}.coach-bio .qualifications{margin-top:24px}.coach-bio blockquote{margin-top:30px}
@media(max-width:600px){.coach-profile{grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}.coach-portrait{width:100%;max-width:360px;margin:0 auto}.coach-bio h3{font-size:1.6rem}.coach-bio>p:not(.eyebrow){font-size:.9375rem}}
@media(max-width:560px){.coach-profile{grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.coach-portrait{width:100%;max-width:360px;margin:0 auto}.coach-bio{min-width:0;overflow-wrap:anywhere}.coach-bio .eyebrow{font-size:.75rem;letter-spacing:.06em;margin-bottom:10px}.coach-bio h3{font-size:1.25rem;margin-bottom:16px}.coach-bio h3 small{font-size:.75rem;letter-spacing:.03em;line-height:1.6}.coach-bio>p:not(.eyebrow){font-size:1rem;line-height:1.85}.coach-bio .qualifications{display:grid;grid-template-columns:minmax(0,1fr);font-size:.875rem;margin-top:18px}.coach-bio blockquote{font-size:1rem;line-height:1.8;padding-left:10px;margin-top:22px}.coach-profiles{gap:36px}.coach-profile+.coach-profile{padding-top:36px}}

/* Subtle club artwork; decorative layers never intercept content or controls. */
.about,.features,#coach,.courses,#venue,.voices,#faq,.trial,.intro-strip{position:relative;isolation:isolate}
.about::before,.features::before,#coach::before,.courses::before,#venue::before,.voices::before,#faq::before,.trial::before,.intro-strip::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-repeat:no-repeat;background-position:right center;background-size:cover}
.about::before,#coach::before,#venue::before{background-image:url('assets/wallpaper-light-bird.png');opacity:.75}
.features::before,.voices::before,#faq::before{background-image:url('assets/wallpaper-light-pattern.png');opacity:.65;mix-blend-mode:multiply}
.courses::before{background-image:url('assets/wallpaper-navy-pattern.png');opacity:.42}
.hero{background-image:linear-gradient(90deg,rgba(16,30,44,.78),rgba(16,30,44,.32)),url('assets/wallpaper-navy-bird.png');background-size:cover;background-position:right center}
.hero-field{opacity:.22}
.trial::before,.intro-strip::before{background-image:url('assets/bird-navy.png');background-size:auto 90%;background-position:right -85px center;opacity:.055}
.intro-strip::before{background-size:310px auto;background-position:right 8% center;opacity:.045}
@media(max-width:800px){
  .about::before,.features::before,#coach::before,#venue::before,.voices::before,#faq::before{background-size:auto 540px;background-position:right top}
  .courses::before{background-size:auto 900px;background-position:right top;opacity:.32}
  .trial::before{background-size:540px auto;background-position:right -230px top 35px;opacity:.05}
  .hero{background-position:65% top}
}

/* Coach-led first view */
.hero.hero-elite{min-height:0;background-image:linear-gradient(90deg,rgba(16,30,44,.93),rgba(16,30,44,.64)),url('assets/wallpaper-navy-bird.png');background-position:center;background-size:cover;padding:60px 40px 0}
.elite-layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.08fr 1fr;gap:40px;align-items:center}
.elite-kicker{color:var(--yellow);font:700 .875rem/1.6 Arial,sans-serif;letter-spacing:.12em;margin:0 0 32px}
.elite-kicker span{display:block;color:#c6d0d7;font:400 .875rem/1.6 sans-serif;letter-spacing:.05em;margin-top:8px}
.elite-intro{font-size:clamp(1.05rem,1.7vw,1.4rem);font-weight:700;line-height:1.9;margin-bottom:20px}
.elite-representative{font-size:.78em;display:inline-block}
.hero-elite h1{margin:0 0 25px;line-height:1.3;letter-spacing:0;font-size:clamp(2.4rem,4.05vw,3.65rem)}
.elite-small{display:block;font-size:.54em;letter-spacing:.16em;margin-bottom:10px}
.hero-elite h1 em{display:block;white-space:nowrap}
.elite-school{display:block;font:700 .95rem/1.5 Arial,sans-serif;letter-spacing:.4em;color:#9faebc;margin-top:13px}
.elite-description{font-size:1rem;line-height:1.9;color:#d5dee5;margin-bottom:28px}
.elite-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.elite-actions .large{min-width:0;padding:20px 24px;font-size:1rem}
.elite-coach-link{font-size:.875rem;border-bottom:1px solid #ffffff65;padding:8px 0}.elite-coach-link:hover{color:var(--yellow)}
.elite-note{font-size:.875rem;color:#bcc8d1;margin:18px 0 0}
.elite-portraits{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;padding:12px 0 32px}
.elite-portrait{position:relative;margin:0;min-width:0;background:#0c1827;border-bottom:3px solid var(--yellow)}
.elite-portrait:nth-child(2){margin-top:52px}
.elite-portrait img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.elite-portrait figcaption{padding:18px 16px 20px;background:#0c1827}
.elite-role{display:block;font-size:.875rem;color:var(--yellow);line-height:1.5;margin-bottom:8px}
.elite-portrait strong{display:block;font-size:1.5rem;letter-spacing:.1em;line-height:1.5}
.elite-portrait small{display:block;font-size:.875rem;line-height:1.7;color:#c4cfda;margin-top:6px}
.elite-footer{max-width:1280px;margin:40px auto 0;padding:20px 0;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff25;font-size:.875rem;color:#bac7d2}.elite-footer>span{letter-spacing:.08em}.elite-footer a:hover{color:var(--yellow)}
@media(max-width:1050px){.hero.hero-elite{padding:42px 28px 0}.elite-layout{gap:25px;grid-template-columns:1fr 1fr}.elite-portrait figcaption{padding:15px 12px}.elite-portrait strong{font-size:1.25rem}.elite-role,.elite-portrait small{font-size:.8125rem}.elite-intro{font-size:1rem}}
@media(max-width:800px){.hero.hero-elite{padding:35px 24px 0;min-height:0}.elite-layout{grid-template-columns:1fr;gap:28px}.elite-kicker{margin-bottom:24px;font-size:.8125rem}.elite-intro{font-size:clamp(1rem,3.6vw,1.3rem)}.hero-elite h1{font-size:clamp(2rem,7.6vw,3.6rem)}.elite-description{font-size:1rem;margin-bottom:23px}.elite-actions{gap:12px 22px}.hero-elite .button{width:auto;max-width:none}.elite-note{font-size:.8125rem}.elite-portraits{width:100%;max-width:540px;justify-self:center;gap:12px;padding:0}.elite-portrait:nth-child(2){margin-top:24px}.elite-portrait figcaption{padding:15px 12px}.elite-portrait strong{font-size:1.25rem}.elite-portrait small{font-size:.8125rem}.elite-footer{margin-top:30px;flex-wrap:wrap;gap:8px;font-size:.8125rem}}
@media(max-width:370px){.hero.hero-elite{padding-left:18px;padding-right:18px}.elite-role{font-size:.75rem}.elite-portrait strong{font-size:1.15rem}.elite-portrait figcaption{padding:14px 10px}}

/* Bold editorial headline hierarchy */
.elite-copy{min-width:0}.elite-layout{grid-template-columns:1.15fr 1fr;gap:38px}
.elite-kicker{margin-bottom:26px;letter-spacing:.18em}
.elite-intro{font-size:clamp(1rem,1.55vw,1.3rem);line-height:1.9;color:#d8e0e7;margin-bottom:26px}
.elite-expertise{font-weight:900;color:#fff;text-decoration:underline;text-decoration-color:#f3dc3280;text-decoration-thickness:2px;text-underline-offset:7px}
.hero-elite h1{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:900;margin:0 0 28px;font-size:clamp(3.3rem,6.15vw,5.65rem);line-height:1.12;letter-spacing:-.055em}
.hero-elite .elite-small{display:table;font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.35;letter-spacing:.24em;background:var(--yellow);color:var(--navy);padding:9px 14px 9px 19px;margin:0 0 18px;transform:rotate(-2deg)}
.hero-elite h1 em{white-space:normal;font-style:normal}
.elite-title-lead{display:block;font-size:.61em;letter-spacing:.02em;color:#fff;margin-bottom:6px;line-height:1.25}
.elite-title-main{display:block;white-space:nowrap;color:var(--yellow);text-shadow:0 4px 0 #0003}
.elite-title-dot{display:inline-block;font-size:.55em;margin-left:-.08em;vertical-align:baseline}
.hero-elite .elite-school{display:flex;align-items:center;gap:15px;font:800 .8rem/1.6 Arial,sans-serif;letter-spacing:.2em;color:#a9b9c6;margin-top:24px}
.elite-school::before{content:"";width:38px;height:2px;background:var(--yellow);flex-shrink:0}
.elite-description{border-left:2px solid #ffffff35;padding-left:16px;margin-bottom:25px;font-size:1rem}
.hero.hero-elite{padding-top:48px}.elite-portraits{align-self:center}.elite-footer{margin-top:30px}
@media(max-width:1050px) and (min-width:801px){.elite-layout{gap:24px}.hero-elite h1{font-size:5.8vw}.elite-intro{font-size:1rem}.elite-portrait figcaption{padding-left:10px;padding-right:10px}}
@media(max-width:800px){.elite-layout{grid-template-columns:1fr;gap:32px}.hero.hero-elite{padding-top:32px}.elite-kicker{margin-bottom:22px}.elite-intro{font-size:clamp(1rem,3.5vw,1.25rem);margin-bottom:24px}.hero-elite h1{font-size:clamp(2.75rem,12.8vw,5.8rem);line-height:1.12;margin-bottom:25px}.hero-elite .elite-small{font-size:1.1rem;margin-bottom:17px}.elite-title-lead{font-size:.59em}.hero-elite .elite-school{font-size:.75rem;letter-spacing:.13em;margin-top:20px;gap:12px}.elite-description{font-size:1rem}.elite-title-main{text-shadow:0 3px 0 #0003}}
@media(prefers-reduced-motion:reduce){.hero-elite .elite-small{transform:none}}

/* Small-group teaching visual and school headline */
.hero-elite h1{font-size:clamp(2rem,4.15vw,3.8rem)}
.elite-training{margin:0;min-width:0;border-bottom:3px solid var(--yellow);background:#0c1827;transform:translateY(6px)}
.elite-training img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.elite-training figcaption{padding:22px 24px}.elite-training strong{display:block;font-size:1.15rem;letter-spacing:.04em}.elite-training figcaption span{display:block;color:#b9c7d3;font-size:.8125rem;margin-top:8px}
.elite-availability{display:table;margin:0 0 12px;padding:5px 12px;color:var(--yellow);border:1px solid #f3dc3280;font-size:.9375rem;font-weight:800;letter-spacing:.08em}
@media(max-width:1050px) and (min-width:801px){.hero-elite h1{font-size:3.85vw}}
@media(max-width:800px){.hero-elite h1{font-size:clamp(1.9rem,8.45vw,4.1rem)}.elite-training{transform:none;max-width:600px;width:100%;justify-self:center}.elite-training figcaption{padding:18px}.elite-training strong{font-size:1rem}}

/* Integrate the growth roadmap into the opening scene. */
.hero.hero-elite{background:#172e42;isolation:isolate;padding-top:52px}
.hero-elite .elite-layout{display:block;position:static;min-height:620px}
.hero-elite .elite-copy{position:relative;z-index:2;width:58%;max-width:690px;padding:10px 0 28px}
.elite-roadmap{position:absolute;inset:0;z-index:0;margin:0;pointer-events:none;overflow:hidden}
.elite-roadmap img{position:absolute;right:0;top:0;width:min(100%,1150px);height:100%;object-fit:contain;object-position:right center}
.elite-roadmap::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#172e42 0%,rgba(23,46,66,.96) 24%,rgba(23,46,66,.76) 40%,rgba(23,46,66,.18) 61%,transparent 76%),linear-gradient(0deg,#172e42 0%,transparent 13%,transparent 88%,rgba(23,46,66,.2) 100%)}
.hero-elite .elite-footer{position:relative;z-index:2;margin-top:12px}
.hero-elite .elite-intro,.hero-elite .elite-description{text-shadow:0 2px 8px #172e4280}
@media(min-width:1600px){.elite-roadmap img{right:calc((100vw - 1520px)/2)}}
@media(max-width:1050px) and (min-width:801px){.hero-elite .elite-copy{width:62%}.elite-roadmap img{width:100%;object-position:right center}.elite-roadmap::after{background:linear-gradient(90deg,#172e42 0%,rgba(23,46,66,.94) 28%,rgba(23,46,66,.65) 46%,transparent 78%)}}
@media(max-width:800px){.hero.hero-elite{padding-top:32px}.hero-elite .elite-layout{min-height:0}.hero-elite .elite-copy{width:100%;max-width:none;padding:0}.elite-roadmap{position:relative;inset:auto;aspect-ratio:3/2;margin:12px -24px -16px;overflow:hidden}.elite-roadmap img{position:static;width:100%;height:auto;object-fit:contain}.elite-roadmap::after{background:linear-gradient(180deg,#172e42 0%,rgba(23,46,66,.3) 14%,transparent 30%,transparent 85%,#172e42 100%)}.hero-elite .elite-footer{margin-top:12px}}
@media(max-width:370px){.elite-roadmap{margin-left:-18px;margin-right:-18px}}

/* Announce the opening as the final beat of the headline. */
.hero-elite .elite-opening{display:block;width:fit-content;margin-top:14px;padding:0 0 8px;font-size:1.55em;font-weight:900;line-height:1.15;letter-spacing:.14em;color:#fff;border-bottom:5px solid var(--yellow)}
@media(max-width:800px){.hero-elite .elite-opening{font-size:1.5em;margin-top:12px;border-bottom-width:4px}}

/* One continuous illustrated background behind the opening copy. */
.hero-elite .elite-roadmap{position:absolute;inset:0;margin:0;aspect-ratio:auto;z-index:0}
.hero-elite .elite-roadmap img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center}
.hero-elite .elite-roadmap::after{background:linear-gradient(90deg,rgba(12,30,46,.65) 0%,rgba(12,30,46,.52) 32%,rgba(12,30,46,.2) 58%,rgba(12,30,46,.03) 100%),linear-gradient(0deg,rgba(12,30,46,.65),transparent 20%)}
.hero-elite .elite-copy{text-shadow:0 2px 12px rgba(8,23,37,.45)}
.hero-elite .elite-small,.hero-elite .button{text-shadow:none}
.hero-elite .elite-footer{color:#e0e8ef}
@media(max-width:800px){
 .hero-elite .elite-roadmap img{object-position:77% center}
 .hero-elite .elite-roadmap::after{background:linear-gradient(90deg,rgba(12,30,46,.75),rgba(12,30,46,.44)),linear-gradient(0deg,rgba(12,30,46,.6),transparent 24%)}
 .hero-elite .elite-copy{padding-bottom:28px}
 .hero-elite .elite-footer{margin-top:14px}
}

/* Weekday course schedule: swipeable columns retain readable course times. */
.schedule{background:var(--paper)}
.schedule-notice{border-left:4px solid var(--yellow);padding:18px 22px;background:#fff;margin-bottom:28px}
.schedule-notice strong{font-size:1.05rem}.schedule-notice p{margin:6px 0 0;font-size:.94rem}
.schedule-hint{display:flex;justify-content:space-between;gap:16px;font-size:.85rem;font-weight:700;margin:0 0 12px}.schedule-hint span{color:var(--muted);font-weight:400}
.schedule-scroll{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:16px;scrollbar-color:#8997a1 #e1e6e8;scrollbar-width:thin}
.schedule-scroll:focus-visible{outline:3px solid #567b9c;outline-offset:5px}
.schedule-grid{display:grid;grid-template-columns:repeat(5,minmax(260px,1fr));gap:14px;align-items:start}
.schedule-day{background:#fff;border:1px solid var(--line);scroll-snap-align:start;min-width:0}
.schedule-day>h3{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:#fff;margin:0;padding:14px 18px;font-size:1.5rem;line-height:1.3;border-top:4px solid var(--yellow)}
.schedule-day h3 small{font-size:.8rem;margin-left:5px;font-weight:400}.schedule-en{font-size:.75rem;letter-spacing:.12em;color:var(--yellow)}
.schedule-venue{padding:20px 16px}.schedule-venue+.schedule-venue{border-top:1px solid var(--line)}
.schedule-venue h4{font-size:1rem;line-height:1.6;margin:0 0 8px;min-height:3.2em}.schedule-address{font-size:.75rem;line-height:1.7;color:var(--muted);margin:0 0 6px;min-height:5.1em}
.schedule-map{font-size:.78rem;text-decoration:underline;text-underline-offset:4px}
.schedule-venue table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.84rem;font-variant-numeric:tabular-nums}
.schedule-venue th,.schedule-venue td{padding:9px 0;border-bottom:1px solid var(--line);text-align:left}
.schedule-venue thead th{font-size:.7rem;color:var(--muted);font-weight:500;padding-top:0}.schedule-venue th:first-child{width:34%}
.schedule-venue td,.schedule-venue thead th:last-child{text-align:right;white-space:nowrap}.schedule-venue td span{margin:0 3px}
.schedule-month{display:inline-block;background:var(--yellow);color:var(--navy);font-weight:700;font-size:.72rem;padding:3px 7px;margin:0 0 12px;line-height:1.7}
.schedule-empty{padding:38px 16px;text-align:center;color:var(--muted);font-size:.83rem}.schedule-empty>span{font-size:2rem;color:#a4adb3}
.schedule-footnote{margin-top:16px;color:var(--muted)}
.schedule-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:800px){.schedule-grid{grid-template-columns:repeat(5,280px)}.schedule-notice{padding:16px}.schedule-hint{flex-direction:column;gap:2px}.schedule .section-heading .text-link{display:inline-block;margin-top:8px}}

/* Keep the elite youth license explanation on its own line on mobile. */
@media(max-width:800px){.coach-bio .license-detail{display:block}}

/* Compact desktop panes retain side-by-side coach profiles. */
@media(min-width:601px) and (max-width:1000px){.coach-profile{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}.coach-portrait{width:100%;margin:0}.coach-bio{min-width:0;overflow-wrap:anywhere}.coach-bio h3{font-size:1.5rem}.coach-bio .qualifications{display:grid;grid-template-columns:1fr}}

/* Keep page navigation vertical; only the weekly timetable scrolls sideways. */
html{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
body{width:100%;max-width:100%;min-width:0;overflow-x:visible}
main{width:100%;overflow:hidden}
main,.section,.section>.wrap{min-width:0}
.schedule-scroll{position:relative;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}

/* Two career photographs complement the original coach portrait. */
.coach-kitatani{align-items:start}
.kit-gallery{grid-column:1/-1;min-width:0;padding:40px;background:linear-gradient(135deg,#162d42,#0b1724);color:#fff;border-top:4px solid var(--yellow)}
.kit-gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:32px}
.kit-kicker{font:700 .7rem/1.6 Arial,sans-serif;letter-spacing:.12em;color:var(--yellow);margin:0 0 16px}
.kit-gallery h3{font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.6;letter-spacing:.025em}
.kit-gallery h3 em{font-style:normal;color:var(--yellow)}
.kit-intro{font-size:.84rem;line-height:1.9;color:#cad5df;margin:0}
.kit-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.kit-gallery figure{margin:0;min-width:0;background:#1a2c3d;display:flex;flex-direction:column}
.kit-gallery img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#0b1622}
.kit-gallery figcaption{display:flex;gap:14px;align-items:start;padding:22px 20px;border-top:2px solid var(--yellow);flex:1}
.kit-number{font:700 1.8rem/1 Arial,sans-serif;color:var(--yellow);padding-top:3px}
.kit-label{font:700 .62rem/1.5 Arial,sans-serif;letter-spacing:.1em;color:#b9c8d6;display:block}
.kit-gallery figcaption strong{display:block;font-size:1.04rem;line-height:1.7;margin-top:7px}
.kit-gallery figcaption p{font-size:.78rem;line-height:1.8;color:#c2cfda;margin:8px 0 0}
@media(max-width:900px){.kit-gallery{padding:28px}.kit-gallery-heading{display:block}.kit-intro{margin-top:18px}.kit-gallery-grid{gap:16px}.kit-gallery figcaption{padding:18px 14px;gap:10px}.kit-gallery figcaption strong{font-size:.93rem}}
@media(max-width:600px){.kit-gallery{padding:24px 16px}.kit-gallery-grid{grid-template-columns:minmax(0,1fr);gap:24px}.kit-gallery-heading{margin-bottom:24px}.kit-kicker{font-size:.6rem;letter-spacing:.07em}.kit-gallery figcaption{padding:20px 16px}.kit-gallery figcaption strong{font-size:1rem}.kit-intro{font-size:.8rem}}

/* Tighten the transition from coach career photos to the weekly schedule. */
#coach{padding-bottom:48px}
#schedule{padding-top:56px}
@media(max-width:800px){#coach{padding-bottom:28px}#schedule{padding-top:36px}}

/* Highlight the October 1 opening within Thursday's timetable. */
.schedule-venue.schedule-venue-new{position:relative;margin:10px;padding:16px 12px;background:#f8ffe7;border:3px solid #c5f500;box-shadow:0 0 0 1px #a6ce00,inset 0 0 24px #dfff8033}
.opening-badge{display:flex;align-items:center;gap:9px;margin:0 0 12px;padding:7px 10px;background:#ceff00;color:var(--navy);font:900 1.15rem/1.3 Arial,sans-serif;letter-spacing:.08em}
.opening-badge span{font-family:inherit;font-size:.78rem;letter-spacing:.04em}
.opening-date{margin:0 0 18px;line-height:1.4;color:var(--navy)}
.opening-date>span{display:block;font-size:.75rem;font-weight:700}.opening-date strong{display:block;font-size:1.9rem;letter-spacing:-.03em;white-space:nowrap}.opening-date small{font-size:.85rem;letter-spacing:0}.opening-date b{display:block;font:800 .8rem/1.5 Arial,sans-serif;letter-spacing:.12em;margin-top:3px}
.schedule-venue-new h4{font-weight:900}.schedule-venue-new th,.schedule-venue-new td{border-color:#cbd5b5}

.schedule-venue .elite-schedule-label th{width:auto;text-align:left;white-space:normal;font-size:.76rem;padding-top:14px}.elite-schedule-label small{display:block;font-size:.73rem;font-weight:400;margin-top:4px}.special-courses .elite-capacity{color:var(--yellow);font-weight:700;margin-bottom:12px}

/* Subtle hero shortcut to the new Thursday school. */
.elite-opening-row{display:flex;align-items:center;gap:clamp(14px,2.5vw,28px);margin-top:14px}
.hero-elite .elite-opening-row .elite-opening{margin-top:0;flex-shrink:0}
.new-school-link{display:inline-flex;align-items:center;gap:6px;color:#d5e0e8;font-size:clamp(.75rem,1.1vw,.9rem);font-weight:500;line-height:1.7;letter-spacing:.02em;text-decoration:underline;text-underline-offset:5px;white-space:nowrap;padding:10px 0;text-shadow:0 1px 5px #101e2c}
.new-school-link:hover{color:var(--yellow)}
#iwamuro-opening{scroll-margin-top:110px;scroll-margin-inline:12px}
#iwamuro-opening:target{border-color:#d5ff00;box-shadow:0 0 0 2px #a6ce00,inset 0 0 24px #dfff8033}
@media(max-width:600px){.elite-opening-row{gap:16px}.new-school-link{font-size:.75rem;letter-spacing:0}#iwamuro-opening{scroll-margin-top:96px}}

.coach-career{margin:24px 0}.coach-career h4{font-size:.85rem;margin:0 0 10px;letter-spacing:.08em}.coach-career dl{margin:0}.coach-career dl>div{display:grid;grid-template-columns:94px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.9rem;line-height:1.7}.coach-career dt{font-family:Arial,sans-serif;color:var(--muted);font-variant-numeric:tabular-nums}.coach-career dd{margin:0;font-weight:700}.coach-career>p{margin:16px 0 0;padding:10px 14px;border-left:3px solid var(--yellow);font-weight:700;font-size:.9rem;line-height:1.7}.coach-career small{font-weight:400;color:var(--muted);font-size:.75rem}@media(max-width:800px){.coach-career dl>div{grid-template-columns:80px minmax(0,1fr);gap:8px;font-size:.8rem}}

.schedule-venue .elite-remaining{display:block;margin-top:6px;color:#c52222;font-size:.8rem;font-weight:800;line-height:1.6}

/* Elite programme features and admission guidance. */
.special-courses .elite-program{align-items:flex-start;gap:40px}
.special-courses .elite-program-copy{flex:1;min-width:0;max-width:780px}
.special-courses .elite-program-lead{color:#eef3f6;font-weight:700;margin-top:26px;font-size:1rem}
.special-courses .elite-program-title{color:var(--yellow);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:900;line-height:1.5;letter-spacing:.025em;margin:14px 0 28px}
.elite-benefits{list-style:none;padding:0;margin:0;display:grid;gap:0}
.elite-benefits li{display:flex;gap:16px;padding:19px 0;border-top:1px solid #ffffff26}
.elite-benefits li>span{font:700 .85rem/1.8 Arial,sans-serif;color:var(--yellow);padding-top:2px;flex-shrink:0}
.elite-benefits h4{font-size:1rem;line-height:1.7;margin:0 0 5px;color:#fff}
.special-courses .elite-benefits p{font-size:.9rem;line-height:1.9}
.elite-admission{margin-top:22px;border-left:3px solid var(--yellow);background:#ffffff09;padding:20px 22px}
.elite-admission h4{margin:0 0 9px;font-size:1rem;color:var(--yellow)}
.special-courses .elite-admission p{color:#e2e9ee;line-height:1.9}
.elite-program .special-price{padding-top:8px}
@media(max-width:800px){.special-courses .elite-program{display:block}.elite-program .special-price{margin-top:28px;padding-top:24px;border-top:1px solid #ffffff26}.elite-admission{padding:18px 16px}.elite-benefits li{gap:12px}.special-courses .elite-program-title{font-size:clamp(1.4rem,5.6vw,2rem)}}

/* Club bird watermark behind the five elite programme features. */
.elite-benefits{position:relative;isolation:isolate;overflow:hidden}
.elite-benefits::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/bird-navy.png') no-repeat right center;background-size:auto 90%;filter:brightness(0) invert(1);opacity:.055}
@media(max-width:600px){.elite-benefits::before{background-size:auto 65%;background-position:65% center;opacity:.045}}

/* Compact the space between sections while retaining readable content spacing. */
.section{padding-top:48px;padding-bottom:48px}
#schedule{padding-top:48px}
#venue>.venue-note,.voices>.wrap>.small:last-child,.schedule-footnote{margin-bottom:0}
@media(max-width:800px){
  .section{padding-top:32px;padding-bottom:32px}
  #schedule{padding-top:32px}
}
