:root{--ink:#141a18;--paper:#f4f0e6;--mint:#b9ded2;--muted:#728078;--line:#d6d7cb;--yellow:#f1d584}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}img,video{max-width:100%;display:block}header{display:flex;align-items:center;justify-content:space-between;padding:22px 5vw;border-bottom:1px solid var(--line)}.brand{font-weight:800;letter-spacing:.12em;font-size:23px}.brand small{font-size:10px;display:block;letter-spacing:.28em}nav{display:flex;gap:30px;align-items:center}.button,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:12px 25px;font-weight:bold;border-radius:2px}.button.light{background:transparent;color:var(--ink)}.eyebrow{font-size:11px;letter-spacing:.26em;font-weight:700;color:var(--muted);text-transform:uppercase}.hero{display:grid;grid-template-columns:1.03fr 1fr;min-height:680px}.hero-copy{padding:90px 5vw 60px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{font-family:'Yu Mincho',serif;font-size:clamp(40px,4.7vw,76px);line-height:1.45;font-weight:500;letter-spacing:.04em;margin:24px 0}.hero-copy p{max-width:410px}.hero-media{position:relative;background:#b9ded2;overflow:hidden;min-height:530px}.hero-media video{width:100%;height:100%;object-fit:cover}.hero-media img{width:100%;height:100%;object-fit:cover}.media-caption{position:absolute;bottom:22px;left:24px;background:var(--paper);padding:5px 15px;font-size:12px}.strip{background:var(--ink);color:var(--mint);display:flex;justify-content:space-around;gap:20px;padding:19px;font-size:12px;letter-spacing:.12em}.section{padding:90px 6vw;max-width:1440px;margin:auto}h2{font-family:'Yu Mincho',serif;font-size:clamp(30px,3vw,48px);font-weight:500;line-height:1.5;margin:12px 0 28px}h3{font-size:20px}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.intro img{width:100%;height:520px;object-fit:cover}.number{font-family:Georgia,serif;color:var(--muted);font-size:14px}.menu-top{display:flex;align-items:end;justify-content:space-between;gap:25px}.pricing{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:35px 0}.price-item{padding:35px 25px;border-right:1px solid var(--line)}.price-item:last-child{border:0}.price{font-size:36px;font-family:Georgia,serif}.price small{font-size:15px}.note{color:#526159;font-size:13px}.menu-details{display:grid;grid-template-columns:1fr 1fr;gap:50px}dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0}dd{margin:0;white-space:nowrap}.flavors{background:var(--mint)}.flavor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.flavor-grid h3{border-bottom:1px solid #80aa9c;padding-bottom:12px}.flavor-grid p{font-size:14px;line-height:2.3}.source-links{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;text-decoration:underline}.access{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.access address{font-style:normal;font-size:23px;line-height:1.7}.access .hours{margin:25px 0}.cta{background:var(--ink);color:var(--paper);text-align:center;padding:65px 20px}.cta .button{background:var(--mint);color:var(--ink);border-color:var(--mint)}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 5vw;font-size:11px;color:var(--muted)}.page{max-width:1000px;margin:0 auto;padding:55px 25px}.page.narrow{max-width:700px}.card{background:#fffdf7;border:1px solid var(--line);padding:30px;margin:25px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:13px;font-weight:600}input,select,textarea{width:100%;padding:12px;margin:6px 0 17px;border:1px solid #aab5ac;background:#fff;color:var(--ink);border-radius:2px}textarea{min-height:90px}input[type=checkbox]{width:auto;margin-right:10px}.check{display:flex;align-items:baseline;gap:6px}.error{color:#a32424}.success{background:#daeadd;padding:25px}.hidden,[hidden]{display:none!important}.notice{background:#e6e9db;padding:15px 20px;margin:20px 0}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.calendar{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin:20px 0}.day,.weekday{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-width:0}.day{min-height:100px}.weekday{text-align:center;font-size:12px;background:var(--mint)}.day.empty{background:#e8e7de}.event{width:100%;padding:5px;margin:3px 0;background:#dcece4;border:0;color:var(--ink);font-size:11px;display:block;text-align:left;line-height:1.5}.event.pending{background:#f1df9f}.event.cancelled,.event.rejected{background:#e5e1dd;color:#777}.reservation{border-bottom:1px solid var(--line);padding:20px 0}.reservation h3{margin:0 0 8px}.reservation button{padding:5px 12px;font-size:12px}.badge{font-size:11px;background:var(--mint);padding:3px 8px}.weekchecks{display:flex;gap:15px;flex-wrap:wrap}.weekchecks label{display:flex;align-items:baseline}button:disabled{opacity:.45;cursor:not-allowed}.full{grid-column:1/-1}.privacy{font-size:12px;color:#5b655e}summary{cursor:pointer;font-weight:600}table{width:100%;border-collapse:collapse}td,th{padding:10px;border-bottom:1px solid var(--line);text-align:left}@media(max-width:760px){header{padding:14px 20px}.brand{font-size:18px}nav{gap:12px;font-size:12px}nav .nav-extra{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 25px}.hero h1{font-size:46px}.hero-media{min-height:380px;height:420px}.strip{flex-wrap:wrap;gap:5px 20px;font-size:10px}.section{padding:60px 25px}.intro,.access{grid-template-columns:1fr;gap:35px}.intro img{height:400px}.pricing{grid-template-columns:1fr}.price-item{border-right:0;border-bottom:1px solid var(--line);padding:22px 0}.menu-details{grid-template-columns:1fr;gap:20px}.flavor-grid{grid-template-columns:1fr 1fr;gap:20px}.menu-top{display:block}.form-grid{grid-template-columns:1fr}.day{min-height:75px;padding:3px}.event{font-size:9px;padding:3px}.card{padding:20px}footer{flex-wrap:wrap}.toolbar button{padding:8px 12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}