/* 2026-10-20 LP visual unification with ryokuwa.com (HP). Loaded last; remove this link to revert. */
:root{--ink:#26231f;--text:#3f3a34;--muted:#57514a;--paper:#f3efe8;--white:#f8f5ef;--stone:#e5ded2;--night:#3b332c;--green:#26231f;--soft:#ece6dc;--glow:#e3c48f;--line:rgba(43,40,36,.16);
--serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;--sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif}
body{background:var(--paper);color:var(--text);font-family:var(--sans);letter-spacing:.04em}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink)}
.en h1,.en h2,.en h3{font-family:Georgia,"Hiragino Mincho ProN",serif;letter-spacing:0}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline-color:var(--green)}

/* header: HP lockup 緑和 | ryokuwa */
.site-header{background:rgba(245,241,234,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.brand{gap:14px;align-items:baseline}
.wordmark{font:400 26px/1 var(--serif);letter-spacing:.14em;color:var(--ink)}
.brand .wordmark-en{font:12px/1 Georgia,serif;letter-spacing:.2em;color:var(--ink);opacity:.8;padding-left:14px;border-left:1px solid var(--ink)}
.brand-note{display:none}
.nav-links{font-size:13px;letter-spacing:.1em}
.nav-book{border-radius:0;border-color:var(--ink);color:var(--ink);letter-spacing:.12em;transition:background .3s,color .3s}
.nav-book:hover{background:var(--ink);color:var(--paper)}

/* shared parts: square corners, HP eyebrow, glow line */
.hero-visual,.care-experience-photo,.course-photo,.signature-image,.visit-photo,.editorial-image,.course,.access-lines,.booking-card,.consult,.menu-group,.menu-option{border-radius:0}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.2em;color:var(--muted);text-transform:none}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--green);opacity:.6;flex:none}
.booking .eyebrow::before{background:var(--glow);opacity:1}
.consult .eyebrow::before{display:none}
.button{border-radius:0;background:var(--green);border-color:var(--green);letter-spacing:.1em;transition:background .3s}
.button:hover{background:#3a352f}
.button.light{background:transparent;color:var(--green)}
.button.light:hover{background:var(--soft)}
.text-link,.course-guide-link,.hero-alternative{color:var(--green)}
.price,.booking-card .booking-price,.sticky-book .sticky-price{font-family:var(--serif);color:var(--ink)}
.tax{color:var(--muted)}

/* hero: photo cut square, offer divider as HP indirect-light line */
.hero h1{font-weight:400}
.ja .hero h1{letter-spacing:.06em}
@media(min-width:1001px){.ja .hero h1{letter-spacing:.1em}}
.hero-description{color:var(--muted)}
.hero-offer{border-top:0;position:relative}
@media(min-width:701px){.hero-offer{padding-top:26px}}
.hero-offer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--glow),rgba(227,196,143,0) 90%);box-shadow:0 0 12px 1px rgba(227,196,143,.5)}
.photo-caption{letter-spacing:.2em}
.trust-strip{border-block:1px solid var(--line);color:var(--muted)}
@media(min-width:701px){.trust-strip{letter-spacing:.08em}}

/* section rhythm: stone band like HP menu, night band for booking */
.editorial{background:var(--stone)}
.editorial-copy>p,.value p,.consult p,.consult .terms{color:var(--muted)}
.en .price,.en .booking-price,.en .sticky-price{font-family:Georgia,serif}
.en body,body.en{letter-spacing:0}
.value{border-top-color:rgba(43,40,36,.22)}
.value .number,.flow b{font-family:var(--serif);color:var(--green)}
.consult{background:var(--stone);border:0}
.course,.access-lines{background:var(--white);border-color:var(--line)}
.signature{border-color:var(--line)}
.booking{background:var(--night);color:#e9e2d6;position:relative}
.booking::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--glow) 30%,#f3dfb6 50%,var(--glow) 70%,transparent);box-shadow:0 0 14px 1px rgba(227,196,143,.55)}
.booking h2{color:#fff}
.booking p{color:#d8cfc0}
.booking .eyebrow{color:rgba(255,255,255,.72)}
.booking-card{background:var(--paper)}
.booking-card p{color:var(--muted)}
.line-icon{border-color:var(--green);color:var(--green)}
.line-icon.asakusa{border-color:#8a6f58;color:#8a6f58}
.faq-list,details{border-color:var(--line)}
.footer{border-top-color:var(--line)}
.footer .wordmark{font-size:24px}
.footer small{color:var(--muted)}
.sticky-book{background:rgba(245,241,234,.96);border-top:1px solid var(--line)}
.sticky-book .sticky-price{color:var(--ink)}
dialog{border-radius:0}
@media(max-width:700px){.wordmark{font-size:23px}.brand .wordmark-en{font-size:11px;padding-left:10px}.brand{gap:10px}.eyebrow{font-size:11px;letter-spacing:.14em}.eyebrow::before{width:20px}}
@media(max-width:400px){.brand .wordmark-en{display:none}.en .brand .wordmark{display:none}.en .brand .wordmark-en{display:block;border:0;padding:0;font-size:22px;letter-spacing:.14em;opacity:1}}
@media(prefers-reduced-motion:reduce){.nav-book,.button{transition:none}}
/* menu pages */
.menu-group{background:var(--white);border-color:var(--line)}
.menu-option{background:var(--paper);border-color:rgba(43,40,36,.22);color:var(--ink)}
.menu-option:hover{background:var(--soft)}
.menu-option strong{font-family:var(--serif);font-weight:400}
.menu-option small,.menu-option .menu-action{color:var(--muted)}
.menu-option .menu-action{color:var(--green)}
.menu-intro h1{letter-spacing:.08em}
.menu-intro>p,.menu-group>p{color:var(--muted)}
.menu-page .footer .text-link{margin-top:0}
@media(max-width:700px){.ja .menu-intro h1{font-size:26px;letter-spacing:.04em}}

/* HP lower-page rule (Obsidian brand note 2026-10-16): no green in UI. Overrides the legacy olive-green greys. */
.eyebrow,.course-kicker,.tagline,.booking .eyebrow{color:var(--muted)}
.booking .eyebrow{color:rgba(255,255,255,.72)}
.value .number,.flow b{color:var(--muted)}
.text-link,.course-guide-link,.hero-alternative{border-color:rgba(38,35,31,.4);text-decoration-color:rgba(38,35,31,.4)}
.text-link:hover,.hero-alternative:hover{border-color:var(--ink);text-decoration-color:var(--ink)}
.eyebrow::before{background:var(--ink);opacity:.45}
.booking .eyebrow::before{background:var(--glow);opacity:1}
.line-icon{border-color:var(--ink);color:var(--ink)}
.menu-option .menu-action{color:var(--muted)}
.menu-option{border-color:rgba(38,35,31,.22)}
.nav-links a:not(.nav-book):hover{color:var(--muted)}
.button.light{color:var(--ink);border-color:var(--ink)}
.answer,.flow p,.route p,.under-button,.arrival-note,.signature-copy .note,.section-head p,.more-treatments p,.footer small,.address,.access-info .station,.hero-description,.photo-caption{color:var(--muted)}
.photo-caption{color:#fff}
.course p,.course h3,.route strong,summary{color:var(--ink)}
.course p{color:var(--muted)}
.trust-strip{color:var(--muted)}
/* consult box: clearer hierarchy and a visible guide link */
.consult,.en .consult{padding:44px 52px;gap:48px;align-items:start;background:var(--stone)}
.consult .eyebrow{font-size:13px;color:var(--ink);letter-spacing:.14em;margin-bottom:14px}
.consult h3,.en .consult h3{font-size:28px;line-height:1.6;letter-spacing:.08em;margin-top:0;color:var(--ink)}
.en .consult h3{letter-spacing:0;font-size:30px;line-height:1.35}
.consult p,.en .consult p{font-size:15px;line-height:2.05;color:var(--ink)}
.consult .terms,.en .consult .terms{font-size:13px;line-height:1.9;color:var(--muted);margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.consult .course-guide-link{display:inline-flex;align-items:center;gap:12px;min-height:46px;margin-top:18px;padding:11px 22px;border:1px solid var(--ink);border-bottom:1px solid var(--ink);font-size:14px;letter-spacing:.08em;color:var(--ink);background:var(--paper);transition:background .3s,color .3s}
.consult .course-guide-link:hover{background:var(--ink);color:var(--paper)}
@media(max-width:700px){.consult,.en .consult{padding:30px 22px}.consult h3,.en .consult h3{font-size:24px;margin-bottom:16px}.consult p,.en .consult p{font-size:14px}.consult .terms,.en .consult .terms{font-size:12.5px}.consult .course-guide-link{display:flex;justify-content:space-between;width:100%}}
@media(max-width:700px){.consult,.en .consult{padding:24px 18px}.consult .eyebrow{font-size:12px;margin-bottom:10px}.consult h3,.en .consult h3{font-size:22px;margin-bottom:12px}.en .consult h3{font-size:24px}.consult p,.en .consult p{font-size:14px;line-height:1.95}.consult .course-guide-link{display:inline-flex;width:auto;max-width:100%;min-height:44px;padding:9px 16px;font-size:13px;letter-spacing:.04em;margin-top:14px}.consult .terms,.en .consult .terms{font-size:12px;margin-top:14px;padding-top:12px}}
@media(max-width:700px){.consult .course-guide-link{font-size:12.5px;letter-spacing:0;padding:9px 12px;gap:8px}}
@media(max-width:700px){.consult,.en .consult{padding:20px 16px}.ja .consult h3 br{display:none}.consult .eyebrow{margin-bottom:6px}.consult h3,.en .consult h3{font-size:21px;line-height:1.5;margin-bottom:10px}.en .consult h3{font-size:23px}.consult p,.en .consult p{font-size:13.5px;line-height:1.85}.consult .course-guide-link{margin-top:10px;min-height:42px}.consult .terms,.en .consult .terms{font-size:12px;line-height:1.75;margin-top:10px;padding-top:10px}}
@media(max-width:700px){.consult h3,.en .consult h3{font-size:22px}.consult p,.en .consult p{font-size:14.5px;line-height:2}.consult .terms,.en .consult .terms{font-size:12.5px;line-height:1.85}.consult .course-guide-link{font-size:13px}}
/* consult as a full-width band */
.consult,.en .consult{position:relative;background:var(--stone);box-shadow:0 0 0 100vmax var(--stone);clip-path:inset(0 -100vmax)}
.consult{margin-top:48px;margin-bottom:12px}
.consult,.en .consult{padding-inline:0}@media(max-width:700px){.consult,.en .consult{padding-inline:0}}
@media(max-width:360px){.nav-links{gap:10px;font-size:12px;letter-spacing:0}.nav-book{font-size:11px;letter-spacing:0;padding:8px 10px}.en .brand .wordmark-en{font-size:19px;letter-spacing:.08em}.nav{gap:8px}}
.en .hero-description em,.care-intro>p,.en .care-intro>p{color:var(--muted)}.booking-card select{border-color:rgba(38,35,31,.3);border-radius:0;color:var(--ink)}
.booking :focus-visible{outline-color:var(--glow)}
