:root{--cream:#f2efe6;--red:#b05a4a;--ink:#292723;--muted:#716c65;--line:rgba(176,90,74,.24)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.topbar{min-height:36px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,8vw,150px);font-size:13px}.navwrap{height:64px;background:var(--cream);border-bottom:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;position:relative;z-index:10}.navwrap nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.65vw,30px);font-size:12px}.navwrap a{color:var(--ink);text-decoration:none;white-space:nowrap;padding:10px 0}.navwrap a.active{color:var(--red);font-weight:700;border-bottom:2px solid var(--red)}.menu{display:none;border:0;background:transparent;color:var(--red);font-size:28px}.hero{display:block;width:100%;background:var(--cream);overflow:hidden}.hero img{display:block;width:100%;height:auto}
.pillars{max-width:1260px;margin:0 auto;padding:20px 36px 18px;display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}.pillars div{text-align:center;padding:4px 22px;border-right:1px solid var(--line)}.pillars div:last-child{border-right:0}.pillars strong{display:block;color:var(--red);font-size:13px;letter-spacing:1.8px;margin-bottom:4px}.pillars span{font-family:Georgia,'Times New Roman',serif;font-size:15px;color:var(--muted)}
.discover{max-width:1440px;margin:0 auto;padding:72px 42px 90px}.section-title{text-align:center;max-width:760px;margin:0 auto 42px}.section-title>span{font-family:serif;color:var(--red);font-size:18px;letter-spacing:8px}.section-title h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,3vw,43px);font-weight:400;letter-spacing:2px;margin:11px 0 13px}.section-title p{color:var(--muted);line-height:1.7;margin:0;font-size:15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.card{background:#f8f5ed;border:1px solid rgba(176,90,74,.15);box-shadow:0 8px 26px rgba(42,36,31,.06);overflow:hidden;min-width:0}.card>img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.card-copy{padding:25px 25px 28px}.card-copy .jp{color:var(--red);font-family:serif;font-size:19px}.card-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:22px;letter-spacing:1.2px;font-weight:400;margin:6px 0 10px}.card-copy p{color:var(--muted);font-size:14px;line-height:1.55;min-height:44px;margin:0 0 19px}.card-copy a{color:var(--red);font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;text-decoration:none}.kanji-mark{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:10px}.kanji-mark img{max-height:220px;max-width:74px;width:auto;mix-blend-mode:multiply}.kanji-mark span{writing-mode:vertical-rl;color:var(--red);font-size:10px;letter-spacing:3px;font-weight:700}

.welcome{max-width:1320px;margin:0 auto 90px;padding:64px 42px;border-top:1px solid var(--line);display:grid;grid-template-columns:180px 1.15fr 1fr;gap:52px;align-items:start}.welcome-kanji{display:flex;flex-direction:column;align-items:center;gap:16px}.welcome-kanji img{width:auto;max-width:110px;max-height:300px;mix-blend-mode:multiply}.welcome-kanji span{color:var(--red);font-size:10px;letter-spacing:4px;font-weight:700}.kicker{display:block;color:var(--red);font-size:11px;letter-spacing:2px;font-weight:700;margin-bottom:10px}.welcome h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,2.4vw,38px);font-weight:400;line-height:1.15;margin:0 0 18px}.welcome-copy p{color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.75;margin:0 0 14px}.times{border-top:1px solid var(--line)}.times div{display:grid;grid-template-columns:125px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.times strong{color:var(--red);font-size:13px}.times span{color:var(--muted);font-size:13px;line-height:1.55}
@media(max-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}.pillars{padding-left:18px;padding-right:18px}.pillars div{padding-left:10px;padding-right:10px}}
@media(max-width:900px){.welcome{grid-template-columns:110px 1fr;gap:32px;padding:50px 24px}.training-copy{grid-column:2}.welcome-kanji img{max-width:80px;max-height:230px}.topbar{padding:0 18px}.topbar div:last-child{display:none}.navwrap{height:58px;justify-content:flex-end;padding:0 18px}.menu{display:block}.navwrap nav{display:none;position:absolute;left:0;right:0;top:58px;background:var(--cream);padding:12px 18px 18px;box-shadow:0 8px 18px rgba(0,0,0,.12);flex-direction:column;align-items:flex-start;gap:2px}.navwrap nav.open{display:flex}.navwrap a{width:100%;padding:9px 0}.pillars{grid-template-columns:repeat(2,1fr)}.pillars div{border-right:0;border-bottom:1px solid var(--line);padding:16px 8px}.pillars div:last-child{grid-column:1/-1;border-bottom:0}.discover{padding:55px 24px 70px}.cards{grid-template-columns:1fr 1fr}.cards .card:last-child{grid-column:1/-1;max-width:520px;width:100%;justify-self:center}}
@media(max-width:560px){.welcome{grid-template-columns:1fr;padding:40px 18px 55px;gap:26px}.welcome-kanji{flex-direction:row;justify-content:center}.welcome-kanji img{max-height:120px;max-width:55px}.training-copy{grid-column:auto}.times div{grid-template-columns:1fr;gap:5px}.topbar{font-size:11px;min-height:32px}.hero{height:190px}.hero img{width:auto;height:100%;max-width:none;position:relative;left:50%;transform:translateX(-50%)}.pillars{grid-template-columns:1fr;padding-top:18px;padding-bottom:18px}.pillars div,.pillars div:last-child{grid-column:auto;border-bottom:1px solid var(--line);padding:13px 8px}.pillars div:last-child{border-bottom:0}.discover{padding:45px 16px 60px}.section-title{margin-bottom:30px}.section-title>span{letter-spacing:5px}.cards{grid-template-columns:1fr;gap:18px}.kanji-mark{grid-column:auto}.cards .card:last-child{grid-column:auto}.card-copy p{min-height:0}}

/* Homepage lower sections */
.why{max-width:1320px;margin:0 auto;padding:78px 42px 86px;border-top:1px solid var(--line)}
.why-intro{max-width:720px;margin-bottom:42px}.why-intro h2,.training-focus h2,.tryout h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15;margin:0 0 16px;font-size:clamp(28px,2.7vw,40px)}
.why-intro p,.training-focus-copy p,.tryout p{color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.75;margin:0}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.why-grid article{padding:30px 34px 32px;border-right:1px solid var(--line)}.why-grid article:last-child{border-right:0}.why-grid article>span{color:var(--red);font-family:Georgia,'Times New Roman',serif;font-size:14px}.why-grid h3{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;margin:10px 0 10px}.why-grid p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.training-focus{max-width:1320px;margin:0 auto;padding:0 42px 88px;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.training-focus-copy{max-width:700px}.training-focus-copy p{margin-bottom:14px}.text-link{display:inline-block;margin-top:12px;color:var(--red);text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.8px}.training-quote{min-height:290px;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.rei-mark{display:block;width:112px;height:auto;mix-blend-mode:multiply;filter:contrast(1.08)}.training-quote p{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.5;color:var(--ink);margin:18px 0 0}
.tryout{max-width:1320px;margin:0 auto 90px;padding:52px 56px;background:rgba(176,90,74,.075);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:50px}.tryout>div:first-child{max-width:720px}.tryout p{font-size:15px}.tryout-actions{display:flex;gap:12px;flex-shrink:0}.button{display:inline-block;padding:13px 20px;text-decoration:none;text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:700;border:1px solid var(--red)}.button.primary{background:var(--red);color:#fff}.button.secondary{color:var(--red);background:transparent}
@media(max-width:900px){.why{padding:60px 24px 68px}.why-grid{grid-template-columns:1fr}.why-grid article{border-right:0;border-bottom:1px solid var(--line);padding:24px 18px}.why-grid article:last-child{border-bottom:0}.training-focus{padding:0 24px 70px;grid-template-columns:1fr;gap:36px}.training-quote{min-height:210px;border-left:0;border-top:1px solid var(--line)}.tryout{margin:0 24px 70px;padding:42px 34px;align-items:flex-start;flex-direction:column;gap:28px}}
@media(max-width:560px){.why{padding:50px 18px 58px}.training-focus{padding:0 18px 58px}.tryout{margin:0 18px 55px;padding:34px 24px}.tryout-actions{width:100%;flex-direction:column}.button{text-align:center}.rei-mark{width:92px}}

/* Federations, municipality and footer */
.partners{max-width:1320px;margin:0 auto;padding:64px 42px 70px;border-top:1px solid var(--line);text-align:center}
.partners-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,2.4vw,36px);font-weight:400;margin:0 0 36px}
.partner-logos{display:flex;align-items:center;justify-content:center;gap:clamp(26px,4vw,58px);flex-wrap:wrap}
.partner-logos img{display:block;width:auto;max-width:150px;max-height:74px;object-fit:contain;mix-blend-mode:multiply}
.partner-logos img.wide{max-width:220px;max-height:66px}
.partner-logos img.hove{max-width:250px;max-height:78px}
.site-footer{background:var(--red);color:#fff;display:flex;justify-content:space-between;gap:30px;padding:28px clamp(24px,7vw,120px);font-size:12px;line-height:1.6}
.site-footer div{display:flex;flex-direction:column}.site-footer strong{letter-spacing:.4px}
@media(max-width:700px){.partners{padding:52px 20px 58px}.partner-logos{gap:28px 34px}.partner-logos img{max-width:110px;max-height:58px}.partner-logos img.wide{max-width:180px}.partner-logos img.hove{max-width:200px}.site-footer{flex-direction:column;text-align:center;gap:8px}}


/* Club page */
.subhero{max-width:1320px;margin:0 auto;padding:86px 42px 74px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 180px;gap:70px;align-items:center;position:relative;overflow:hidden}.subhero-copy{max-width:780px}.subhero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5.2vw,74px);line-height:1.04;font-weight:400;letter-spacing:-1.5px;margin:0 0 24px}.subhero p{max-width:690px;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.75;margin:0}.subhero-kanji{text-align:center;opacity:.82}.subhero-kanji img{max-height:270px;max-width:105px;width:auto;mix-blend-mode:multiply}
.club-intro{max-width:1200px;margin:0 auto;padding:88px 42px;display:grid;grid-template-columns:250px 1fr;gap:72px;align-items:start}.year-block{border-right:1px solid var(--line);padding-right:52px}.year-block strong{display:block;color:var(--red);font-family:Georgia,'Times New Roman',serif;font-size:66px;font-weight:400;line-height:1}.year-block span{display:block;margin-top:13px;color:var(--muted);font-size:12px;line-height:1.6;text-transform:uppercase;letter-spacing:1px}.club-intro-copy{max-width:750px}.club-intro h2,.history-section h2,.dojo-section h2,.integrity-section h2,.federations h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,3vw,42px);font-weight:400;line-height:1.15;margin:0 0 20px}.club-intro-copy p,.history-text p,.dojo-copy p,.integrity-copy p,.federations-head p{font-family:Georgia,'Times New Roman',serif;color:var(--muted);font-size:16px;line-height:1.78;margin:0 0 16px}
.club-values{max-width:1320px;margin:0 auto 88px;padding:0 42px;display:grid;grid-template-columns:repeat(3,1fr)}.club-values article{border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:32px 34px}.club-values article:first-child{border-left:1px solid var(--line)}.club-values article>span{color:var(--red);font-family:Georgia,'Times New Roman',serif}.club-values h3{font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;margin:11px 0}.club-values p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.history-section{max-width:1320px;margin:0 auto;padding:0 42px 94px}.history-heading{max-width:700px;margin-bottom:38px}.history-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.history-text{max-width:760px}.history-mark{min-height:330px;border-left:1px solid var(--line);padding:36px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.history-mark img{width:118px;height:auto;mix-blend-mode:multiply}.history-mark p{font-family:Georgia,'Times New Roman',serif;line-height:1.6;margin:22px 0 0;color:var(--muted)}.history-mark strong{color:var(--ink);font-size:20px;font-weight:400}
.dojo-section{max-width:1320px;margin:0 auto 94px;padding:0 42px;display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}.dojo-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.dojo-copy{max-width:520px}.dojo-copy address{font-style:normal;border-left:2px solid var(--red);padding:5px 0 5px 18px;margin:25px 0 20px;color:var(--muted);line-height:1.65}.dojo-copy address strong{color:var(--ink)}
.integrity-section{max-width:1320px;margin:0 auto;padding:64px 42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.integrity-copy{max-width:720px}
.federations{max-width:1320px;margin:0 auto;padding:86px 42px 72px}.federations-head{max-width:720px;margin-bottom:38px}.federation-list{border-top:1px solid var(--line)}.federation-list>a{display:grid;grid-template-columns:120px 1fr 30px;gap:28px;align-items:center;padding:20px 8px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .2s}.federation-list>a:hover{background:rgba(176,90,74,.045)}.federation-list img{width:auto;max-width:105px;max-height:56px;object-fit:contain;mix-blend-mode:multiply}.federation-list span{display:flex;flex-direction:column;gap:4px}.federation-list strong{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400}.federation-list small{color:var(--muted);font-size:12px}.federation-list b{color:var(--red);font-size:18px;font-weight:400}.compact-partners{padding-top:38px;border-top:0}
@media(max-width:900px){.subhero{padding:64px 24px 58px;grid-template-columns:1fr 100px;gap:30px}.subhero-kanji img{max-height:210px;max-width:80px}.club-intro{padding:65px 24px;grid-template-columns:190px 1fr;gap:40px}.year-block{padding-right:30px}.year-block strong{font-size:54px}.club-values{padding:0 24px;margin-bottom:68px;grid-template-columns:1fr}.club-values article,.club-values article:first-child{border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:0}.club-values article:last-child{border-bottom:1px solid var(--line)}.history-section{padding:0 24px 72px}.history-grid{grid-template-columns:1fr;gap:34px}.history-mark{min-height:230px;border-left:0;border-top:1px solid var(--line)}.dojo-section{padding:0 24px;margin-bottom:72px;grid-template-columns:1fr;gap:38px}.dojo-copy{max-width:700px}.integrity-section{padding:52px 24px;grid-template-columns:1fr;gap:18px}.federations{padding:68px 24px 55px}}
@media(max-width:560px){.subhero{padding:48px 18px 42px;grid-template-columns:1fr}.subhero h1{font-size:40px}.subhero p{font-size:16px}.subhero-kanji{display:none}.club-intro{padding:52px 18px;grid-template-columns:1fr;gap:28px}.year-block{border-right:0;border-bottom:1px solid var(--line);padding:0 0 24px}.club-values{padding:0 18px;margin-bottom:58px}.history-section{padding:0 18px 58px}.dojo-section{padding:0 18px;margin-bottom:58px}.integrity-section{padding:44px 18px}.federations{padding:56px 18px 46px}.federation-list>a{grid-template-columns:76px 1fr 20px;gap:16px;padding:17px 4px}.federation-list img{max-width:68px;max-height:44px}.federation-list strong{font-size:16px}}
/* Goju-Ryu page */
.goju-hero h1 em{color:var(--red);font-weight:400;font-style:normal}.meaning{max-width:1200px;margin:0 auto;padding:82px 42px}.meaning h2,.origin h2,.traditions h2,.lineage h2,.goju-principle h2,.goju-training h2,.sanchin h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,3vw,42px);font-weight:400;margin:0 0 24px}.meaning-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.meaning-grid article{text-align:center;padding:28px;border-right:1px solid var(--line)}.meaning-grid article:last-child{border-right:0}.meaning-grid strong{display:block;font-family:serif;font-size:54px;font-weight:400}.meaning-grid span{color:var(--red);font-weight:700;letter-spacing:1px}.meaning-grid p{color:var(--muted);font-size:13px}.lead{font-family:Georgia,'Times New Roman',serif;color:var(--muted);font-size:18px;line-height:1.75;max-width:820px}.origin{max-width:1320px;margin:0 auto 90px;padding:0 42px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px}.origin-copy p,.traditions p,.goju-principle p,.sanchin p{font-family:Georgia,'Times New Roman',serif;color:var(--muted);font-size:16px;line-height:1.78}.origin-note{border-left:2px solid var(--red);padding:34px 0 34px 36px;align-self:center}.origin-note>span{font-size:11px;color:var(--red);font-weight:700;letter-spacing:1.4px}.origin-note strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400;margin:10px 0 14px}.origin-note p{color:var(--muted);line-height:1.65;margin:0}.traditions{max-width:1320px;margin:0 auto;padding:68px 42px 86px;border-top:1px solid var(--line)}.history-heading>p{max-width:780px;color:var(--muted);line-height:1.7}.tradition-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:38px}.tradition-grid article{padding:38px;border:1px solid var(--line)}.tradition-grid article+article{border-left:0}.tradition-grid article>span{color:var(--red);font-size:11px;font-weight:700;letter-spacing:1.5px}.tradition-grid h3{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:400;margin:12px 0}.tradition-grid .our-line{background:rgba(176,90,74,.055)}.our-line>strong{display:block;color:var(--red);font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.6;margin-top:20px}.lineage{max-width:1100px;margin:0 auto;padding:0 42px 95px}.lineage-flow{display:flex;flex-direction:column;align-items:center;text-align:center}.lineage-flow div{width:min(620px,100%);padding:18px 28px;border:1px solid var(--line)}.lineage-flow strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400}.lineage-flow span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.lineage-flow>b{color:var(--red);font-size:22px;padding:7px}.lineage-flow .lineage-club{background:var(--red);color:#fff;border-color:var(--red)}.lineage-flow .lineage-club span{color:#fff}.goju-principle{max-width:1320px;margin:0 auto 90px;padding:64px 42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center}.balance{display:grid;grid-template-columns:1fr 40px 1fr;gap:12px 8px;align-items:center;text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:20px}.balance b{color:var(--red);font-weight:400}.goju-training{max-width:1320px;margin:0 auto;padding:0 42px 90px}.training-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.training-grid article{padding:30px;border-right:1px solid var(--line)}.training-grid article:last-child{border-right:0}.training-grid article>span{color:var(--red);font-family:Georgia,'Times New Roman',serif}.training-grid h3{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;margin:10px 0}.training-grid p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}.sanchin{max-width:1200px;margin:0 auto 90px;padding:0 42px;display:grid;grid-template-columns:1fr 130px 1fr;gap:34px;align-items:center}.sanchin article{padding:34px 0}.goju-divider{text-align:center;color:var(--ink);font-family:serif;font-size:34px}.goju-divider span{color:var(--red)}.goju-close{max-width:950px;margin:0 auto 80px;text-align:center;padding:58px 42px;border-top:1px solid var(--line)}.goju-close img{width:auto;max-height:120px;mix-blend-mode:multiply;margin-bottom:20px}.goju-close blockquote{font-family:Georgia,'Times New Roman',serif;font-size:clamp(21px,2.5vw,30px);line-height:1.55;font-weight:400;margin:0 auto 30px;max-width:800px}
@media(max-width:900px){.meaning{padding:62px 24px}.origin{padding:0 24px;margin-bottom:65px;grid-template-columns:1fr;gap:28px}.traditions{padding:55px 24px 68px}.tradition-grid{grid-template-columns:1fr}.tradition-grid article+article{border-left:1px solid var(--line);border-top:0}.lineage{padding:0 24px 70px}.goju-principle{padding:52px 24px;margin-bottom:68px;grid-template-columns:1fr;gap:32px}.goju-training{padding:0 24px 68px}.training-grid{grid-template-columns:1fr 1fr}.training-grid article:nth-child(2){border-right:0}.training-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.sanchin{padding:0 24px;margin-bottom:68px;grid-template-columns:1fr}.goju-divider{padding:5px}.goju-close{padding:48px 24px}}
@media(max-width:560px){.meaning{padding:50px 18px}.meaning-grid{grid-template-columns:1fr}.meaning-grid article{border-right:0;border-bottom:1px solid var(--line)}.meaning-grid article:last-child{border-bottom:0}.origin{padding:0 18px}.origin-note{padding-left:24px}.traditions{padding:48px 18px 58px}.tradition-grid article{padding:28px 22px}.lineage{padding:0 18px 58px}.goju-principle{padding:45px 18px}.goju-training{padding:0 18px 58px}.training-grid{grid-template-columns:1fr}.training-grid article{border-right:0;border-bottom:1px solid var(--line)!important}.training-grid article:last-child{border-bottom:0!important}.sanchin{padding:0 18px}.goju-close{padding:42px 18px}}
.panathlon-inline{float:right;width:82px;height:auto;margin:0 0 18px 28px;mix-blend-mode:multiply}
/* Trainingen */
.training-page-hero{max-width:1320px;margin:0 auto;padding:80px 42px 72px;display:grid;grid-template-columns:1fr 180px;gap:70px;align-items:center;border-bottom:1px solid var(--line)}.training-page-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5vw,70px);font-weight:400;line-height:1.05;margin:12px 0 24px}.training-page-hero p{max-width:700px;font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.75;color:var(--muted)}.training-page-hero img{max-width:145px;max-height:210px;justify-self:center;mix-blend-mode:multiply}.schedule-section,.fees-section{max-width:1320px;margin:0 auto;padding:72px 42px 88px}.training-page-heading{max-width:760px;margin-bottom:38px}.training-page-heading h2,.first-training h2,.selfdef-fee h2,.equipment-section h2,.dojo-practical h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,3vw,43px);font-weight:400;margin:8px 0 14px}.training-page-heading p{color:var(--muted);font-family:Georgia,'Times New Roman',serif}.schedule-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.schedule-grid article{padding:30px 28px;border-right:1px solid var(--line);min-height:230px}.schedule-grid article:last-child{border-right:0}.schedule-grid article>span{font-size:11px;letter-spacing:1.4px;color:var(--red);font-weight:700}.schedule-grid h3{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:400;margin:12px 0 20px}.schedule-grid p{font-size:14px;line-height:1.6;margin:7px 0;color:var(--muted)}.schedule-grid p strong{color:var(--ink)}.schedule-grid .self-card{background:rgba(176,90,74,.055)}.first-training{max-width:1236px;margin:0 auto 80px;padding:48px 56px;background:var(--red);color:#fff;display:grid;grid-template-columns:1fr 180px;gap:55px;align-items:center}.first-training p{font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.75;margin:0;max-width:780px}.first-training .kicker{color:#fff}.first-training-mark{text-align:center;border-left:1px solid rgba(255,255,255,.4);padding-left:35px}.first-training-mark strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:62px;font-weight:400}.first-training-mark span{text-transform:uppercase;font-size:11px;letter-spacing:1.5px}.fees-section{padding-top:15px}.fees-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fees-grid article{padding:36px;border-right:1px solid var(--line)}.fees-grid article:last-child{border-right:0}.fee{display:block;color:var(--red);font-family:Georgia,'Times New Roman',serif;font-size:48px}.fees-grid h3{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:400;margin:12px 0}.fees-grid p,.selfdef-fee p,.equipment-section p,.dojo-practical p{color:var(--muted);line-height:1.7}.selfdef-fee{max-width:1236px;margin:0 auto 90px;padding:48px 56px;border:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.selfdef-fee p:first-child{margin-top:4px}.equipment-section{max-width:1320px;margin:0 auto 90px;padding:0 42px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.equipment-photo{height:390px;overflow:hidden}.equipment-photo img{width:100%;height:100%;object-fit:cover}.sensei-tim{border-left:2px solid var(--red);padding:4px 0 4px 22px;margin-top:25px}.dojo-practical{max-width:1236px;margin:0 auto 70px;padding:50px 56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.dojo-practical-note .button{margin-top:10px;display:inline-block}
@media(max-width:900px){.training-page-hero{padding:60px 24px;grid-template-columns:1fr 110px;gap:30px}.schedule-section,.fees-section{padding:58px 24px 70px}.schedule-grid{grid-template-columns:1fr 1fr}.schedule-grid article:nth-child(2){border-right:0}.schedule-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.first-training{margin:0 24px 65px;padding:40px}.fees-grid{grid-template-columns:1fr}.fees-grid article{border-right:0;border-bottom:1px solid var(--line)}.fees-grid article:last-child{border-bottom:0}.selfdef-fee{margin:0 24px 70px;padding:40px;grid-template-columns:1fr;gap:15px}.equipment-section{padding:0 24px;margin-bottom:70px;grid-template-columns:1fr;gap:35px}.dojo-practical{margin:0 24px 60px;padding:40px;grid-template-columns:1fr;gap:20px}}
@media(max-width:560px){.training-page-hero{padding:45px 18px;grid-template-columns:1fr}.training-page-hero img{display:none}.schedule-section,.fees-section{padding:48px 18px 58px}.schedule-grid{grid-template-columns:1fr}.schedule-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:0}.schedule-grid article:last-child{border-bottom:0}.first-training{margin:0 18px 55px;padding:32px 26px;grid-template-columns:1fr;gap:25px}.first-training-mark{border-left:0;border-top:1px solid rgba(255,255,255,.4);padding:22px 0 0}.selfdef-fee{margin:0 18px 58px;padding:30px 24px}.equipment-section{padding:0 18px;margin-bottom:58px}.equipment-photo{height:280px}.dojo-practical{margin:0 18px 50px;padding:32px 24px}}

/* Trainingen v14 image refinements */
.training-page-hero img{object-fit:cover;object-position:center top;}
.equipment-photo-label{background:#F2EFE6;display:flex;align-items:center;justify-content:center;}
.equipment-photo-label img{width:100%;height:100%;object-fit:contain;object-position:center;}

/* Lesgevers */
.teachers-hero{max-width:1180px;margin:0 auto;padding:72px 34px 42px;text-align:center}.teachers-hero h1{font-size:clamp(2.4rem,5vw,4.7rem);margin:8px 0 14px}.teachers-hero p{max-width:720px;margin:0 auto;line-height:1.75;color:#555}.teachers-grid{max-width:1280px;margin:0 auto;padding:20px 30px 78px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.teacher-card{background:rgba(255,255,255,.42);border:1px solid rgba(176,90,74,.22);overflow:hidden}.teacher-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.teacher-card>div{padding:24px 20px 26px}.teacher-role{font-size:.72rem;letter-spacing:.16em;color:#B05A4A;font-weight:700}.teacher-card h2{font-size:1.28rem;margin:8px 0 6px;line-height:1.25}.teacher-card p{margin:5px 0;color:#555}.teacher-card .teacher-rank{font-weight:700;color:#222}.teachers-note{max-width:1120px;margin:0 auto 72px;padding:38px 42px;border-top:1px solid rgba(176,90,74,.35);border-bottom:1px solid rgba(176,90,74,.35);display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}.teachers-note h2{font-size:2rem;margin:5px 0}.teachers-note p{line-height:1.8;margin:0;color:#4f4f4f}@media(max-width:900px){.teachers-grid{grid-template-columns:repeat(2,1fr)}.teachers-note{grid-template-columns:1fr;gap:12px}}@media(max-width:540px){.teachers-hero{padding:52px 22px 30px}.teachers-grid{grid-template-columns:1fr;padding:15px 22px 55px}.teacher-card{max-width:390px;margin:0 auto;width:100%}.teachers-note{margin:0 22px 55px;padding:30px 8px}}
/* Zelfverdediging */
.sd-hero{max-width:1320px;margin:0 auto;padding:72px 42px;display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center;border-bottom:1px solid var(--line)}.sd-hero h1,.sd-story h2,.sd-prevention h2,.sd-forwho h2,.sd-fees h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}.sd-hero h1{font-size:clamp(44px,5vw,72px);line-height:1;margin:12px 0 24px}.sd-lead{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.65;color:var(--muted);max-width:570px}.sd-facts{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:20px;flex-wrap:wrap;font-size:14px}.sd-facts strong{color:var(--red)}.sd-hero-photo{height:430px;overflow:hidden}.sd-hero-photo img{width:100%;height:100%;object-fit:cover}.sd-story{max-width:1236px;margin:0 auto;padding:80px 56px;display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}.sd-story h2,.sd-prevention h2,.sd-forwho h2,.sd-fees h2{font-size:clamp(30px,3vw,44px);margin:10px 0 0}.sd-story p,.sd-prevention p,.sd-forwho p,.sd-fees p{color:var(--muted);line-height:1.75}.sd-prevention{max-width:1320px;margin:0 auto 80px;padding:0 42px;display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}.sd-stop-photo{overflow:hidden;border:1px solid var(--line)}.sd-stop-photo img{display:block;width:100%;height:auto}.sd-emphasis{border-left:2px solid var(--red);padding-left:20px;color:var(--ink)!important}.sd-quote{max-width:1236px;margin:0 auto 80px;padding:48px 70px;background:var(--red);color:#fff;text-align:center}.sd-quote p{margin:0;font:italic 28px/1.55 Georgia,'Times New Roman',serif}.sd-forwho{max-width:1236px;margin:0 auto 80px;padding:55px 56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center}.sd-info-card{padding:35px;border-left:2px solid var(--red)}.sd-info-card>span{font-size:11px;letter-spacing:1.4px;color:var(--red);font-weight:700}.sd-info-card>strong{display:block;font:38px/1.2 Georgia,'Times New Roman',serif;margin:10px 0 20px}.sd-info-card p{margin:0}.sd-fees{max-width:1320px;margin:0 auto;padding:0 42px 80px}.sd-fees>div:first-child{margin-bottom:35px}.sd-fee-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sd-fee-grid article{padding:36px;border-right:1px solid var(--line)}.sd-fee-grid article:last-child{border-right:0}.sd-fee-grid article>strong{display:block;color:var(--red);font:36px/1.2 Georgia,'Times New Roman',serif}.sd-fee-grid h3{font:22px/1.3 Georgia,'Times New Roman',serif;font-weight:400;margin:12px 0}.sd-try{margin-bottom:80px}
@media(max-width:900px){.sd-hero{padding:58px 24px;grid-template-columns:1fr;gap:35px}.sd-hero-photo{height:360px}.sd-story{padding:60px 24px;grid-template-columns:1fr;gap:20px}.sd-prevention{padding:0 24px;grid-template-columns:1fr;gap:35px}.sd-quote{margin:0 24px 65px;padding:40px}.sd-forwho{margin:0 24px 65px;padding:40px;grid-template-columns:1fr;gap:25px}.sd-info-card{padding:25px 0 0;border-left:0;border-top:1px solid var(--line)}.sd-fees{padding:0 24px 65px}.sd-fee-grid{grid-template-columns:1fr}.sd-fee-grid article{border-right:0;border-bottom:1px solid var(--line)}.sd-fee-grid article:last-child{border-bottom:0}}
@media(max-width:560px){.sd-hero{padding:45px 18px}.sd-hero-photo{height:270px}.sd-story{padding:48px 18px}.sd-prevention{padding:0 18px;margin-bottom:55px}.sd-quote{margin:0 18px 55px;padding:32px 24px}.sd-quote p{font-size:22px}.sd-forwho{margin:0 18px 55px;padding:32px 24px}.sd-fees{padding:0 18px 55px}.sd-fee-grid article{padding:28px 24px}}

/* DOCUMENTEN */
.docs-hero{max-width:1180px;margin:0 auto;padding:72px 28px 52px;display:grid;grid-template-columns:1fr 180px;gap:48px;align-items:center}.docs-hero h1{font-size:clamp(44px,6vw,78px);margin:8px 0 16px}.docs-hero p{max-width:760px;font-size:18px;line-height:1.7}.docs-kanji{font-family:serif;font-size:130px;line-height:1;text-align:center;color:var(--accent,#B05A4A);opacity:.18}.docs-section{max-width:1180px;margin:0 auto;padding:52px 28px}.docs-heading{max-width:780px;margin-bottom:30px}.docs-heading h2,.members-intro h2{font-size:clamp(30px,4vw,48px);margin:8px 0 12px}.docs-heading p,.members-intro p{line-height:1.7}.docs-grid,.insurance-grid,.members-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.doc-card,.insurance-card,.member-card,.doc-wide-card{background:rgba(255,255,255,.48);border:1px solid rgba(60,50,40,.12);border-radius:4px;padding:30px}.doc-card h3,.insurance-card h3,.member-card h3,.doc-wide-card h3{font-size:24px;margin:10px 0 12px}.doc-card p,.insurance-card p,.member-card p,.doc-wide-card p{line-height:1.65}.doc-icon{font-family:serif;font-size:44px;color:var(--accent,#B05A4A)}.doc-preview{height:155px;overflow:hidden;margin:-30px -30px 24px;background:#fff}.doc-preview img{width:100%;height:100%;object-fit:cover;object-position:center}.doc-button{display:inline-block;margin-top:14px;padding:12px 17px;border:1px solid var(--accent,#B05A4A);color:var(--accent,#B05A4A);text-decoration:none;font-weight:700;letter-spacing:.02em}.doc-button:hover{background:var(--accent,#B05A4A);color:#fff}.insurance-label,.member-tag{font-size:12px;letter-spacing:.13em;font-weight:800;color:var(--accent,#B05A4A)}.docs-note{margin-top:22px;padding:18px 22px;border-left:4px solid var(--accent,#B05A4A);background:rgba(176,90,74,.07);display:flex;gap:10px;flex-direction:column}.doc-wide-card{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:28px}.doc-wide-card img{width:95px;max-height:85px;object-fit:contain}.members-zone{margin:50px auto 0;padding:64px max(28px,calc((100vw - 1124px)/2));background:#e9e4d9}.members-intro{max-width:760px;margin-bottom:30px}.member-card{position:relative;background:#f6f3eb}.lock{font-size:28px;position:absolute;right:26px;top:24px}.locked-button{margin-top:14px;padding:12px 17px;border:1px solid #9a9489;background:transparent;color:#777;cursor:not-allowed;font-weight:700}
@media(max-width:800px){.docs-hero{grid-template-columns:1fr;padding-top:48px}.docs-kanji{display:none}.docs-grid,.insurance-grid,.members-grid{grid-template-columns:1fr}.doc-wide-card{grid-template-columns:72px 1fr}.doc-wide-card .doc-button{grid-column:1/-1}.doc-wide-card img{width:65px}.docs-section{padding:38px 20px}.members-zone{padding:48px 20px}}

/* KATA LEDENZONE */
.kata-hero{max-width:1180px;margin:0 auto;padding:72px 28px 58px;display:grid;grid-template-columns:1fr 150px;gap:60px;align-items:center;border-bottom:1px solid var(--line)}.kata-hero h1{font:400 clamp(44px,6vw,76px)/1.05 Georgia,'Times New Roman',serif;margin:8px 0 20px}.kata-hero p{max-width:760px;font-size:18px;line-height:1.75;color:var(--muted)}.kata-hero>img{max-height:245px;max-width:100px;justify-self:center;mix-blend-mode:multiply}.kata-lock-note{display:inline-block;margin-top:14px;padding:10px 14px;background:rgba(176,90,74,.08);border-left:3px solid var(--red);font-size:13px}.kata-intro{max-width:1120px;margin:0 auto;padding:60px 28px;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.kata-intro h2,.kata-feature h2,.kata-section-head h2{font:400 clamp(30px,4vw,46px)/1.15 Georgia,'Times New Roman',serif;margin:8px 0 12px}.kata-intro p,.kata-feature p,.kata-section-head p,.kata-copy p{line-height:1.7;color:var(--muted)}.kata-feature{max-width:1120px;margin:0 auto 55px;padding:42px;background:rgba(255,255,255,.45);border:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:center}.kata-feature video,.kata-card video{width:100%;display:block;background:#111}.kata-nav{max-width:1120px;margin:0 auto 35px;padding:0 28px;display:flex;gap:12px;flex-wrap:wrap}.kata-nav a{padding:10px 15px;border:1px solid var(--red);color:var(--red);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.kata-section{padding:62px max(28px,calc((100vw - 1120px)/2));}.kata-alt{background:#e9e4d9}.kata-section-head{max-width:790px;margin-bottom:32px}.kata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.kata-card{background:#f8f5ed;border:1px solid rgba(176,90,74,.18);overflow:hidden;display:flex;flex-direction:column}.kata-copy{padding:28px 30px 24px;flex:1}.kata-type{font-size:10px;letter-spacing:.16em;color:var(--red);font-weight:800}.kata-copy h3{font:400 28px/1.2 Georgia,'Times New Roman',serif;margin:7px 0 5px}.kata-copy .meaning{margin:0 0 15px;color:var(--red);font:italic 15px Georgia,'Times New Roman',serif}.kata-card video{aspect-ratio:16/9;object-fit:contain}.no-video{min-height:310px}.video-pending{margin-top:18px;padding-top:15px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);font-style:italic}.kata-back{max-width:1120px;margin:0 auto;padding:45px 28px 75px}
@media(max-width:800px){.kata-hero{grid-template-columns:1fr 90px;gap:25px;padding-top:50px}.kata-hero>img{max-height:180px}.kata-intro,.kata-feature{grid-template-columns:1fr;gap:20px}.kata-feature{margin:0 20px 45px;padding:28px}.kata-grid{grid-template-columns:1fr}.kata-section{padding:48px 20px}.kata-nav{padding:0 20px}}
@media(max-width:520px){.kata-hero{grid-template-columns:1fr;padding:42px 18px}.kata-hero>img{display:none}.kata-intro{padding:45px 18px}.kata-feature{margin:0 18px 40px;padding:22px}.kata-section{padding:42px 18px}.kata-copy{padding:24px 22px}.kata-nav{padding:0 18px}.kata-back{padding:35px 18px 55px}}

/* Responsive YouTube embeds on kata page */
.youtube-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#111;overflow:hidden}
.youtube-wrap iframe{width:100%;height:100%;border:0;display:block}
/* MEDIA */
.media-hero{max-width:1180px;margin:0 auto;padding:72px 28px 54px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.media-hero h1{font:400 clamp(46px,6vw,78px)/1 Georgia,'Times New Roman',serif;margin:8px 0 18px}.media-hero p{max-width:720px;color:var(--muted);font:16px/1.75 Georgia,'Times New Roman',serif}.media-jp{font-family:serif;font-size:76px;color:var(--red);opacity:.85}.media-tabs{max-width:1180px;margin:0 auto;padding:26px 28px 8px;display:flex;gap:10px;flex-wrap:wrap}.media-tabs a{border:1px solid var(--line);padding:10px 15px;color:var(--ink);text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.media-tabs a:hover{border-color:var(--red);color:var(--red)}.media-section{max-width:1180px;margin:0 auto;padding:56px 28px 70px}.media-section.alt{max-width:none;background:#e9e4d9;padding-left:max(28px,calc((100vw - 1180px)/2));padding-right:max(28px,calc((100vw - 1180px)/2))}.media-head{max-width:760px;margin-bottom:30px}.media-head h2{font:400 clamp(30px,4vw,44px)/1.15 Georgia,'Times New Roman',serif;margin:7px 0 12px}.media-head p{color:var(--muted);line-height:1.7}.media-grid{columns:3 280px;column-gap:16px}.media-item{display:block;width:100%;margin:0 0 16px;break-inside:avoid;position:relative;overflow:hidden;background:#ddd;cursor:zoom-in}.media-item img{display:block;width:100%;height:auto;transition:transform .35s ease}.media-item:hover img{transform:scale(1.025)}.media-item::after{content:'BEKIJK FOTO';position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.58));color:#fff;font-size:9px;letter-spacing:.16em;opacity:0;transition:.25s}.media-item:hover::after{opacity:1}.archive-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.archive-grid .media-item{margin:0}.archive-grid .media-item:nth-child(1){grid-column:span 7}.archive-grid .media-item:nth-child(2){grid-column:span 5}.archive-grid .media-item:nth-child(3),.archive-grid .media-item:nth-child(4),.archive-grid .media-item:nth-child(5){grid-column:span 4}.archive-grid .media-item:nth-child(6){grid-column:span 7}.archive-grid .media-item:nth-child(7){grid-column:span 5}.archive-grid img{width:100%;height:100%;min-height:230px;object-fit:cover}.video-placeholder{border:1px solid var(--line);padding:38px;background:rgba(255,255,255,.4);display:grid;grid-template-columns:80px 1fr;gap:25px;align-items:center}.video-placeholder .play{width:70px;height:70px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red);font-size:25px}.video-placeholder h3{font:400 25px Georgia,'Times New Roman',serif;margin:0 0 8px}.video-placeholder p{color:var(--muted);line-height:1.6;margin:0}.lightbox{position:fixed;inset:0;background:rgba(20,18,16,.94);z-index:1000;display:none;align-items:center;justify-content:center;padding:60px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.35)}.lightbox button{position:absolute;border:0;background:transparent;color:#fff;font-size:38px;cursor:pointer}.lb-close{top:18px;right:24px}.lb-prev{left:22px}.lb-next{right:22px}.jp-kanji{font-family:serif!important;font-size:48px!important;letter-spacing:.04em!important}
@media(max-width:760px){.media-hero{grid-template-columns:1fr;padding-top:48px}.media-jp{display:none}.archive-grid{display:block}.archive-grid .media-item{margin-bottom:14px}.archive-grid img{height:auto;min-height:0}.lightbox{padding:45px 15px}.lb-prev{left:4px}.lb-next{right:4px}.video-placeholder{grid-template-columns:1fr}.video-placeholder .play{width:58px;height:58px}}

/* WHATSAPP COMMUNICATIE */
.topbar a{color:#fff;text-decoration:none}.whatsapp-section{max-width:1180px;margin:20px auto 70px;padding:42px 46px;background:rgba(255,255,255,.42);border:1px solid var(--line);display:grid;grid-template-columns:90px 1fr;gap:34px;align-items:start}.whatsapp-logo svg{width:76px;height:76px;display:block}.whatsapp-section h2{font:400 clamp(28px,3.5vw,42px)/1.15 Georgia,'Times New Roman',serif;margin:5px 0 14px}.whatsapp-section p{color:var(--muted);line-height:1.7}.whatsapp-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}.whatsapp-groups div{border-left:3px solid #25D366;padding:10px 16px;background:rgba(255,255,255,.42)}.whatsapp-groups strong,.whatsapp-groups span{display:block}.whatsapp-groups span{font-size:13px;color:var(--muted);margin-top:5px}.whatsapp-note{font-size:13px;margin-bottom:0}
/* INSCHRIJVEN */
.signup-hero{max-width:1120px;margin:0 auto;padding:70px 28px 42px;border-bottom:1px solid var(--line)}.signup-hero h1{font:400 clamp(44px,6vw,72px)/1 Georgia,'Times New Roman',serif;margin:8px 0 16px}.signup-hero p{font:17px/1.7 Georgia,'Times New Roman',serif;color:var(--muted);max-width:760px}.signup-wrap{max-width:1000px;margin:0 auto;padding:44px 28px 80px}.signup-warning{border:2px solid var(--red);padding:28px 32px;margin-bottom:38px;background:rgba(176,90,74,.055)}.signup-warning>strong{color:var(--red);font-size:12px;letter-spacing:.15em}.signup-warning h2{color:var(--red);font:700 clamp(22px,3vw,30px)/1.35 Arial,Helvetica,sans-serif;margin:10px 0}.signup-warning p{line-height:1.6;margin:12px 0 0}.signup-form{background:rgba(255,255,255,.42);border:1px solid var(--line);padding:40px}.form-heading h2{font:400 32px Georgia,'Times New Roman',serif;margin:5px 0 24px}.form-heading.sub{margin-top:42px;padding-top:32px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid rgba(60,50,40,.25);background:#fffdf8;padding:12px 13px;font:15px Arial,Helvetica,sans-serif;color:var(--ink);border-radius:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid rgba(176,90,74,.22);border-color:var(--red)}.form-consent{margin-top:38px;padding-top:28px;border-top:1px solid var(--line);display:grid;gap:16px}.check{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:13px;line-height:1.55}.check input{margin-top:3px}.signup-submit{text-align:center;margin-top:38px;padding-top:32px;border-top:1px solid var(--line)}.mail-submit{border:0;background:var(--red);color:#fff;padding:15px 24px;font-weight:800;letter-spacing:.06em;cursor:pointer}.signup-submit p{line-height:1.6}.signup-submit .small{font-size:12px;color:var(--muted);max-width:650px;margin:10px auto 0}
@media(max-width:760px){.whatsapp-section{margin:10px 20px 55px;padding:30px 24px;grid-template-columns:58px 1fr;gap:20px}.whatsapp-logo svg{width:54px;height:54px}.whatsapp-groups{grid-template-columns:1fr}.signup-wrap{padding:34px 18px 60px}.signup-form{padding:26px 20px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.signup-warning{padding:24px 20px}}
.footer-mail{display:inline-block;margin-top:.35rem;color:inherit;text-decoration:none}.footer-mail:hover{text-decoration:underline}.form-consent a{color:var(--accent,#B05A4A);font-weight:700}.form-consent a:hover{text-decoration:underline}

/* Honbu Dojo — afzonderlijk van federaties */
.honbu-dojo{border:1px solid var(--line);border-left:3px solid var(--red);padding:25px 30px;margin:0 0 30px;background:rgba(176,90,74,.045)}
.honbu-label{color:var(--red);font-size:11px;font-weight:700;letter-spacing:1.8px;margin-bottom:8px}
.honbu-dojo h3{font:400 26px/1.25 Georgia,'Times New Roman',serif;margin:0 0 10px}
.honbu-dojo p{max-width:820px;line-height:1.7;margin:0 0 12px}
.honbu-dojo a{color:var(--red);font-weight:700;text-decoration:none}
.honbu-dojo a:hover{text-decoration:underline}
@media(max-width:560px){.honbu-dojo{padding:19px 17px}.honbu-dojo h3{font-size:22px}}

/* V27: volledige nieuwe banner zichtbaar houden op smalle schermen */
@media(max-width:560px){.hero{height:auto}.hero img{width:100%;height:auto;max-width:100%;left:auto;transform:none}}

/* V31 - sociaal engagement bij inschrijven */
.social-engagement{margin:24px 0 32px;padding:26px 30px;background:#f2efe6;border:1px solid #dfd4c6;border-radius:12px;color:#292723}
.social-title{border-bottom:1px solid #d8c7b9;padding-bottom:12px;margin-bottom:18px}
.social-title h2{color:#b05a4a;margin:6px 0 0;font-size:clamp(1.35rem,2.4vw,1.85rem)}
.social-body{display:grid;grid-template-columns:100px minmax(0,1fr);gap:22px;align-items:start}
.social-body h3{margin:0 0 10px;color:#292723;font-size:1.12rem}
.social-body p{margin:0 0 12px;line-height:1.65}
.social-body .social-note{font-size:.92rem;color:#635a51;margin-bottom:0}
.ukraine-flag{width:100px;height:72px;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #0002;display:flex;flex-direction:column}
.ukraine-flag span{flex:1;background:#0057b8}.ukraine-flag span+span{background:#ffd700}
@media(max-width:600px){.social-engagement{padding:20px 16px}.social-body{grid-template-columns:1fr;gap:14px}.ukraine-flag{width:86px;height:58px}}

/* V32: karateka op trainingspagina dichter bij tekst, iets groter */
@media (min-width:901px){.training-page-hero{grid-template-columns:minmax(0,1fr) 230px;gap:24px}.training-page-hero img{max-width:185px;max-height:260px}}
@media (min-width:561px) and (max-width:900px){.training-page-hero{grid-template-columns:minmax(0,1fr) 155px;gap:20px}.training-page-hero img{max-width:150px;max-height:225px}}

/* V33 aanvullingen */
@media(min-width:901px){.training-page-hero{grid-template-columns:minmax(0,1fr) 250px;gap:14px}.training-page-hero img{max-width:215px;max-height:290px;justify-self:start}}
@media(min-width:561px) and (max-width:900px){.training-page-hero img{max-width:175px;max-height:245px}}
@media(max-width:560px){.training-page-hero img{display:block;max-width:145px;max-height:200px;justify-self:center}}
.fyh-map,.fyh-api{max-width:1236px;margin:40px auto 70px;padding:40px 42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fyh-map h2,.fyh-api h2{font-family:Georgia,serif;font-size:36px;font-weight:400}.fyh-map-holder{min-height:240px;background:rgba(176,90,74,.07);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;gap:12px}.fyh-map-holder iframe{width:100%;height:380px;border:0}.fyh-map-holder p{max-width:550px}.fyh-api{display:grid;grid-template-columns:2fr 1fr;gap:42px}.fyh-api-photo{border:1px dashed var(--line);padding:24px;color:var(--muted)}.fyh-choice{border:1px solid var(--line);padding:15px;margin:14px 0}.fyh-choice label{margin-right:22px}.privacy-note{font-size:13px;color:var(--muted)}@media(max-width:650px){.fyh-api{grid-template-columns:1fr}.fyh-map,.fyh-api{padding:26px 18px}}

/* V33: originele API-foto en partnerlogo */
.fyh-api-photo{border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:22px;color:inherit}
.fyh-api-portrait{display:block;width:min(100%,320px);height:auto;aspect-ratio:500/686;object-fit:cover;border-radius:9px}
.fyh-api-partner{display:block;max-width:300px;width:100%;text-align:center}
.fyh-api-partner img{display:block;width:100%;height:auto;object-fit:contain}

/* V33 correctie: karateka dichter bij de tekst en duidelijk groter */
@media (min-width: 901px) {
  .training-page-hero {
    grid-template-columns: minmax(0, 750px) minmax(270px, 340px);
    justify-content: start;
    column-gap: clamp(8px, 2vw, 30px);
    align-items: center;
  }
  .training-page-hero img {
    width: 100%;
    max-width: 325px;
    max-height: 410px;
    height: auto;
    object-fit: contain;
    justify-self: start;
  }
}
@media (min-width: 561px) and (max-width: 900px) {
  .training-page-hero { grid-template-columns: minmax(0, 1fr) 210px; column-gap: 12px; }
  .training-page-hero img { width: 100%; max-width: 205px; max-height: 295px; object-fit: contain; justify-self: start; }
}
@media (max-width: 560px) {
  .training-page-hero img { display: block; width: 100%; max-width: 205px; max-height: 285px; object-fit: contain; justify-self: center; }
}

/* V34: correcte Japanse term boven privacyverklaring (documenten) */
.docs-grid .privacy-kanji{font-family:"Noto Sans CJK JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:clamp(13px,1.25vw,18px);font-weight:600;letter-spacing:0;line-height:1.4;white-space:nowrap;max-width:100%;overflow:visible;word-break:keep-all;}
@media(max-width:600px){.docs-grid .privacy-kanji{font-size:14px;}}

/* V35: sociale ondersteuning bij lidgeld en verzekering */
.fees-section + .social-engagement{max-width:1236px;margin:24px auto 38px}
.social-ocmw-extension{margin-top:22px;padding-top:20px;border-top:1px solid #d8c7b9}
.social-ocmw-extension h3{font-size:1.12rem;margin:0 0 10px;color:#292723}
.social-ocmw-extension p{line-height:1.65;margin:0 0 12px}
.signup-social-reference{padding:15px 18px;background:#f2efe6;border-left:3px solid #b05a4a;border-radius:6px;line-height:1.6;margin:22px 0}
.signup-social-reference a{color:#9c493b;text-decoration:underline}
#karate-voor-iedereen{scroll-margin-top:95px}

/* Toegankelijke knop naar boven, ook op kleine schermen */
.back-to-top{position:fixed;right:clamp(14px,3vw,30px);bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:1100;display:flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:10px 16px;border:1px solid #b05a4a;border-radius:999px;background:#f2efe6;color:#753c33;font:600 14px/1.2 Arial,sans-serif;text-decoration:none;box-shadow:0 3px 12px #0002;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s,transform .2s,visibility .2s;}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover,.back-to-top:focus-visible{background:#b05a4a;color:#fff;outline-offset:3px}
@media(max-width:600px){.back-to-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:12px;min-width:48px;min-height:48px}.back-to-top .back-to-top-label{display:none}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
