/* Shared guide pages: Kawaramachi palette, body typography and square surfaces. */
@font-face{font-family:"Shineido Guide Logo";src:url('/kawaramachi/assets/fonts/shineido-logo-mincho.woff2') format('woff2');font-weight:400;font-display:swap}
body.guide-page{
 --font-sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
 --font-serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif CJK JP",serif;
 --font-display:Georgia,"Times New Roman",serif;
 --text-main:#493d56;--text-sub:#716477;--accent-dark:#493d56;--accent-color:#817393;
 --bg-color:#f8f6f9;--gold-gradient:linear-gradient(#493d56,#493d56);
 background:#f8f6f9;color:#493d56;font-family:var(--font-sans);font-size:15px;font-weight:400;line-height:1.95;padding-bottom:0;
}
body.guide-page main *,body.guide-page main *::before,body.guide-page main *::after{border-radius:0!important}
body.guide-page :is(h1,h2,h3,h4,h5){font-family:var(--font-serif);font-weight:400;letter-spacing:.04em;text-wrap:pretty}
body.guide-page main :is(p,li){text-align:left;text-wrap:pretty;letter-spacing:.03em}
body.guide-page .container{width:calc(100% - 64px);max-width:1100px;margin-inline:auto;padding-inline:0}
body.guide-page .area-hero{background:#eee8f2;padding:clamp(40px,6vw,76px) 0}
body.guide-page .area-title{font-size:clamp(27px,3vw,40px);line-height:1.65;letter-spacing:.04em}
body.guide-page .area-lead{font-size:15px;line-height:2.1}
body.guide-page .area-kicker{font-size:11px;letter-spacing:.16em}
body.guide-page .area-band{padding:clamp(36px,5vw,64px) 0}
body.guide-page .area-band--soft{background:#eee8f2}
body.guide-page .area-heading{font-size:clamp(23px,2.4vw,30px);line-height:1.7;margin-bottom:28px}
body.guide-page .area-grid{gap:20px}
body.guide-page :is(.area-card,.card,.area-grid .area-card:nth-child(n),.area-split .area-card:nth-child(n),.route-list li,.faq-list--subpage .faq-item){background:#fefcff;border:1px solid #ded5e4;box-shadow:none}
body.guide-page :is(.area-card,.card){padding:28px}
body.guide-page :is(.area-card,.card)::before,body.guide-page .area-card::after,body.guide-page .area-photo::before{display:none}
body.guide-page .area-card h3,body.guide-page .card-title{font-size:19px;line-height:1.7;color:#493d56}
body.guide-page .card-title{border-color:#ded5e4}
body.guide-page :is(.area-card p,.area-card li){font-size:14px;line-height:2;color:#716477}
body.guide-page .area-photo{border:1px solid #ded5e4;background:#fefcff;padding:8px;box-shadow:none}
body.guide-page .area-photo img{display:block;width:100%}
body.guide-page .area-btn{background:#493d56;border:1px solid #493d56;box-shadow:none;color:#fefcff;font-family:var(--font-sans);font-size:13px;min-height:48px;padding:12px 22px;line-height:1.8;text-align:center;transition:background-color .2s}
body.guide-page .area-btn:hover{background:#665570;transform:none}
body.guide-page .area-btn--ghost{background:#fefcff;color:#493d56;border-color:#cbbfd4}
body.guide-page .area-btn--ghost:hover{background:#e5dcebcf}
body.guide-page :is(.pill-row span,.route-list li:nth-child(n) span){background:#eee8f2;border-color:#ded5e4;color:#493d56;font-family:var(--font-sans)}
body.guide-page .area-cta{background:#e8dfed;border:1px solid #ded5e4;box-shadow:none;padding:28px}
body.guide-page .area-cta p{text-align:center}
body.guide-page .shop-map{box-shadow:none;border-color:#ded5e4}
body.guide-page .faq-question{background:#fefcff;color:#493d56;font-family:var(--font-sans);font-weight:500;line-height:1.8}
body.guide-page .faq-answer{color:#716477;line-height:2}
body.guide-page .mobile-nav__panel{background:#f8f6f9;box-shadow:none;color:#493d56;overflow-x:hidden}
body.guide-page .mobile-nav__list a{font-family:var(--font-sans);font-size:16px;writing-mode:horizontal-tb;border-color:#ded5e4}
body.guide-page :is(a,button):focus-visible{outline:2px solid #817393;outline-offset:4px}
@media(max-width:760px){
 body.guide-page .container{width:calc(100% - 40px)}
 body.guide-page .area-hero__grid{gap:30px}
 body.guide-page :is(.area-card,.card,.area-cta){padding:22px}
 body.guide-page .area-title br{display:none}
 body.guide-page .area-lead{font-size:14px}
 body.guide-page .area-actions{display:grid;grid-template-columns:1fr;width:100%}
 body.guide-page .area-btn{width:100%}
}
@media(prefers-reduced-motion:reduce){body.guide-page .area-btn{transition:none}}

/* Keep the shared privacy-policy header and footer alignment. */
body.guide-page header.simple-header .hamburger{width:46px;height:46px;min-width:46px;min-height:46px;padding:0;flex-shrink:0;border-radius:50%}
body.guide-page .store-footer .store-footer__copyright{width:100%;text-align:center;margin-inline:auto}

/* Store-aware guides use the same square cards and quiet Kyoto palette. */
body.guide-page .guide-store-note{padding-block:24px;border-block:1px solid #ded5e4}
body.guide-page .guide-store-note p{margin:0;font-size:14px;line-height:2}
body.guide-page .guide-branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
body.guide-page .guide-branch{display:flex;flex-direction:column;min-width:0}
body.guide-page .guide-branch address{font-style:normal;font-size:14px;line-height:1.9;margin:12px 0}
body.guide-page .guide-branch__reception{padding:16px;background:#eee8f2}
body.guide-page .guide-branch .area-actions{margin-top:auto;flex-wrap:wrap}
body.guide-page .area-cta .area-actions{justify-content:center}
body.guide-page #guide-stores{scroll-margin-top:110px}
@media(max-width:760px){body.guide-page .guide-branch-grid{grid-template-columns:1fr}body.guide-page .guide-store-note p{font-size:13px}}

body.guide-page .guide-title-tail{display:block;font-size:clamp(24px,3vw,40px)}

/* Editorial rhythm: separate copy, notices, actions and adjacent content. */
body.guide-page .area-hero{background:#f2eef4;padding-block:clamp(44px,6vw,80px)}
body.guide-page .area-hero__grid{gap:clamp(32px,5vw,64px);align-items:center}
body.guide-page .area-band{padding-block:clamp(48px,6vw,84px)}
body.guide-page .area-band--soft{background:#f2eef4}
body.guide-page .area-hero+.area-band--soft{background:#faf8fc}
body.guide-page .area-lead{margin-top:24px;margin-bottom:28px}
body.guide-page .area-actions{gap:14px;margin-top:24px}
body.guide-page .area-grid,body.guide-page .area-split{gap:28px}
body.guide-page .area-card>p+p{margin-top:16px}
body.guide-page .area-card>h3{margin-bottom:16px}
body.guide-page .area-card>ul{margin-top:16px}
body.guide-page .area-cta{margin-top:40px;padding:32px}
body.guide-page .area-cta p{margin:0 0 20px}
body.guide-page .area-heading+p{max-width:760px;margin:0 auto 28px;line-height:2}
body.guide-page .guide-store-note{padding-block:28px;background:#faf8fc}
body.guide-page .guide-branch__reception{margin:18px 0 24px;padding:18px}
body.guide-page .guide-branch .area-actions{padding-top:4px;margin-top:auto}
body.guide-page .guide-branch .area-actions+p{margin-top:18px}
body.guide-page .guide-nature-photo{margin:0;border:0;padding:0;background:transparent}
body.guide-page .guide-nature-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
body.guide-page .guide-nature-photo figcaption{margin-top:10px;font-size:10px;color:#7c7084;letter-spacing:.04em;text-align:right}
body.guide-page .back-home{display:inline-block;margin-top:28px}
@media(max-width:760px){
 body.guide-page .area-grid,body.guide-page .area-split{gap:22px}
 body.guide-page .area-hero__grid{gap:32px}
 body.guide-page .area-cta{padding:24px;margin-top:30px}
 body.guide-page .area-card>h3{margin-bottom:12px}
}

body.guide-page .guide-founder-portrait{display:block;width:180px;max-width:100%;height:auto;margin:20px 0;object-fit:cover}

/* Pale editorial headings: English gesture, clear Japanese meaning. */
@font-face{font-family:"Shineido Script";src:url('/assets/fonts/Allura-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
body.guide-page{background:#f8f7f4}
body.guide-page .area-hero{background:#f1eeeb;padding-block:clamp(56px,7vw,96px)}
body.guide-page .area-band--soft{background:#f1efed}
body.guide-page .area-hero+.area-band--soft,body.guide-page .guide-store-note{background:#f8f7f4}
body.guide-page .area-kicker{font-family:var(--font-display);font-size:9px;letter-spacing:.23em;color:#746b74;margin-bottom:22px}
body.guide-page .guide-heading{margin:0;line-height:1.4;text-wrap:balance}
body.guide-page .guide-heading__english{display:block;font-family:"Shineido Script",cursive;font-size:clamp(64px,7vw,94px);font-weight:400;line-height:1.12;letter-spacing:0;color:#635862;padding:0 .08em .08em 0}
body.guide-page .guide-heading__japanese{display:block;margin-top:12px;font-family:var(--font-sans);font-size:17px;line-height:1.9;letter-spacing:.09em;color:#493d56}
body.guide-page .area-heading.guide-heading{margin-bottom:38px;text-align:center}
body.guide-page .area-heading .guide-heading__english{font-size:clamp(42px,4.8vw,60px);color:#786a74}
body.guide-page .area-heading .guide-heading__japanese{font-size:15px;margin-top:8px;letter-spacing:.08em}
body.guide-page .area-lead{font-size:14px;line-height:2.15;margin-top:28px;max-width:38em}
body.guide-page .area-card,body.guide-page .card{border-color:#e2dddf}
body.guide-page .area-card h3,body.guide-page .card-title{font-size:18px;letter-spacing:.05em}
body.guide-page .guide-store-note{border-color:#e2dddf}
body.guide-page .guide-store-note p{font-size:13px;color:#716477}
body.guide-page .guide-branch__reception{background:#f1efed}
body.guide-page .area-cta{background:#eeeaed;border-color:#ded7df}
@media(max-width:760px){
 body.guide-page .area-hero{padding-block:44px 48px}
 body.guide-page .area-kicker{font-size:8px;margin-bottom:18px}
 body.guide-page .area-title .guide-heading__english{font-size:clamp(52px,12.8vw,76px)}
 body.guide-page .guide-heading__japanese{font-size:15px;letter-spacing:.06em;margin-top:12px}
 body.guide-page .area-heading .guide-heading__english{font-size:clamp(36px,9.8vw,48px)}
 body.guide-page .area-heading .guide-heading__japanese{font-size:14px;letter-spacing:.04em}
 body.guide-page .area-heading.guide-heading{margin-bottom:28px}
 body.guide-page .area-lead{margin-top:24px;font-size:14px}
}

/* Regional walking route: wide map, moderate height, square edges. */
body.guide-page .guide-walking-route__lead{max-width:52em;margin:0 0 30px;line-height:2}
body.guide-page .guide-walking-route__map{width:calc(100% - 64px);max-width:1440px;margin:0 auto;background:#eeece7}
body.guide-page .guide-walking-route__map iframe{display:block;width:100%;height:440px;border:0;border-radius:0}
body.guide-page .guide-walking-route__details{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px}
body.guide-page .guide-walking-route__details p{margin:0;font-size:14px;line-height:1.9}
body.guide-page .guide-walking-route__details .area-btn{flex-shrink:0}
@media(max-width:760px){
 body.guide-page .guide-walking-route__map{width:calc(100% - 32px)}
 body.guide-page .guide-walking-route__map iframe{height:360px}
 body.guide-page .guide-walking-route__details{display:block}
 body.guide-page .guide-walking-route__details .area-btn{margin-top:20px}
}
