/*
Theme Name: Sake Resort Central
Theme URI: https://www.sakeresort.jp/
Author: Sake Resort Central
Description: サケリゾート セントラル公式サイト専用テーマ。料金、営業案内、持ち込みルール、団体・貸切、予約・問い合わせをスマートフォン優先で案内します。
Version: 1.7.1
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: sake-resort-central
*/

.owner-editable-page > .content-section:first-child,
.owner-editable-page > .page-hero:first-child{margin-top:0}
.owner-editable-page:not(.owner-editable-home){width:100%;max-width:100%;min-width:0;margin:0;padding:0;overflow-x:clip}
.owner-editable-home{width:100%;max-width:100%;min-width:0;padding:0;overflow-x:clip}
.owner-editable-home .content-section{width:100%;max-width:100%;min-width:0}
.owner-editable-home .wrap{max-width:calc(100% - 48px);min-width:0}
.owner-editable-home .wp-block-group,.owner-editable-home .wp-block-columns,.owner-editable-home .wp-block-column{min-width:0}
.owner-editable-home img,.owner-editable-home iframe{max-width:100%}
.owner-editable-page:not(.owner-editable-home)>h2:first-child{margin-top:0}
.owner-editable-page h2{font-size:clamp(30px,4vw,46px);color:var(--navy);margin:1.4em 0 .6em}
.owner-editable-page h3{font-size:clamp(22px,3vw,30px);color:var(--navy);margin:1.2em 0 .5em}
.owner-editable-page p,.owner-editable-page li{max-width:900px}
.owner-editable-page .wp-block-buttons{margin:28px 0}
.owner-editable-page .wp-block-image img{height:auto}
.owner-editable-page .alignwide{max-width:1180px;margin-left:auto;margin-right:auto}
.owner-editable-page .alignfull{width:100%}
@media(max-width:680px){.owner-editable-page:not(.owner-editable-home){width:100%;padding:0}}

:root{--ivory:#f5f0e5;--paper:#fffdf8;--navy:#0b1d2c;--navy2:#132b3d;--gold:#c7a45a;--gold2:#e1c47c;--ink:#18202a;--muted:#66707b;--line:#d9d2c3;--red:#8d332d;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.8;-webkit-font-smoothing:antialiased}body.admin-bar .site-header{top:32px}a{color:inherit;text-decoration:none}p{margin:0 0 1em}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.35;margin:0}button,a,summary{touch-action:manipulation}.skip-link{position:fixed;left:12px;top:-100px;z-index:99999;background:#fff;color:var(--navy);padding:10px 16px;border:2px solid var(--gold);font-weight:700}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}.wrap{width:min(1120px,calc(100% - 48px));margin:0 auto}.wrap.narrow{width:min(900px,calc(100% - 48px))}.preview-bar{background:#a56f12;color:white;text-align:center;padding:7px 16px;font-size:12px;letter-spacing:.08em;line-height:1.5}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(11,29,44,.12)}.header-inner{min-height:92px;width:min(1320px,calc(100% - 32px));margin:auto;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:40px;height:40px;background:var(--navy);color:var(--gold2);font-family:var(--serif);font-size:22px}.brand b{display:block;font-family:var(--serif);font-size:16px;letter-spacing:.05em}.brand small{display:block;font-size:9px;letter-spacing:.17em;color:#6a7177;margin-top:1px}.desktop-nav{display:flex;flex:1;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:3px 14px;font-size:11px;font-weight:600;line-height:1.35}.desktop-nav a{padding:6px 0;border-bottom:1px solid transparent;white-space:nowrap}.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{border-color:var(--gold)}.desktop-nav .lang-link{border:1px solid var(--navy);padding:4px 9px;letter-spacing:.12em}.mobile-nav{display:none}.mobile-nav summary{list-style:none;width:42px;height:42px;border:1px solid var(--line);display:grid;place-content:center;gap:5px;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{display:block;width:20px;height:1.5px;background:var(--navy)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;color:#98793a;margin:0 0 16px}.eyebrow.light{color:var(--gold2)}.button{min-height:50px;padding:12px 22px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:.03em;border:1px solid transparent;transition:.2s}.button:hover{transform:translateY(-1px)}.button.gold{background:var(--gold2);color:var(--navy)}.button.navy{background:var(--navy);color:white}.button.outline{border-color:var(--navy);color:var(--navy);background:transparent}.button.outline-light{border-color:rgba(255,255,255,.7);color:white}.button.center{display:flex;width:max-content;margin:34px auto 0}.text-link{display:inline-flex;gap:18px;align-items:center;margin-top:22px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:4px}.text-link span{color:#98793a}.section-lead{color:var(--muted);max-width:720px}.big-copy{font-family:var(--serif);font-size:26px;line-height:1.7;color:var(--navy)}
.home-hero{position:relative;overflow:hidden;min-height:690px;background:var(--navy);color:white;display:flex;align-items:center}.hero-glow{position:absolute;inset:0;background:radial-gradient(circle at 78% 28%,rgba(199,164,90,.24),transparent 28%),linear-gradient(120deg,transparent 35%,rgba(255,255,255,.025) 35% 36%,transparent 36% 47%,rgba(255,255,255,.02) 47% 48%,transparent 48%)}.hero-grid{position:relative;width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1.45fr .65fr;gap:72px;align-items:center;padding:82px 0 96px}.hero-copy h1{font-size:clamp(42px,5.05vw,68px);letter-spacing:.03em}.hero-copy h1 .hero-kicker{display:block;font-size:.61em;margin-bottom:12px;color:#f5efe2}.hero-copy h1 .hero-titleline{display:block;white-space:nowrap;color:#fff}.hero-lead{font-size:19px;line-height:1.9;margin-top:26px;color:#e5e7e7}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.hero-tags span{border:1px solid rgba(255,255,255,.35);padding:5px 11px;font-size:12px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.age-note{font-size:11px;color:#bfc7cc;margin-top:22px;letter-spacing:.05em}.price-panel{border:1px solid rgba(225,196,124,.65);padding:34px 30px;background:rgba(3,14,24,.5);box-shadow:0 30px 80px rgba(0,0,0,.25)}.price-panel>p{font-size:10px;letter-spacing:.2em;line-height:1.6;color:var(--gold2);margin-bottom:20px}.price-main{display:flex;align-items:flex-end;line-height:1;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:8px}.price-main span{font-family:Georgia,serif;font-size:94px;color:#fff}.price-main small{font-size:17px;margin:0 0 15px 6px}.yen{font-family:Georgia,serif;font-size:34px;color:var(--gold2);margin:14px 0;display:flex;align-items:baseline;white-space:nowrap}.yen>span{font-size:20px}.yen small{font-family:var(--sans);font-size:11px;color:white;margin-left:7px;white-space:nowrap}.price-panel ul{list-style:none;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:7px}.price-panel li{background:rgba(255,255,255,.08);padding:4px 8px;font-size:11px}.price-panel>a{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.18);padding-top:16px;font-size:13px;font-weight:700}.scroll-cue{position:absolute;bottom:25px;left:50%;font-size:9px;letter-spacing:.2em;color:#9cabba;display:flex;align-items:center;gap:12px}.scroll-cue span{display:block;width:50px;height:1px;background:#82909b}.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid var(--line)}.quick-facts div{padding:24px 20px;text-align:center;border-right:1px solid var(--line)}.quick-facts div:last-child{border:0}.quick-facts b,.quick-facts small{display:block}.quick-facts b{font-family:var(--serif);font-size:17px;color:var(--navy)}.quick-facts small{font-size:11px;color:#7a7f83;margin-top:3px}
.content-section{padding:100px 0}.tone-light{background:var(--paper)}.tone-cream{background:var(--ivory)}.tone-navy{background:var(--navy);color:white}.content-section h2,.photo-story h2{font-size:clamp(30px,4vw,46px);color:var(--navy);margin-bottom:28px}.tone-navy h2{color:white}.tone-navy .eyebrow{color:var(--gold2)}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:85px;align-items:start}.intro-copy>p:not(.big-copy){color:var(--muted)}.steps-mini{border-top:1px solid var(--line)}.steps-mini>div{display:grid;grid-template-columns:44px 1fr;gap:2px 14px;padding:21px 0;border-bottom:1px solid var(--line)}.steps-mini span{grid-row:1/3;color:#a88947;font-family:Georgia,serif;font-size:14px}.steps-mini b{font-family:var(--serif);font-size:18px}.steps-mini small{color:var(--muted)}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px}.plan-card{position:relative;background:var(--paper);border:1px solid var(--line);padding:36px 28px 30px;text-align:center}.plan-card.recommended{border:2px solid var(--gold);transform:translateY(-8px)}.ribbon{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--gold);color:white;padding:4px 14px;font-size:10px;white-space:nowrap;letter-spacing:.05em}.plan-card h3{font-size:23px}.plan-card p{font-family:Georgia,serif;font-size:44px;color:var(--navy);line-height:1.2;margin:15px 0}.plan-card p span{font-size:21px}.plan-card p small{font-family:var(--sans);font-size:12px;margin-left:3px}.plan-card div{font-size:13px;color:var(--muted)}.sub-price{max-width:720px;margin:28px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:16px 20px}.sub-price b{font-family:var(--serif);font-size:19px}.fineprint{text-align:center;color:#74797c;font-size:11px;margin:14px 0}.photo-story{background:#ebe4d7;padding:100px 0}.photo-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-top:38px}.photo-placeholder{min-height:260px;background:linear-gradient(145deg,#d5ccbc,#b9ad9a);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;position:relative;overflow:hidden;color:var(--navy)}.photo-placeholder:before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.45)}.photo-placeholder>span{position:absolute;top:28px;left:30px;font-size:9px;letter-spacing:.25em;color:#fff}.photo-placeholder b,.photo-placeholder small{position:relative}.photo-placeholder b{font-family:var(--serif);font-size:20px}.photo-placeholder small{font-size:11px}.photo-wide{grid-row:span 2;min-height:532px}.drink-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.drink-visual{min-height:420px;position:relative;background:linear-gradient(160deg,#ede7dc 0 70%,#c7baa6 70%);overflow:hidden}.drink-visual:before{content:"";position:absolute;left:10%;right:10%;top:12%;height:1px;background:#c7b17b;box-shadow:0 96px #c7b17b,0 192px #c7b17b}.bottle{position:absolute;bottom:80px;width:62px;background:linear-gradient(90deg,#172f2b,#3e5a4c,#132722);border-radius:8px 8px 4px 4px;box-shadow:0 14px 30px rgba(0,0,0,.2)}.bottle:before{content:"";position:absolute;left:19px;top:-46px;width:24px;height:50px;background:#1f3730;border-radius:3px 3px 0 0}.bottle:after{content:"酒";position:absolute;top:38%;left:8px;right:8px;background:#f4eddf;color:#1d2730;text-align:center;font-family:var(--serif);font-size:22px;padding:16px 0}.b1{height:250px;left:16%}.b2{height:300px;left:40%;width:68px;background:linear-gradient(90deg,#292c33,#59606a,#20242b)}.b3{height:225px;left:68%;background:linear-gradient(90deg,#49331d,#75583a,#3d2b1b)}.glass{position:absolute;right:9%;bottom:54px;width:80px;height:67px;border:3px solid rgba(255,255,255,.7);border-top:0;border-radius:0 0 32px 32px;background:linear-gradient(transparent 60%,rgba(223,190,114,.55) 60%)}.check-list{list-style:none;padding:0;margin:25px 0}.check-list li{padding:10px 0 10px 28px;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:#9b7b38}.hours-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.25)}.hours-grid>div{padding:30px;border-right:1px solid rgba(255,255,255,.25)}.hours-grid>div:last-child{border:0}.hours-grid span,.hours-grid b,.hours-grid small{display:block}.hours-grid span{font-size:12px;color:var(--gold2);letter-spacing:.08em}.hours-grid b{font-family:Georgia,serif;font-size:32px;margin:4px 0}.hours-grid small{color:#b8c1c7}.hours-note{text-align:center;margin:24px auto 0;color:#c5cbd0}.social-row,.button-row{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:26px}.access-card{display:grid;grid-template-columns:1fr .85fr;gap:50px;align-items:stretch}.access-card>.photo-placeholder{min-height:330px}.access-address{font-family:var(--serif);font-size:24px;line-height:1.7}.access-address b{font-size:32px;color:var(--navy)}.address-confirm{display:block;margin-top:16px;color:#777}.english-band{padding:68px max(24px,calc((100% - 1120px)/2));background:#e8dfce;display:flex;justify-content:space-between;align-items:center;gap:40px}.english-band p{font-size:10px;letter-spacing:.2em;color:#8d6b29}.english-band h2{font-family:Georgia,serif;font-size:30px;max-width:760px;margin-bottom:10px}.english-band span{font-size:13px;color:#687077}.cta-band{background:var(--navy2);color:white;padding:70px max(24px,calc((100% - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-band h2{font-size:34px}.cta-band p:not(.eyebrow){color:#c1cad0}.cta-buttons{display:flex;gap:10px;flex-wrap:wrap}
.page-hero{background:linear-gradient(110deg,var(--navy),#17364d);color:white;padding:88px 0 76px;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(225,196,124,.22);border-radius:50%;right:-120px;top:-220px;box-shadow:0 0 0 50px rgba(225,196,124,.035),0 0 0 100px rgba(225,196,124,.025)}.page-hero h1{font-size:clamp(38px,5vw,58px);position:relative}.page-lead{font-size:18px;max-width:730px;color:#d2d8dc;margin:24px 0 0}.hero-english{font-family:Georgia,serif;color:var(--gold2);font-size:22px;margin:8px 0}.plan-grid.detail{margin-top:50px}.icon-card-grid,.tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.icon-card-grid article,.tips-grid article{background:var(--paper);border:1px solid var(--line);padding:30px}.icon-card-grid span{font-size:11px;color:#98793a;letter-spacing:.1em}.icon-card-grid b,.tips-grid b{display:block;font-family:var(--serif);font-size:23px;margin:8px 0}.icon-card-grid p,.tips-grid p{color:var(--muted);font-size:14px;margin:0}.recommend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.recommend-grid>div{border-top:3px solid var(--gold);padding-top:18px}.recommend-grid span{font-family:Georgia,serif;color:#9b7d42}.recommend-grid h3{font-size:20px;margin:6px 0}.recommend-grid b{color:#98712c}.recommend-grid p{color:var(--muted);font-size:14px;margin-top:8px}.confirm-badge{display:inline-block;background:#a57522;color:white!important;padding:2px 7px;font-size:9px!important;letter-spacing:.05em;white-space:nowrap}.confirm-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.confirm-list li{border-bottom:1px solid rgba(255,255,255,.18);padding:12px 0;display:flex;align-items:center;gap:12px}.confirm-list.dark-text li{border-color:var(--line)}.large-steps{max-width:900px;margin:auto}.large-steps article{display:grid;grid-template-columns:105px 1fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line)}.large-steps article>span{font-family:Georgia,serif;font-size:38px;color:#b29454}.large-steps h3{font-size:25px}.large-steps p{color:var(--muted);margin:8px 0 0}.split-copy{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rule-grid article{padding:32px;border:1px solid var(--line)}.rule-grid article>span{display:inline-block;padding:3px 9px;background:var(--navy);color:white;font-size:11px}.rule-grid h3{font-size:22px;margin:14px 0 8px}.rule-grid p{color:var(--muted);margin:0}.rule-ok{border-top:4px solid #617c5f!important}.rule-info{border-top:4px solid var(--gold)!important}.confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirm-grid>div{background:var(--paper);padding:15px;display:flex;gap:10px;align-items:center;font-size:14px}.drink-list-grid,.use-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.drink-list-grid article,.use-grid article{border-top:2px solid var(--gold);padding:24px 18px;background:var(--paper)}.drink-list-grid span,.use-grid span{font-family:Georgia,serif;color:#a88b4e}.drink-list-grid h3,.use-grid h3{font-size:21px;margin:10px 0}.drink-list-grid p,.use-grid p{font-size:14px;color:var(--muted);margin:0}.map-placeholder{min-height:330px;background:repeating-linear-gradient(35deg,#e0d8ca,#e0d8ca 1px,#f1ece3 1px,#f1ece3 18px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6c716f}.map-placeholder span{font-size:10px;letter-spacing:.2em}.map-placeholder b{font-family:var(--serif);font-size:23px}.map-placeholder small{font-size:11px}.route-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.route-grid,.social-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.route-grid article{padding:30px;border:1px solid var(--line)}.route-grid span{font-size:12px;color:#957430}.route-grid h3{font-size:23px;margin:5px 0 10px}.route-grid p{color:var(--muted)}.hours-table{max-width:820px;margin:auto;border-top:1px solid var(--line)}.hours-table>div{display:grid;grid-template-columns:220px 1fr;align-items:center;padding:24px;border-bottom:1px solid var(--line)}.hours-table span{font-weight:700}.hours-table b{font-family:Georgia,serif;font-size:30px;color:var(--navy)}.hours-table small{color:var(--muted)}.social-cards{grid-template-columns:repeat(3,1fr)}.social-cards a{background:var(--paper);border:1px solid var(--line);padding:30px}.social-cards b,.social-cards span{display:block}.social-cards b{font-family:Georgia,serif;font-size:22px}.social-cards span{font-size:12px;color:#98793a;margin-top:8px}.number-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.number-list li{background:var(--paper);padding:22px;display:flex;gap:20px}.number-list li>span{font-family:Georgia,serif;font-size:30px;color:#b0904d}.number-list b{font-family:var(--serif);font-size:19px}.number-list p{font-size:13px;color:var(--muted);margin:2px 0}.faq-list{max-width:900px;margin:auto;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;padding:24px 8px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--serif);font-weight:600;font-size:19px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary b{color:#a78642;font-family:var(--sans);font-weight:400}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details>div{padding:0 8px 24px;color:var(--muted);display:flex;gap:12px;align-items:flex-start}.faq-list details p{margin:0}.english-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.english-facts>div{border:1px solid var(--line);padding:25px}.english-facts b,.english-facts span{display:block}.english-facts b{font-family:Georgia,serif;font-size:19px}.english-facts span{color:var(--muted);font-size:13px}.owner-checklist{display:grid;grid-template-columns:1fr 1fr;gap:18px}.owner-checklist article{border:1px solid var(--line);padding:26px}.owner-checklist h3{font-size:21px;border-bottom:1px solid var(--line);padding-bottom:13px}.owner-checklist ul{list-style:none;padding:0;margin:15px 0 0}.owner-checklist li{display:flex;gap:9px;padding:6px 0;font-size:14px}.owner-checklist li>span{color:#9b7b38}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.source-grid>div{background:var(--paper);padding:20px}.source-grid b,.source-grid span{display:block}.source-grid b{font-size:11px;color:#947330}.source-grid span{font-size:14px;margin-top:3px}
.site-footer{background:#07141f;color:#d5dce0;padding:70px max(24px,calc((100% - 1120px)/2)) 110px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:55px}.footer-brand{font-family:var(--serif);font-size:22px;color:white}.footer-grid p{font-size:13px;color:#9facb5}.footer-note{color:var(--gold2)!important}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;font-size:12px}.footer-links a:hover{color:var(--gold2)}.footer-access small{font-size:9px;color:#7c8b96}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:20px;font-size:10px;color:#788793;display:flex;justify-content:space-between}.mobile-actions{display:none}
@media(max-width:900px){body{font-size:16px}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav[open]>nav{position:absolute;left:0;right:0;top:78px;background:var(--paper);padding:12px 24px 24px;border-bottom:1px solid var(--line);box-shadow:0 20px 35px rgba(0,0,0,.12)}.mobile-nav nav a{display:flex;justify-content:space-between;padding:13px 4px;border-bottom:1px solid var(--line);font-size:14px}.hero-grid{grid-template-columns:1fr .65fr;gap:35px}.hero-copy h1{font-size:48px}.intro-grid,.drink-layout,.access-card,.split-copy{gap:45px}.footer-grid{grid-template-columns:1fr 1fr}.footer-access{grid-column:1/3}.drink-list-grid,.use-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){body{font-size:15px;padding-bottom:68px}.preview-bar{font-size:10px;padding:6px 10px}.header-inner{height:66px;width:calc(100% - 28px)}.brand-mark{width:35px;height:35px}.brand b{font-size:13px}.brand small{font-size:8px}.mobile-nav[open]>nav{top:66px}.wrap,.wrap.narrow{width:calc(100% - 36px)}.home-hero{min-height:auto}.hero-grid{width:calc(100% - 36px);grid-template-columns:1fr;padding:65px 0 90px}.hero-copy h1{font-size:clamp(37px,11vw,50px)}.hero-copy h1 .hero-kicker{font-size:.56em}.hero-copy h1 .hero-titleline{white-space:normal}.hero-lead{font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.button{min-height:48px;padding:11px 14px;font-size:12px;text-align:center}.price-panel{padding:27px 25px}.price-main span{font-size:74px}.scroll-cue{display:none}.quick-facts{grid-template-columns:1fr 1fr}.quick-facts div{padding:17px 8px;border-bottom:1px solid var(--line)}.quick-facts b{font-size:14px}.quick-facts small{font-size:9px}.content-section,.photo-story{padding:68px 0}.content-section h2,.photo-story h2{font-size:30px;margin-bottom:22px}.big-copy{font-size:22px}.intro-grid,.drink-layout,.access-card,.split-copy{grid-template-columns:1fr;gap:35px}.plan-grid{grid-template-columns:1fr;gap:11px}.plan-card.recommended{transform:none;margin-top:8px}.plan-card{padding:28px 20px}.plan-card p{font-size:38px}.sub-price{font-size:12px;padding:13px 8px}.photo-grid{grid-template-columns:1fr 1fr}.photo-placeholder{min-height:210px;padding:18px}.photo-placeholder:before{inset:10px}.photo-placeholder b{font-size:16px}.photo-wide{grid-column:1/3;grid-row:auto;min-height:330px}.drink-visual{min-height:330px}.bottle{transform:scale(.78);transform-origin:bottom}.hours-grid{grid-template-columns:1fr}.hours-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.25);padding:23px 20px}.hours-grid b{font-size:25px}.english-band,.cta-band{padding:50px 24px;display:block}.english-band h2{font-size:25px}.english-band .button,.cta-band .button{margin-top:24px}.cta-buttons{display:grid;grid-template-columns:1fr}.page-hero{padding:62px 0 54px}.page-lead{font-size:15px}.icon-card-grid,.tips-grid,.recommend-grid,.rule-grid,.confirm-grid,.route-grid,.social-cards,.english-facts,.owner-checklist,.source-grid{grid-template-columns:1fr}.large-steps article{grid-template-columns:58px 1fr;gap:13px;padding:26px 0}.large-steps article>span{font-size:28px}.large-steps h3{font-size:20px}.route-photos{grid-template-columns:1fr}.drink-list-grid,.use-grid{grid-template-columns:1fr 1fr;gap:9px}.drink-list-grid article,.use-grid article{padding:19px 13px}.hours-table>div{grid-template-columns:1fr;padding:18px 8px}.hours-table b{font-size:25px}.number-list{grid-template-columns:1fr}.faq-list summary{font-size:16px;padding:20px 2px}.faq-list details>div{display:block}.faq-list .confirm-badge{margin-bottom:8px}.footer-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.footer-access{grid-column:auto}.site-footer{padding-bottom:45px}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:60;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -6px 22px rgba(0,0,0,.14)}.mobile-actions a{min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--navy)}.mobile-actions .mobile-map{background:var(--gold2)}.mobile-actions b{font-size:13px}.mobile-actions small{font-size:9px}.footer-bottom{margin-bottom:10px}}
.media-photo{margin:0;background:#e7e0d4;overflow:hidden}.media-photo img{display:block;width:100%;height:auto;object-fit:cover}.media-photo figcaption{padding:11px 13px;background:#fff;color:#59636b;font-size:12px;line-height:1.55;border:1px solid var(--line);border-top:0}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:48px}.hero-copy{min-width:0}.hero-copy h1{font-size:clamp(42px,4.7vw,62px)}.hero-copy h1 .hero-titleline{white-space:normal}.hero-price-copy{display:flex;align-items:baseline;gap:9px;color:var(--gold2);margin:18px 0 0}.hero-price-copy span{font-size:13px;letter-spacing:.08em}.hero-price-copy b{font-family:Georgia,serif;font-size:34px}.hero-price-copy small{font-size:11px;color:#fff}.hero-store-photo{position:relative;border:1px solid rgba(225,196,124,.68);padding:10px;background:rgba(0,0,0,.12);box-shadow:0 28px 70px rgba(0,0,0,.28)}.hero-store-photo img{height:430px;object-fit:cover}.hero-store-photo figcaption{position:absolute;left:10px;right:10px;bottom:10px;border:0;background:linear-gradient(transparent,rgba(4,17,27,.88));color:white;padding:44px 18px 14px}.photo-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}.photo-route-grid .media-photo img{height:270px}.feature-photo img{min-height:420px}.portrait-photo img{height:390px}.system-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px}.system-photo-grid .media-photo img{height:220px}.first-visit-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.first-visit-gallery .media-photo img,.first-visit-gallery .missing-photo{height:285px}.missing-photo{min-height:260px;border:1px dashed #a98c50;background:repeating-linear-gradient(135deg,#f1eadc,#f1eadc 12px,#e9dfce 12px,#e9dfce 24px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;color:var(--navy)}.missing-photo>span{background:#a57522;color:white;font-size:9px;letter-spacing:.08em;padding:3px 8px;margin-bottom:10px}.missing-photo b{font-family:var(--serif);font-size:20px}.missing-photo small{max-width:280px;color:#6a7073;margin-top:7px}.drink-photo-grid,.english-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.drink-photo-grid .media-photo img,.english-photo-grid .media-photo img{height:240px}.access-route{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.access-route .media-photo img{height:285px}.route-note{font-size:12px;color:#70777b;text-align:center;margin:20px 0 0}.review-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.review-photo-grid article{border:1px solid var(--line);background:#fff}.review-photo-grid .media-photo img{height:310px}.review-photo-grid article>p{font-size:12px;color:#626b71;margin:10px 14px}.review-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-groups article{background:#fff;border:1px solid var(--line);padding:24px}.review-groups h3{font-size:20px}.review-groups p{font-size:14px;color:var(--muted);margin:8px 0 0}.retake-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.retake-grid article{border-top:3px solid var(--gold);background:#fff;padding:26px}.retake-grid h3{font-size:22px}.retake-grid p{font-size:13px;color:#5f686d;margin:10px 0 0}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr 1fr;gap:30px}.hero-store-photo img{height:430px}.photo-route-grid,.system-photo-grid,.first-visit-gallery,.drink-photo-grid,.english-photo-grid,.access-route{grid-template-columns:1fr 1fr}.review-photo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.hero-grid{grid-template-columns:1fr}.hero-store-photo img{height:310px}.hero-store-photo figcaption{font-size:11px}.photo-route-grid,.system-photo-grid,.first-visit-gallery,.drink-photo-grid,.english-photo-grid,.access-route,.review-photo-grid,.review-groups,.retake-grid{grid-template-columns:1fr}.photo-route-grid .media-photo img,.system-photo-grid .media-photo img,.first-visit-gallery .media-photo img,.drink-photo-grid .media-photo img,.english-photo-grid .media-photo img,.access-route .media-photo img,.review-photo-grid .media-photo img{height:auto;max-height:340px}.first-visit-gallery .missing-photo{height:230px}.feature-photo img{min-height:280px}.portrait-photo img{height:330px}.hero-price-copy b{font-size:30px}}
.instagram-feed-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(320px,1fr);gap:64px;align-items:center}.instagram-feed-copy>p:not(.big-copy){color:var(--muted);max-width:520px}.instagram-feed-copy .button{margin:18px 0 12px}.instagram-feed-copy small{display:block;color:var(--muted);font-size:11px;line-height:1.7}.instagram-embed-shell{min-height:520px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);padding:22px}.instagram-media{width:100%;max-width:540px;min-width:0!important;margin:0 auto!important}.instagram-media>a{display:flex;min-height:440px;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--navy);background:var(--ivory);font-weight:700}
@media(max-width:680px){.instagram-feed-layout{grid-template-columns:1fr;gap:32px}.instagram-embed-shell{min-height:460px;padding:10px}.instagram-media>a{min-height:400px}.instagram-feed-copy .button{width:100%;text-align:center}}
.map-linked{border:1px solid var(--line);transition:.2s}.map-linked:hover{border-color:var(--gold);color:var(--navy);transform:translateY(-2px)}
.google-map{width:100%;height:430px;margin-top:38px;border:1px solid var(--line);background:#e7e0d4;overflow:hidden}.google-map iframe{display:block;width:100%;height:100%;border:0}.home-google-map{height:420px}.access-google-map{height:460px}
.access-map-block{margin-top:54px;padding-top:42px;border-top:1px solid var(--line)}.access-map-block h3{font-size:clamp(25px,3vw,34px);color:var(--navy);margin-bottom:10px}.access-map-block>p{color:var(--muted)}
@media(max-width:680px){.google-map,.home-google-map,.access-google-map{height:330px;margin-top:28px}}
@media(min-width:1025px){.src-hide-desktop{display:none!important}}
@media(min-width:681px) and (max-width:1024px){.src-hide-tablet{display:none!important}}
@media(max-width:680px){.src-hide-mobile{display:none!important}}
.local-intro{max-width:900px;color:#4f5b62;font-size:16px;line-height:1.9;margin-bottom:16px}.local-intro strong{color:var(--navy)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:900px){.header-inner{min-height:78px;height:78px;padding:0}}
@media(max-width:680px){.header-inner{min-height:66px;height:66px}}
@media(max-width:680px){.mobile-actions{grid-template-columns:repeat(3,1fr)}.mobile-actions a{padding:5px 2px}.mobile-actions small{font-size:8px}}
.reservation-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.reservation-links .button{margin:0}.notice-box{border-left:4px solid var(--gold);background:var(--paper);padding:22px 24px;margin-top:24px}.notice-box p:last-child{margin-bottom:0}.venue-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.venue-facts article{border:1px solid var(--line);background:var(--paper);padding:26px}.venue-facts h3{font-size:20px;margin:8px 0}.venue-facts p{font-size:14px;color:var(--muted);margin:0}.venue-facts span{font-size:10px;color:#98793a;letter-spacing:.08em}
@media(max-width:680px){.reservation-links{display:grid;grid-template-columns:1fr}.venue-facts{grid-template-columns:1fr}}
.update-types{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 42px}.update-types>div{background:#fff;padding:18px 20px}.update-types b,.update-types span{display:block}.update-types b{font-family:var(--serif);font-size:18px;color:var(--navy)}.update-types span{font-size:12px;color:var(--muted);margin-top:3px}.carry-ideas{margin-top:34px}
@media(max-width:680px){.update-types{grid-template-columns:1fr;margin-bottom:30px}.carry-ideas{margin-top:26px}}

/* Conversion-focused storefront revision */
.conversion-hero{display:block;min-height:calc(100svh - 95px);position:relative;isolation:isolate;background:#07141f}
.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,17,27,.95) 0%,rgba(4,17,27,.87) 48%,rgba(4,17,27,.45) 76%,rgba(4,17,27,.58) 100%)}
.hero-conversion-copy{width:min(1120px,calc(100% - 48px));min-height:calc(100svh - 95px);margin:auto;padding:74px 0 82px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-conversion-copy h1{max-width:820px;font-size:clamp(40px,5.2vw,66px);text-shadow:0 3px 24px rgba(0,0,0,.38)}
.hero-conversion-copy h1 strong{font-weight:600;color:var(--gold2)}
.hero-title-segment{display:inline}.hero-price-line{display:block}
.hero-conversion-copy .hero-lead{max-width:760px;margin:22px 0 0}
.hero-tags-primary{margin:18px 0}
.hero-actions-four{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));width:min(620px,100%);gap:10px}
.hero-caution{margin:18px 0 0;padding:9px 14px;border-left:3px solid var(--gold2);background:rgba(4,17,27,.72);color:#f2f3f3;font-size:13px;font-weight:700;letter-spacing:.03em}
.hero-caution span{color:var(--gold2);padding:0 7px}
.home-plan-grid,.pricing-four-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:100%;gap:12px;margin:38px 0 24px}
.home-plan-grid>* ,.pricing-four-grid>*{min-width:0;max-width:100%}
.home-plan-grid .plan-card p{font-family:Georgia,serif;font-size:35px;color:var(--navy);margin:12px 0 8px;overflow-wrap:anywhere}
.home-plan-grid .plan-card div{font-size:12px;color:var(--muted)}
.companion-card{background:#f9f5eb}
.home-steps,.group-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.home-steps article,.group-benefits article{border-top:3px solid var(--gold);background:#fff;padding:28px 25px}
.home-steps span,.group-benefits span{font-family:Georgia,serif;color:#9d7b37}
.home-steps h3,.group-benefits h3{font-size:23px;margin:8px 0}
.home-steps p,.group-benefits p{font-size:14px;color:var(--muted);margin:0}
.carry-summary,.access-summary,.access-top-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:58px;align-items:center}
.carry-summary .media-photo img,.access-summary .media-photo img,.access-top-grid .media-photo img{height:390px;object-fit:cover}
.access-key-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:22px}
.access-key-facts>div{background:#fff;padding:14px 16px}
.access-key-facts b,.access-key-facts span{display:block}
.access-key-facts b{font-size:11px;color:#947330}
.access-key-facts span{font-size:14px;margin-top:3px}
.button-row.align-start{justify-content:flex-start}
.top-faq-list{margin-top:24px}
.pricing-four-grid .plan-card{padding-inline:18px}
.included-list{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--line)}
.included-list li{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:19px 12px;border-bottom:1px solid var(--line)}
.included-list b{font-family:var(--serif);font-size:20px;color:var(--navy)}
.included-list span{color:var(--muted);font-size:14px}
.recommend-feature{border:1px solid var(--line);border-left:5px solid var(--gold);padding:28px 30px;background:#fff}
.recommend-feature b{display:block;font-family:var(--serif);font-size:27px;color:var(--navy)}
.recommend-feature p{margin:8px 0 0;color:var(--muted)}
.concise-steps article{padding-block:27px}
.access-top-grid{align-items:start}
.access-bus-badge{display:inline-flex;align-items:center;gap:18px;background:var(--gold2);color:var(--navy);padding:10px 16px;margin-bottom:20px}
.access-bus-badge b{font-family:var(--serif)}
.access-bus-badge span{font-weight:800}
.access-phone{display:flex;gap:18px;align-items:baseline;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}
.access-phone span{font-size:12px;color:var(--muted)}
.access-phone a{font-family:Georgia,serif;font-size:26px;color:var(--navy);font-weight:700}
.access-route-four{grid-template-columns:repeat(4,1fr);margin-top:32px}
.access-route-four .media-photo img{height:250px}
.underground-reassurance{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:24px;padding:18px 20px;background:var(--navy);color:white}
.underground-reassurance b{font-family:var(--serif);font-size:18px}
.underground-reassurance span{font-size:13px;color:#cbd3d8}
.nearby-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.nearby-route-grid article{border:1px solid var(--line);border-top:3px solid var(--gold);padding:25px;background:#fff}
.nearby-route-grid span{font-size:11px;color:#92702f}
.nearby-route-grid h3{font-size:21px;margin:7px 0 10px}
.nearby-route-grid p{font-size:14px;color:var(--muted);margin:0}
.capacity-guide{padding:24px;border-left:4px solid var(--gold);background:var(--ivory);margin-bottom:20px}
.capacity-guide>b{display:block;font-family:var(--serif);font-size:23px;color:var(--navy);margin:10px 0 6px}
.capacity-guide p{font-size:14px;color:var(--muted);margin:0}

@media(max-width:900px){
  .home-plan-grid,.pricing-four-grid{grid-template-columns:1fr 1fr}
  .carry-summary,.access-summary,.access-top-grid{gap:32px}
  .nearby-route-grid{grid-template-columns:1fr 1fr}
  .access-route-four{grid-template-columns:1fr 1fr}
}

@media(max-width:680px){
  body{padding-bottom:64px}
  .conversion-hero{min-height:calc(100svh - 88px)}
  .hero-background{object-position:center center}
  .hero-shade{background:linear-gradient(rgba(4,17,27,.72),rgba(4,17,27,.94) 45%,#07141f 100%)}
  .hero-conversion-copy{width:calc(100% - 34px);min-height:calc(100svh - 88px);padding:44px 0 50px;justify-content:flex-end}
  .hero-conversion-copy h1{font-size:clamp(31px,9.3vw,43px);line-height:1.38}
  .hero-conversion-copy .hero-lead{font-size:15px;line-height:1.75;margin-top:15px}
  .hero-tags-primary{margin:12px 0}
  .hero-tags-primary span{font-size:10px;padding:4px 8px}
  .hero-actions-four{grid-template-columns:1fr 1fr;gap:7px}
  .hero-actions-four .button{min-height:44px;padding:8px 7px;font-size:11px}
  .hero-caution{width:100%;font-size:11px;padding:7px 10px;margin-top:12px}
  .home-plan-grid,.pricing-four-grid{grid-template-columns:1fr 1fr;gap:8px}
  .home-plan-grid .plan-card,.pricing-four-grid .plan-card{padding:24px 10px 20px}
  .home-plan-grid .plan-card h3,.pricing-four-grid .plan-card h3{font-size:18px}
  .home-plan-grid .plan-card p{font-size:26px}
  .pricing-four-grid .plan-card p{font-size:30px}
  .home-plan-grid .ribbon,.pricing-four-grid .ribbon{font-size:8px;padding-inline:8px}
  .home-steps,.group-benefits{grid-template-columns:1fr;gap:10px}
  .carry-summary,.access-summary,.access-top-grid{grid-template-columns:1fr;gap:28px}
  .carry-summary .media-photo img,.access-summary .media-photo img,.access-top-grid .media-photo img{height:auto;max-height:330px}
  .access-key-facts{grid-template-columns:1fr}
  .included-list li{grid-template-columns:1fr;gap:4px;padding-inline:2px}
  .included-list b{font-size:18px}
  .access-route-four,.nearby-route-grid{grid-template-columns:1fr}
  .access-route-four .media-photo img{height:auto;max-height:340px}
  .underground-reassurance{display:block}
  .underground-reassurance b,.underground-reassurance span{display:block}
  .underground-reassurance span{margin-top:6px}
  .mobile-actions{grid-template-columns:repeat(4,1fr)}
  .mobile-actions a{min-height:64px;border-right:1px solid #e4ded2}
  .mobile-actions b{font-size:12px}
  .mobile-actions small{font-size:8px}
}

/* Calendar, inquiry and administrator surfaces */
.business-calendar{border:1px solid var(--line);background:#fff}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line)}.calendar-head b,.calendar-head span{display:block}.calendar-head b{font-family:var(--serif);font-size:22px;color:var(--navy)}.calendar-head span,.calendar-head small{color:var(--muted);font-size:12px}.calendar-list{display:grid;grid-template-columns:repeat(2,1fr)}.calendar-day{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px 24px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.calendar-day time{font-weight:700;color:var(--navy)}.calendar-day b,.calendar-day span{display:block}.calendar-day span{font-size:12px;color:var(--muted)}.calendar-day.status-closed{border-left:5px solid var(--red)}.calendar-day.status-open{border-left:5px solid #617c5f}.calendar-day.status-changed{border-left:5px solid var(--gold)}.calendar-empty{padding:32px 24px;text-align:center}.calendar-empty b{font-family:var(--serif);font-size:20px}.calendar-empty p{max-width:680px;margin:8px auto 0;color:var(--muted);font-size:14px}
.inquiry-form{margin-top:28px;border:1px solid var(--line);background:#fff;padding:30px}.inquiry-form label{display:grid;gap:6px;font-weight:700;font-size:14px}.inquiry-form label>span:not(.form-note){font-size:10px;color:var(--red)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}.inquiry-form>label{margin-top:18px}.inquiry-form input,.inquiry-form textarea,.inquiry-form select,.admin-calendar-form input,.admin-calendar-form select{width:100%;border:1px solid #bdb5a7;background:#fff;padding:11px 12px;font:inherit;color:var(--ink);border-radius:0}.inquiry-form textarea{resize:vertical}.inquiry-form .consent{display:flex;align-items:center;gap:10px;font-weight:400}.inquiry-form .consent input{width:20px;height:20px}.inquiry-form .consent span{font-size:13px;color:var(--ink)}.inquiry-form .consent a{text-decoration:underline}.form-note{font-size:12px;color:var(--muted);margin:12px 0}.form-message{margin:14px 0 0;padding:12px}.form-message.sent{background:#edf4ed;color:#345437}.form-message.error{background:#f8e9e7;color:#792d28}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.instagram-feed-block{display:grid;gap:34px}.instagram-feed-copy{max-width:720px}.instagram-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.instagram-card-grid>a{border:1px solid var(--line);background:#fff;display:grid;grid-template-rows:240px 1fr}.instagram-card-grid img{width:100%;height:240px;object-fit:cover}.instagram-card-grid a>div{padding:14px}.instagram-card-grid time{font-size:11px;color:var(--muted)}.instagram-card-grid p{font-size:13px;line-height:1.6;margin:5px 0}.instagram-card-grid span{display:inline-block;background:var(--navy);color:#fff;padding:2px 7px;font-size:9px}.instagram-fallback{border:1px solid var(--line);background:#fff;padding:30px;text-align:center}.instagram-fallback a{font-weight:700;color:var(--navy);border-bottom:1px solid var(--gold)}.instagram-plugin-feed{width:100%;overflow:hidden}.instagram-plugin-feed #sb_instagram{padding-bottom:0!important}
.admin-shell{min-height:100vh;background:var(--ivory);padding:48px max(24px,calc((100% - 1120px)/2)) 90px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:42px}.admin-top h1{font-size:46px;color:var(--navy)}.admin-dashboard{display:grid;gap:48px}.admin-dashboard>section{background:#fff;border:1px solid var(--line);padding:30px}.admin-dashboard h2{font-size:30px;color:var(--navy);margin-bottom:22px}.admin-calendar-form{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:14px;align-items:end}.admin-calendar-form label{display:grid;gap:5px;font-size:12px;font-weight:700}.admin-calendar-form .wide{grid-column:1/4}.admin-table{margin-top:24px;border-top:1px solid var(--line)}.admin-table article{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-table b,.admin-table span,.admin-table small{display:block}.admin-table span,.admin-table small{font-size:12px;color:var(--muted)}.admin-table button{border:0;background:transparent;color:var(--red);cursor:pointer}.inquiry-admin-list{display:grid;gap:14px}.inquiry-admin-list article{border:1px solid var(--line);padding:20px}.inquiry-admin-head{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}.inquiry-admin-head time{font-size:11px;color:var(--muted)}.inquiry-admin-list p{font-size:13px;margin:6px 0}.message-body{white-space:pre-wrap;background:var(--ivory);padding:12px}
@media(max-width:900px){.form-grid{grid-template-columns:1fr 1fr}.instagram-card-grid{grid-template-columns:1fr 1fr}.admin-calendar-form{grid-template-columns:1fr 1fr}.admin-calendar-form .wide{grid-column:1/3}.calendar-list{grid-template-columns:1fr}}
@media(max-width:680px){.calendar-head,.admin-top{display:block}.calendar-head small{display:block;margin-top:10px}.calendar-day{grid-template-columns:96px 1fr;padding:15px}.form-grid,.instagram-card-grid,.admin-calendar-form{grid-template-columns:1fr}.inquiry-form{padding:20px 16px}.instagram-card-grid>a{grid-template-rows:220px 1fr}.instagram-card-grid img{height:220px}.admin-shell{padding-inline:16px}.admin-dashboard>section{padding:20px 14px}.admin-calendar-form .wide{grid-column:auto}.inquiry-admin-head{grid-template-columns:1fr}.admin-top .button-row{justify-content:flex-start}.admin-top h1{font-size:36px}}

@media screen and (max-width:782px){body.admin-bar .site-header{top:46px}}

/* True monthly calendar */
.business-calendar{border:0;background:transparent}.calendar-head{background:#fff;border:1px solid var(--line);padding:24px 26px}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px}.calendar-legend span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);padding:5px 10px;font-size:11px;font-weight:700;color:var(--ink)}.calendar-legend span:before{content:"";width:9px;height:9px;border-radius:50%;background:#617c5f}.calendar-legend .changed:before{background:var(--gold)}.calendar-legend .closed:before{background:var(--red)}.calendar-months{display:grid;gap:28px;margin-top:20px}.calendar-month{background:#fff;border:1px solid var(--line);padding:24px}.calendar-month-title{display:flex;align-items:baseline;gap:10px;color:var(--navy);margin-bottom:14px}.calendar-month-title span{font-family:Georgia,serif;font-size:14px;color:#8a6c31}.calendar-month-title b{font-family:var(--serif);font-size:32px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{padding:8px;text-align:center;background:var(--navy);color:#fff;font-weight:700;font-size:13px}.calendar-weekdays .weekday-0{background:#8d332d}.calendar-weekdays .weekday-6{background:#315f86}.calendar-cell{min-width:0;min-height:116px;border:1px solid var(--line);border-top:5px solid #617c5f;background:#f2f7f1;padding:11px;display:flex;flex-direction:column}.calendar-cell.is-empty{background:#f7f4ed;border-top-color:#e6e0d5}.calendar-cell.status-past{background:#efede8;border-top-color:#c7c0b4;color:#999}.calendar-cell.status-changed{background:#fff3c7;border-top-color:var(--gold)}.calendar-cell.status-closed{background:#f9dedb;border-top-color:var(--red)}.calendar-date{font-family:Georgia,serif;font-size:22px;font-weight:700;line-height:1;color:var(--navy)}.calendar-cell.weekday-0 .calendar-date{color:var(--red)}.calendar-cell.weekday-6 .calendar-date{color:#315f86}.calendar-time-full,.calendar-time-compact{margin-top:auto;font-size:13px;color:var(--navy);white-space:nowrap}.calendar-time-compact{display:none}.calendar-cell small{font-size:9px;font-weight:700;color:#4f6d4d;margin-top:2px}.calendar-cell.status-changed small{color:#87651f}.calendar-cell.status-closed .calendar-time-full,.calendar-cell.status-closed .calendar-time-compact,.calendar-cell.status-closed small{color:var(--red);font-size:15px}.calendar-cell.status-past .calendar-date{color:#a5a097}
@media(max-width:900px){.calendar-month{padding:18px}.calendar-weekdays,.calendar-days{gap:4px}.calendar-cell{min-height:100px;padding:8px}.calendar-time-full{font-size:11px}}
@media(max-width:680px){.calendar-head{padding:18px}.calendar-legend{margin-top:12px}.calendar-month{padding:12px 8px}.calendar-month-title{margin-bottom:8px}.calendar-month-title b{font-size:26px}.calendar-weekdays,.calendar-days{gap:2px}.calendar-weekdays{margin-bottom:2px}.calendar-weekdays span{padding:5px 1px;font-size:11px}.calendar-cell{min-height:74px;padding:6px 4px;border-top-width:3px}.calendar-date{font-size:16px}.calendar-time-full{display:none}.calendar-time-compact{display:block;font-size:10px;letter-spacing:-.03em}.calendar-cell small{font-size:7px}.calendar-cell.status-closed .calendar-time-compact{font-size:12px}.calendar-cell.is-empty{min-height:74px}}

/* High-contrast calendar status colors */
.calendar-legend span{border-width:2px}.calendar-legend .open{background:#e1f2df;border-color:#2f7a3d;color:#1f5a2c}.calendar-legend .changed{background:#ffefad;border-color:#b88108;color:#6c4b00}.calendar-legend .holiday{background:#d9ebff;border-color:#2167a5;color:#174d7b}.calendar-legend .closed{background:#f7c9c5;border-color:#a9241d;color:#7e1712}.calendar-legend .open:before{background:#2f7a3d}.calendar-legend .changed:before{background:#b88108}.calendar-legend .holiday:before{background:#2167a5}.calendar-legend .closed:before{background:#a9241d}.calendar-cell.status-open{background:#e8f4e6;border-color:#a9c9aa;border-top-color:#2f7a3d}.calendar-cell.status-open small{display:inline-block;width:max-content;background:#2f7a3d;color:#fff;padding:1px 5px;margin-top:4px}.calendar-cell.status-changed{background:#ffefad;border-color:#d9b75d;border-top-color:#b88108}.calendar-cell.status-changed small{display:inline-block;width:max-content;background:#b88108;color:#fff;padding:1px 5px;margin-top:4px}.calendar-cell.is-holiday{background:#d9ebff;border-color:#8db9dc;border-top-color:#2167a5}.calendar-cell.is-holiday .calendar-date,.calendar-cell.is-holiday .calendar-time-full,.calendar-cell.is-holiday .calendar-time-compact{color:#174d7b}.calendar-cell.is-holiday small{display:inline-block;width:max-content;max-width:100%;background:#2167a5;color:#fff;padding:1px 5px;margin-top:4px;white-space:normal;line-height:1.3}.calendar-cell.status-closed{background:#f7c9c5;border-color:#d98e88;border-top-color:#a9241d}.calendar-cell.status-closed .calendar-time-full,.calendar-cell.status-closed .calendar-time-compact{width:max-content;background:#a9241d;color:#fff;padding:3px 7px;line-height:1.25}.calendar-cell.is-today{outline:3px solid var(--navy);outline-offset:-3px}.calendar-cell.status-past{background:#e5e2dc;border-color:#c9c3b8;border-top-color:#aaa39a}
@media(max-width:680px){.calendar-legend span{padding:4px 7px}.calendar-cell.status-open small,.calendar-cell.status-changed small,.calendar-cell.is-holiday small{font-size:7px;padding:1px 3px}.calendar-cell.status-closed .calendar-time-compact{padding:2px 4px;font-size:11px}.calendar-cell.is-today{outline-width:2px;outline-offset:-2px}}

/* Familiar Japanese calendar semantics and larger hours */
.calendar-legend .holiday{background:#fde1df;border-color:#b52b23;color:#851b16}.calendar-legend .holiday:before{background:#b52b23}.calendar-legend .closed{background:#484b4d;border-color:#292b2c;color:#fff}.calendar-legend .closed:before{background:#fff}.calendar-cell{min-height:126px;padding:12px}.calendar-time-full{font-size:17px;font-weight:800;letter-spacing:-.02em}.calendar-time-compact{font-size:12px;font-weight:800}.calendar-cell.status-open{background:#edf7ea;border-color:#9fc5a1;border-top-color:#2f7a3d}.calendar-cell.status-changed{background:#ffe9a0;border-color:#d3aa36;border-top-color:#a86f00}.calendar-cell.status-changed small{background:#8e5e00;font-size:10px;font-weight:800}.calendar-cell.is-holiday{background:#fde1df;border-color:#df8d87;border-top-color:#b52b23}.calendar-cell.is-holiday .calendar-date,.calendar-cell.is-holiday .calendar-time-full,.calendar-cell.is-holiday .calendar-time-compact{color:#851b16}.calendar-cell.is-holiday small{background:#b52b23;color:#fff;font-size:10px;font-weight:800}.calendar-cell.status-closed{background:#484b4d;border-color:#292b2c;border-top-color:#111}.calendar-cell.status-closed .calendar-date{color:#fff}.calendar-cell.status-closed .calendar-time-full,.calendar-cell.status-closed .calendar-time-compact{background:transparent;color:#fff;padding:0;font-size:20px;font-weight:900}.calendar-cell.status-closed small{display:none}.calendar-cell.status-past{background:#e5e2dc;border-color:#c9c3b8;border-top-color:#aaa39a}
@media(max-width:900px){.calendar-cell{min-height:112px;padding:9px}.calendar-time-full{font-size:14px}.calendar-cell.status-closed .calendar-time-full{font-size:18px}}
@media(max-width:680px){.calendar-cell{min-height:86px;padding:7px 4px}.calendar-time-compact{font-size:12px}.calendar-cell.status-changed small,.calendar-cell.is-holiday small{font-size:8px;line-height:1.2}.calendar-cell.status-closed .calendar-time-compact{font-size:14px;padding:0}}

/* Weekend colors follow familiar Japanese calendars */
.calendar-legend .saturday{background:#dceeff;border-color:#2e6d9e;color:#1e527a}.calendar-legend .saturday:before{background:#2e6d9e}.calendar-cell.status-open.weekday-0:not(.is-holiday){background:#fde8e6;border-color:#e2a09b;border-top-color:#b52b23}.calendar-cell.status-open.weekday-0:not(.is-holiday) .calendar-time-full,.calendar-cell.status-open.weekday-0:not(.is-holiday) .calendar-time-compact{color:#851b16}.calendar-cell.status-open.weekday-6:not(.is-holiday){background:#e4f1fb;border-color:#9fc2dd;border-top-color:#2e6d9e}.calendar-cell.status-open.weekday-6:not(.is-holiday) .calendar-time-full,.calendar-cell.status-open.weekday-6:not(.is-holiday) .calendar-time-compact{color:#1e527a}

/* Past days stay readable but clearly recede from current and future schedules. */
.calendar-cell.status-past{background:#eceae6!important;border-color:#d4cfc6!important;border-top-color:#bbb4aa!important;color:#98938c!important;filter:saturate(.1);opacity:.72}.calendar-cell.status-past .calendar-date,.calendar-cell.status-past .calendar-time-full,.calendar-cell.status-past .calendar-time-compact,.calendar-cell.status-past small{background:transparent!important;color:#98938c!important}

/* Uploaded store mark in the site header */
.brand-mark{overflow:hidden;background:#fff}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}

/* English visitor guide */
.english-guide{font-family:Georgia,"Times New Roman",serif}.english-guide p,.english-guide li,.english-guide small,.english-guide .button,.english-guide .source-grid span{font-family:Arial,"Helvetica Neue",sans-serif}.english-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}.english-guide .english-steps{margin-top:0}.english-guide .english-reservation-links{margin-bottom:24px}.english-guide .access-top-grid{margin-bottom:34px}
@media(max-width:680px){.english-intro-grid{grid-template-columns:1fr;gap:18px}.english-guide .content-section h2{font-size:clamp(28px,8vw,34px);line-height:1.25}.english-guide .pricing-four-grid{grid-template-columns:1fr 1fr}.english-guide .pricing-four-grid .plan-card{padding-inline:8px}.english-guide .pricing-four-grid .plan-card h3{font-size:16px}.english-guide .reservation-links{grid-template-columns:1fr}.brand-mark{width:40px;height:40px}}

/* Mobile typography and hero image treatment */
@media(max-width:680px){
  body{font-size:16px;line-height:1.85}
  p,li,dd,summary,.button{line-break:strict;word-break:normal;overflow-wrap:break-word}
  h1,h2,h3,.big-copy,.footer-brand{line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
  .content-section h2,.photo-story h2,.owner-editable-page h2{font-size:clamp(26px,7.4vw,30px);line-height:1.45;letter-spacing:.01em}
  .owner-editable-page h3{font-size:clamp(21px,6.2vw,25px);line-height:1.5}
  .page-hero h1{font-size:clamp(30px,8.6vw,38px);line-height:1.42;letter-spacing:.01em;text-wrap:balance}
  .page-lead{font-size:16px;line-height:1.85}
  .big-copy{font-size:22px;line-height:1.7}
  .button{font-size:13px;line-height:1.45}
  .conversion-hero,.hero-conversion-copy{min-height:clamp(660px,calc(100svh - 66px),790px)}
  .hero-background{object-position:center center}
  .hero-shade{background:linear-gradient(180deg,rgba(4,17,27,.28) 0%,rgba(4,17,27,.36) 34%,rgba(4,17,27,.72) 67%,rgba(4,17,27,.96) 100%),linear-gradient(90deg,rgba(4,17,27,.62) 0%,rgba(4,17,27,.2) 100%)}
  .hero-conversion-copy{padding:42px 0 44px;justify-content:flex-end}
  .hero-conversion-copy .eyebrow{font-size:10px;line-height:1.55;margin-bottom:13px}
  .hero-conversion-copy h1{max-width:100%;font-size:clamp(29px,8.25vw,36px);line-height:1.43;letter-spacing:.01em;text-wrap:balance}
  .hero-conversion-copy h1 strong{display:inline-block;margin-top:2px}
  .hero-conversion-copy .hero-lead{font-size:15px;line-height:1.8;margin-top:14px;text-wrap:pretty}
  .hero-tags-primary{gap:6px;margin:12px 0}
  .hero-tags-primary span{font-size:10px;line-height:1.35;padding:5px 7px}
  .hero-actions-four .button{min-height:46px;padding:9px 6px;font-size:12px;line-height:1.35}
  .hero-caution{font-size:11px;line-height:1.55}
}

/* On phones, lead with the offer and let the store photo follow below it. */
@media(max-width:680px){
  .conversion-hero{display:grid;grid-template-rows:auto clamp(300px,48svh,410px);min-height:0;overflow:hidden;background:#07141f}
  .conversion-hero picture{display:block;position:relative;grid-row:2;min-height:0;z-index:0}
  .conversion-hero picture:before{content:"";position:absolute;inset:-1px 0 auto;height:34%;z-index:1;pointer-events:none;background:linear-gradient(180deg,#07141f 0%,rgba(7,20,31,.82) 20%,rgba(7,20,31,.28) 64%,rgba(7,20,31,0) 100%)}
  .conversion-hero .hero-background{position:absolute;inset:0;width:100%;height:100%;z-index:0;object-fit:cover;object-position:center 15%}
  .conversion-hero .hero-shade{display:none}
  .conversion-hero .hero-conversion-copy{grid-row:1;position:relative;z-index:2;width:calc(100% - 34px);min-height:0;padding:38px 0 34px;justify-content:flex-start;background:#07141f}
  .conversion-hero .hero-conversion-copy:before{content:"";position:absolute;z-index:-1;inset:0 -18px;background:#07141f}
  .conversion-hero .hero-title-segment:not(:only-child){display:block;width:max-content;max-width:100%;white-space:nowrap}
  .conversion-hero .hero-title-segment:only-child{display:block;white-space:normal}
  .conversion-hero .hero-price-line{display:block;margin-top:3px;white-space:nowrap}
  .conversion-hero .hero-lead{margin-bottom:0}
}

/* Natural line wrapping across every public page on phones. */
@media(max-width:680px){
  :where(.content-section,.page-hero,.cta-band,.site-footer) :where(h1,h2,h3,.big-copy,summary span,.button,b){
    line-break:strict;
    word-break:keep-all;
    word-break:auto-phrase;
    overflow-wrap:anywhere;
  }
  :where(.content-section,.page-hero,.cta-band,.site-footer) :where(h1,h2,h3,.big-copy){
    text-wrap:balance;
  }
  :where(.content-section,.page-hero,.cta-band,.site-footer) :where(p,li,dd,figcaption,small,span){
    line-break:strict;
    text-wrap:pretty;
  }
  .page-title-segment:not(:only-child){display:block;width:max-content;max-width:100%;white-space:nowrap}
  .page-title-segment:only-child{display:inline}
  .button{max-width:100%;height:auto;white-space:normal;text-wrap:balance}
  .button-row,.social-row{align-items:stretch}
  .button-row .button,.social-row .button{flex:1 1 220px}
  .faq-list summary{gap:14px;align-items:flex-start}
  .faq-list summary>span{min-width:0}
  .faq-list summary>b{flex:0 0 auto}
  .plan-card h3,.plan-card p,.hours-table b,.access-phone a,.calendar-time-compact,.calendar-time-full{white-space:nowrap;word-break:normal;overflow-wrap:normal}
  .access-address,.access-key-facts span,.included-list b,.nearby-route-grid h3,.update-types b{word-break:keep-all;word-break:auto-phrase;overflow-wrap:anywhere}
  .english-guide :where(h1,h2,h3,p,li,summary span,.button,b,span){
    word-break:normal;
    overflow-wrap:break-word;
    hyphens:auto;
  }
  .english-guide .button{white-space:normal}
}

/* Prevent iPhone in-app browsers from inflating text inside narrow pricing cards. */
@media(max-width:680px){
  .home-plan-grid,.pricing-four-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;overflow:hidden}
  .home-plan-grid .plan-card,.pricing-four-grid .plan-card{min-width:0;max-width:100%;overflow:hidden;contain:inline-size;padding:24px 8px 20px}
  .home-plan-grid .plan-card h3,.pricing-four-grid .plan-card h3{max-width:100%;font-size:clamp(14px,4.1vw,18px);line-height:1.35;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
  .home-plan-grid .plan-card p,.pricing-four-grid .plan-card p{max-width:100%;font-size:clamp(25px,7.4vw,30px);line-height:1.2;white-space:nowrap;overflow:visible;overflow-wrap:normal}
  .home-plan-grid .plan-card div,.pricing-four-grid .plan-card div{max-width:100%;font-size:11px;line-height:1.55;white-space:normal;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}
  .home-plan-grid .ribbon,.pricing-four-grid .ribbon{max-width:calc(100% - 12px);font-size:8px;line-height:1.35;padding:4px 7px;overflow:hidden;text-overflow:ellipsis}
}
