*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#3a1a12;--red:#6b2a1a;--sage:#a9b57f;--cream:#f4efe1;--line:#c9b99a}
html{scroll-behavior:smooth}body{font-family:'EB Garamond',serif;color:var(--ink);font-size:1.12rem;line-height:1.65;background:var(--cream)}
.paper{background-color:var(--cream);background-image:radial-gradient(rgba(90,60,30,.06) 1px,transparent 1px),radial-gradient(rgba(90,60,30,.04) 1px,transparent 1px);background-size:6px 6px,11px 11px;background-position:0 0,3px 5px}
img{display:block;max-width:100%}a{color:inherit}h1,h2{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.05}
.topbar{background:var(--ink);color:var(--cream);text-align:center;font-family:Cinzel,serif;font-size:.7rem;letter-spacing:.2em;padding:.55rem 1rem;text-transform:uppercase}
.mast{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(244,239,225,.94);backdrop-filter:blur(6px);z-index:40}
.mast nav{display:flex;gap:1.2rem;font-family:Cinzel,serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.mast nav a{text-decoration:none}.mast .r{justify-content:flex-end}.mast .l a+a,.mast .r a:first-child{display:none}
.crest img{width:64px;height:64px;border-radius:50%;border:1px solid var(--line);padding:3px;background:var(--sage)}
.hero{text-align:center;padding:3.5rem 1.2rem 2rem;max-width:1100px;margin:auto}.est{font-family:Cinzel,serif;letter-spacing:.3em;font-size:.72rem;text-transform:uppercase;color:var(--red)}
h1{font-size:clamp(2.8rem,10vw,6rem);margin:.8rem 0 .2rem;letter-spacing:.01em}h1 span{font-style:italic;font-weight:500;font-size:.62em;color:var(--red)}
.orn{width:220px;margin:1.2rem auto;color:var(--red)}.orn svg{width:100%;overflow:visible}.orn path{fill:none;stroke:currentColor;stroke-width:1.2}.orn circle{fill:currentColor}
.draw{stroke-dasharray:300;stroke-dashoffset:300;transition:stroke-dashoffset 2s ease}.in .draw,.orn.in .draw{stroke-dashoffset:0}
.lede{max-width:36rem;margin:0 auto;font-size:1.2rem;font-style:italic}.rating{margin:1.4rem 0;font-family:Cinzel,serif;font-size:.8rem;letter-spacing:.15em;color:var(--red)}
.ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.b{font-family:Cinzel,serif;letter-spacing:.15em;font-size:.78rem;text-transform:uppercase;text-decoration:none;padding:.95rem 1.6rem;border:1px solid var(--red);transition:.4s}.b.solid{background:var(--red);color:var(--cream)}.b.solid:hover{background:var(--ink)}.b.line:hover{background:var(--red);color:var(--cream)}
.triptych{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:.8rem;margin-top:3rem;align-items:end}.triptych figure{border:1px solid var(--line);padding:6px;background:#fbf8ef}.triptych img{aspect-ratio:3/4;object-fit:cover;filter:sepia(.25) saturate(.85)}.triptych .mid img{aspect-ratio:4/5}
.cap{font-size:.8rem;font-style:italic;opacity:.6;margin-top:.6rem}
.creds{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1100px;margin:2rem auto}.creds div{padding:1.4rem 1rem;text-align:center;border-right:1px solid var(--line)}.creds div:nth-child(2n){border-right:0}.creds b{display:block;font-family:Cinzel,serif;font-size:.85rem;letter-spacing:.12em;color:var(--red)}.creds span{font-size:.92rem;font-style:italic}
.menu{max-width:760px;margin:auto;padding:4rem 1.2rem;text-align:center}.menu h2,.words h2,.book h2,.cats h2,.call h2{font-size:clamp(2.2rem,6vw,3.4rem)}
.menu ul{list-style:none;text-align:left;margin-top:1rem;border:double 4px var(--line);padding:1.6rem 1.3rem;background:rgba(255,253,245,.6)}.menu li{padding:.85rem 0;border-bottom:1px solid rgba(201,185,154,.5)}.menu li:last-child{border:0}
.mrow{display:flex;align-items:baseline;gap:.5rem}.mname{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700}.dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-4px)}.mprice{font-family:Cinzel,serif;font-size:.95rem;color:var(--red);white-space:nowrap}.menu li p{font-size:.98rem;font-style:italic;opacity:.8}
.fine{font-size:.88rem;margin-top:1rem;font-style:italic}
.cats{display:grid;max-width:1100px;margin:auto;padding:2rem 1.2rem 4rem;gap:2rem;align-items:center}.cats .ph{border:1px solid var(--line);padding:8px;background:#fbf8ef}.cats img{aspect-ratio:4/3;object-fit:cover;filter:sepia(.2)}.cats .tx p{margin:1rem 0 1.6rem}
.words{background:var(--ink);color:var(--cream);padding:4.5rem 1.2rem;text-align:center}.words .orn{color:var(--sage)}.sub{font-family:Cinzel,serif;font-size:.75rem;letter-spacing:.2em;color:var(--sage);margin-top:.6rem}
.qs{max-width:1100px;margin:auto;display:grid;gap:2rem}.qs blockquote p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.4rem;line-height:1.4}.qs cite{display:block;margin-top:.7rem;font-family:Cinzel,serif;font-size:.7rem;letter-spacing:.2em;font-style:normal;color:var(--sage)}
.book{padding:4.5rem 1.2rem}.bk-in{max-width:1050px;margin:auto;display:grid;gap:2.5rem}.hrs{list-style:none;margin:1.4rem 0}.hrs li{display:flex;gap:.5rem;padding:.35rem 0}.hrs i{flex:1;border-bottom:1px dotted var(--line);transform:translateY(-6px)}.addr{font-style:italic}
.widget{background:#fbf8ef;border:1px solid var(--line);outline:1px solid var(--line);outline-offset:5px;padding:1.5rem;display:grid;gap:1rem}.w-top{display:flex;justify-content:space-between;font-family:Cinzel,serif;letter-spacing:.1em;font-size:.85rem}.demo{background:var(--red);color:var(--cream);padding:.1rem .5rem;font-size:.7rem}
label{display:grid;gap:.3rem;font-family:Cinzel,serif;font-size:.7rem;letter-spacing:.15em}select,input{font:inherit;font-family:'EB Garamond',serif;font-size:1rem;letter-spacing:0;padding:.65rem;border:1px solid var(--line);background:var(--cream);color:var(--ink)}
.w-month{display:flex;justify-content:space-between;align-items:center;font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:700}.arw{background:none;border:1px solid var(--line);width:30px;height:30px;cursor:pointer}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.days button,.slots button{font:inherit;font-size:1rem;background:transparent;border:1px solid var(--line);padding:.4rem 0;cursor:pointer;color:var(--ink)}.days small{display:block;font-family:Cinzel,serif;font-size:.55rem}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.on{background:var(--red)!important;color:var(--cream)!important}button:disabled{opacity:.3;text-decoration:line-through}.wbtn{font-family:Cinzel,serif;letter-spacing:.15em;background:var(--ink);color:var(--cream);border:0;padding:1rem;cursor:pointer;font-size:.8rem}.wbtn.done{background:#5d6b3a}.w-note{text-align:center;font-size:.85rem;font-style:italic}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:1100px;margin:0 auto;padding:0 1.2rem}.gal img{aspect-ratio:1;object-fit:cover;filter:sepia(.3) saturate(.8);transition:filter 1s}.gal img:hover{filter:none}
.call{text-align:center;padding:4.5rem 1.2rem}.tel{display:inline-block;margin:1rem 0;font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,8vw,4rem);font-weight:700;color:var(--red);text-decoration:none;border-bottom:1px solid var(--line)}
footer{text-align:center;padding:2rem 1rem 5.5rem;border-top:1px solid var(--line);font-size:.9rem}.small{font-family:Cinzel,serif;font-size:.65rem;letter-spacing:.15em;margin-top:.4rem}
.callfab{position:fixed;bottom:1rem;right:1rem;width:56px;height:56px;border-radius:50%;background:var(--red);display:grid;place-items:center;text-decoration:none;font-size:1.4rem;border:3px double var(--cream);z-index:50}
.reveal{opacity:0;transition:opacity 1.6s ease,filter 1.6s ease;filter:blur(3px)}.reveal.in{opacity:1;filter:none}
@media(min-width:800px){.mast .l a+a,.mast .r a:first-child{display:inline}.mast{padding:1rem 3rem}.crest img{width:86px;height:86px}.creds{grid-template-columns:repeat(4,1fr)}.creds div:nth-child(2n){border-right:1px solid var(--line)}.creds div:last-child{border:0}.cats{grid-template-columns:1fr 1fr;gap:4rem}.qs{grid-template-columns:repeat(3,1fr)}.bk-in{grid-template-columns:1fr 1fr;align-items:center}.callfab{display:none}.menu ul{padding:2.4rem 3rem}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;filter:none;transition:none}.draw{stroke-dashoffset:0}}
html,body{overflow-x:clip;max-width:100%}@media(max-width:899px){.bk-in,.bi,.bk,.split,.hero,.first,.cats{grid-template-columns:minmax(0,1fr)}}.widget,.widget *{min-width:0}