:root{--ink:#332c27;--muted:#746a61;--red:#a54432;--paper:#fffefa;--wash:#f6f1e9;--line:#e2d7cc;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',serif;font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.9}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--red)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a54432;outline-offset:5px}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.6;letter-spacing:.045em}h1{font-size:clamp(2rem,4vw,3.4rem)}h2{font-size:clamp(1.6rem,2.8vw,2.4rem)}h3{font-size:1.35rem}p{margin-bottom:1.3em;overflow-wrap:anywhere}h1,h2,h3{overflow-wrap:anywhere}[hidden]{display:none!important}.wrap{width:min(1120px,calc(100% - 80px));margin-inline:auto}.phrase{display:inline-block;max-width:100%;overflow-wrap:anywhere}.numeric,.price,time{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN',sans-serif;font-variant-numeric:tabular-nums}.numeric{display:inline-block}.small,small{font-size:.83rem;line-height:1.85;color:var(--muted)}.eyebrow{font-size:.78rem;font-family:inherit;color:var(--red);letter-spacing:.14em;margin-bottom:1.2rem}.header{height:100px;padding:0 4vw;display:flex;align-items:center;gap:2rem;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;white-space:nowrap}.brand img{width:50px;height:48px;object-fit:contain}.brand span{font-family:var(--serif);font-size:2rem;letter-spacing:.12em}.brand small{color:var(--ink);font-size:.9rem}.desktop{margin-left:auto;display:flex;gap:1.7rem;align-items:center}.desktop a{font-size:.84rem;text-decoration:none}.desktop a[aria-current]{color:var(--red);border-bottom:1px solid}.header-reserve{padding:.6rem 1.3rem;text-decoration:none;border:1px solid var(--red);color:var(--red);font-size:.9rem}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--red);margin:7px auto}.mobile-nav{background:var(--paper);position:absolute;z-index:15;left:0;right:0;padding:20px 28px;box-shadow:0 10px 14px #332c2710}.mobile-nav>a{display:flex;justify-content:space-between;padding:13px 0;text-decoration:none;border-bottom:1px solid var(--line)}.mobile-nav>.button{margin-top:16px;padding:12px 18px}.skip{position:absolute;top:-100px;left:15px;z-index:99;background:white;padding:10px}.skip:focus{top:10px}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:46% 54%;align-items:center;padding:52px 4vw 48px;gap:0}.hero-copy{padding:15px 40px 25px 0}.hero h1{font-size:clamp(2.1rem,3.5vw,3.5rem);line-height:1.65;letter-spacing:.07em;margin-bottom:1.25rem}.hero h1 span{display:block}.hero-copy p:not(.eyebrow){font-size:.96rem;line-height:2.1}.hero-image{width:100%;height:520px;object-fit:cover;object-position:center}.text-link{display:inline-flex;gap:20px;justify-content:space-between;text-decoration:none;border-bottom:1px solid var(--red);padding:8px 0;color:var(--red);font-size:.93rem}.arrival{display:flex;align-items:center;gap:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.arrival p{margin:0;font-size:1rem}.arrival small{display:block;font-size:.75rem}.arrival a{margin-left:auto;text-decoration:none;font-size:.9rem;color:var(--red)}.intro{padding:105px 0 90px;text-align:center}.intro h2{margin-bottom:30px}.intro p:last-child{font-size:1rem;line-height:2.4}.feature{display:grid;grid-template-columns:55% 1fr;align-items:center;gap:65px;margin-bottom:90px}.feature>img{width:100%;aspect-ratio:1.45;object-fit:cover}.feature h2{margin-bottom:1rem}.feature p{line-height:2}.feature.reverse{grid-template-columns:1fr 55%}.feature.reverse>img{grid-column:2;grid-row:1}.feature.reverse>div{grid-column:1;grid-row:1}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.section-heading h2{font-size:1.9rem}.dish-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.dish-strip a{text-decoration:none}.dish-strip img{aspect-ratio:1.3;object-fit:cover;width:100%}.dish-strip h3{font-size:1.25rem;margin:18px 0 0}.dish-strip span{font-size:.8rem;color:var(--red)}.news{padding:100px 0 70px}.news-row{padding:24px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:140px 1fr 20px;gap:20px;text-decoration:none}.news-row time{font-size:.85rem;color:var(--muted)}.news-row b{font-weight:400;color:var(--red)}.cta{background:var(--wash);padding:65px 35px;text-align:center;margin-top:60px;margin-bottom:90px}.cta h2{font-size:2.6rem;margin-bottom:18px}.cta-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:28px 0 20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:13px 24px;text-decoration:none;border:1px solid var(--red);font-size:.92rem;line-height:1.6;letter-spacing:.025em}.gold{background:var(--red);color:white}.gold:hover{background:#883625;color:white}.outline{background:transparent;color:var(--red)}.outline:hover{background:#f3e6df}.footer{background:#f3eee5;border-top:1px solid var(--line);padding:65px 7vw 45px}.footer-brand{font-family:var(--serif);font-size:2rem;text-decoration:none;letter-spacing:.14em;display:inline-block;margin-bottom:20px}.footer p{font-size:.9rem}.footer nav{display:flex;flex-wrap:wrap;gap:16px 28px;margin:30px 0}.footer nav a{font-size:.85rem;text-decoration:none}.footer>small{display:block;border-top:1px solid #d7ccc0;padding-top:24px}.sticky{display:none}.page-title{padding:70px 0 45px}.page-title h1{margin-bottom:20px}.page-title p:last-child{color:var(--muted)}.tabs{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:25px}.tabs a,.tabs button{padding:10px 20px;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none;font-size:.9rem}.tabs button[aria-pressed=true]{background:var(--red);color:white;border-color:var(--red)}.notice{padding:24px 28px;background:var(--wash);border-left:2px solid var(--red);margin:26px 0}.notice p:last-child{margin-bottom:0}.notice h3{font-size:1.15rem}.menu-section{padding:40px 0;scroll-margin-top:20px}.menu-section h2{font-size:1.6rem;border-bottom:1px solid var(--line);padding-bottom:15px}.menu-grid{display:grid;gap:32px}.menu-card{display:grid;grid-template-columns:42% 1fr;gap:35px;align-items:center}.menu-card>img{width:100%;aspect-ratio:1.5;object-fit:cover}.menu-card h3{font-size:1.7rem;margin-bottom:15px}.menu-card p{margin-bottom:12px}.menu-card .eyebrow{display:none}.price{font-size:1.3rem;color:var(--red)}.price span{font-size:.8rem;margin-left:4px;display:inline-block}.room-options{max-width:780px;padding:20px 0}.access-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.exterior{width:100%;aspect-ratio:1.65;object-fit:cover}.photo-caption{font-size:.74rem;color:var(--muted);margin:10px 0 30px}dl{margin:0 0 30px}dt{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}dd{margin:0;padding:5px 0 20px}.faq{max-width:850px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;cursor:pointer;padding:24px 0;font-size:1rem}summary::-webkit-details-marker{display:none}summary>span{color:var(--red);flex:none}details p{padding:0 25px 20px 0;color:var(--muted)}.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.article-card{display:block;text-decoration:none}.article-card img{width:100%;aspect-ratio:1.6;object-fit:cover;margin-bottom:20px}.article-card h2{font-size:1.65rem;margin:12px 0}.article-card time{font-size:.8rem;color:var(--muted)}.instagram{padding-top:80px;padding-bottom:80px}.instagram h2{font-size:1.5rem}.article-body{max-width:780px;padding-top:50px}.article-body>.eyebrow{margin-top:40px}.article-body h1{font-size:2.4rem}.article-body>img{width:100%;margin:32px 0}.article-body>p{line-height:2.1}.admin-wrap{width:min(980px,calc(100% - 48px));margin:55px auto 80px}.login{max-width:540px}.admin-top,.admin-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-top h1{font-size:2rem}.admin-entry{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--line)}.admin-entry h3{font-size:1.1rem;margin:0 0 5px}.admin-entry p{font-size:.8rem;margin:0}.badge{background:var(--wash);padding:3px 10px;font-size:.75rem;display:inline-block;margin-top:8px}.admin-page label{display:block;margin:20px 0 7px;font-size:.9rem}.admin-page input:not([type=checkbox]),.admin-page textarea,.admin-page select{display:block;width:100%;border:1px solid #b9aaa0;background:white;color:var(--ink);padding:11px 13px;margin-top:6px;border-radius:2px;min-width:0}.admin-page textarea{resize:vertical}.admin-page [type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:10px}.admin-page #editor{border-top:2px solid var(--red);margin-top:40px;padding-top:30px;scroll-margin-top:20px}.admin-page #photo-preview{max-width:350px;max-height:250px;margin:20px 0}.form-buttons{display:flex;gap:15px;margin-top:25px;flex-wrap:wrap}#status,#editor-status{color:var(--red);margin-top:15px}button:disabled{opacity:.55;cursor:wait}.admin-page input[type=file]{padding:8px;font-size:.85rem}
@media(min-width:1500px){.hero-image{height:560px}}
@media(max-width:1100px){.desktop{gap:1rem}.header{gap:1rem}.brand span{font-size:1.75rem}.brand img{width:42px}.feature{gap:35px}.hero-image{height:440px}}
@media(max-width:849px){.wrap{width:calc(100% - 48px)}.header{height:78px;padding:0 24px;gap:14px}.brand img{width:37px;height:40px}.brand span{font-size:1.7rem}.brand small{font-size:.7rem}.desktop,.header-reserve{display:none}.menu-toggle{display:block;margin-left:auto}.hero{display:flex;flex-direction:column;padding:0;gap:0}.hero-copy{padding:40px 24px 28px;width:100%}.hero h1{font-size:clamp(1.8rem,7.6vw,3.4rem);line-height:1.6;margin-bottom:20px}.hero .eyebrow{margin-bottom:18px}.hero-copy p:not(.eyebrow){font-size:.9rem}.hero-copy .text-link{display:none}.hero-image{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.arrival{gap:15px;padding:20px 0;display:grid;grid-template-columns:1fr 1fr}.arrival p{font-size:.85rem;line-height:1.8}.arrival small{font-size:.69rem;margin-top:4px}.arrival a{grid-column:1/-1;margin:0;font-size:.8rem}.intro{padding:65px 0 40px;text-align:left}.intro h2{font-size:1.9rem}.intro p:last-child{font-size:.92rem;line-height:2.2}.intro br{display:none}.feature{display:flex;flex-direction:column;align-items:stretch;gap:25px;margin-bottom:55px}.feature h2{font-size:1.9rem}.feature>img{aspect-ratio:1.5}.feature .eyebrow{font-size:.71rem}.feature.reverse{display:flex}.season{padding-top:10px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:1.6rem}.dish-strip{grid-template-columns:1fr;gap:25px}.dish-strip>a{display:grid;grid-template-columns:40% 1fr;gap:0 20px;align-items:center;padding-bottom:25px;border-bottom:1px solid var(--line)}.dish-strip img{grid-row:1/3;aspect-ratio:1}.dish-strip h3{font-size:1.06rem;margin:0;align-self:end}.dish-strip span{align-self:start;margin-top:8px}.news{padding:55px 0 35px}.news-row{grid-template-columns:1fr 20px;gap:7px 12px;padding:20px 0}.news-row time{grid-column:1/-1;font-size:.75rem}.news-row span{font-size:.95rem}.cta{width:calc(100% - 32px);padding:40px 22px;margin-top:35px;margin-bottom:55px}.cta h2{font-size:2.1rem}.cta p{font-size:.9rem}.cta-buttons{display:grid;gap:12px}.button{font-size:.88rem;padding:12px 16px;gap:13px}.footer{padding:45px 24px 120px}.footer nav{gap:16px 22px}.footer>small{font-size:.72rem}.sticky{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0;background:#fffefaef;border-top:1px solid var(--line);z-index:30;backdrop-filter:blur(10px)}.sticky .button{min-height:47px;padding:10px 8px;font-size:.84rem;gap:10px}.page-title{padding:40px 0 25px}.page-title h1{font-size:2rem}.page-title p:last-child{font-size:.93rem}.tabs{gap:9px}.tabs a,.tabs button{font-size:.85rem;padding:8px 14px}.notice{padding:20px;margin:25px 0}.notice p{font-size:.9rem}.notice .small{font-size:.76rem}.menu-section{padding:25px 0}.menu-card{display:block}.menu-card>img{margin-bottom:22px;aspect-ratio:1.5}.menu-card h3{font-size:1.55rem}.menu-card p{font-size:.95rem}.menu-card .price{font-size:1.25rem}.menu-card .small{font-size:.78rem}.access-layout{display:block}.access-layout>div+div{margin-top:40px}.access-layout h2{font-size:1.6rem}.access-layout .button{font-size:.78rem}.room-options{padding:0}.room-options h2{font-size:1.65rem}.room-options p{font-size:.93rem}summary{font-size:.95rem;padding:22px 0;gap:15px}details p{font-size:.88rem;padding:0 0 15px}.article-grid{grid-template-columns:1fr}.article-card h2{font-size:1.5rem}.article-body{padding-top:30px}.article-body h1{font-size:1.95rem}.article-body>p{font-size:.95rem}.article-body>.small{font-size:.73rem}.instagram{padding-top:55px;padding-bottom:45px}.instagram h2{font-size:1.4rem}.admin-top,.admin-actions{flex-wrap:wrap}.admin-wrap h1{font-size:1.75rem}.admin-entry{align-items:flex-start}.admin-entry>.button{flex:none;padding:9px 16px}.admin-entry h3{font-size:1rem}.admin-page .footer{padding-bottom:40px}.admin-page .header>a:last-child{font-size:.8rem}}
@media(max-width:360px){.header{padding:0 18px}.wrap{width:calc(100% - 40px)}.hero-copy{padding-inline:20px}.hero h1{letter-spacing:.02em}.intro h2,.feature h2{font-size:1.7rem}.arrival{gap:12px}.arrival p{font-size:.79rem}.arrival small{font-size:.65rem}.sticky{padding-inline:10px;gap:8px}.sticky .button{font-size:.79rem}.brand{gap:8px}.page-title h1{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep the menu control usable when text is enlarged. */
@media(max-width:849px){.header{height:auto;min-height:78px;padding-block:12px}.brand{min-width:0;white-space:normal}.brand img{flex:none}.brand span{line-height:1.3}.menu-toggle{flex:0 0 44px}}
