/* Shared GaRYU details: all selectors stay inside the site wrapper. */
@media(max-width:1199px){
 .garyu-page .site-header .site-nav{gap:0;padding:12px 24px;max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;align-items:stretch}
 .garyu-page .site-header .site-nav>a,.garyu-page .site-header .nav-more>summary{display:flex;align-items:center;min-height:44px;padding:10px 0;line-height:24px;font-size:16px}
 .garyu-page .site-header .nav-more{padding:0;line-height:24px}
 .garyu-page .site-header .nav-submenu{gap:0;margin-top:4px;padding-left:16px}
 .garyu-page .site-header .nav-submenu>a{min-height:40px;padding:8px 0;line-height:24px;white-space:normal}
}
.garyu-page{--paper:#f7f5f0;--ink-soft:#e1e0d9;--muted-warm:#686760}
.garyu-page .section-muted{background:var(--paper)}
.garyu-page .hero{background:linear-gradient(110deg,#fff 62%,var(--paper) 62%);padding-block:72px 64px}
.garyu-page .hero-note{display:flex;align-items:center;gap:12px;max-width:38ch;line-height:1.7}
.garyu-page .hero-belt{display:block;width:44px;height:38.5px;flex:none;fill:var(--accent-primary)}
.garyu-page .hero-belt .belt-fold{fill:none;stroke:var(--color-white,#fff);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.garyu-page .brand-panel{position:relative;min-height:480px;padding:28px 32px 30px;align-items:stretch;overflow:hidden;background:radial-gradient(ellipse at 70% 20%,#2a2a28,transparent 65%),#151614;box-shadow:12px 12px 0 #ece9e1}
.garyu-page .brand-panel:before{content:"";position:absolute;inset:20px;border:1px solid #ffffff16;pointer-events:none}
.garyu-page .brand-panel-top{position:relative;display:flex;justify-content:space-between;margin:0;font-size:10px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:#d8d7cc}
.garyu-page .brand-panel-top span{margin:0;font-size:10px;letter-spacing:.16em}
.garyu-page .brand-emblem{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:320px;margin:10px 0}
.garyu-page .brand-emblem img{position:relative;width:300px;height:300px}
.garyu-page .dojo-stamp{position:absolute;right:27px;top:73px;padding:8px 5px;z-index:1;border:2px solid #df4a50;color:#f15b60;font:600 12px/1.2 var(--font-heading);letter-spacing:.12em;transform:rotate(9deg)}
.garyu-page .brand-panel-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px}
.garyu-page .brand-panel-foot span{margin:0;font-size:9px;line-height:1.8;letter-spacing:.12em;text-align:left;color:#dedccf}
.garyu-page .first-step{padding:0 0 72px;background:white}
.garyu-page .first-step-grid{display:grid;grid-template-columns:.9fr 1fr 1fr;gap:24px;align-items:stretch}
.garyu-page .first-step-heading{padding:22px 24px 22px 0}
.garyu-page .first-step-heading h2{font:500 31px/1.18 var(--font-heading);text-transform:none;letter-spacing:-.025em;margin:10px 0 16px}
.garyu-page .first-step-heading>p:last-child{font-size:14px;line-height:1.6;max-width:28ch;color:var(--color-gray-600);margin:0}
.garyu-page .welcome-card{position:relative;display:flex;flex-direction:column;padding:28px;background:var(--paper);border:1px solid #e7e4dc;color:var(--color-black);text-decoration:none}
.garyu-page .welcome-label{font-size:11px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-primary)}
.garyu-page .welcome-card h3{font:500 25px/1.25 var(--font-heading);margin:16px 0 14px}
.garyu-page .welcome-card p{font-size:14px;line-height:1.65;color:var(--color-gray-600);max-width:31ch;margin:0 0 22px}
.garyu-page .welcome-link{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;font-size:13px;font-weight:600}
.garyu-page .welcome-link>span{font-size:20px;font-weight:400;color:var(--accent-primary)}
.garyu-page .section-heading:before{width:44px;height:2px;margin-bottom:20px}
.garyu-page .section-heading h2{letter-spacing:-.025em}
.garyu-page .branch-card{border-color:#deded7;text-align:left}
.garyu-page .branch-card.is-active{border-color:var(--accent-primary)}
.garyu-page .branch-detail{position:relative;border:1px solid #e7e4dc;padding:36px}
.garyu-page .branch-detail:after{content:"";position:absolute;right:24px;top:24px;width:28px;height:28px;border-top:1px solid #bbb8ab;border-right:1px solid #bbb8ab;pointer-events:none}
.garyu-page .coach-section{background:#171916;position:relative}
.garyu-page .coach-grid{gap:72px;align-items:center}
.garyu-page .mentor-card{position:relative;isolation:isolate;margin:0;border:1px solid #657364;min-height:460px;align-items:stretch;justify-content:space-between;padding:28px;background:linear-gradient(135deg,#304536,#1b2a21);overflow:hidden;box-shadow:10px 10px 0 #ffffff06}
.garyu-page .mentor-card:before{content:"";position:absolute;inset:14px;border:1px solid #ffffff17;z-index:-1;pointer-events:none}
.garyu-page .mentor-card-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:#d1d5c7}
.garyu-page .mentor-card-top>span{color:#c2c9bb;letter-spacing:0}
.garyu-page .mentor-initials{align-self:center;font:400 180px/1.1 var(--font-heading);letter-spacing:-.08em;color:#d8d6be}
.garyu-page .mentor-card-rule{height:1px;background:#c8ceae45;width:52px}
.garyu-page .mentor-card figcaption{display:flex;flex-direction:column;gap:8px;font:500 26px/1.25 var(--font-heading);color:#f4f1e7;position:relative}
.garyu-page .mentor-card figcaption small{font:400 11px/1.5 var(--font-body);letter-spacing:.04em;color:#c2c9bb}
.garyu-page .mentor-card.has-photo{padding:0;background:#fff;aspect-ratio:auto;min-height:0;max-width:380px;width:100%;justify-self:center}
.garyu-page .mentor-card.has-photo img{display:block;width:100%;height:auto;object-fit:contain;position:static}
.garyu-page .mentor-card.has-photo figcaption{margin-top:0;padding:22px 24px;background:#24372b;border-top:1px solid #ffffff12}
.garyu-page .coach-copy>.eyebrow{color:#d3ba7b;font-size:11px;line-height:1.7;max-width:36ch}
.garyu-page .coach-copy h2{letter-spacing:-.025em}
.garyu-page .coach-conversation{margin:28px 0;padding:20px 0;border-block:1px solid #ffffff20}
.garyu-page .coach-conversation p{font-size:12px;line-height:1.6;color:#b9beb2;margin:0 0 12px}
.garyu-page .coach-conversation ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.garyu-page .coach-conversation li{font-size:11px;line-height:1.6;padding:7px 10px;border:1px solid #ffffff25;color:#e0e3d9}
.garyu-page .coach-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.garyu-page .coach-phone{font-size:14px;text-decoration:underline;text-underline-offset:6px;color:#e5e8dd}
.garyu-page .steps{gap:0;border:1px solid #dedbd1;background:#fff}
.garyu-page .steps li{position:relative;padding:28px;background:transparent}
.garyu-page .steps li+li{border-left:1px solid #dedbd1}
.garyu-page .steps span{font-size:40px;line-height:1.2;color:var(--accent-primary);font-weight:400}
.garyu-page .steps h3{font-size:21px}
.garyu-page .faq-list{counter-reset:question}
.garyu-page .faq-list details{counter-increment:question;border-color:#d9dad3}
.garyu-page .faq-list summary{padding-left:42px;font-size:22px}
.garyu-page .faq-list summary:before{content:counter(question,decimal-leading-zero);position:absolute;left:0;top:27px;font:400 11px/1.5 var(--font-body);color:var(--muted-warm)}
.garyu-page .faq-list details[open]{background:var(--paper)}
.garyu-page .faq-list details[open] summary{padding-left:54px}
.garyu-page .faq-list details[open] summary:before{left:12px}
.garyu-page .faq-list details[open] p{padding:0 24px 20px 54px;margin:0}
.garyu-page .info-card{border-color:#e0ded5}
.garyu-page .news-lead{position:relative;overflow:hidden;background:var(--paper);border:1px solid #e3dfd4;padding:clamp(24px,4vw,48px)}
.garyu-page .news-lead>div{min-width:0}
.garyu-page .news-lead .news-mark{padding:clamp(24px,3vw,40px)}
.garyu-page .news-mark{background:#e9e6dc;color:#33412f;font-weight:400;letter-spacing:-.04em;border:1px solid #d5d3c6;transform:rotate(-3deg)}
.garyu-page .signup-grid>div:first-child{border-left:2px solid #ffffff40;padding-left:26px}
.garyu-page .signup-grid .lead{font-size:16px;line-height:1.8;max-width:34ch}
.garyu-page .button{transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.garyu-page .text-link{text-underline-offset:5px;text-decoration-thickness:1px}
.garyu-page .detail-icon{width:20px;height:20px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.garyu-page .welcome-link .detail-icon{color:var(--accent-primary)}
.garyu-page .faq-list summary:after{content:none}
.garyu-page .faq-icon{position:absolute;right:8px;top:50%;margin-top:-10px;color:var(--color-red)}
.garyu-page .faq-list details[open] .faq-icon-vertical{display:none}
.garyu-page .consent-row{--consent-line:21px;line-height:var(--consent-line)}
.garyu-page .consent-row input{width:18px;height:18px;margin-top:calc((var(--consent-line) - 18px)/2)}
.garyu-page .audience-picker label{align-items:flex-start;padding-block:10px;line-height:24px}
.garyu-page .audience-picker input{margin-top:2px}
@media(hover:hover){
 .garyu-page .welcome-card{transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
 .garyu-page .welcome-card:hover{background:#eeece4;border-color:#c8c6b8;transform:translateY(-3px)}
 .garyu-page .button:hover{box-shadow:0 4px 0 #00000014;transform:translateY(-1px)}
}
@media(max-width:1023px){
 .garyu-page .first-step-grid{grid-template-columns:1fr 1fr}
 .garyu-page .first-step-heading{grid-column:1/-1;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
 .garyu-page .first-step-heading>.eyebrow{grid-column:1/-1;margin:0}
 .garyu-page .first-step-heading h2{margin:0}
 .garyu-page .first-step-heading>p:last-child{align-self:end}
 .garyu-page .coach-grid{gap:40px}
 .garyu-page .mentor-card{min-height:420px;padding:24px}
 .garyu-page .mentor-card-top{flex-direction:column}
 .garyu-page .mentor-initials{font-size:140px}
 .garyu-page .steps li{padding:24px}
 .garyu-page .steps li:nth-child(3){border-left:0}
 .garyu-page .steps li:nth-child(n+3){border-top:1px solid #dedbd1}
}
@media(max-width:767px){
 .garyu-page .hero{padding:36px 0 44px;background:linear-gradient(#fff 63%,var(--paper) 63%)}
 .garyu-page .hero-grid{gap:36px}
 .garyu-page .brand-panel{min-height:360px;padding:24px;box-shadow:7px 7px 0 #e9e5db}
 .garyu-page .brand-panel-top,.garyu-page .brand-panel-top span{font-size:8px}
 .garyu-page .brand-emblem{min-height:245px}
 .garyu-page .brand-emblem img{width:235px;height:235px}
 .garyu-page .dojo-stamp{right:23px;top:56px;font-size:10px}
 .garyu-page .brand-panel-foot span{font-size:8px}
 .garyu-page .first-step{padding:40px 0 48px}
 .garyu-page .first-step-grid{grid-template-columns:1fr;gap:16px}
 .garyu-page .first-step-heading{grid-template-columns:1fr;gap:10px;margin-bottom:10px}
 .garyu-page .first-step-heading h2{font-size:28px}
 .garyu-page .first-step-heading h2 br,.garyu-page .welcome-card h3 br{display:none}
 .garyu-page .first-step-heading>p:last-child{max-width:36ch}
 .garyu-page .welcome-card{padding:24px}
 .garyu-page .welcome-card h3{font-size:23px;margin:12px 0}
 .garyu-page .welcome-card p{max-width:100%;margin-bottom:18px}
 .garyu-page .branch-detail{padding:24px}
 .garyu-page .coach-grid{gap:36px}
 .garyu-page .mentor-card{min-height:370px;max-width:460px;width:100%;margin-inline:auto}
 .garyu-page .mentor-card-top{flex-direction:row;font-size:9px}
 .garyu-page .mentor-card figcaption{font-size:25px}
 .garyu-page .coach-copy>.eyebrow{font-size:10px;max-width:100%}
 .garyu-page .coach-actions{gap:20px}
 .garyu-page .coach-actions .button{width:100%}
 .garyu-page .steps li+li{border-left:0;border-top:1px solid #dedbd1}
 .garyu-page .steps li{padding:24px 20px;grid-template-columns:40px 1fr}
 .garyu-page .steps span{font-size:31px}
 .garyu-page .steps h3{font-size:22px}
 .garyu-page .faq-list summary{font-size:20px;padding-left:32px}
 .garyu-page .faq-list summary:before{top:25px;font-size:10px}
 .garyu-page .faq-list details[open] summary{padding-left:40px}
 .garyu-page .faq-list details[open] summary:before{left:8px}
 .garyu-page .faq-list details[open] p{padding:0 16px 20px 40px}
 .garyu-page .signup-grid>div:first-child{padding-left:20px}
 .garyu-page .consent-row{--consent-line:20px}
}
@media(prefers-reduced-motion:reduce){
 .garyu-page .welcome-card,.garyu-page .button{transition:none}
 .garyu-page .welcome-card:hover,.garyu-page .button:hover{transform:none}
}
/* Desktop return to top: scoped control, shared by public pages. */
.garyu-page .back-to-top{position:fixed;right:24px;bottom:24px;z-index:40;display:none;align-items:center;justify-content:center;gap:14px;min-width:120px;height:52px;padding:0 16px 0 20px;border:1px solid #ffffff38;border-left:3px solid var(--accent-primary);border-radius:0;background:#171b17;color:#fff;box-shadow:0 6px 24px #0003;font:600 13px/1 var(--font-body);cursor:pointer;transition:background .18s ease,box-shadow .18s ease}
.garyu-page .back-to-top[hidden]{display:none!important}
.garyu-page .back-to-top svg{display:block;width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.garyu-page .back-to-top:hover{background:var(--accent-primary);box-shadow:0 8px 28px #0004}
.garyu-page .back-to-top:focus-visible{outline:3px solid var(--accent-primary);outline-offset:4px}
@media(min-width:1024px){.garyu-page .back-to-top{display:flex}}
@media(prefers-reduced-motion:reduce){.garyu-page .back-to-top{transition:none}}
