@font-face{font-family:DM;src:url('../fonts/dm-sans-regular.ttf');font-display:swap}@font-face{font-family:Editorial;src:url('../fonts/cormorant.ttf');font-display:swap;font-weight:500}@font-face{font-family:Editorial;src:url('../fonts/cormorant-italic.ttf');font-display:swap;font-style:italic;font-weight:500}@font-face{font-family:Display;src:url('../fonts/display.ttf');font-display:swap;font-weight:700}
:root{--paper:#faf8f2;--ink:#30221b;--accent:#714128;--muted:#66584f;--line:#cbbeb2;--sans:DM,'Yu Gothic',Meiryo,sans-serif;--serif:Editorial,'Yu Mincho',serif;--pad:7vw;--head:88px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:14px var(--sans);padding-top:var(--head)}body.page-home{padding-top:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0}img{width:100%;height:100%;display:block;object-fit:cover}button,a{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--ink);color:var(--paper)}.section-pad{padding:105px var(--pad)}.eyebrow{font-size:10px;letter-spacing:1.5px}.skip-link{position:fixed;top:10px;left:10px;z-index:300;background:white;color:#111;padding:15px;transform:translateY(-200%)}.skip-link:focus{transform:none}.brand{font:500 33px/.95 Editorial,serif;letter-spacing:2px;display:inline-flex;flex-direction:column;gap:6px}.brand small{font:8px var(--sans);letter-spacing:2.5px}.site-header{position:fixed;inset:0 0 auto;height:var(--head);z-index:100;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:0 4vw}.header-note{font-size:8px;letter-spacing:1px}.header-cta{margin-left:auto;font-size:11px;border-bottom:1px solid;padding:12px 0}.nav-toggle{display:flex;gap:18px;align-items:center;background:transparent;padding:15px 0 15px 10px;font-size:9px;min-height:45px}.nav-toggle i{width:30px;height:12px;border-top:1px solid;border-bottom:1px solid;position:relative}.nav-open .nav-toggle i{transform:rotate(45deg);height:0;border-bottom:0}.nav-open .nav-toggle i:after{content:'';position:absolute;inset:-1px 0 auto;border-top:1px solid;transform:rotate(90deg)}.nav-open{overflow:hidden}.nav-panel{position:fixed;inset:var(--head) 0 0;background:var(--ink);color:var(--paper);z-index:90;padding:45px var(--pad);display:grid;grid-template-columns:1fr 1.4fr;gap:10vw;overflow-y:auto;overscroll-behavior:contain}.js .nav-panel{visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .25s}.js .nav-open .nav-panel{visibility:visible;opacity:1;transform:none}.nav-intro{display:flex;flex-direction:column;gap:35px;padding-top:30px}.nav-intro>span{font-size:10px;letter-spacing:1px}.nav-intro>p{font-size:34px;line-height:1.9}.nav-intro>small{font-size:10px;margin-top:auto}.nav-links>a{display:flex;align-items:center;gap:25px;padding:24px 0;border-bottom:1px solid #ffffff50}.nav-links a>small{font-size:10px}.nav-links a>span{font-size:23px}.nav-links em{display:block;font:500 14px Editorial;margin-top:9px;letter-spacing:1px}.nav-links b{font-size:24px;font-weight:400;margin-left:auto}html:not(.js) .nav-panel{position:relative;margin-top:var(--head)}html:not(.js) .nav-toggle{display:none}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;border-bottom:1px solid;padding:18px 0;font-size:12px}.text-link>span{font-size:23px}.text-link:hover>span{transform:translate(3px,-3px)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:20px 25px;font-size:12px;min-height:55px}.button-dark{background:var(--ink);color:var(--paper)}.button-outline{background:transparent;border:1px solid}.sample-note{font-size:12px;line-height:2;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;font-size:9px;line-height:2}.footer-bottom nav{display:flex;gap:24px}.intro-loader{display:none;position:fixed;inset:0;z-index:200;pointer-events:none;background:var(--paper);color:var(--ink);flex-direction:column;align-items:center;justify-content:center;gap:12px;animation:loader-out .55s 1.05s both}.js .intro-loader.active{display:flex}.intro-loader>span:not(.loader-mark){font:40px Editorial;letter-spacing:4px}.intro-loader>small{font-size:8px;letter-spacing:2px}.loader-mark{width:55px;height:55px;border:1px solid var(--ink);border-radius:50%;margin-bottom:18px;position:relative;animation:mark-in 1s both}.loader-mark:after{content:'';position:absolute;width:18px;height:23px;border:1px solid var(--ink);right:-16px;top:12px;border-radius:0 50% 50% 0}@keyframes mark-in{from{transform:rotate(-90deg) scale(.6);opacity:0}to{transform:none;opacity:1}}@keyframes loader-out{to{opacity:0;visibility:hidden}}
.sub-intro{padding-top:50px;padding-bottom:60px}.sub-title{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-top:40px}.sub-title h1{font:500 clamp(65px,8vw,120px)/.95 Editorial,serif;letter-spacing:-.02em}.sub-title p{font-size:13px;line-height:2.3}.menu-section{padding-top:20px}.menu-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.menu-filters{display:flex;flex-wrap:wrap;gap:10px}.filter-button{padding:12px 18px;font-size:12px;background:transparent;border:1px solid var(--line)}.filter-button.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.menu-count{font-size:10px;white-space:nowrap}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 45px;margin-top:40px}.menu-image{height:350px;background:#e9e2d9;overflow:hidden;position:relative}.menu-image img{transition:transform .5s}.menu-image img[src$="hero.webp"]{object-fit:contain;padding:20px}.menu-card:hover img{transform:scale(1.04)}.menu-image>span{position:absolute;bottom:15px;left:15px;background:var(--paper);color:var(--ink);padding:9px 12px;font-size:10px}.item-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:24px 0 12px;font-size:10px;letter-spacing:.5px}.item-meta b{font:500 28px Editorial}.menu-card h2{font-size:24px}.menu-card>p{font-size:13px;line-height:2.2;margin-top:18px}.menu-card .text-link{display:flex}.price-notes{padding:32px;border:1px solid var(--line);margin-top:55px}.price-notes h2{font-size:19px;margin-bottom:18px}.price-notes p{font-size:12px;line-height:2.3;margin-top:12px}
@media(max-width:1000px){.header-note{display:none}}
@media(max-width:700px){:root{--head:72px;--pad:7vw}html{scroll-padding-top:90px}.site-header{padding:0 5vw;gap:18px}.brand{font-size:27px}.brand small{font-size:6px;letter-spacing:1.6px}.header-cta{font-size:9px}.nav-toggle{gap:9px;font-size:8px;padding-left:0}.nav-toggle i{width:23px}.nav-panel{grid-template-columns:1fr;padding:20px 7vw 35px;gap:0}.nav-intro{display:none}.nav-links>a{padding:23px 0;gap:18px}.nav-links a>span{font-size:18px}.nav-links em{font-size:12px}.section-pad{padding:70px var(--pad)}.footer-bottom{flex-direction:column;gap:15px;font-size:8px}.sub-intro{padding-top:35px;padding-bottom:35px}.sub-title{display:block;margin-top:30px}.sub-title h1{font-size:18vw}.sub-title p{font-size:12px;margin-top:25px}.menu-toolbar{flex-direction:column;align-items:start;gap:15px}.menu-filters{gap:7px}.filter-button{padding:12px 13px;font-size:11px}.menu-grid{grid-template-columns:1fr;gap:45px;margin-top:30px}.menu-image{height:300px}.menu-card h2{font-size:22px}.menu-card>p{font-size:12px}.price-notes{padding:25px}.contact-section{grid-template-columns:1fr!important;gap:35px!important;padding-top:0!important}.contact-aside h2{font-size:26px!important}.form-row{gap:12px!important}.form-actions{flex-direction:column}.field input,.field select,.field textarea{font-size:16px!important}.contact-demo p,.checkbox-field{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro-loader{display:none!important}}
