/* The approved DUO composition, carried into HUB's charcoal / white palette. */
.hub-duo-family{--hf-dark:#202428;--hf-paper:#f2f4f5;--hf-line:#cbd3d7;--hf-gold:#dfc58e}
.hub-duo-family .hr-section{padding:62px 0}
.hub-duo-family .hr-wrap{max-width:1200px}
.hub-duo-family .hr-section h2{font-weight:600;font-size:clamp(28px,3.2vw,44px);line-height:1.65;letter-spacing:.025em;margin-bottom:30px}
.hub-duo-family .hr-label{font-size:19px;line-height:1.8;letter-spacing:.04em;margin-bottom:20px;color:#59646b}
.hub-duo-family .hr-cta{min-height:60px;font-size:15px;line-height:1.6;padding:18px 24px;box-sizing:border-box}
.hub-duo-family .hub-hero{--cream:#f4f4ef;--gold:#dfc58e;--green:#202428;background:#202428;min-height:820px;padding:150px 6vw 35px;gap:38px}
.hub-hero:before{background:linear-gradient(90deg,rgba(20,25,29,.97) 0%,rgba(20,25,29,.88) 25%,rgba(20,25,29,.44) 56%,rgba(20,25,29,.03) 100%),linear-gradient(0deg,rgba(20,25,29,.65),transparent 35%)}
.hub-hero .rs-duo-copy{max-width:580px}
.hub-hero .rs-duo-scene.lp-photos{min-height:0;margin:0;border:0;border-radius:0;background:var(--hf-dark);overflow:hidden}
.hub-hero .rs-duo-scene .lp-photo{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:68% 42%;opacity:0;transition:opacity .75s ease;pointer-events:none}
.hub-hero .rs-duo-scene .lp-photo.is-current{opacity:1}
@media(prefers-reduced-motion:reduce){.hub-hero .rs-duo-scene .lp-photo{transition:none}}
.hub-hero .duo-hero-label{font:500 12px/1.8 'Noto Sans JP',sans-serif;letter-spacing:.08em;color:#dfc58e;margin:0 0 22px}
.hub-hero h1{font-size:clamp(32px,3.1vw,46px);font-weight:600;line-height:1.65;margin-bottom:20px}
.hub-hero .rs-duo-lead{font:400 15px/2 'Noto Sans JP',sans-serif;margin-bottom:24px}
.hub-hero .duo-hero-offer{max-width:365px}
.hub-hero .duo-hero-offer>p:first-child{display:flex;flex-direction:column;gap:5px;margin-bottom:17px;color:#f5f4ed}
.hub-hero .duo-hero-offer>p>strong{font:500 24px/1.5 'Noto Sans JP',sans-serif;letter-spacing:0}
.hub-hero .duo-hero-offer strong>span{font-size:16px}
.hub-hero .duo-hero-offer>p>span{font:400 11px/1.9 'Noto Sans JP',sans-serif;color:#d4dbe0}
.hub-hero .duo-reassure{font:400 11px/1.9 'Noto Sans JP',sans-serif;color:#d4dbe0;margin:13px 0 10px}
.hub-hero .duo-text-link{font:500 12px/1.9 'Noto Sans JP',sans-serif;color:#dfc58e;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.hub-hero .rs-duo-signature{padding-bottom:8px;border-color:#cbd3d76b}
.hub-hero .rs-duo-signature strong{font-size:clamp(44px,6vw,84px)}
.hub-hero .rs-duo-signature span{font-family:'Noto Sans JP',sans-serif;font-size:12px;color:#d9dee1}
.hub-hero .lp-controls{position:absolute;display:flex;align-items:center;justify-content:center;gap:12px;z-index:3;top:auto;bottom:135px;right:4vw;left:auto;height:44px;width:auto;min-height:0;padding:8px 13px;transform:none;background:#202428c9;border:1px solid #ccd4d34d;border-radius:30px;color:#fff}
.hub-hero .lp-controls button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;border:0;background:transparent;color:#fff;cursor:pointer;font:400 20px/1 sans-serif}
.hub-hero .lp-controls .lp-count{font:400 12px/1.5 'Noto Sans JP',sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums}
.hub-hero .lp-controls [data-pause]{border-left:1px solid #ccd4d34d;padding-left:10px;width:36px}
.hub-hero .lp-controls button:focus-visible{outline:2px solid #dfc58e;outline-offset:2px}
.hf-training{background-color:#202428;background-image:repeating-linear-gradient(45deg,#ffffff03 0,#ffffff03 9px,transparent 9px,transparent 20px);color:#f5f4ee}
.hub-duo-family .hf-training h2,.hf-training h3{color:#f5f4ee}
.hub-duo-family .hf-training .hr-label{color:#dfc58e}
.hf-training .hf-intro,.hf-training p{color:#d1d9dd;line-height:2.1}
.hf-training-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:30px}
.hf-training-grid article{min-width:0}
.hf-training-grid img{display:block;width:100%;height:270px;object-fit:cover;object-position:50% 43%}
.hf-training-grid article>div{padding-top:22px}
.hf-training-grid h3{font-size:21px;line-height:1.8;margin-bottom:12px}
.hf-training-grid p{font-size:13px;margin:0}
.hf-foundation{display:grid;grid-template-columns:1fr 1.9fr;gap:35px;border-top:1px solid #a3b0b346;padding-top:25px;margin-top:30px}
.hf-foundation h3{font-size:16px;color:#dfc58e;margin:0}
.hf-foundation p{font-size:13px;margin:0}
.hf-training .hr-more{border-color:#a3b0b346}
.hf-training .hr-more>summary{color:#dfc58e}
.hf-training .hr-original-classes{color:#202428}
.hf-training .hr-original-classes p{color:#5f686e}
.hf-training .hr-original-classes h3{color:#202428}
.hf-system{background:#fff}
.hf-system-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;margin-top:30px}
.hf-system-visual>img{display:block;width:100%;height:280px;object-fit:cover;object-position:50% 57%}
.hf-reserve-diagram{background:#f0f3f4;padding:26px 24px 24px;text-align:center}
.hf-reserve-diagram>strong{display:block;font:600 16px/1.7 'Noto Sans JP',sans-serif;position:relative;padding-bottom:22px}
.hf-reserve-diagram>strong:after{content:'';height:21px;width:1px;background:#abb8bf;position:absolute;bottom:0;left:50%}
.hf-reserve-branches{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;padding-top:21px}
.hf-reserve-branches:before{content:'';position:absolute;left:25%;right:25%;top:0;height:17px;border:1px solid #abb8bf;border-bottom:0}
.hf-reserve-branches>div{position:relative;padding:13px 8px;background:#fff;border:1px solid #ccd5da}
.hf-reserve-branches b{display:block;font:700 14px/1.8 'Noto Sans JP',sans-serif}
.hf-reserve-branches span{display:block;font:400 11px/1.8 'Noto Sans JP',sans-serif;color:#63727b;margin-top:5px}
.hf-system-copy h3{font-size:18px;margin:0 0 12px}
.hf-system-copy p{font-size:14px;line-height:2.1;margin-bottom:24px}
.hf-system-copy p:last-child{margin-bottom:0}
.hf-conditions .hr-use-note{border-color:#cbd3d7;margin-top:30px}
.hf-conditions .hr-use-note>strong{color:#485961}
.hf-conditions .hr-use-note p{color:#64747d}
.hub-duo-family .hr-voice{background:#f0f2f3}
.hub-duo-family .hr-trial{background:#fff}
.hub-duo-family .hr-trial-steps{gap:24px;margin:30px 0}
.hub-duo-family .hr-trial-steps li{border:0;padding:0}
.hr-trial-steps img{display:block;width:100%;height:170px;object-fit:cover}
.hr-trial-steps li>div{padding:17px 0}
.hr-trial-steps li>div>span{display:block;color:#9b803e;font:600 12px/1.5 'Cinzel',serif;margin-bottom:8px}
.hub-duo-family .hr-trial-steps h3{font-size:17px}
.hub-duo-family .hr-trial-pack{background:#f2f4f5}
.hub-duo-family .hr-reservation .hr-label{color:#dfc58e}
.hub-duo-family .hr-reservation h2{font-size:clamp(26px,2.8vw,39px)}
@media(max-width:1100px) and (min-width:769px){.hub-duo-family .hub-hero{min-height:790px;padding-top:140px}.hub-hero .rs-duo-copy{max-width:53%}.hub-hero h1{font-size:32px}.hub-hero .rs-duo-lead{font-size:13px}.hub-hero .duo-hero-offer{max-width:320px}.hf-system-layout{gap:30px}.hf-training-grid{gap:25px}.hf-training-grid img{height:235px}}
@media(max-width:768px){
.hub-duo-family .hr-section{padding:42px 0}.hub-duo-family .hr-section h2{font-size:27px;margin-bottom:22px}.hub-duo-family .hr-label{font-size:16px;margin-bottom:17px}.hub-duo-family .hr-cta{font-size:14px;padding:17px 19px;min-height:58px}
.hub-duo-family .hub-hero{min-height:0;padding:0;gap:0}.hub-duo-family .hub-hero .rs-duo-scene{left:0;width:100%;height:255px;margin-top:46px}.hub-hero .rs-duo-scene .lp-photo{object-position:56% 39%}.hub-hero .rs-duo-signature{margin-top:-43px;min-height:0;padding:13px 24px 12px;display:block;background:#202428e8}.hub-hero .rs-duo-signature strong{font-size:29px}.hub-hero .rs-duo-signature span{display:none}.hub-hero .rs-duo-copy{max-width:none;padding:22px 24px 28px}.hub-hero .duo-hero-label{font-size:10px;margin-bottom:13px;letter-spacing:.035em}.hub-hero h1{font-size:29px;line-height:1.55;letter-spacing:0;margin-bottom:14px}.hub-hero .rs-duo-lead{font-size:13px;line-height:1.9;margin-bottom:18px}.hub-hero .duo-hero-offer{max-width:none}.hub-hero .duo-hero-offer>p:first-child{gap:3px;margin-bottom:14px}.hub-hero .duo-hero-offer>p>strong{font-size:22px}.hub-hero .duo-hero-offer>p>span{font-size:10px}.hub-hero .duo-reassure{font-size:10px;margin:11px 0 8px}.hub-hero .duo-text-link{font-size:11px}.hub-hero .lp-controls{top:200px;bottom:auto;right:18px;height:42px}
.hf-training .hf-intro{font-size:12px;line-height:2}.hf-training-grid{display:block;margin-top:24px}.hf-training-grid article+article{margin-top:27px}.hf-training-grid img{height:auto;aspect-ratio:1.6;object-position:50% 45%}.hf-training-grid article>div{padding-top:16px}.hf-training-grid h3{font-size:18px;margin-bottom:9px}.hf-training-grid p{font-size:12px;line-height:2}.hf-foundation{display:block;margin-top:24px;padding-top:20px}.hf-foundation h3{font-size:14px;margin-bottom:9px}.hf-foundation p{font-size:12px;line-height:2}
.hf-system-layout{display:block;margin-top:24px}.hf-system-visual{margin-bottom:25px}.hf-system-visual>img{height:auto;aspect-ratio:1.55;object-position:50% 55%}.hf-reserve-diagram{padding:19px 15px}.hf-reserve-diagram>strong{font-size:14px}.hf-reserve-branches{gap:12px}.hf-reserve-branches b{font-size:12px}.hf-reserve-branches span{font-size:10px}.hf-system-copy h3{font-size:16px;margin-bottom:10px}.hf-system-copy p{font-size:12px;line-height:2;margin-bottom:21px}.hf-conditions .hr-use-note{margin-top:24px}
.hub-duo-family .hr-trial-steps{display:block;margin:24px 0}.hub-duo-family .hr-trial-steps li{display:grid;grid-template-columns:93px 1fr;gap:16px;align-items:start;padding:17px 0;border-top:1px solid #cbd3d7}.hr-trial-steps img{height:100px}.hr-trial-steps li>div{padding:0}.hr-trial-steps li>div>span{font-size:10px;margin-bottom:5px}.hub-duo-family .hr-trial-steps h3{font-size:15px;margin-bottom:7px}.hr-trial-steps p{font-size:12px;line-height:2}.hub-duo-family .hr-reservation h2{font-size:25px}.hub-duo-family #hub-sticky-trial{min-height:54px;font-size:13px;padding:15px 18px}
}
@media(max-width:360px){.hub-hero .rs-duo-copy{padding-left:20px;padding-right:20px}.hub-duo-family .hub-hero .rs-duo-scene{height:225px}.hub-hero .lp-controls{top:170px}.hub-hero h1{font-size:25px}.hub-hero .rs-duo-signature{padding-left:20px}.hub-hero .rs-duo-signature strong{font-size:27px}.hub-duo-family .hr-section h2{font-size:24px}.hub-duo-family .hr-cta{font-size:12px}.hub-duo-family .hr-trial-steps li{grid-template-columns:75px 1fr;gap:13px}.hr-trial-steps img{height:80px}.hf-training-grid h3{font-size:16px}}
