/* Sansyotei — an editorial identity in ink, paper and copper. */
:root{--paper:#f3efe5;--ink:#20251f;--muted:#62675c;--line:#cecbbf;--red:#934636;--dark:#171c18;--gold:#cba579;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--gutter:clamp(24px,5.6vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}.sansyotei-page{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(32px,3.8vw,54px);line-height:1.55;letter-spacing:.065em}a{color:inherit;text-decoration:none;text-underline-offset:5px}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--red);outline-offset:5px}section[id],article[id],main[id]{scroll-margin-top:110px}::selection{background:#b28a5d;color:#fff}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;background:var(--paper);padding:14px 24px;color:var(--ink)}.skip-link:focus{top:10px}.section-shell{width:calc(100% - var(--gutter)*2);max-width:1360px;margin-inline:auto}.eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.19em;line-height:1.6;color:var(--muted);margin-bottom:24px}.tiny-seal{display:grid;place-items:center;border:1px solid var(--red);color:var(--red);width:25px;height:28px;font-family:var(--serif);letter-spacing:0}.light{color:#d9c3a6}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:15px 0;border-bottom:1px solid currentColor;font-size:13px;letter-spacing:.04em}.text-link span{font-size:22px;transition:transform .25s}.text-link:hover{text-decoration:none}.text-link:hover span{transform:translateX(5px)}
/* The navigation remains ordinary HTML, with a mobile disclosure. */
.site-header{display:flex;align-items:center;gap:25px;height:100px;padding:0 var(--gutter);background:var(--dark);color:var(--paper);border-bottom:1px solid #ffffff25;position:relative;z-index:50}.site-header a:focus-visible,.contact-bar a:focus-visible,.hero a:focus-visible,.reservation-section a:focus-visible{outline-color:var(--gold)}.brand{display:flex;align-items:center;gap:20px;flex:none}.brand:hover{text-decoration:none}.brand-lockup{display:flex;flex-direction:column;align-items:center}.brand-name{font-family:var(--serif);font-size:34px;line-height:1.2;letter-spacing:.18em}.brand-roman{font-size:9px;letter-spacing:.22em;display:block;margin-top:5px}.brand-detail{font-size:10px;line-height:1.8;letter-spacing:.08em;color:#c7cbbc;border-left:1px solid #ffffff30;padding-left:20px}.site-nav{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:12px;white-space:nowrap}.site-nav>a{padding-block:13px}.site-nav .nav-reserve{padding:12px 19px;border:1px solid #9e8768;color:#f3e4cb}.nav-reserve span{margin-left:15px}.language-switch{display:flex;align-items:center;flex:none;gap:3px;white-space:nowrap;font-size:11px}.language-switch a{display:grid;place-items:center;min-height:44px;padding:8px 9px;color:#d1d3c8}.language-switch a[aria-current=page]{color:var(--paper);box-shadow:inset 0 -1px var(--gold)}.language-switch a:hover{text-decoration:none;color:var(--gold)}.header-home{margin-left:auto;font-size:12px}.menu-toggle{display:none}.contact-bar{display:flex;justify-content:flex-end;gap:30px;padding:0 var(--gutter);background:var(--dark);color:#e4d8c5}.contact-bar a{min-height:47px;display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.025em}.contact-bar a:first-child{margin-right:auto}.contact-bar svg{width:17px;height:17px;flex:none}.contact-bar small{font-size:10px;color:#aeb5a7}.contact-bar b{font-weight:400;margin-left:12px}.contact-bar .contact-line{color:#d7e9d2}
/* Opening composition: a full plate, not a background illustration. */
.hero{position:relative;isolation:isolate;background:var(--dark);color:var(--paper);display:grid;grid-template-columns:46% 54%;overflow:hidden}.hero-media{position:relative;grid-column:2;grid-row:2;min-height:490px;overflow:hidden}.hero-image{width:100%;height:100%;position:absolute;object-fit:cover;object-position:55% center;animation:plate-enter 1.2s cubic-bezier(.16,1,.3,1) both}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--dark),transparent 16%),linear-gradient(0deg,#171c1850,transparent 40%);pointer-events:none}.hero-photo-label{position:absolute;bottom:24px;right:var(--gutter);z-index:1;font-size:10px;letter-spacing:.19em;text-shadow:0 1px 7px #000}.hero-copy{grid-column:1;grid-row:2;position:relative;z-index:2;padding:32px 0 65px var(--gutter);align-self:center}.hero-copy .eyebrow{font-size:10px;letter-spacing:.2em;white-space:nowrap}.hero-rule{display:block;width:35px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(39px,4.3vw,65px);line-height:1.45;letter-spacing:.05em;white-space:nowrap;margin:20px 0}.hero h1 span{padding-left:1em}.hero-sub{font-family:var(--serif);font-size:14px;line-height:2.2;letter-spacing:.05em;color:#d0d4c8}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:22px}.hero-link{display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--gold);padding:14px 0;font-size:14px;color:#f4e2c7}.hero-link span{font-size:22px}.hero-secondary{font-size:12px;display:flex;gap:18px;padding:16px 0;color:#d0d4c8}.hero-location{margin-top:14px;font-size:11px;color:#adb6a4;letter-spacing:.04em}.hero-seal{position:absolute;right:31px;top:145px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:116px;height:116px;border:1px solid #f0d6ac;border-radius:50%;color:#f3e5ce;background:#171c1899;backdrop-filter:blur(5px);font-family:var(--serif);transform:rotate(9deg)}.hero-seal span{font-size:10px;letter-spacing:.16em}.hero-seal strong{font-weight:500;font-size:21px;line-height:1.65;letter-spacing:.08em}.hero-bottom{grid-column:1;grid-row:2;align-self:end;z-index:2;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.14em;padding:20px 32px 20px var(--gutter);color:#b5bda9}.hero-bottom a{display:flex;align-items:center;gap:23px;min-height:30px}
.menu-preview{grid-column:1/-1;grid-row:1;color:var(--paper);background:var(--dark);padding:16px 0;border-bottom:1px solid #ffffff25;border-top:1px solid #ffffff25;position:relative;z-index:3}.menu-preview-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.menu-preview-copy{flex:1;min-width:0}.menu-preview-copy .eyebrow{display:none}.menu-preview-title{font-family:var(--serif);font-size:21px;letter-spacing:.07em;margin-bottom:5px}.menu-preview-copy>p:last-child{font-size:12px}.menu-preview-copy strong{font-weight:500;white-space:nowrap}.menu-preview small{display:block;font-size:10px;color:#b8c0af;margin-top:4px}.menu-preview-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0;flex:1.25}.menu-preview-links a{display:flex;gap:12px;align-items:center;padding:5px 20px;border-left:1px solid #ffffff25;font-size:12px;min-height:60px}.menu-preview-links img{width:40px;height:53px;object-fit:contain;flex:none;transition:transform .3s}.menu-preview-links a:hover img{transform:translateY(-4px)}.menu-preview-links a>span{line-height:1.5}.menu-preview-links a>span>span{display:block;color:var(--gold);margin-top:4px}
.quick-info{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px var(--gutter);font-size:12px;background:#e8e5da;border-bottom:1px solid var(--line)}.quick-info p{display:flex;align-items:center;gap:12px}.quick-info p>span{font-size:11px;color:var(--muted)}.quick-info small{font-size:10px;color:var(--muted)}.quick-info .quick-holiday{display:block;font-size:11px}.quick-holiday small{display:block;max-width:290px}.quick-info>a{display:flex;align-items:center;gap:15px;border-left:1px solid var(--line);padding-left:22px;font-size:10px;white-space:nowrap}.quick-info strong{font-family:Georgia,serif;font-size:22px;font-weight:400}.visit-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:45px 0 0}.visit-paths a{position:relative;border-bottom:1px solid var(--line);padding:0 25px 20px 0}.visit-paths a>span{display:block;font-size:10px;letter-spacing:.15em;color:var(--muted);margin-bottom:9px}.visit-paths strong{font-family:var(--serif);font-weight:400;font-size:20px}.visit-paths b{position:absolute;right:0;bottom:20px;font-weight:400;color:var(--red)}
/* History unfolds like a printed spread. */
.story{display:grid;grid-template-columns:.85fr 1fr 1.1fr;gap:5%;padding:135px 0 145px;align-items:start}.story-year{font-family:Georgia,serif;color:#b8ae9d;font-size:clamp(60px,7vw,108px);font-weight:400;letter-spacing:-.07em;line-height:1;display:block;margin-bottom:35px}.story-year span{font-size:.4em;letter-spacing:0;margin-left:12px;vertical-align:middle}.story h2{font-size:clamp(31px,2.7vw,43px)}.vertical-note{writing-mode:vertical-rl;font-family:var(--serif);letter-spacing:.22em;font-size:12px;color:var(--muted);margin:28px 0 0 7px}.story-body{padding-top:82px;font-size:14px;line-height:2.2}.story-body p+p{margin-top:25px}.story-body .intro-text{font-family:var(--serif);font-size:21px;line-height:1.9;margin-bottom:26px}.story-photo{padding-top:14px;position:relative}.story-photo img{width:77%;aspect-ratio:1/1;object-fit:cover;margin:0 0 0 auto}.story-photo .story-entrance{width:87%;aspect-ratio:3/4;margin:0 0 -54px 0;object-position:69% center;position:relative;z-index:1;border:7px solid var(--paper)}.story-photo img:not(.story-entrance){position:relative;z-index:2;border:7px solid var(--paper)}.story-photo figcaption{font-size:11px;color:var(--muted);margin:16px 0 0 23%;line-height:1.8}.signature{background:#232b22;color:var(--paper);display:grid;grid-template-columns:1.2fr 1fr;position:relative;overflow:hidden;isolation:isolate;align-items:center}.signature-photo{padding:70px 0 70px var(--gutter);z-index:1}.signature-photo img{width:100%;aspect-ratio:1.15;object-fit:cover;object-position:center}.signature-copy{padding:70px 14%;z-index:1}.signature-copy .eyebrow{color:var(--gold)}.signature-copy h2{font-size:clamp(31px,3.4vw,51px)}.signature-copy>p:not(.eyebrow){color:#d4d8cd;line-height:2.2;margin-top:28px;font-size:14px}.signature-copy .text-link{color:var(--gold);margin-top:24px}.signature-mark{position:absolute;right:-45px;bottom:-48px;font-size:160px;line-height:1;font-family:var(--serif);color:#ffffff07;pointer-events:none;white-space:nowrap;z-index:0}.menu-section{padding:125px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:52px}.section-heading>p{color:var(--muted);font-size:14px;line-height:2}.menu-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:6%}.menu-item:nth-child(2){padding-top:90px}.menu-image{position:relative;overflow:hidden;background:#d7d0bf}.menu-image img{width:100%;aspect-ratio:1.3;object-fit:cover;transition:transform .7s}.menu-item:hover .menu-image img{transform:scale(1.025)}.menu-image>span{position:absolute;top:20px;left:20px;background:var(--paper);padding:6px 13px;font-size:11px;letter-spacing:.08em}.menu-item-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;padding:25px 0 19px;border-bottom:1px solid var(--line);margin-bottom:18px}.menu-item h3{font-size:31px;letter-spacing:.03em}.price{font-family:Georgia,serif;font-size:30px;white-space:nowrap}.price span{font-family:var(--sans);font-size:11px;margin-left:9px}.menu-item>p{font-size:14px;line-height:2}.menu-item>.menu-note{font-size:12px;color:var(--muted);margin-top:13px}.menu-note a{display:inline-block;text-decoration:underline;color:var(--ink);padding:7px 0}.reservation-label{font-size:11px;color:var(--muted)}.season-note{display:flex;align-items:center;gap:28px;margin-top:70px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.season-symbol{font-family:var(--serif);font-size:47px;color:var(--red)}.season-note h3{font-size:23px;margin-bottom:5px}.season-note p{font-size:13px;color:var(--muted)}.season-note>a{margin-left:auto;display:grid;place-items:center;min-width:48px;min-height:48px;font-size:26px}.section-footnote{font-size:11px;color:var(--muted);line-height:1.85;margin-top:22px}
.news-section{background:#e7e3d7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.news-inner{display:grid;grid-template-columns:1fr 1.7fr;gap:10%;padding:95px 0}.news-intro{font-size:14px;margin-top:25px;line-height:2}.news-checked{display:block;font-size:11px;color:var(--muted);margin-top:15px}.news-inner .text-link{margin-top:25px}.news-row{display:block;position:relative;padding:24px 50px 25px 0;border-top:1px solid #bdbbab}.news-row:last-child{border-bottom:1px solid #bdbbab}.news-row:hover{text-decoration:none}.news-row h3{font-size:21px;line-height:1.65;transition:color .2s}.news-row:hover h3{color:var(--red)}.news-row p{font-size:12px;color:var(--muted);margin-top:11px;line-height:1.9}.news-meta{display:flex;gap:20px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:12px}.news-meta span{font-size:10px;border:1px solid #b7b6aa;padding:2px 9px}.news-arrow{position:absolute;right:3px;top:50%;font-size:22px}.access-section{padding:125px 0}.access-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start}.access-details h3{font-size:32px;letter-spacing:.1em}.access-details h3 small{font-size:11px;font-family:var(--sans);color:var(--muted);letter-spacing:0;margin-left:12px}.address{font-size:14px;margin-top:18px;line-height:1.9}.access-details dl{margin:30px 0 0}.access-details dl>div{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.access-details dt{color:var(--muted)}.access-details dd{margin:0}.access-details small{font-size:11px}.detail-note{display:block;font-size:11px;color:var(--muted);margin-top:3px}.access-visual{padding-top:5px}.google-map{display:block;border:0;width:100%;height:490px;background:#dedbce}.access-caption{padding:22px 25px;background:#e7e3d7;font-size:12px}.access-caption>span{display:block;font-family:var(--serif);font-size:16px;margin-bottom:16px}.access-caption a{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;min-height:44px}.access-caption a span{font-size:21px}.faq-section{display:grid;grid-template-columns:1fr 1.7fr;gap:9%;padding-bottom:115px}.faq-lead{font-size:14px;color:var(--muted);margin-top:24px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:25px;cursor:pointer;list-style:none;padding:22px 0;font-family:var(--serif);font-size:17px;line-height:1.75}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--red);font-family:var(--sans);font-size:22px;flex:none;transition:transform .25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{font-size:13px;line-height:2;color:var(--muted);padding:0 35px 27px 0}
.reservation-section{position:relative;text-align:center;background:var(--dark);color:var(--paper);padding:108px 24px 102px;isolation:isolate}.reservation-section:before{content:"";position:absolute;inset:20px;border:1px solid #b79c722b;pointer-events:none}.reservation-section .eyebrow{justify-content:center}.reservation-section h2{font-size:clamp(32px,4vw,56px)}.reservation-section>p:not(.eyebrow){font-size:14px;line-height:2;margin-top:25px;color:#d2d8ca}.reservation-phone{display:block;width:fit-content;font-family:Georgia,serif;font-size:clamp(29px,4.4vw,62px);letter-spacing:.035em;line-height:1.6;margin:30px auto 22px;border-bottom:1px solid #89917b;padding:0 0 14px}.reservation-phone>span:first-child{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.08em;color:#bdc6b2}.phone-arrow{font-size:.5em;margin-left:20px}.reservation-section>.reservation-small{font-size:12px!important;color:#b3bdab!important}.social-links{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:33px;font-size:13px}.social-links a{min-height:44px;padding:10px 0}.social-links a span{margin-left:17px;color:var(--gold)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:60px var(--gutter);background:#e9e5d9;font-size:12px}.footer-brand{font-family:var(--serif);font-size:42px;letter-spacing:.14em;white-space:nowrap}.footer-brand span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.16em;margin-top:10px}.site-footer>p{font-size:12px;color:var(--muted)}.footer-meta{font-size:11px;display:flex;align-items:end;flex-direction:column;gap:9px}.footer-meta a{padding:4px 0;text-decoration:underline}.footer-meta small{font-size:10px;color:var(--muted)}.footer-nav{display:grid;grid-template-columns:repeat(3,auto);gap:8px 25px;font-size:12px}.footer-nav a{min-height:34px;display:flex;align-items:center}.back-top{margin-top:8px}.mobile-reservation,.mobile-only{display:none}
/* Journal, provenance and original menu sheets share the same reading system. */
.source-page{width:calc(100% - var(--gutter)*2);max-width:1120px;margin:80px auto 110px;overflow-wrap:anywhere}.document-header{max-width:850px;margin-bottom:52px;padding-bottom:38px;border-bottom:1px solid var(--line)}.source-page h1{font-size:clamp(32px,5vw,64px);line-height:1.4;margin-bottom:27px;letter-spacing:.035em}.source-page h2{font-size:30px;line-height:1.6;margin:28px 0 20px}.source-page h3{font-size:24px}.source-page p,.source-page li{margin:14px 0;line-height:2}.source-page a:not(.menu-toc a){text-decoration:underline}.source-page ul{padding-left:23px}.source-page .source-date{font-size:12px;color:var(--muted)}.document-lead{font-family:var(--serif);font-size:19px!important;line-height:1.95!important}.document-header .eyebrow{font-size:11px}.menu-toc{display:flex;flex-wrap:wrap;gap:8px 30px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0 50px}.menu-toc a{display:flex;align-items:center;min-height:44px;font-size:14px}.menu-sheet{display:grid;grid-template-columns:1fr 1fr;gap:0 7%;margin:0 0 85px}.menu-sheet>h2{grid-column:1/-1;font-size:36px;margin:0 0 30px;padding-bottom:20px;border-bottom:1px solid var(--line)}.menu-sheet-copy{min-width:0}.menu-prices{margin:10px 0 28px}.menu-prices>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}.menu-prices dt{font-weight:500}.menu-prices dd{margin:0;white-space:nowrap;font-family:Georgia,var(--serif);font-size:19px}.menu-prices small{display:block;font-size:12px;color:var(--muted);font-weight:400}.menu-document figure{margin:0}.menu-document figure a{display:block;box-shadow:0 12px 35px #272d2310}.menu-document figure img{width:100%;height:auto}.menu-document figcaption{font-size:11px;color:var(--muted);line-height:1.8;margin-top:14px}.menu-contact{border-top:1px solid var(--line);padding-top:30px;margin-top:45px}.menu-actions{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:20px}.menu-actions a{min-height:44px;display:flex;align-items:center;font-size:13px}.news-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:7%;align-items:start}.news-contents{position:sticky;top:35px;border-top:1px solid var(--line);padding:15px 0}.news-contents a{display:block;min-height:44px;padding:12px 0;font-size:13px}.news-contents ul{padding-left:18px}.news-contents li{margin:3px 0}.news-article{padding:0 0 45px;margin-bottom:40px;border-bottom:1px solid var(--line)}.news-article h2{font-size:30px;line-height:1.6}.news-article-links{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:12px;margin-top:22px}.news-article-links a{min-height:40px;display:flex;align-items:center}.source-section{max-width:850px;padding:15px 0 32px;border-bottom:1px solid var(--line)}.detail-page .site-footer{margin-top:0}
.english-page{line-height:1.8;letter-spacing:0}.english-page h1,.english-page h2,.english-page h3{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em}.english-page .hero h1{font-size:clamp(42px,4.5vw,67px);line-height:1.15;white-space:normal;letter-spacing:-.035em;max-width:650px}.english-page .hero-sub{font-family:var(--sans);font-size:14px;line-height:1.9;max-width:440px;letter-spacing:0}.english-page .hero-seal strong{font-size:11px;letter-spacing:.035em;line-height:2.5}.english-page .vertical-note{display:none}.english-page .signature-mark{font-family:Georgia,serif;white-space:normal;font-size:180px;right:-10px}.english-page .menu-preview-copy{flex:1.1}.english-page .menu-preview-title{letter-spacing:0}.english-page .visit-paths strong{font-family:Georgia,serif;font-size:20px}.english-page .reservation-phone{letter-spacing:0}.english-page .hero-actions{gap:22px}.english-page .hero-link{gap:22px}.english-page .source-page h1{letter-spacing:-.035em}
/* Motion is brief and additive: no content waits for JavaScript. */
@keyframes plate-enter{from{transform:scale(1.035);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes section-enter{from{transform:translateY(18px)}to{transform:translateY(0)}}.is-in-view{animation:section-enter .7s cubic-bezier(.16,1,.3,1) both}
@media(min-width:1700px){.hero-copy{padding-top:85px;padding-bottom:115px}.hero-media{min-height:690px}.hero h1{font-size:82px}}
@media(max-width:1250px){.brand-detail{display:none}.site-nav{gap:17px}.site-header{gap:20px}.site-nav .nav-reserve{padding:12px}.hero-copy{padding-top:45px;padding-bottom:88px}.hero h1{font-size:4.9vw}.hero-media{min-height:540px}.hero-copy .eyebrow{font-size:9px;gap:10px}.hero-seal{width:95px;height:95px}.hero-seal strong{font-size:18px}.hero-actions{gap:20px}.hero-link{gap:22px}.menu-preview-links a{padding:5px 14px}.menu-preview-copy>p:last-child{font-size:11px}.quick-info{gap:20px;flex-wrap:wrap}.quick-info>a{margin-left:auto}.story{gap:4%;grid-template-columns:.85fr 1fr 1.05fr}.story-body{font-size:13px}.story-body .intro-text{font-size:19px}.english-page .hero h1{font-size:4.65vw}.english-page .site-nav{font-size:11px}.english-page .hero-sub{font-size:13px}.english-page .hero-actions{gap:17px}.english-page .hero-link{font-size:13px;gap:15px}.english-page .hero-secondary{font-size:11px}}
@media(max-width:1000px){:root{--gutter:6vw}.site-header{height:86px;gap:20px}.menu-toggle{display:flex;align-items:center;gap:12px;margin-left:auto;padding:12px 6px;border:0;background:none;color:var(--paper);min-height:44px}.menu-label{font-size:10px}.menu-lines{width:24px;height:12px;display:block;position:relative;border-top:1px solid;border-bottom:1px solid;transition:transform .25s}.menu-lines:after{content:"";position:absolute;left:0;top:5px;width:24px;border-top:1px solid}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(90deg)}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px var(--gutter) 26px;background:var(--dark);border-bottom:1px solid #cba57950;margin:0;box-shadow:0 18px 35px #0002}.site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-nav>a{padding:15px 0;border-bottom:1px solid #ffffff20;font-size:14px!important}.site-nav .nav-reserve{margin-top:12px;padding:14px 18px;display:flex;justify-content:space-between}.hero{grid-template-columns:47% 53%}.hero-media{min-height:510px}.hero-copy{padding-top:35px;padding-bottom:78px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.14em}.hero-rule{width:20px}.hero h1{font-size:4.9vw}.hero-sub{font-size:12px;letter-spacing:0}.hero-actions{flex-wrap:wrap;gap:8px 22px;margin-top:22px}.hero-link{font-size:13px}.hero-secondary{font-size:11px}.hero-location{font-size:10px}.hero-seal{right:20px;top:20px;width:85px;height:85px}.hero-seal strong{font-size:17px}.hero-seal span{font-size:8px}.hero-bottom{font-size:8px;padding-right:20px}.hero-bottom>span{display:none}.menu-preview{padding:21px 0}.menu-preview-title{font-size:22px}.menu-preview-inner{gap:15px}.menu-preview-copy{flex:.9}.menu-preview-links{flex:1.3}.menu-preview-links a{padding:0 12px;gap:10px;font-size:11px}.menu-preview-links img{width:29px;height:43px}.menu-preview small{font-size:9px}.quick-info>a{display:none}.quick-info{justify-content:flex-start;font-size:11px;gap:15px 25px}.quick-info .quick-holiday{flex:1;min-width:170px}.quick-holiday small{font-size:9px}.visit-paths{gap:25px}.visit-paths strong{font-size:17px}.story{padding:90px 0 100px;grid-template-columns:1fr 1fr;gap:40px}.story-heading{grid-column:1}.story-body{grid-column:2;grid-row:1/3;padding-top:90px;font-size:14px}.story-photo{grid-column:1;grid-row:2;max-width:360px;padding:0}.story-year{font-size:76px}.story h2{font-size:38px}.vertical-note{display:none}.signature-photo{padding-top:45px;padding-bottom:45px}.signature-photo img{aspect-ratio:1/1.1}.signature-copy{padding:45px 10%}.signature-copy h2{font-size:32px}.signature-copy>p:not(.eyebrow){font-size:12px}.menu-section,.access-section{padding:90px 0}.menu-item h3{font-size:26px}.menu-item:nth-child(2){padding-top:60px}.news-inner{gap:7%;padding:75px 0;grid-template-columns:1fr 1.5fr}.news-inner h2{font-size:32px}.access-grid{gap:7%;grid-template-columns:1fr 1.2fr}.google-map{height:440px}.access-details dl>div{grid-template-columns:52px 1fr;font-size:12px;gap:8px}.faq-section{gap:7%;grid-template-columns:1fr 1.6fr;padding-bottom:85px}.faq-section h2{font-size:31px}.faq-list summary{font-size:15px}.site-footer{flex-wrap:wrap;gap:25px}.footer-meta{margin-left:auto}.footer-nav{gap:8px 20px}.news-layout{grid-template-columns:180px minmax(0,1fr);gap:6%}.source-page{margin-top:60px}.english-page .hero h1{font-size:5.1vw}.english-page .hero-copy .eyebrow{font-size:8px}.english-page .hero-sub{font-size:12px}.english-page .hero-actions{gap:3px 16px}.english-page .visit-paths strong{font-size:17px}.english-page .menu-preview-copy{flex:1}.english-page .menu-preview-links{flex:1}.english-page .menu-preview-links a{padding:0 10px;gap:8px}.english-page .menu-preview-links img{width:24px;height:36px}.english-page .reservation-phone{font-size:44px}}
@media(max-width:700px){:root{--gutter:24px}html{scroll-padding-top:24px}.site-header{height:79px;padding:0 22px;gap:16px}.brand-name{font-size:29px}.brand-roman{font-size:8px}.menu-toggle{padding:12px 3px}.menu-label{display:none}.language-switch{font-size:10px;gap:2px}.language-switch a{padding:8px;min-height:44px}.contact-bar{justify-content:space-between;gap:12px;padding:0 24px;border-bottom:1px solid #ffffff20}.contact-bar a{font-size:11px;min-height:46px;gap:7px}.contact-bar a:first-child{margin:0}.contact-bar small,.contact-bar b{display:none}.contact-bar svg{width:15px;height:15px}.hero{display:flex;flex-direction:column;overflow:hidden}.menu-preview{order:-2;padding:15px 0;background:#222a21;color:var(--paper);border-bottom:1px solid #ffffff25}.menu-preview-inner{display:grid;grid-template-columns:1fr;gap:9px}.menu-preview-copy{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.menu-preview-title{font-size:18px;white-space:nowrap;margin:0}.menu-preview-copy>p:last-child{font-size:9px;text-align:right;line-height:1.6}.menu-preview small{display:none}.menu-preview-links{display:grid;grid-template-columns:repeat(3,1fr)}.menu-preview-links a{min-height:45px;padding:0 9px;gap:9px;border-color:#ffffff25;font-size:11px}.menu-preview-links a:first-child{border-left:0;padding-left:0}.menu-preview-links a:last-child{padding-right:0}.menu-preview-links img{width:25px;height:34px}.menu-preview-links a>span>span{display:inline;color:var(--gold);margin-left:4px}.hero-media{position:absolute;inset:113px 0 0;min-height:0;width:100%;height:auto;z-index:-1}.hero-image{height:100%;object-position:66% center}.hero-media:after{background:linear-gradient(90deg,#121913df,#12191380 65%,#12191335),linear-gradient(0deg,#171c18 2%,transparent 35%)}.hero-copy{padding:47px var(--gutter) 95px;min-height:530px;align-self:stretch}.hero-copy .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:20px}.hero-rule{width:24px}.hero h1{font-size:clamp(35px,8.5vw,54px);line-height:1.55;letter-spacing:.05em;margin:27px 0 23px}.hero h1 span{padding-left:.5em}.hero-sub{font-size:13px;line-height:2.1;max-width:340px;color:#e5e8de;text-shadow:0 1px 10px #0008}.hero-actions{margin-top:24px;gap:24px;flex-wrap:nowrap}.hero-link{font-size:13px;gap:20px;color:#ffe4ba}.hero-secondary{font-size:11px;color:#eceddf}.hero-location{margin-top:17px;font-size:10px;color:#d0d5c6}.hero-seal{display:none}.hero-photo-label{display:none}.hero-bottom{position:absolute;bottom:16px;left:0;right:0;padding:0 var(--gutter);font-size:8px;color:#c8cbbd}.hero-bottom>span{display:block}.hero-bottom a{gap:15px}.quick-info{padding:20px var(--gutter);gap:10px 19px;font-size:11px}.quick-info p{gap:8px}.quick-info p>span{font-size:10px}.quick-info .quick-holiday{flex-basis:100%;font-size:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quick-holiday small{display:inline;max-width:none}.visit-paths{padding-top:30px;gap:18px;grid-template-columns:1fr}.visit-paths a{display:flex;align-items:center;gap:20px;padding-bottom:14px}.visit-paths a>span{width:98px;flex:none;font-size:9px;margin:0}.visit-paths strong{font-size:17px}.visit-paths b{bottom:15px}.story{display:block;padding:75px 0 85px}.story-heading{position:relative}.story-year{position:absolute;right:0;top:0;font-size:65px;margin:0;color:#c0b7a5}.story-year span{display:none}.story h2{font-size:35px;line-height:1.5;position:relative;padding-top:5px}.story .eyebrow{margin-bottom:20px}.story-body{padding-top:30px;font-size:14px}.story-body .intro-text{font-size:21px}.story-photo{max-width:500px;margin-top:38px;display:grid;grid-template-columns:1.15fr 1fr;gap:0;align-items:start}.story-photo .story-entrance{width:115%;margin:0;aspect-ratio:3/4;border:0}.story-photo img:not(.story-entrance){width:100%;margin:95px 0 0;aspect-ratio:1/1.1;border:5px solid var(--paper)}.story-photo figcaption{grid-column:2;margin:12px 0 0 5px;font-size:10px}.signature{display:flex;flex-direction:column}.signature-photo{padding:30px var(--gutter) 0;width:100%}.signature-photo img{aspect-ratio:1.35}.signature-copy{padding:36px var(--gutter) 55px;width:100%}.signature-copy h2{font-size:34px;line-height:1.55}.signature-copy>p:not(.eyebrow){font-size:14px}.signature-mark{font-size:110px;bottom:-30px;right:-25px}.section-heading{display:block;margin-bottom:34px}.section-heading>p{font-size:13px;margin-top:19px}.menu-section{padding:75px 0}.menu-grid{grid-template-columns:1fr;gap:45px}.menu-item:nth-child(2){padding-top:0}.menu-image img{aspect-ratio:1.3}.menu-item-title{padding:22px 0 17px;gap:12px}.menu-item h3{font-size:29px}.price{font-size:29px}.season-note{margin-top:38px;gap:19px;padding:24px 0}.season-symbol{font-size:36px}.season-note h3{font-size:22px}.season-note p{font-size:12px}.season-note>a{min-width:35px}.section-footnote{font-size:11px}.news-inner{display:block;padding:65px 0}.news-intro{margin-top:20px}.news-inner .text-link{margin-top:14px;margin-bottom:33px}.news-row h3{font-size:21px}.news-row{padding-top:23px;padding-bottom:23px}.news-meta{font-size:10px;gap:18px}.access-section{padding:75px 0}.access-grid{display:block}.access-details dl>div{grid-template-columns:62px 1fr;gap:15px;font-size:13px}.access-visual{padding-top:0;margin-top:35px}.google-map{height:380px}.access-caption{padding:20px}.faq-section{display:block;padding-bottom:70px}.faq-lead{font-size:13px;margin:20px 0 30px}.faq-list summary{font-size:16px;padding:20px 0;gap:20px}.reservation-section{padding:75px 24px 65px}.reservation-section:before{inset:12px}.reservation-section h2{font-size:31px}.reservation-section>p:not(.eyebrow){font-size:13px}.reservation-phone{font-size:32px;letter-spacing:0;margin-top:29px}.phone-arrow{margin-left:8px}.reservation-phone>span:first-child{font-size:10px}.social-links{gap:10px 24px;font-size:12px}.site-footer{display:block;padding:38px 24px 88px}.footer-brand{font-size:35px;display:inline-block}.site-footer>p{margin-top:22px;font-size:12px}.footer-meta{align-items:start;margin-top:24px}.footer-nav{margin-top:28px;grid-template-columns:repeat(2,1fr);gap:8px 15px}.mobile-reservation{display:grid;position:fixed;z-index:40;bottom:0;left:0;right:0;grid-template-columns:1fr 1.3fr;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-reservation a{display:flex;align-items:center;justify-content:center;min-height:55px;font-size:12px;gap:17px;padding:12px}.mobile-reservation a:last-child{background:var(--red);color:#fff}.mobile-only{display:block}.source-page{margin:44px auto 65px}.source-page h1{font-size:36px}.source-page h2{font-size:27px}.source-page p,.source-page li{font-size:14px}.document-header{margin-bottom:32px;padding-bottom:28px}.document-lead{font-size:17px!important}.menu-toc{gap:5px 20px;margin-bottom:35px}.menu-sheet{display:block;margin-bottom:60px}.menu-sheet>h2{font-size:29px;margin-bottom:22px;padding-bottom:17px}.menu-prices{margin-bottom:30px}.menu-prices>div{font-size:14px;gap:12px}.menu-prices dd{font-size:18px}.menu-document figure{margin-top:27px}.news-layout{display:block}.news-contents{position:static;margin-bottom:35px;display:flex;flex-wrap:wrap;gap:5px 20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.news-contents a{font-size:12px;padding:6px 0}.news-article h2{font-size:27px}.source-section{padding-top:6px}.header-home{font-size:10px}.english-page .hero h1{font-size:clamp(38px,9.1vw,56px);max-width:550px;line-height:1.17;margin:26px 0}.english-page .hero-sub{font-size:13px;max-width:315px}.english-page .hero-copy{padding-top:43px;min-height:530px}.english-page .hero-copy .eyebrow{font-size:8px}.english-page .hero-actions{gap:22px}.english-page .hero-link{font-size:13px}.english-page .menu-preview-title{font-size:17px}.english-page .menu-preview-copy>p:last-child{font-size:9px;max-width:55%}.english-page .menu-preview-links a{padding:0 10px;gap:8px;font-size:11px}.english-page .menu-preview-links a:first-child{padding-left:0}.english-page .menu-preview-links img{width:25px;height:34px}.english-page .visit-paths strong{font-size:16px}.english-page .story h2{max-width:62%;font-size:36px}.english-page .reservation-phone{font-size:29px}.english-page .source-page h1{font-size:38px}.english-page .signature-mark{font-size:135px;bottom:-30px}.english-page .quick-holiday small{flex-basis:100%}}
@media(max-width:370px){:root{--gutter:20px}.site-header{padding:0 18px;gap:11px}.brand-name{font-size:26px}.language-switch a{padding:8px 6px}.menu-toggle{margin-left:auto}.contact-bar{padding:0 20px;gap:9px}.contact-bar a{font-size:10px}.hero h1{font-size:34px}.hero-copy{padding-top:36px}.hero-sub{font-size:12px}.hero-actions{gap:17px}.hero-link{gap:17px}.hero-secondary{font-size:10px}.menu-preview-copy{gap:8px}.menu-preview-title{font-size:16px}.menu-preview-copy>p:last-child{font-size:8px}.menu-preview-links a{font-size:10px;padding:0 7px;gap:7px}.menu-preview-links img{width:22px;height:31px}.visit-paths strong{font-size:15px}.visit-paths a{gap:13px}.story-year{font-size:52px}.story h2{font-size:31px}.reservation-phone{font-size:29px}.header-home{display:none}.english-page .hero h1{font-size:37px}.english-page .hero-actions{gap:17px}.english-page .hero-link{font-size:12px}.english-page .hero-secondary{font-size:10px}.english-page .hero-copy .eyebrow{font-size:7px}.english-page .menu-preview-copy{display:block}.english-page .menu-preview-copy>p:last-child{max-width:none;text-align:left;margin-top:4px}.english-page .menu-preview-links a{padding:0 7px;font-size:10px}.english-page .hero-media{inset-block-start:125px}.english-page .visit-paths strong{font-size:14px}.english-page .reservation-phone{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.contact-bar,.mobile-reservation,.hero-seal,.hero-bottom{display:none}.hero{display:block;color:#000;background:#fff}.hero-media{position:relative;height:300px;width:100%}.hero-copy{padding:25px}.hero-copy *{color:#000}.menu-preview{background:#fff;color:#000}.section-shell,.source-page{width:95%}.story,.menu-section,.access-section{padding:30px 0}.signature{color:#000;background:#fff}.reservation-section{color:#000;background:#fff;padding:30px 0}.reservation-section *{color:#000!important}.news-inner{padding:25px 0}.site-footer{padding:20px}.menu-sheet,.menu-item,.news-article{break-inside:avoid}.is-in-view{animation:none}}

@media(min-width:701px) and (max-width:1600px){.hero-media{min-height:470px}.hero-copy{padding-top:28px;padding-bottom:60px}.hero-copy .eyebrow{margin-bottom:18px}.hero h1{margin:18px 0 23px}.hero-location{display:none}.hero-bottom{padding-block:12px}.hero-seal{top:145px}.english-page .hero h1{margin:20px 0 24px}.menu-preview-links a{min-height:58px}.menu-preview-links img{width:34px;height:46px}.menu-preview-title{margin-bottom:3px}}
.news-contents time{display:block;font-size:10px;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.news-contents .toc-title{display:block}.toc-number{font:11px Georgia,serif;color:var(--muted);margin-right:10px}.document-note{font-size:13px;color:var(--muted)}

@media(min-width:1100px){
 .menu-preview-copy{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px}
 .menu-preview-title{font-size:20px;white-space:nowrap}
 .menu-preview-links{flex:1.1}
 .menu-document{margin-top:55px}
 .menu-document .document-header{display:grid;grid-template-columns:.7fr 1.3fr;gap:0 7%;max-width:none;margin-bottom:30px;padding-bottom:28px}
 .menu-document .document-header .eyebrow{grid-column:1;grid-row:1;margin:0 0 12px}
 .menu-document .document-header h1{grid-column:1;grid-row:2/5;align-self:start;margin:0;font-size:57px}
 .menu-document .document-header .document-lead{grid-column:2;grid-row:1/3;margin:0 0 12px;font-size:18px!important}
 .menu-document .document-header .source-date,.menu-document .document-header .document-note{grid-column:2;margin:8px 0;font-size:12px}
 .menu-document .menu-toc{margin:0 0 35px}
}
@media(max-width:700px){
 .menu-preview small{display:block;font-size:10px;line-height:1.6;color:#c0c7b5}
 .menu-preview small .menu-source-date{display:none}
 .menu-preview-copy{display:block}
 .menu-preview-copy>p:last-child{font-size:11px;text-align:left;margin-top:5px}
 .english-page .menu-preview-copy>p:last-child{max-width:none;font-size:10px;text-align:left}
 .hero-media,.english-page .hero-media{inset-block-start:150px}
}

@media(max-width:700px){.story h2{padding-top:20px}.english-page .story h2{padding-top:20px}}

.site-header button:focus-visible,.signature a:focus-visible{outline-color:var(--gold)}

.signature-craft{display:flex;align-items:start;justify-content:center;gap:28px;padding:80px 0 80px var(--gutter);position:relative;z-index:1;min-height:430px}
.signature-craft:before{content:"";width:330px;height:330px;border:1px solid #cba57930;border-radius:50%;position:absolute;left:55%;top:50%;transform:translate(-50%,-50%);z-index:-1}
.craft-word{display:flex;flex-direction:column;align-items:center;gap:25px;padding-top:15px}
.craft-word:nth-child(2){padding-top:80px}.craft-word:nth-child(3){padding-top:38px}
.craft-word b{font-family:var(--serif);font-size:clamp(78px,8vw,125px);font-weight:400;line-height:1.1;color:#e8dfcc}
.craft-word small{font:9px var(--sans);color:var(--gold);letter-spacing:.18em;writing-mode:vertical-rl}
@media(max-width:1000px){.signature-craft{gap:18px;min-height:380px;padding-top:65px;padding-bottom:65px}.signature-craft:before{width:270px;height:270px}.craft-word b{font-size:80px}}
@media(max-width:700px){.signature-craft{width:100%;padding:55px var(--gutter) 20px;min-height:280px;gap:35px}.signature-craft:before{width:245px;height:245px;left:50%;top:60%}.craft-word{gap:15px;padding-top:0}.craft-word:nth-child(2){padding-top:43px}.craft-word:nth-child(3){padding-top:15px}.craft-word b{font-size:78px}.craft-word small{font-size:8px;writing-mode:horizontal-tb;letter-spacing:.08em}.signature-copy{padding-top:30px}}

.signature-mark{display:none}.english-page .signature-copy h2{line-height:1.2}

@media(max-width:370px){.signature-craft{gap:22px}.craft-word b{font-size:70px}}
