/* Executive art-direction layer */
:root{--premium-ink:#0b0c0d;--premium-paper:#f4f1eb;--premium-red:#c9151d;--premium-line:#1a1a1a1a}html{scroll-padding-top:120px}.page-progress{position:fixed;top:0;right:0;left:0;height:3px;z-index:2147482000;background:#ffffff0b}.page-progress i{display:block;height:100%;background:linear-gradient(90deg,#7c0b0f,#ef343b);transform:scaleX(0);transform-origin:right;will-change:transform}.season-banner{height:36px;background:#c9151d;color:#fff;display:flex;align-items:center;justify-content:center;gap:32px;font-size:11px;letter-spacing:.2px;position:absolute;inset:0 0 auto;z-index:12}.season-banner a{color:#fff;font-weight:800;text-decoration:none;border-bottom:1px solid #ffffff90;padding-bottom:2px}.nav{top:36px;height:88px;position:absolute;transition:height .35s,background .35s,box-shadow .35s,top .35s}.nav.nav-scrolled{position:fixed;top:0;height:72px;background:#090a0af2;box-shadow:0 14px 45px #0005;border-color:#ffffff12}.nav.nav-scrolled .brand-logo{width:46px;height:46px}.nav a,.nav button{transition:all .25s}.nav nav a{position:relative}.nav nav a:after{content:"";position:absolute;right:0;left:100%;bottom:-10px;height:1px;background:#e13238;transition:left .3s}.nav nav a:hover:after{left:0}.hero{padding-top:215px}.hero-edition{display:inline-block;font-size:9px;letter-spacing:3px;color:#ffffff70;border:1px solid #ffffff22;padding:7px 10px;margin-bottom:17px}.hero h1{max-width:830px}.hero-copy p{font-size:18px;max-width:670px}.trust-strip{position:relative;z-index:3}.trust-strip>div{min-height:94px}.section-tag{letter-spacing:2.2px;text-transform:uppercase}.statement,.why-ryokudo,.branches,.academy-team{position:relative}.statement:before,.why-ryokudo:before,.branches:before,.academy-team:before{content:"";position:absolute;right:8vw;left:8vw;top:75px;height:1px;background:var(--premium-line)}.statement-grid,.why-head,.branch-head,.team-heading{position:relative}.statement h2,.why-head h2,.branch-head h2,.team-heading h2{font-weight:850}.values article,.why-grid article,.staff-grid article{border-radius:0!important}.values article{background:#f9f7f2;box-shadow:none;border:1px solid #d8d3ca!important}.values article:hover{background:#fff;box-shadow:0 24px 60px #554d4030}.why-grid article{background:transparent;border:1px solid #d6d0c6;border-top:3px solid #171819;padding:34px 28px}.why-grid article:hover{background:#fff;border-top-color:#c9151d}.programs{background:linear-gradient(135deg,#0b0c0d,#161719)}.program-list article{min-height:115px}.program-list article:hover{background:linear-gradient(90deg,#aa1016,#db2229)}.sensei{border-top:1px solid #ded9d0;border-bottom:1px solid #ded9d0}.sensei-copy{background:#f7f4ee}.sensei blockquote{font-weight:750}.origin-story{border-top:8px solid #c9151d}.story-year{background:#c9151d}.branch-grid article{border-radius:0;box-shadow:none;border:1px solid #d8d2c8;background:#eae6df}.branch-grid article:hover{box-shadow:0 28px 60px #62584b36}.branch-grid .featured{background:#c9151d;border-color:#c9151d}.schedule-note{border-right:5px solid #c9151d}.staff-grid article{border-top:2px solid #18191a}.staff-grid article b{border-radius:3px;background:#c9151d}.team{border-top:8px solid #c9151d}.team-art{clip-path:polygon(5% 0,100% 0,100% 100%,0 100%)}.testimonial{position:relative;background:#f7f4ee}.testimonial:before{content:"GOOGLE REVIEW";position:absolute;top:35px;right:50%;transform:translateX(50%);font-size:9px;letter-spacing:4px;color:#999}.contact{background:linear-gradient(135deg,#b40f16,#db2229)}.contact form{border-radius:0;border-top:3px solid #fff}.contact button{min-height:55px}.brand-logo{filter:saturate(.85) contrast(1.05)}footer{border-top:1px solid #ffffff19}.mobile-trial{border-radius:0}.whatsapp{border:2px solid #fff}.reveal{transition-duration:1s}
@media(min-width:901px){.hero-copy{border-right:1px solid #ffffff20;padding-right:45px}.hero:after{background:linear-gradient(90deg,#05050508 0 30%,#050505d5 65%,#050505 100%),linear-gradient(0deg,#050505d9 0,transparent 48%)}.statement-grid>h2,.why-head>h2,.branch-head>h2,.team-heading>h2{padding-right:28px;border-right:5px solid #c9151d}.primary{min-width:235px;display:inline-flex;justify-content:space-between;align-items:center}}
@media(max-width:900px){.season-banner{height:34px;justify-content:space-between;padding:0 14px;font-size:9px}.season-banner a{white-space:nowrap}.nav{top:34px}.nav.nav-scrolled{top:0}.hero{padding-top:170px}.hero-edition{margin-bottom:8px}.statement:before,.why-ryokudo:before,.branches:before,.academy-team:before{top:50px}.team-art{clip-path:none}.hero-copy{border:0}.trust-strip>div{min-height:75px}}

/* Larger, clean transparent brand mark */
.nav{height:112px}
.brand-logo{width:96px;height:96px;object-fit:contain;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 8px 15px #0008) saturate(.9) contrast(1.06)}
.nav.nav-scrolled{height:84px}
.nav.nav-scrolled .brand-logo{width:70px;height:70px}
.brand-logo-footer{width:112px;height:112px;filter:drop-shadow(0 10px 18px #0008) saturate(.9) contrast(1.06)}
.portal-brand img{width:68px;height:68px;object-fit:contain;border-radius:0;filter:drop-shadow(0 7px 10px #0007)}

@media(max-width:900px){.nav{height:92px;padding-inline:4vw}.brand-logo{width:76px;height:76px}.nav.nav-scrolled{height:76px}.nav.nav-scrolled .brand-logo{width:62px;height:62px}.brand-logo-footer{width:100px;height:100px}}
@media(max-width:560px){.brand span{display:none}.brand-logo{width:82px;height:82px}.nav.nav-scrolled .brand-logo{width:64px;height:64px}}

/* ASAI-RYU identity and international partnership */
.asai-hero-seal{position:absolute;left:5vw;top:165px;z-index:4;width:255px;display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;padding:12px 16px 12px 12px;border:1px solid #ffffff26;background:#090a0aa6;backdrop-filter:blur(14px);box-shadow:0 22px 55px #0007;transition:transform .3s,border-color .3s,background .3s}
.asai-hero-seal:hover{transform:translateY(-5px);border-color:#dcb24e80;background:#111214e8}
.asai-hero-seal img{width:74px;height:74px;border-radius:50%;object-fit:cover;box-shadow:0 9px 22px #0009}
.asai-hero-seal span{display:flex;flex-direction:column;gap:5px;text-align:left;direction:ltr}.asai-hero-seal small{font-size:7px;letter-spacing:1.8px;color:#aaa}.asai-hero-seal b{font-size:11px;letter-spacing:1.2px;color:#f2f0ea}
.asai-partnership{min-height:780px;background:linear-gradient(135deg,#0a0b0c,#17191c);color:#fff;padding:110px 8vw;display:grid;grid-template-columns:1.08fr .92fr;gap:8vw;align-items:center;position:relative;overflow:hidden}
.asai-partnership:before{content:"ASAI-RYU";position:absolute;left:-2vw;bottom:-3vw;font-size:clamp(100px,16vw,250px);font-weight:900;letter-spacing:-10px;color:rgba(255,255,255,.022);white-space:nowrap;z-index:0;pointer-events:none}
.asai-partnership:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 45%,#c9151d20,transparent 30%),radial-gradient(circle at 45% 45%,#d6a62e0b,transparent 25%);pointer-events:none}
.asai-visual,.asai-copy{position:relative;z-index:2}.asai-visual{min-height:570px;display:grid;grid-template-columns:minmax(0,1fr) clamp(92px,9vw,150px);align-items:center;justify-items:center;gap:clamp(24px,3vw,48px);isolation:isolate}
.asai-visual:before{content:"";position:absolute;width:430px;height:430px;border:1px solid #ffffff15;border-radius:50%;box-shadow:0 0 0 35px #ffffff025,0 0 0 70px #ffffff018}
.asai-emblem{width:min(31vw,410px);aspect-ratio:1;object-fit:cover;border-radius:50%;position:relative;z-index:2;filter:drop-shadow(0 35px 45px #000c);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.asai-visual:hover .asai-emblem{transform:rotate(-3deg) scale(1.025)}
.asai-kanji-panel{position:relative;inset:auto;width:132px;height:340px;background:#f5f3ef;border:1px solid #fff;box-shadow:0 28px 65px #000b;overflow:hidden;transform:none;z-index:1}
.asai-kanji-panel img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.asai-copy{max-width:620px}.asai-copy .section-tag{color:#e1b739;margin-bottom:35px}.asai-copy h2{font-size:clamp(48px,5.3vw,82px);line-height:.95;margin:0 0 35px;letter-spacing:-3px}.asai-copy h2 span{color:transparent;-webkit-text-stroke:1px #fff}.asai-copy p{color:#a9aaac;font-size:15px;line-height:1.9;max-width:590px}.asai-copy .asai-lead{color:#e3e0da;font-size:20px;line-height:1.65}
.asai-pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff24;margin-top:42px}.asai-pillars span{padding:22px 16px;border-left:1px solid #ffffff18;display:flex;flex-direction:column;gap:8px}.asai-pillars span:last-child{border-left:0}.asai-pillars b{font-size:10px;color:#dcb43d}.asai-pillars small{font-size:10px;letter-spacing:.5px;color:#d6d6d6}
.asai-footer{display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;padding:9px 14px;border:1px solid #ffffff18;background:#ffffff08}.asai-footer img{width:58px;height:58px;border-radius:50%;object-fit:cover}.asai-footer span{display:block}.asai-footer b,.asai-footer small{display:block}.asai-footer b{font-size:10px;letter-spacing:1.2px}.asai-footer small{font-size:8px;color:#888;margin-top:4px;max-width:150px;line-height:1.4}
footer{flex-wrap:wrap}.asai-footer+div{min-width:180px}

html[dir="ltr"] .asai-hero-seal span{text-align:left}
@media(max-width:1100px){.asai-hero-seal{width:205px}.asai-hero-seal img{width:58px;height:58px}.asai-partnership{gap:5vw}.asai-kanji-panel{width:105px;height:285px}}
@media(max-width:900px){.asai-hero-seal{top:145px;left:4vw;width:auto;padding:8px}.asai-hero-seal img{width:58px;height:58px}.asai-hero-seal span{display:none}.asai-partnership{grid-template-columns:1fr;padding:85px 7vw;gap:45px}.asai-copy{grid-row:1}.asai-visual{min-height:440px;grid-template-columns:minmax(0,1fr) 110px;gap:28px}.asai-emblem{width:min(58vw,390px)}.asai-partnership:before{bottom:1vw}footer{justify-content:center}}
@media(max-width:560px){.asai-hero-seal{top:140px}.asai-hero-seal img{width:52px;height:52px}.asai-partnership{padding:72px 6vw}.asai-copy h2{font-size:45px}.asai-copy .asai-lead{font-size:17px}.asai-visual{min-height:330px;grid-template-columns:minmax(0,1fr) clamp(56px,17vw,84px);gap:16px}.asai-visual:before{width:280px;height:280px}.asai-emblem{width:min(64vw,275px)}.asai-kanji-panel{width:100%}.asai-pillars small{font-size:8px}.asai-pillars span{padding:18px 8px}}

/* Natural logo proportions — no cards, borders or forced cropping */
.asai-hero-seal{padding:0;border:0;background:transparent;backdrop-filter:none;box-shadow:none}
.asai-hero-seal:hover{border-color:transparent;background:transparent}
.asai-hero-seal img{object-fit:contain;clip-path:none;box-shadow:none}
.asai-visual:before{display:none}
.asai-emblem{aspect-ratio:1/1;object-fit:contain;clip-path:none}
.asai-kanji-panel{width:150px;height:auto;aspect-ratio:2/3;background:transparent;border:0;box-shadow:none;overflow:visible}
.asai-kanji-panel img{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 16px 20px #0009)}
.asai-footer{padding:0;border:0;background:transparent;text-decoration:none;color:inherit}
.asai-footer img{object-fit:contain;clip-path:none}
@media(max-width:1100px){.asai-kanji-panel{width:118px;height:auto}}
@media(max-width:900px){.asai-kanji-panel{width:110px;height:auto}}
@media(max-width:560px){.asai-kanji-panel{width:84px;height:auto}}
@media(max-width:560px){.season-banner span{max-width:58%}.hero h1{font-size:51px}.hero-meta{width:86%;justify-content:space-between}.hero-meta div{padding-right:8px}.hero-meta strong{font-size:21px}.why-grid article,.staff-grid article{padding:24px}.testimonial blockquote{font-size:25px}}

.skip-link{position:fixed;top:-70px;right:20px;background:#fff;color:#111;padding:12px 18px;z-index:2147483647;font-weight:bold;transition:top .2s}.skip-link:focus{top:12px}.nav nav a.active{color:#fff;opacity:1}.nav nav a.active:after{left:0}.achievements{padding:120px 8vw;background:#e9e5dd;display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.achievement-intro h2{font-size:clamp(46px,5vw,78px);line-height:1;margin:0}.achievement-intro h2 span{color:#c9151d}.achievement-intro p{color:#706d67;line-height:1.8;margin-top:30px}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.achievement-grid article{background:#f8f5ef;padding:30px;min-height:285px;border-top:3px solid #171819;position:relative;overflow:hidden;transition:.3s}.achievement-grid article:hover{transform:translateY(-7px);box-shadow:0 25px 55px #554d4030;border-color:#c9151d}.achievement-grid .achievement-main{grid-column:span 2;background:#111214;color:#fff;border-color:#c9151d}.achievement-grid small{font-size:9px;letter-spacing:1.5px;color:#999}.achievement-number{font-size:80px;line-height:1;font-weight:900;color:#c9151d;margin:25px 0 15px}.achievement-grid h3{font-size:22px;margin:0 0 10px}.achievement-grid p{color:#777;font-size:12px;line-height:1.7}.achievement-main p{color:#aaa}.faq{padding:120px 8vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw;background:#f5f2ec}.faq-intro{position:sticky;top:120px;align-self:start}.faq-intro h2{font-size:clamp(46px,5vw,72px);margin:0}.faq-intro p{color:#777;line-height:1.7}.faq-intro a{display:inline-block;margin-top:20px;background:#c9151d;color:#fff;padding:13px 18px;text-decoration:none;font-weight:bold}.faq-list{border-top:1px solid #cfc9bf}.faq details{border-bottom:1px solid #cfc9bf;padding:0}.faq summary{list-style:none;cursor:pointer;font-size:19px;font-weight:750;padding:24px 45px 24px 5px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+";position:absolute;right:6px;top:19px;font-size:27px;color:#c9151d;font-weight:400}.faq details[open] summary:before{content:"−"}.faq details p{color:#706d67;line-height:1.8;padding:0 45px 25px 5px;margin:0;animation:faqIn .3s}@keyframes faqIn{from{opacity:0;transform:translateY(-5px)}}html[dir="ltr"] .faq summary{padding:24px 5px 24px 45px}html[dir="ltr"] .faq summary:before{right:auto;left:6px}
@media(max-width:900px){.achievements,.faq{grid-template-columns:1fr;padding:80px 7vw}.achievement-grid{margin-top:10px}.faq-intro{position:static}.faq-list{margin-top:10px}}
@media(max-width:560px){.achievement-grid{grid-template-columns:1fr}.achievement-grid .achievement-main{grid-column:auto}.achievement-grid article{min-height:245px}.achievement-number{font-size:62px}.faq summary{font-size:16px;padding-left:0}}
.content-page .member-login{border:1px solid #ffffff42;color:#fff;padding:9px 12px;text-decoration:none;font-size:12px;font-weight:750;white-space:nowrap}.content-page .member-login:hover{background:#fff;color:#111}
