/* Consultation identity: graph paper, editorial type, restrained motion. */
body.booking-body{background:#fff}.booking{border:0;box-shadow:none;border-radius:0;background:#fff;max-width:880px;margin:12px auto 40px;padding:24px 28px 46px}.consult-breadcrumb{font-size:12px;line-height:1.6;color:#827c73;margin:0 0 20px}.consult-breadcrumb a{text-underline-offset:4px}.consult-intro{text-align:center;border:3px solid #22221e;border-radius:30px;padding:28px 28px 26px;margin:0 0 42px;box-shadow:7px 8px 0 #ff8037;background-color:#faf8f0;background-image:linear-gradient(#d5d4ce88 1px,transparent 1px),linear-gradient(90deg,#d5d4ce88 1px,transparent 1px),radial-gradient(ellipse at 100% 10%,#ffb95a33,transparent 65%),radial-gradient(ellipse at 0% 100%,#ff713026,transparent 60%);background-size:28px 28px,28px 28px,100% 100%,100% 100%;isolation:isolate}.consult-page-title{display:inline-flex;align-items:center;gap:18px;font-size:17px;font-weight:750;color:#22221e;margin:0 0 25px}.consult-page-title:before,.consult-page-title:after{content:"";width:2px;height:24px;background:#22221e;transform:rotate(-38deg)}.consult-page-title:after{transform:rotate(38deg)}.booking .consult-intro h1{margin:0 0 25px;line-height:1.35;letter-spacing:0;font-weight:700;color:#191916}.consult-promise{display:block;font-size:32px;font-weight:600;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;margin-bottom:9px;white-space:nowrap}.consult-promise b{font:900 44px/1.4 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;text-decoration:none}.booking .consult-intro h1 .consult-key{display:block;color:#ef6425;font-size:58px;font-weight:900;letter-spacing:-.045em;line-height:1.4;white-space:nowrap;background:linear-gradient(110deg,#ed4c20 5%,#f57925 30%,#ed4c20 50%,#e99b28 70%,#ed4c20 95%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:consult-gradient 7s ease-in-out infinite}.consult-ending{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:55px;font-weight:500;line-height:1.4;margin-top:0}.consult-intro .consult-description{font-size:21px;font-weight:650;line-height:1.85;color:#fff;margin:0 0 24px;padding:16px 12px;border-radius:12px;background:#20201d;box-shadow:4px 5px 0 #ff8539;letter-spacing:.01em}.consult-description b{font-weight:800;color:#ff863d}.booking .consult-intro .consult-service{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:#fffdf8;border:2px solid #22221e;border-radius:40px;padding:7px 24px;color:#22221e;font-size:16px;line-height:1.4;margin:0;box-shadow:3px 4px 0 #f98532;vertical-align:middle}.consult-service>b{font-size:18px;font-weight:800}.consult-service strong{font-size:33px;font-weight:800;color:#ef6526;font-variant-numeric:tabular-nums;margin-left:4px}.service-divider{width:1px;height:19px;background:#ddd2c4}.consult-form-heading{padding-top:0;margin-bottom:22px}.booking .consult-form-heading h2{font-size:26px;border:0;padding:0;margin:0 0 8px;letter-spacing:0}.consult-form-heading p{font-size:14px;color:#777;margin:0}.consult-intro{animation:consult-enter .65s ease-out both}@keyframes consult-gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes consult-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.booking{padding:18px 16px 42px;margin:0}.consult-breadcrumb{font-size:11px;margin-bottom:16px}.consult-intro{border-width:2px;border-radius:22px;padding:24px 14px 22px;box-shadow:5px 6px 0 #ff8037;margin:0 4px 34px 0;background-size:21px 21px,21px 21px,100% 100%,100% 100%}.consult-page-title{font-size:14px;gap:14px;margin-bottom:23px}.consult-page-title:before,.consult-page-title:after{height:19px}.consult-promise{font-size:clamp(17px,5.1vw,29px);margin-bottom:10px}.consult-promise b{font-size:clamp(25px,7.5vw,43px)}.booking .consult-intro h1 .consult-key{font-size:clamp(25px,7.65vw,44px);letter-spacing:-.045em}.consult-ending{font-size:clamp(33px,10vw,52px);margin-top:3px}.booking .consult-intro h1{margin-bottom:21px}.consult-intro .consult-description{font-size:clamp(11px,3.55vw,19px);line-height:1.85;margin-bottom:22px;padding:13px 5px;border-radius:8px;letter-spacing:-.025em;white-space:nowrap}.booking .consult-intro .consult-service{padding:6px 15px;gap:11px;font-size:12px}.consult-service>b{font-size:14px}.consult-service strong{font-size:27px}.booking .consult-form-heading h2{font-size:clamp(19px,5.3vw,26px)}.consult-form-heading p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.consult-intro,.booking .consult-intro h1 .consult-key{animation:none!important}}
/* Compact hierarchy: one focal line, quieter supporting type. */
.consult-intro{padding:22px 24px 20px;margin-bottom:30px}
.consult-page-title{font-size:14px;margin-bottom:17px;gap:12px}
.consult-page-title:before,.consult-page-title:after{height:18px}
.consult-promise{font-size:24px;margin-bottom:8px;line-height:1.3}
.consult-promise b{font-size:32px;line-height:1.3}
.booking .consult-intro h1{margin-bottom:18px;line-height:1.2}
.booking .consult-intro h1 .consult-key{font-size:54px;line-height:1.22;letter-spacing:-.045em}
.consult-ending{font-size:35px;font-weight:600;line-height:1.25;margin-top:5px}
.consult-intro .consult-description{font-size:17px;line-height:1.65;padding:12px 10px;margin-bottom:15px;box-shadow:3px 3px 0 #ff8539}
.booking .consult-intro .consult-service{font-size:13px;padding:5px 18px;gap:11px;box-shadow:2px 3px 0 #f98532}
.consult-service>b{font-size:15px}.consult-service strong{font-size:25px}.service-divider{height:15px}
@media(max-width:600px){
.consult-breadcrumb{margin-bottom:12px}
.consult-intro{padding:18px 12px 16px;margin:0 4px 27px 0;border-radius:20px;box-shadow:4px 5px 0 #ff8037}
.consult-page-title{font-size:12px;margin-bottom:17px;gap:10px}
.consult-page-title:before,.consult-page-title:after{height:16px}
.consult-promise{font-size:clamp(16px,4.5vw,23px);margin-bottom:8px;line-height:1.3}
.consult-promise b{font-size:clamp(22px,6.3vw,32px);line-height:1.3}
.booking .consult-intro h1 .consult-key{font-size:clamp(26px,8.45vw,44px);line-height:1.2;letter-spacing:-.05em}
.consult-ending{font-size:clamp(25px,7vw,35px);font-weight:600;line-height:1.25;margin-top:5px}
.booking .consult-intro h1{margin-bottom:16px}
.consult-intro .consult-description{font-size:clamp(11px,3.55vw,17px);padding:10px 5px;line-height:1.65;margin-bottom:14px;border-radius:7px}
.booking .consult-intro .consult-service{font-size:11px;padding:4px 14px;gap:10px}
.consult-service>b{font-size:13px}.consult-service strong{font-size:23px}
}

/* Fill the heading measure; keep the service details on one baseline. */
.consult-intro{container-type:inline-size}
.booking .consult-intro h1{width:100%;max-width:650px;margin-left:auto;margin-right:auto}
.consult-promise{font-size:clamp(20px,7.6cqw,42px);letter-spacing:-.035em;margin-bottom:7px}
.consult-promise b{font-size:clamp(27px,10cqw,55px)}
.booking .consult-intro h1 .consult-key{font-size:clamp(30px,12.4cqw,78px);letter-spacing:-.035em;line-height:1.2}
.consult-ending{font-size:clamp(28px,9cqw,48px);letter-spacing:.12em;line-height:1.2;margin-top:6px;text-align:right;padding-right:.05em}
.booking .consult-intro .consult-service{display:inline-flex;align-items:center;gap:12px;padding:10px 22px;border:1px solid #cfc5b7;box-shadow:none;border-radius:8px;font-size:15px;line-height:1.4;white-space:nowrap;font-weight:600}
.consult-service>b{font-size:15px;line-height:1.4;color:#e65d23}
.consult-service .service-duration{font-size:15px;line-height:1.4}
.service-divider{height:16px;background:#d8cfc2}
@media(max-width:600px){
.consult-page-title{margin-bottom:16px}
.booking .consult-intro h1{margin-bottom:18px}
.booking .consult-intro .consult-service{font-size:13px;gap:10px;padding:9px 18px}
.consult-service>b,.consult-service .service-duration{font-size:13px}
}
