/* Editorial direction: strong typography, open space and layered local photographs. */
:root{--paper:#fcfcfc;--paper-2:#f0f2f5;--ink:#171b20;--ink-soft:#515b65;--line:#d4d8df;--blue:#2149ed;--moss:#2149ed;--moss-deep:#172339;--yellow:#e7ef5a;--orange:#2149ed;--maxw:1400px;--font-latin:"Manrope",sans-serif;--font-ja:"Noto Sans JP",sans-serif}
html{scroll-padding-top:105px}
body{font-family:var(--font-ja);font-weight:400;line-height:2;letter-spacing:.02em;overflow-wrap:normal}
p{overflow-wrap:normal;word-break:normal;line-break:strict;text-wrap:pretty}
.phrase{display:inline-block;vertical-align:top;white-space:nowrap;max-width:100%}
.heading-line{display:block;white-space:nowrap}
h1,h2,h3{font-family:var(--font-ja);font-weight:800;letter-spacing:-.055em;line-height:1.45;text-wrap:balance}
h2{font-size:clamp(2rem,4.25vw,4.2rem)}
.wrap{width:calc(100% - 112px)}
section{padding:140px 0}
section>.wrap{position:relative;z-index:1}
::selection{background:var(--blue);color:white}
.site-header{height:88px;padding:0 40px;background:rgba(252,252,252,.92);backdrop-filter:blur(16px);border-color:rgba(23,27,32,.14)}
.brand{font-size:.95rem;font-weight:800;letter-spacing:-.03em}
.brand small{font-family:var(--font-latin);font-size:.6875rem;font-weight:600;letter-spacing:.1em}
.site-header nav{gap:32px;font-size:.8125rem}
.header-join{background:var(--ink);color:white;border-color:var(--ink);border-radius:0;padding:12px 18px;font-weight:700;font-size:.8125rem}
.header-join>span:last-child{color:var(--yellow);font-size:1.5rem}
.eyebrow{font-family:var(--font-latin);font-size:.75rem;font-weight:700;letter-spacing:.13em;color:var(--blue);margin-bottom:30px}
.eyebrow:before{display:none}
.eyebrow span{font-family:var(--font-ja);font-size:.75rem;font-weight:500}
.hero{position:relative;isolation:isolate;padding:96px 0 24px;overflow:clip;background:#fcfcfc}
.hero:before{content:"";position:absolute;left:56px;right:56px;top:0;bottom:0;border-left:1px solid rgba(23,27,32,.055);border-right:1px solid rgba(23,27,32,.055);pointer-events:none}
.hero-grid{grid-template-columns:49% 51%;min-height:600px;align-items:center}
.hero-copy{padding:0 0 20px;z-index:2}
.hero h1{font-size:clamp(2rem,3.8vw,3.8rem);line-height:1.25;font-weight:900;letter-spacing:-.075em}
.hero-title-top{display:block}
.hero h1 .accent{display:block;font-size:clamp(5rem,9vw,9rem);line-height:1.27;letter-spacing:-.085em;margin-left:-.065em;margin-top:7px;color:var(--blue)}
.hero-description{margin-top:32px;font-size:1rem;font-weight:500;line-height:2.15;letter-spacing:.025em;max-width:29em}
.hero-word{position:absolute;left:2%;bottom:-.21em;z-index:0;font:800 clamp(11rem,27vw,30rem)/1 var(--font-latin);letter-spacing:-.085em;color:transparent;-webkit-text-stroke:1px rgba(33,73,237,.13);white-space:nowrap;pointer-events:none;text-wrap:nowrap}
.cta-row{gap:24px;margin-top:36px}
.btn{border-radius:0;font-weight:700;font-size:.9375rem;padding:19px 25px;gap:32px;border-width:1px;transition:background .25s,color .25s,transform .3s,box-shadow .3s}
.btn:hover{transform:translateY(-4px);box-shadow:0 16px 30px -20px rgba(20,35,80,.65)}
.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:white}
.btn span{transition:transform .3s;font-size:1.4rem}
.btn:hover span{transform:translate(3px,-3px)}
.text-link{font-size:.875rem;font-weight:600;padding-bottom:8px}
.hero-scene.hero-scene--photo{padding:36px 0 56px 28px;justify-content:center;perspective:1400px;position:relative;z-index:1}
.hero-photo-layer{padding:12px 12px 18px;background:white;border:1px solid #dde1e8;transform:perspective(1400px) translate3d(0,var(--motion-y,0px),0) rotateX(var(--tilt-x,3deg)) rotateY(var(--tilt-y,-8deg)) rotateZ(-2deg);box-shadow:18px 28px 0 -10px #e2e7f1,0 45px 65px -38px rgba(18,30,58,.55);transform-origin:50% 55%;transition:box-shadow .4s}
.hero-photo{border-radius:0;aspect-ratio:4/3;object-fit:contain}
.hero-photo-layer figcaption{margin:16px 4px 0;font-size:.8125rem;font-weight:500;line-height:1.6;letter-spacing:.015em}
.hero-photo-layer figcaption span{font:600 .625rem/1.5 var(--font-latin);letter-spacing:.09em}
.hero-scene--photo .hello-sticker{top:-8px;right:8px;width:138px;height:94px;border:1px solid var(--ink);border-radius:0;background:var(--yellow);color:var(--ink);rotate:7deg;box-shadow:5px 6px 0 rgba(23,27,32,.12);font-size:.9rem;line-height:1.6;z-index:2}
.hello-sticker b{position:absolute;right:10px;bottom:7px;font:500 1.4rem/1 var(--font-latin)}
.hero-bottom{margin-top:58px;padding-top:20px;font-size:.8125rem;gap:20px;position:relative;z-index:2}
.hero-bottom a,.motion-toggle{font-size:.6875rem;font-family:var(--font-latin)}
.motion-toggle{font-family:var(--font-ja);font-size:.75rem}
.ticker{padding:22px 0;background:var(--ink);font:500 clamp(1.2rem,2.1vw,2rem)/1.2 var(--font-latin);letter-spacing:-.025em}
.ticker span{font-size:1.25rem;padding:0 35px;color:var(--yellow)}
.plea-sec{background:var(--paper)}
.about-grid{grid-template-columns:40% 1fr;gap:8%;align-items:start}
.about-heading{position:sticky;top:144px}
.about-sub{font-size:1.25rem;font-weight:500;line-height:1.8;margin-top:28px}
.about-note{border-left:1px solid var(--blue);font-size:.875rem;line-height:1.9;margin-top:48px;padding-left:18px}
.about-body .plea-photos{gap:22px;margin-bottom:48px}
.photo-card{background:#fff;position:relative}
.photo-card:nth-child(1){rotate:-3deg;z-index:2;box-shadow:0 20px 35px -30px rgba(0,0,0,.5)}
.photo-card:nth-child(2){margin-top:70px;rotate:4deg;z-index:1}
.photo-window{border-radius:0;aspect-ratio:4/5}
.photo-window img{border-radius:0;height:calc(100% + 130px);top:-65px}
.rcap{font-size:.8125rem;letter-spacing:.01em}
.about-text{gap:26px;font-size:1rem}
.about-text p{line-height:2.1}
.hook{background:#171d27;position:relative;overflow:clip}
.hook-grid{grid-template-columns:1.2fr 1fr;gap:9%;position:relative;z-index:1}
.hook h2{font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.6}
.hook h2 em{color:var(--yellow);font-weight:700}
.hook-body p{font-size:1rem;line-height:2.15;max-width:30em;color:#e0e4ec;letter-spacing:.025em}
.section-word{position:absolute;left:-.025em;bottom:-.13em;font:800 clamp(7rem,20vw,22rem)/1 var(--font-latin);letter-spacing:-.065em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);white-space:nowrap;pointer-events:none;z-index:0}
.strike-row{gap:9px;margin-top:30px}
.chip{border-radius:0;border-color:#505763;font-size:.8125rem;padding:7px 13px;color:#e4e9f3}
.merit-head{margin-bottom:66px}
.merit-head .lead{font-size:1rem;line-height:2}
.cards{gap:0 56px}
.card,.card:nth-child(n){background:transparent;border:0;border-top:1px solid var(--ink);border-radius:0;padding:30px 0 48px;gap:20px;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.card:nth-child(even){margin-top:75px}
.card-top{margin-bottom:10px}
.card-number,.card:nth-child(n) .card-number{font:500 5rem/1 var(--font-latin);color:var(--blue);letter-spacing:-.07em}
.card-label{font-size:.8125rem;font-weight:600}
.card-symbol,.card:nth-child(n) .card-symbol{font:400 2.6rem/1 var(--font-latin);color:var(--ink);rotate:0}
.card h3{font-size:clamp(1.5rem,2.25vw,2.2rem);font-weight:800;line-height:1.6}
.card p{max-width:32em;font-size:1rem;line-height:2.1}
.card .tag{font:600 .625rem/1.5 var(--font-latin);letter-spacing:.08em;color:var(--ink-soft)}
.merit-foot{margin-top:12px;padding-top:28px;gap:24px}
.merit-foot>span{font-family:var(--font-latin)}
.merit-foot p{font-size:.9375rem}
.festival-window{height:620px}
.festival-window img{top:-110px;height:calc(100% + 220px);object-fit:cover}
.festival-window:after{background:linear-gradient(90deg,rgba(9,18,25,.76),rgba(9,18,25,.08))}
.festival-caption{left:max(56px,calc((100vw - 1400px)/2));translate:0 -50%}
.festival-caption>span{font:600 .75rem var(--font-latin);letter-spacing:.1em}
.festival-caption p{font-size:clamp(2rem,4.6vw,4.7rem);font-weight:800;letter-spacing:-.05em;line-height:1.6}
.festival figcaption{background:var(--paper);font-size:.875rem;gap:60px;padding:20px 30px}
.festival-events{display:flex;justify-content:flex-end;padding:24px max(24px,calc((100vw - 1400px)/2));background:var(--paper)}
.festival-events .text-link{display:inline-flex;align-items:center;gap:32px;min-height:44px;color:var(--blue)}
.festival-events .text-link span{margin-left:0;font-size:1.4rem}
.plan-sec{background:#edf0f5}
.fee-grid{grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.fee-intro{position:sticky;top:140px}
.fee-intro h2{font-size:clamp(2rem,3.8vw,3.8rem)}
.fee-intro .lead{font-size:1rem;margin-top:32px;line-height:2.1}
.fee-big-word{font:700 clamp(4rem,6.4vw,6.6rem)/.96 var(--font-latin);letter-spacing:-.075em;color:transparent;-webkit-text-stroke:1px #a1aab9;margin-top:60px}
.fee-demo{font-size:.8125rem;line-height:1.9;color:var(--ink-soft);margin-top:36px}
.plan{border:1px solid var(--ink);border-radius:0;box-shadow:14px 16px 0 #dce2ed,0 28px 50px -40px rgba(0,0,0,.35)}
.plan-top{padding:30px 24px;border-bottom:1px solid var(--line)}
.plan-name{font-weight:600;font-size:.875rem}
.price .num{font:600 7.5rem/1.25 var(--font-latin);letter-spacing:-.085em;color:var(--blue)}
.price .yen{font:500 2.4rem var(--font-latin)}
.price-note{font-size:.8125rem}
.plan-list{padding:22px 30px}
.plan-list li{padding:15px 0;gap:14px;line-height:1.75}
.plan-list b{font-size:.9375rem;font-weight:600}
.plan-list span{font-size:.8125rem;margin-top:3px}
.plan-list span.phrase{display:inline-block;margin-top:0}
.plan-foot{padding:0 30px 30px}
.towns{gap:22px}
.town{padding:24px 0 30px;border-top:1px solid var(--ink)}
.town-index,.town:nth-child(n) .town-index{font:500 5rem/1 var(--font-latin);letter-spacing:-.065em;color:#bec5d0;margin-bottom:28px}
.town h3{font-size:1.4rem;letter-spacing:-.025em}
.town p{font-family:var(--font-latin);font-size:.625rem;letter-spacing:.09em}
.town .kidbadge{border-radius:0;background:transparent;border-color:#bbc8f4;font-size:.75rem;font-family:var(--font-ja);font-weight:500;color:var(--blue)}
.renkei{font-size:.9375rem;line-height:2.1;margin-top:24px}
.kids-sec{background:#eff2f6}
.kids-sec .sec-head{margin-bottom:70px}
.kids-sec .sec-head .lead{max-width:48em;line-height:2.1;font-size:1rem;margin-top:30px!important}
.kids-grid{grid-template-columns:1fr;gap:68px}
.kids-sec .kcard{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px 6%;padding:28px 0 0;background:transparent;border:0;border-top:1px solid #a8b1c0;border-radius:0;align-content:start}
.kcard .ic{display:none}
.kcard h3{grid-column:1;grid-row:1;font-size:clamp(1.3rem,2vw,1.85rem);line-height:1.65;letter-spacing:-.04em}
.kcard p{grid-column:1;grid-row:2;font-size:1rem;line-height:2.1;align-self:start}
.kcard .event-photos,.kcard .sport-imgs{grid-column:2;grid-row:1 / span 3;align-self:start}
.event-photos,.sport-imgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;align-items:start}
.event-photos img,.sport-imgs img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:0;box-shadow:0 15px 25px -22px rgba(17,29,57,.4)}
.event-photos figure,.sport-imgs figure{margin:0;min-width:0}
.event-photos figcaption,.sport-imgs figcaption{font-size:.8125rem;font-weight:500;margin-top:13px;line-height:1.7}
.kids-real{margin-top:72px;gap:30px}
.kids-real img{aspect-ratio:4/3;border-radius:0}
.kids-note{background:transparent;border-left:1px solid var(--blue);padding:0 0 0 24px;margin-top:36px;font-size:.9375rem;line-height:2.1}
.friends-window{height:560px}
.friends-window img{top:-85px;height:calc(100% + 170px);object-fit:cover;object-position:center 38%}
.friends .rcap{background:var(--paper);color:var(--ink);padding:24px 56px;font-size:.9375rem;font-weight:500}
.join-sec{background:var(--blue);position:relative;overflow:clip}
.join-sec h2{font-size:clamp(2.4rem,5.6vw,5.4rem);font-weight:800}
.join-sec .lead{font-size:1rem;max-width:40em;line-height:2.1;margin-top:32px}
.join-grid{grid-template-columns:1fr 260px;gap:12%;max-width:1050px;margin-top:60px}
.steps{gap:26px}
.step{gap:24px;padding:0 0 24px;border-bottom:1px solid rgba(255,255,255,.25)}
.step .n{font:500 2rem/1.4 var(--font-latin);border:0;color:var(--yellow);width:36px}
.step h3{font-size:1.0625rem;font-weight:600;margin-bottom:10px;letter-spacing:-.02em}
.step p{font-size:.875rem;line-height:2}
.qr-card{border:0;border-radius:0;rotate:4deg;padding:26px;box-shadow:12px 16px 0 rgba(12,27,102,.4)}
.qr-img{max-width:100%;width:180px;height:auto}
.qcap{font-size:.9375rem;font-weight:600}
.qsub{font-size:.75rem}
.join-sec .cta-row .btn{min-width:340px;font-size:1rem;background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.join-sec .cta-row .btn:hover{background:white;border-color:white}
footer{padding:54px 0;background:#171b20}
footer .logo{font-size:1.1rem;font-weight:700;letter-spacing:-.025em}
footer p{font-size:.8125rem;line-height:2.1}
footer .demo-note{font-size:.75rem}
.footer-top{font-size:.8125rem;font-weight:500}
[data-reveal].will-reveal{translate:0 42px;transition:opacity .8s ease,translate .9s cubic-bezier(.16,1,.3,1)}
[data-reveal].is-visible{translate:0 0}
.motion-paused .hero-photo-layer{transform:none!important}
.motion-paused .hero-word,.motion-paused .section-word{transform:none!important}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.card:hover{transform:translateY(-7px)}.event-photos figure,.sport-imgs figure{transition:transform .4s}.event-photos figure:hover,.sport-imgs figure:hover{transform:translateY(-5px)}}
@media(max-width:1100px){
  .wrap{width:calc(100% - 72px)}.site-header{padding:0 32px}.site-header nav{gap:22px}
  .hero{padding-top:72px}.hero-grid{min-height:510px}.hero-copy .btn{font-size:.875rem;padding:17px 18px;gap:18px}
  .hero-copy .cta-row{gap:22px}.hero-description{font-size:.9375rem}.hero .eyebrow{flex-wrap:wrap;gap:8px 16px}
  .hero-scene.hero-scene--photo{padding-left:20px}.hero-scene--photo .hello-sticker{top:18px;right:0;width:118px;height:88px;font-size:.8125rem}
  .about-grid{grid-template-columns:38% 1fr;gap:7%}.about-sub{font-size:1.0625rem}
  .hook-grid{gap:6%}.cards{gap:0 36px}.card:nth-child(even){margin-top:60px}.card-number{font-size:4rem}
  .fee-grid{gap:8%}.plan-list{padding:20px 25px}.plan-foot{padding:0 25px 25px}
  .kids-sec .kcard{grid-template-columns:1fr;gap:18px}.kcard .event-photos,.kcard .sport-imgs{grid-column:1;grid-row:3;margin-top:12px}.kcard p{max-width:44em}
  .event-photos,.sport-imgs{gap:24px}.town h3{font-size:1.15rem}.town-index{font-size:4rem}
}
@media(max-width:760px){
  html{scroll-padding-top:92px}.wrap{width:calc(100% - 40px)}section{padding:84px 0}
  .site-header{height:76px;padding:0 20px;gap:12px}.brand{font-size:.8125rem}.brand small{font-size:.625rem;letter-spacing:.035em}.site-header nav{display:none}
  .header-join{font-size:.6875rem;padding:9px 10px;gap:9px}.header-join .header-join-label{font-size:.6875rem;line-height:1.55}
  .header-join>span:last-child{font-size:1.15rem}.hero{padding:45px 0 22px}.hero:before{left:20px;right:20px}
  .hero-grid{display:block;min-height:0}.hero-copy{padding:0}.hero .eyebrow{font-size:.6875rem;margin-bottom:27px;gap:10px}.hero .eyebrow span{font-size:.6875rem}
  .hero h1{font-size:clamp(1.7rem,7.3vw,3.2rem);letter-spacing:-.055em;line-height:1.3}
  .hero h1 .accent{font-size:clamp(4.3rem,17.8vw,8rem);line-height:1.2;margin-top:8px;letter-spacing:-.085em}
  .hero-description{font-size:.9375rem;margin-top:27px;line-height:2.15;max-width:35em}.hero-description br{display:none}
  .hero .cta-row{margin-top:25px;gap:22px}.hero-copy .btn{font-size:.875rem;gap:20px;padding:15px 17px}.hero-copy .text-link{font-size:.8125rem}
  .hero-scene.hero-scene--photo{margin:58px 0 0;padding:0 8px 24px 0;min-height:0}
  .hero-photo-layer{padding:7px 7px 13px;transform:translate3d(0,var(--motion-y,0px),0) rotate(-2deg);box-shadow:12px 16px 0 -6px #dfe5ef,0 24px 38px -28px rgba(17,28,50,.45)}
  .hero-photo-layer figcaption{font-size:.6875rem;margin:11px 4px 0;gap:6px 10px}.hero-photo-layer figcaption span{font-size:.5625rem}
  .hero-scene--photo .hello-sticker{top:-37px;right:-3px;width:118px;height:78px;font-size:.75rem;border-width:1px;rotate:5deg}
  .hello-sticker b{font-size:1.1rem;right:8px;bottom:7px}.hero-word{font-size:31vw;bottom:-.08em}
  .hero-bottom{margin-top:21px;padding-top:15px;gap:14px}.hero-bottom>span{font-size:.6875rem;max-width:12em}.hero-bottom a{font-size:.625rem;letter-spacing:.035em}.hero-tools{gap:8px}.motion-toggle{font-size:.6875rem}
  .ticker{font-size:1.2rem;padding:20px 0}.ticker span{padding:0 22px;font-size:.875rem}
  h2,.fee-intro h2,.hook h2{font-size:clamp(1.5rem,6.4vw,3rem);line-height:1.6;letter-spacing:-.04em}
  .eyebrow{font-size:.6875rem;margin-bottom:22px}.sec-head{margin-bottom:35px}.lead{font-size:.9375rem}
  .about-grid,.hook-grid,.fee-grid{grid-template-columns:1fr;gap:42px}.about-heading,.fee-intro{position:static}.about-sub{font-size:1.0625rem;margin-top:25px}.about-note{font-size:.8125rem;margin-top:25px}
  .about-body .plea-photos{gap:18px;margin:12px 3px 40px}.photo-card:nth-child(2){margin-top:40px}.photo-window{aspect-ratio:3/4}.rcap{font-size:.75rem}
  .about-text{font-size:.9375rem;gap:22px}.about-text p{line-height:2.15}.hook-body p{font-size:.9375rem;max-width:none}.hook-grid{gap:30px}.section-word{font-size:28vw;bottom:-.01em}
  .strike-row{gap:8px;margin-top:23px}.chip{font-size:.75rem;padding:6px 10px}.merit-head .lead{font-size:.9375rem;margin-top:24px}
  .cards{grid-template-columns:1fr;gap:12px}.card,.card:nth-child(n){margin-top:0;padding:27px 0 36px;gap:18px}.card-top{gap:20px;margin:0}
  .card-number,.card:nth-child(n) .card-number{font-size:3.6rem}.card-symbol,.card:nth-child(n) .card-symbol{font-size:2rem}.card-label{font-size:.75rem}
  .card h3{font-size:clamp(1.3rem,5.3vw,2rem);line-height:1.6}.card p{font-size:.9375rem;line-height:2.15}.card .tag{font-size:.5625rem;letter-spacing:.07em}
  .merit-foot{gap:14px;margin-top:0}.merit-foot p{font-size:.875rem}.merit-foot .text-link{margin-left:40px;font-size:.8125rem}
  .festival-window{height:460px}.festival-caption{left:24px;top:43%;max-width:calc(100% - 48px)}.festival-caption>span{font-size:.625rem}
  .festival-caption p{font-size:clamp(1.35rem,5.65vw,2.65rem);letter-spacing:-.045em;line-height:1.7;margin-top:24px}
  .festival figcaption{font-size:.75rem;padding:16px 24px;gap:40px}
  .fee-grid{gap:36px}.fee-intro .lead{font-size:.9375rem;margin-top:24px}.fee-demo{font-size:.75rem;margin-top:24px}.fee-big-word{display:none}
  .plan{box-shadow:7px 8px 0 #d8deea;margin-right:7px;width:calc(100% - 7px)!important}.price .num{font-size:6.5rem}.plan-top{padding:25px 16px}.plan-list{padding:16px 22px}.plan-list li{gap:12px}.plan-list b{font-size:.875rem}.plan-list span{font-size:.75rem}.plan-foot{padding:0 22px 26px}.plan-foot .btn{font-size:.875rem}
  .towns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.town{padding:20px 0 25px}.town-index,.town:nth-child(n) .town-index{font-size:3.6rem;margin-bottom:19px}.town h3{font-size:1.1rem}.town p{font-size:.5625rem}.town .kidbadge{font-size:.6875rem}.renkei{font-size:.875rem}
  .kids-sec .sec-head{margin-bottom:45px}.kids-sec .sec-head .lead{font-size:.9375rem;line-height:2.15;margin-top:25px!important}
  .kids-grid{gap:46px}.kids-sec .kcard{padding-top:24px;gap:18px}.kcard h3{font-size:1.15rem;letter-spacing:-.035em}.kcard p{font-size:.9375rem;line-height:2.15}
  .event-photos,.sport-imgs{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.event-photos figcaption,.sport-imgs figcaption{font-size:.75rem;margin-top:10px;letter-spacing:0}
  .kids-real{gap:14px;margin-top:46px}.kids-real .rcap{font-size:.6875rem}.kids-note{padding-left:16px;font-size:.875rem;margin-top:30px}
  .friends-window{height:350px}.friends .rcap{padding:18px 20px;font-size:.8125rem}
  .join-sec h2{font-size:clamp(1.6rem,7.1vw,3.3rem);line-height:1.6}.join-sec .lead{font-size:.9375rem;margin-top:24px}
  .join-grid{grid-template-columns:1fr;margin-top:38px;gap:30px}.step{gap:17px;padding-bottom:20px}.step .n{font-size:1.7rem;width:29px}.step>div{min-width:0;flex:1}.step h3{font-size:1rem}.step p{font-size:.875rem}.qr-card{display:none}
  .join-sec .cta-row .btn{min-width:0;width:100%;font-size:.9375rem;padding:18px 20px}.join-sec .section-word{font-size:29vw}
  footer{padding:38px 0}footer .logo{font-size:1rem}footer p{font-size:.75rem}footer .demo-note{font-size:.6875rem}.footer-top{font-size:.75rem}
}
@media(max-width:760px){.hero-description,.about-text,.hook-body p,.card p,.kcard p,.kids-sec .sec-head .lead,.fee-intro .lead,.join-sec .lead{font-size:1rem}.card-label{font-size:.875rem}.step p{font-size:.9375rem}}
@media(max-width:370px){.brand small{display:none}.site-header{padding:0 16px}.wrap{width:calc(100% - 36px)}.hero .eyebrow{gap:7px}.hero-copy .cta-row{gap:20px}.hero-copy .btn{padding:14px 15px;font-size:.8125rem}.hero-photo-layer figcaption span{display:none}.plan-list{padding:16px 17px}.plan-list li{gap:9px}.heading-line{letter-spacing:-.055em}}
@media(prefers-reduced-motion:reduce){.hero-photo-layer{transform:none!important;transition:none}.hero-word,.section-word,[data-parallax]{transform:none!important}.photo-card,.qr-card{rotate:0}.card:hover,.event-photos figure:hover,.sport-imgs figure:hover{transform:none}}
@media print{.hero-word,.section-word,.hello-sticker{display:none}.hero-photo-layer{transform:none!important;box-shadow:none}.about-heading,.fee-intro{position:static}.heading-line{white-space:normal}.phrase{white-space:normal}.hook,.join-sec{background:#fff;color:#171b20}.hook p,.join-sec .lead,.step p{color:#171b20}.card:nth-child(n){margin-top:0}.plan{box-shadow:none}.site-header{backdrop-filter:none}}
