:root{--black:#070707;--coal:#141210;--gold:#e2b45e;--gold-l:#f3e2a6;--gold-d:#b98a3a;--cream:#f6efe0;--red:#c3343b;--blue:#3a78c0;--muted:#cbbfa6}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--cream);font-family:"Be Vietnam Pro",system-ui,sans-serif;font-size:16.5px;line-height:1.6}
img{max-width:100%;display:block}a{color:var(--gold-l)}
:focus-visible{outline:2px solid var(--gold-l);outline-offset:3px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:.5rem 1rem;z-index:99}.skip-link:focus{left:0}
.demo-banner{background:var(--gold);color:#111;font-size:.78rem;text-align:center;padding:.35rem 1rem;font-weight:500}
h1,h2,h3{font-family:Forum,Georgia,serif;font-weight:400;margin:0;line-height:1.1}
/* header */
.bar{position:sticky;top:0;z-index:40;background:rgba(7,7,7,.96);border-bottom:1px solid var(--gold-d)}
.bar-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1.4rem;padding:.4rem 1rem}
.crest img{width:58px;height:58px}
.bar-links{display:none;gap:1.5rem;margin-left:auto}
.bar-links a{color:var(--cream);text-decoration:none;font-size:.92rem}
.bar-links a:hover{color:var(--gold)}
.bar-book{display:none;background:var(--gold);color:#111;text-decoration:none;font-weight:700;font-size:.9rem;padding:.55rem 1rem;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.nav-toggle{margin-left:auto;width:46px;height:46px;background:none;border:1px solid var(--gold);position:relative;cursor:pointer}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{position:absolute;left:11px;right:11px;height:2px;background:var(--gold);content:""}
.nav-toggle span{top:21px}.nav-toggle span::before{top:-7px;left:0;right:0}.nav-toggle span::after{top:7px;left:0;right:0}
.mobile-menu{display:none;padding:.4rem 1rem 1rem;border-top:1px solid #2a251c}
.mobile-menu.is-open{display:grid}
.mobile-menu a{color:var(--cream);text-decoration:none;padding:.7rem 0;border-bottom:1px solid #2a251c}
.mobile-menu .mm-book{background:var(--gold);color:#111;text-align:center;font-weight:700;margin-top:.6rem;border:0}
.mobile-menu .mm-call{text-align:center;border:1px solid var(--gold);margin-top:.5rem}
@media(min-width:960px){.bar-links{display:flex}.bar-book{display:inline-block}.nav-toggle{display:none}.mobile-menu,.mobile-menu.is-open{display:none}}
/* hero */
.throne{max-width:1200px;margin:0 auto;padding:2.4rem 1rem 3rem;display:grid;gap:1.8rem;align-items:center}
.throne-logo{max-width:440px;margin:0 auto;width:100%}
.throne-logo img{width:100%;height:auto}
.since{color:var(--gold);font-size:.9rem;margin:0 0 .8rem;letter-spacing:.06em}
.throne h1{font-size:clamp(2.1rem,5.6vw,3.7rem);color:var(--cream)}
.sub{color:var(--muted);font-size:1.08rem;max-width:34rem;margin:1rem 0 1.5rem}
.throne-btns{display:flex;flex-wrap:wrap;gap:.9rem}
.gold,.outline{display:inline-block;font:inherit;font-weight:700;text-decoration:none;padding:.85rem 1.4rem;cursor:pointer;border:0;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.gold{background:linear-gradient(180deg,var(--gold-l),var(--gold) 55%,var(--gold-d));color:#111}
.gold:hover{filter:brightness(1.08)}
.outline{background:#1d1a14;color:var(--gold-l);box-shadow:inset 0 0 0 1px var(--gold)}
@media(min-width:900px){.throne{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding:3.5rem 1rem 4rem}}
/* chair band with pennant bunting (nod to the flag strings in the shop) */
.chair{position:relative;background:var(--coal);border-top:1px solid var(--gold-d);border-bottom:1px solid var(--gold-d);padding:3.4rem 1rem 2.4rem;text-align:center}
.pennants{position:absolute;left:0;right:0;top:0;height:22px;background:
 linear-gradient(135deg,transparent 50%,var(--coal) 50%) 0 0/36px 22px,
 linear-gradient(225deg,transparent 50%,var(--coal) 50%) 0 0/36px 22px,
 repeating-linear-gradient(90deg,var(--red) 0 36px,var(--gold) 36px 72px,var(--blue) 72px 108px,var(--cream) 108px 144px)}
.chair-line{font-family:Forum,serif;font-size:clamp(1.9rem,4.6vw,3rem);color:var(--gold-l);margin:0}
.chair-small{color:var(--muted);margin:.7rem auto 0;max-width:38rem;font-size:.95rem}
/* cuts */
.cuts{max-width:1200px;margin:0 auto;padding:3.6rem 1rem}
.cuts h2{font-size:clamp(2.2rem,5vw,3.2rem);color:var(--gold);margin-bottom:1.6rem;text-align:right}
.cut-grid{display:grid;gap:1px;background:#3a3122;border:1px solid #3a3122}
.cut{background:var(--black);padding:1.1rem 1.2rem}
.cut h3{font-size:1.45rem;color:var(--cream)}
.cut h3 span{color:var(--gold);font-size:1.05rem}
.cut p{margin:.35rem 0 0;color:var(--muted);font-size:.95rem}
.cut-hero{background:linear-gradient(140deg,#1d180f,#0b0a08);border-left:4px solid var(--gold)}
.cut-hero h3{color:var(--gold-l);font-size:1.9rem}
.cuts-note{color:var(--muted);font-size:.9rem;margin-top:1rem}
@media(min-width:760px){.cut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cut-hero{grid-column:span 2;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem}}
/* lounge */
.lounge{background:var(--cream);color:#1a1712}
.lounge{display:grid;gap:0}
.lounge figure{margin:0;background:#2a2620}
.lounge figure img{width:100%;height:auto;object-fit:cover;aspect-ratio:546/378}
.lounge figcaption{background:#1a1712;color:var(--cream);font-size:.8rem;padding:.45rem .8rem}
.lounge-copy{padding:2.4rem 1.4rem}
.lounge-copy h2{font-size:clamp(2rem,4.4vw,2.8rem);color:#1a1712}
.lounge-copy a{color:#7a5a1e}
.said{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:.8rem}
.said li{border-left:3px solid var(--red);padding-left:.9rem}
@media(min-width:900px){.lounge{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch}.lounge-copy{padding:3.4rem 3rem;align-self:center}.lounge figure{display:flex;flex-direction:column}.lounge figure img{flex:1;height:100%;aspect-ratio:auto}}
/* write */
.write{padding:3.6rem 1rem}
.write-in{max-width:760px;margin:0 auto;border:1px solid var(--gold-d);padding:1.8rem;background:#0f0d0a}
.write h2{font-size:2.1rem;color:var(--gold);margin-bottom:1rem}
form{display:grid;gap:1rem}
.field label{display:block;font-size:.9rem;margin-bottom:.3rem;color:var(--gold-l)}
.field input,.field textarea{width:100%;font:inherit;color:var(--cream);background:#1a1712;border:1px solid #6b5a3a;padding:.65rem .75rem;border-radius:0}
.field.has-error input,.field.has-error textarea{border-color:#ff8a80}
.field-error{color:#ffb3ab;font-size:.85rem;margin:.2rem 0 0;min-height:1em}
.form-demo{color:var(--muted);font-size:.85rem;margin:0}
form .gold{justify-self:start}
.form-success{display:none;border:1px dashed var(--gold);padding:1.2rem;margin-top:1rem}
.form-success.is-visible{display:block}
@media(min-width:700px){form{grid-template-columns:1fr 1fr}.field.wide,form .gold,.form-demo{grid-column:1/-1}}
/* hours + map: map first */
.hours{max-width:1200px;margin:0 auto;padding:0 1rem 3.6rem;display:grid;gap:1.4rem}
.hours-map{order:-1}
.hours-map iframe{display:block;width:100%;height:320px;border:1px solid var(--gold-d);background:#1a1712}
.addr{margin:.6rem 0 0;color:var(--muted);font-size:.95rem}
.hours-card{background:var(--gold);color:#111;padding:1.8rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.hours-card h2{font-size:2.3rem;margin-bottom:.8rem}
.hours-card table{width:100%;border-collapse:collapse}
.hours-card th,.hours-card td{text-align:left;padding:.55rem 0;border-bottom:1px solid rgba(0,0,0,.25);font-size:1rem}
.hours-card th{font-weight:500}.hours-card td{text-align:right;font-weight:700}
.hours-src{font-size:.85rem;margin:.8rem 0 0}
@media(min-width:900px){.hours{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}.hours-map iframe{height:400px}}
/* footer */
.foot{text-align:center;padding:2.4rem 1rem 2rem;border-top:1px solid var(--gold-d);background:var(--coal)}
.crown{color:var(--gold);width:60px;margin:0 auto}
.foot-name{font-family:Forum,serif;font-size:1.8rem;color:var(--gold-l);margin:.4rem 0}
.foot p{margin:.3rem 0}.fine{font-size:.8rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
