.trust-strip{background:#080909;color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:0 8vw;border-top:1px solid #ffffff16}.trust-strip>div{padding:24px 28px;border-left:1px solid #ffffff16;display:flex;align-items:center;gap:13px}.trust-strip b{color:#ed555a;font-size:22px}.trust-strip span{font-size:11px;color:#aaa}.why-ryokudo,.academy-team{padding:120px 8vw}.why-head,.team-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:end}.why-head h2,.team-heading h2,.origin-story h2{font-size:clamp(45px,5vw,78px);line-height:1;margin:0;letter-spacing:-3px}.why-head h2 span{color:var(--red)}.why-head p,.team-heading p{color:#777;line-height:1.8}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:65px}.why-grid article{background:#fff;border-top:4px solid #ddd;padding:28px;box-shadow:0 15px 35px #6a62551b;transition:.3s}.why-grid article:hover{border-color:var(--red);transform:translateY(-7px)}.why-grid span{color:var(--red);font-size:10px}.why-grid h3{font-size:23px}.why-grid p{color:#777;font-size:13px;line-height:1.7}.origin-story{display:grid;grid-template-columns:.7fr 1.3fr;background:#131416;color:#fff;min-height:650px}.story-year{display:grid;place-items:center;background:linear-gradient(145deg,#d51d24,#7e0d11);font-size:clamp(90px,12vw,190px);font-weight:900;writing-mode:vertical-rl;color:#ffffff20;letter-spacing:-8px}.story-copy{padding:100px 9vw}.story-copy p{color:#aaa;line-height:1.85;max-width:800px}.story-milestones{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;border-top:1px solid #ffffff20}.story-milestones span{padding:20px 10px;border-left:1px solid #ffffff20;font-size:11px;color:#999}.story-milestones b{display:block;color:#fff;font-size:21px;margin-bottom:6px}.schedule-note{margin-top:22px;background:#111;color:#fff;padding:22px 27px;display:flex;align-items:center;gap:24px}.schedule-note span{color:#aaa;font-size:12px;flex:1}.schedule-note a{color:#fff;text-decoration:none;background:var(--red);padding:11px 15px;font-weight:bold;font-size:12px}.academy-team{background:#e6e2da}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:55px}.staff-grid article{background:#f5f2ec;padding:25px;min-height:180px;position:relative;overflow:hidden}.staff-grid article b{display:grid;place-items:center;width:50px;height:50px;background:#171819;color:#fff;border-radius:50%;letter-spacing:1px}.staff-grid h3{font-size:20px;margin:22px 0 7px}.staff-grid p{color:#777;font-size:12px;line-height:1.6}.trial-benefits{display:flex;flex-direction:column;gap:10px;margin-top:30px;font-size:13px}.contact .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mobile-trial{display:none}.footer-social,.footer-legal{display:flex;flex-direction:column;gap:7px}.footer-social a,.footer-legal a{color:#aaa;text-decoration:none;font-size:11px}footer{flex-wrap:wrap}footer>p{width:100%;text-align:center;border-top:1px solid #ffffff13;padding-top:25px}.contact input,.contact select{border-radius:0}.contact form label{display:block}.contact form{align-self:start}
@media(max-width:900px){.trust-strip{grid-template-columns:1fr 1fr;padding:0 5vw}.why-ryokudo,.academy-team{padding:80px 7vw}.why-head,.team-heading,.origin-story{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr 1fr}.story-year{height:220px;writing-mode:horizontal-tb}.story-copy{padding:70px 7vw}.staff-grid{grid-template-columns:1fr 1fr}.schedule-note{align-items:flex-start;flex-direction:column}.mobile-trial{display:block;position:fixed;right:18px;left:88px;bottom:18px;background:var(--red);color:#fff;text-decoration:none;text-align:center;padding:14px;z-index:19;font-weight:bold;box-shadow:0 12px 30px #0005}.whatsapp{bottom:18px}.contact .form-row{grid-template-columns:1fr}footer{padding-bottom:95px}}
@media(max-width:560px){.trust-strip{grid-template-columns:1fr}.trust-strip>div{border-bottom:1px solid #ffffff16}.why-grid,.staff-grid{grid-template-columns:1fr}.story-milestones{grid-template-columns:1fr 1fr}.why-head h2,.team-heading h2,.origin-story h2{font-size:43px}.mobile-trial{font-size:13px}}
.trust-strip>a{padding:24px 28px;border-left:1px solid #ffffff16;display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;transition:background .2s}.trust-strip>a:hover,.trust-strip>a:focus-visible{background:#ffffff0b}@media(max-width:560px){.trust-strip>a{border-bottom:1px solid #ffffff16}}

/* Real coaching portraits and compact team preview */
.staff-preview article{padding:0;min-height:430px;display:flex;flex-direction:column;background:#f7f4ee;border:1px solid #d5cfc5;transition:transform .35s,box-shadow .35s}
.staff-preview article:hover{transform:translateY(-7px);box-shadow:0 28px 60px #544a3b2b}
.staff-photo{width:100%;height:290px;object-fit:cover;display:block;filter:saturate(.82) contrast(1.05);transition:transform .55s}
.staff-preview article:hover .staff-photo{transform:scale(1.025)}
.staff-card-copy{padding:24px 25px;position:relative;background:#f7f4ee;flex:1}
.staff-card-copy small{font-size:8px;letter-spacing:1.35px;color:#c9151d;font-weight:800}
.staff-card-copy h3{margin:12px 0 7px}.staff-card-copy p{margin:0}
.team-page-link{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:21px 25px;background:#121315;color:#fff;text-decoration:none;font-weight:800;transition:background .25s,padding .25s}
.team-page-link:hover{background:#c9151d;padding-inline:32px}.team-page-link b{font-size:24px}
@media(max-width:900px){.staff-photo{height:260px}}
@media(max-width:560px){.staff-preview article{min-height:0}.staff-photo{height:330px}}

/* Face-safe portrait framing: each source gets its own focal point. */
.staff-photo[src$="team-raphy.jpg"]{object-position:58% 28%}
.staff-photo[src$="team-bobby.jpg"]{object-position:53% 20%}
.staff-photo[src$="team-shagi.jpg"]{object-position:50% 24%}

/* Authentic academy photography from the original Ryoku-Do site. */
.portrait img[src$="home-coaching.webp"]{object-position:52% 45%}
.team-art img[src$="home-team.webp"]{object-position:52% 42%}
.home-gallery{background:#0d0e0f;color:#fff;padding:125px 8vw 135px;overflow:hidden}
.home-gallery-head{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:end;margin-bottom:58px}
.home-gallery-head h2{font-size:clamp(50px,6vw,88px);line-height:.94;letter-spacing:-4px;margin:0}
.home-gallery-head h2 em{font-style:normal;color:#d9343b}
.home-gallery-head p{color:#aaa;line-height:1.85;font-size:16px;max-width:590px}
.home-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:135px;gap:12px}
.home-gallery-grid figure{margin:0;position:relative;overflow:hidden;background:#1a1b1d;border:1px solid #ffffff16;box-shadow:0 24px 65px #0008}
.home-gallery-grid figure:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#050505dc);pointer-events:none}
.home-gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86) contrast(1.05);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}
.home-gallery-grid figure:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.06)}
.home-gallery-grid figcaption{position:absolute;right:22px;left:22px;bottom:18px;z-index:2;display:flex;align-items:center;gap:13px;font-size:11px;font-weight:800;letter-spacing:.8px}
.home-gallery-grid figcaption small{color:#ed4b51;font-size:9px}
.gallery-featured{grid-column:span 7;grid-row:span 3}.gallery-tall{grid-column:span 5;grid-row:span 3}
.gallery-lineup{grid-column:span 5;grid-row:span 2}.gallery-guidance{grid-column:span 7;grid-row:span 2}
.gallery-awards,.gallery-community,.gallery-kata{grid-column:span 4;grid-row:span 2}
.gallery-featured img{object-position:center 43%}.gallery-tall img{object-position:center 30%}.gallery-lineup img{object-position:center 44%}
.gallery-guidance img{object-position:center 52%}.gallery-awards img{object-position:center 45%}.gallery-community img{object-position:center 50%}.gallery-kata img{object-position:center 34%}
@media(max-width:900px){.home-gallery{padding:90px 7vw}.home-gallery-head{grid-template-columns:1fr;gap:24px}.home-gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}.home-gallery-grid figure{grid-column:span 1;grid-row:span 1}.home-gallery-grid .gallery-featured,.home-gallery-grid .gallery-guidance{grid-column:span 2}.home-gallery-grid .gallery-featured{grid-row:span 2}}
@media(max-width:560px){.home-gallery{padding:78px 6vw}.home-gallery-head h2{font-size:45px;letter-spacing:-2px}.home-gallery-grid{grid-template-columns:1fr;grid-auto-rows:290px;gap:9px}.home-gallery-grid figure,.home-gallery-grid .gallery-featured,.home-gallery-grid .gallery-guidance{grid-column:1;grid-row:span 1}.home-gallery-grid figcaption{right:17px;left:17px}}

/* Conversion-first additions */
.hero-availability{margin-top:20px;color:#fff;font-size:12px;font-weight:750;letter-spacing:.25px;display:flex;align-items:center;gap:10px}.hero-availability:before{content:"";width:22px;height:2px;background:#d92c33}.hero h1 em{color:#fff;-webkit-text-stroke:0}.hero-copy>p{color:#ececec}.hero .text-link{border-bottom:1px solid #ffffff70;padding-bottom:7px}.quick-branches{padding:95px 8vw;background:#f4f1eb;display:grid;grid-template-columns:.72fr 1fr;grid-template-areas:"copy picker" "copy result";gap:20px 7vw;border-bottom:1px solid #d8d2c8}.quick-branches-copy{grid-area:copy}.quick-branches-copy .section-tag{margin-bottom:30px}.quick-branches h2,.progress-path h2{font-size:clamp(44px,5vw,74px);line-height:1;margin:0;letter-spacing:-3px}.quick-branches-copy p{color:#6e6b65;line-height:1.8;max-width:480px}.branch-picker{grid-area:picker;display:flex;gap:8px;flex-wrap:wrap;align-self:end}.branch-picker button{border:1px solid #bdb6aa;background:transparent;color:#171819;padding:12px 17px;font:inherit;font-weight:750;cursor:pointer;transition:.2s}.branch-picker button:hover,.branch-picker button:focus-visible,.branch-picker button.active{background:#171819;color:#fff;border-color:#171819}.branch-picker-result{grid-area:result;background:#fff;border-right:5px solid #c9151d;padding:26px 30px;box-shadow:0 18px 45px #665b4b18}.branch-picker-result small{color:#c9151d;font-size:10px;font-weight:850}.branch-picker-result h3{font-size:26px;margin:9px 0}.branch-picker-result p{color:#6f6c66;line-height:1.65;margin:0 0 18px}.branch-picker-result a{display:inline-flex;background:#c9151d;color:#fff;text-decoration:none;padding:12px 16px;font-weight:800}.progress-path{padding:120px 8vw;background:#fff}.progress-path>.section-tag{margin-bottom:50px}.progress-path-head{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:end}.progress-path h2 span{color:#c9151d}.progress-path-head p{color:#6f6c66;line-height:1.85}.progress-steps{list-style:none;padding:0;margin:65px 0 0;display:grid;grid-template-columns:repeat(5,1fr);counter-reset:path;border-top:2px solid #171819}.progress-steps li{position:relative;padding:34px 20px 10px;border-left:1px solid #d8d2c8;min-height:210px}.progress-steps li:before{content:"";position:absolute;top:-8px;right:20px;width:14px;height:14px;border-radius:50%;background:#c9151d;box-shadow:0 0 0 6px #f6d9da}.progress-steps b{color:#c9151d;font-size:10px;letter-spacing:1px}.progress-steps h3{font-size:20px;margin:19px 0 10px}.progress-steps p{color:#77736c;font-size:13px;line-height:1.7}.parent-voice{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;text-align:right;align-items:center;background:#f4f1eb}.parent-voice .quote-mark{position:absolute;color:#c9151d33}.parent-voice .section-tag{margin-bottom:24px}.parent-voice blockquote{font-size:clamp(24px,3vw,38px);margin:0;max-width:850px}.parent-value-list{display:grid;gap:10px}.parent-value-list span{padding:17px 20px;background:#fff;border-right:3px solid #c9151d;font-weight:750;box-shadow:0 10px 28px #6d62531a}.first-class{margin-top:30px;padding:22px;border:1px solid #ffffff43;background:#7e0d112e;display:grid;gap:9px}.first-class b{font-size:16px;margin-bottom:3px}.first-class span{font-size:13px}.first-class span:before{content:"01";font-size:8px;margin-left:10px;color:#ffd1d3}.first-class span:nth-of-type(2):before{content:"02"}.first-class span:nth-of-type(3):before{content:"03"}.contact input:focus,.contact select:focus{border-bottom-color:#fff;box-shadow:0 2px 0 #fff}.contact button:focus-visible,.primary:focus-visible,.branch-picker-result a:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:900px){.quick-branches{padding:75px 7vw;grid-template-columns:1fr;grid-template-areas:"copy" "picker" "result"}.progress-path{padding:85px 7vw}.progress-path-head{grid-template-columns:1fr;gap:20px}.progress-steps{grid-template-columns:1fr 1fr;border-top:0;gap:10px}.progress-steps li{border:1px solid #d8d2c8;padding:28px 22px;min-height:190px}.progress-steps li:before{top:20px;right:auto;left:20px}.parent-voice{grid-template-columns:1fr;text-align:right;padding:85px 7vw}.hero-availability{line-height:1.6}}
@media(max-width:560px){.quick-branches{padding:65px 6vw}.quick-branches h2,.progress-path h2{font-size:43px}.branch-picker{display:grid;grid-template-columns:1fr 1fr}.branch-picker button{padding:11px 8px;font-size:12px}.branch-picker-result{padding:23px 20px}.branch-picker-result h3{font-size:21px}.progress-path{padding:72px 6vw}.progress-steps{grid-template-columns:1fr}.progress-steps li{min-height:auto}.parent-value-list span{font-size:13px}.hero-availability{font-size:10px}.hero-actions .text-link{font-size:12px}}
body{perspective:none!important}.hero{perspective:1600px}.member-portal{isolation:isolate;transform:none!important}.member-portal.open{display:flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important}.member-portal.open .portal-shell{opacity:1!important;visibility:visible!important;transform:none!important}
@media(max-width:1180px) and (min-width:901px){.nav{gap:22px;padding-inline:3vw}.nav nav{gap:18px}.nav nav a{font-size:12px}.brand span{display:none}.nav-cta{padding:12px 14px;font-size:12px}}
.hero-copy{width:min(55%,680px);margin-right:0!important;margin-left:auto!important}html[dir="ltr"] .hero-copy{margin-left:0!important;margin-right:auto!important}@media(max-width:900px){.hero-copy,html[dir="ltr"] .hero-copy{width:100%;margin-inline:0!important}}

/* Verified Google review carousel */
.google-proof{position:relative;overflow:hidden;padding:110px 8vw 105px;background:#f7f4ee;border-top:1px solid #ded8cf;border-bottom:1px solid #ded8cf}.google-proof:after{content:"״";position:absolute;left:4vw;top:55px;color:#c9151d0c;font:420px/1 Georgia,serif;pointer-events:none}.reviews-intro{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:6vw;align-items:end;margin-bottom:48px}.reviews-intro .section-tag{margin-bottom:20px}.reviews-intro h2{font-size:clamp(46px,5.5vw,78px);line-height:.98;letter-spacing:-3px;margin:0}.reviews-intro h2 span{color:#c9151d}.reviews-intro>div>p{max-width:610px;color:#716d67;line-height:1.75;margin:20px 0 0}.google-review-summary{display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 12px;min-width:250px;padding:22px 25px;background:#fff;border-top:3px solid #c9151d;box-shadow:0 18px 45px #5c524519}.google-name{font-family:Arial,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.7px;color:#323232}.google-stars,.review-stars{color:#f6ad01;letter-spacing:2px;direction:ltr}.google-stars{font-size:17px}.google-review-summary strong{font-size:28px;line-height:1}.google-review-summary small{color:#6f6b65;font-size:12px;font-weight:700}.review-carousel{position:relative;z-index:1;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:14px;align-items:center}.review-rail{display:flex;flex-direction:row;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 2px 28px;direction:ltr;scrollbar-width:thin;scrollbar-color:#c9151d #ddd7ce}.review-card{direction:rtl;text-align:right;flex:0 0 calc((100% - 32px)/3);min-height:290px;padding:28px 26px;background:#fff;border:1px solid #ddd6cc;border-top:3px solid #171819;scroll-snap-align:start;display:flex;flex-direction:column;box-shadow:0 16px 38px #5f554719;transition:transform .25s,border-color .25s,box-shadow .25s}.review-card:hover{transform:translateY(-6px);border-top-color:#c9151d;box-shadow:0 25px 55px #5f55472b}.review-card-top{display:flex;align-items:center;gap:12px}.review-card-top>div{display:grid;gap:3px}.review-card-top b{font-size:15px}.review-card-top small{font-size:10px;color:#7b7770;letter-spacing:.04em}.review-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:#171819;color:#fff;font-weight:850}.review-card:nth-child(3n+2) .review-avatar{background:#c9151d}.review-card:nth-child(3n) .review-avatar{background:#8f7645}.review-stars{font-size:15px;margin:22px 0 15px}.review-card blockquote{font-family:var(--font-body);font-size:17px;font-weight:650;line-height:1.65;margin:0;color:#262728}.review-card blockquote:before{content:"״";color:#c9151d;font:700 24px Georgia,serif;margin-left:4px}.review-control{width:46px;height:46px;border:1px solid #bdb6aa;background:transparent;color:#171819;font:700 21px/1 var(--font-ui);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.review-control:hover,.review-control:focus-visible{background:#171819;color:#fff;border-color:#171819}.review-control:focus-visible{outline:3px solid #c9151d55;outline-offset:3px}.reviews-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:16px}.reviews-footer>span{color:#77736c;font-size:12px}.google-review-link{display:inline-flex;align-items:center;min-height:48px;padding:13px 18px;background:#171819;color:#fff;text-decoration:none;font-weight:800;transition:background .2s,transform .2s}.google-review-link:hover,.google-review-link:focus-visible{background:#c9151d;transform:translateY(-2px)}.google-review-link:focus-visible{outline:3px solid #c9151d55;outline-offset:4px}html[lang="en"] .review-card{direction:ltr;text-align:left}html[lang="en"] .review-card blockquote:before{margin-left:0;margin-right:4px}
@media(max-width:900px){.google-proof{padding:88px 7vw}.reviews-intro{grid-template-columns:1fr;gap:28px}.google-review-summary{width:min(100%,360px)}.review-card{flex-basis:calc((100% - 16px)/2)}.review-carousel{grid-template-columns:40px minmax(0,1fr) 40px;gap:8px}.review-control{width:40px;height:40px}}
@media(max-width:560px){.google-proof{padding:76px 6vw}.reviews-intro h2{font-size:44px;letter-spacing:-2px}.reviews-intro{margin-bottom:30px}.google-review-summary{min-width:0;padding:18px 20px}.google-name{font-size:18px}.review-card{flex-basis:100%;min-height:275px;padding:25px 22px}.review-card blockquote{font-size:16px}.review-carousel{grid-template-columns:1fr}.review-control{display:none}.review-rail{padding-bottom:20px}.reviews-footer{align-items:stretch;flex-direction:column}.reviews-footer>span{text-align:center}.google-review-link{width:100%;justify-content:center;text-align:center;font-size:13px}}
