:root{--bg:#0e0d0c;--bg2:#171513;--wood:#2a211b;--cu:#c8692c;--cu2:#e08a4c;--red:#a8242a;--tx:#f4efe8;--mut:#b9b0a5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.65 "Inter",system-ui,sans-serif}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.15;margin:0 0 .5em}h2{font-size:clamp(1.9rem,4vw,2.7rem)}
a{color:var(--cu2)}img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;color:#000;padding:8px;z-index:99}
.eyebrow{font:600 .78rem/1 "Inter";letter-spacing:.22em;text-transform:uppercase;color:var(--cu)}
.btn{display:inline-block;background:var(--cu);color:#111;font-weight:700;text-decoration:none;padding:.85em 1.6em;border-radius:3px;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;transition:background .2s}
.btn:hover,.btn:focus-visible{background:var(--cu2)}.btn.ghost{background:none;color:var(--tx);border:1px solid #5a4f45}.btn.ghost:hover{border-color:var(--cu)}
:focus-visible{outline:2px solid var(--cu2);outline-offset:3px}
header{position:sticky;top:0;z-index:20;background:rgba(14,13,12,.94);backdrop-filter:blur(6px);border-bottom:1px solid #2b2520}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:"Playfair Display",serif;font-weight:800;font-size:1.35rem;color:var(--tx);text-decoration:none;letter-spacing:.04em}.logo span{color:var(--cu)}
nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}nav a{color:var(--mut);text-decoration:none;font-size:.92rem}nav a:hover{color:var(--tx)}
.hdr-r{display:flex;align-items:center;gap:26px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:88px}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.3rem)}.hero h1 em{color:var(--cu);font-style:italic}
.hero p.lead{color:var(--mut);font-size:1.13rem;max-width:34em}.cta{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 22px}
.hero .meta{font-size:.9rem;color:var(--mut);border-left:2px solid var(--cu);padding-left:14px}
.hero figure{margin:0;position:relative}.hero figure img{border-radius:4px;aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.hero figure::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--cu);border-radius:4px;z-index:-1}
section{padding:88px 0}.alt{background:var(--bg2);border-top:1px solid #241f1b;border-bottom:1px solid #241f1b}
.wood{background:linear-gradient(rgba(14,13,12,.82),rgba(14,13,12,.9)),repeating-linear-gradient(90deg,#2a211b 0 3px,#30261f 3px 7px,#251d17 7px 12px)}
.intro{max-width:760px;text-align:center;margin:0 auto}.intro p{color:var(--mut);font-size:1.1rem}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.pillar{border-top:2px solid var(--cu);padding-top:18px}.pillar h3{font-size:1.25rem}.pillar p{color:var(--mut);margin:0}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:40px 0 32px}
.svc{background:var(--bg);border:1px solid #2e2823;padding:28px 22px;border-radius:4px}.svc .n{font-family:"Playfair Display";color:var(--cu);font-size:1.6rem}
.svc h3{font-size:1.25rem;margin-top:6px}.svc p{color:var(--mut);margin:0;font-size:.95rem}
.center{text-align:center}.note{color:var(--mut);font-size:.95rem}
.hours{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
table{width:100%;border-collapse:collapse}td{padding:12px 0;border-bottom:1px solid #2e2823}td:last-child{text-align:right;color:var(--mut)}
.early{background:var(--bg);border:1px solid var(--cu);padding:30px;border-radius:4px}.early .big{font-family:"Playfair Display";font-size:3rem;color:var(--cu);line-height:1}
.story{max-width:720px;margin:0 auto;text-align:center}.story p{color:var(--mut);font-size:1.1rem}
.merch{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;align-items:center}.merch figure img{aspect-ratio:4/5;object-fit:contain;width:100%}
.merch figure{margin:0;background:#f4efe8;border-radius:4px;padding:14px}.merch figcaption{color:#222;font-weight:600;text-align:center;padding-top:8px;font-size:.9rem}
.visit{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:stretch}
.visit iframe{width:100%;height:100%;min-height:360px;border:0;border-radius:4px;filter:grayscale(.6) contrast(1.05);background:#222}
address{font-style:normal;margin-bottom:18px}
footer{border-top:1px solid #2b2520;padding:44px 0 36px;color:var(--mut);font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
.sticky{display:none}
@media(max-width:900px){nav{display:none}.hero,.hours,.visit{grid-template-columns:1fr}.hero{padding-top:40px;padding-bottom:64px;gap:40px}
.pillars{grid-template-columns:1fr}.services{grid-template-columns:1fr 1fr}.merch{grid-template-columns:1fr 1fr}.merch .txt{grid-column:1/-1}
section{padding:64px 0}body{padding-bottom:76px}
.sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px 16px;background:rgba(14,13,12,.96);border-top:1px solid #2b2520}.sticky .btn{display:block;text-align:center}}
@media(max-width:520px){.services{grid-template-columns:1fr}.hdr-r .btn{padding:.7em 1em;font-size:.75rem}.logo{font-size:1.1rem}}

.intro-note{max-width:34em;margin:0 auto 36px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
.g-item{display:block;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;border-radius:4px;overflow:hidden;aspect-ratio:4/5;position:relative}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease;filter:saturate(.92)}
.g-item:hover img,.g-item:focus-visible img{transform:scale(1.04);filter:saturate(1)}
.g-item:focus-visible{outline:2px solid var(--cu2);outline-offset:3px}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,7,6,.92);display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(960px,100%);max-height:90vh;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.6);cursor:default}
.lb-close{position:absolute;top:16px;right:20px;background:none;border:0;color:var(--tx);font-size:2rem;line-height:1;cursor:pointer;opacity:.8}
.lb-close:hover{opacity:1;color:var(--cu2)}
@media(max-width:900px){.gallery{grid-template-columns:1fr 1fr;gap:10px}}

.brand-mark{display:block;width:300px;height:auto;margin:0 0 22px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.brand-mark.foot{width:72px;margin:0}
.foot-brand{display:flex;align-items:center;gap:16px}
@media(max-width:900px){.brand-mark{width:220px;margin-bottom:18px}.brand-mark.foot{width:56px}}
@media(max-width:520px){.brand-mark{width:180px}}

.crest-band{display:flex;justify-content:center;align-items:center;padding:40px 16px 8px}.crest-band .brand-mark{width:min(760px,92vw);margin:0 auto}
@media(max-width:900px){.crest-band .brand-mark{width:min(600px,92vw);margin:0 auto}}
@media(max-width:520px){.crest-band{padding-top:24px}.crest-band .brand-mark{width:92vw}}
