:root{--bg:#161513;--ink:#efe8d8;--ink-hero:#efe8d8;--accent:#c9a24a;--accent-text:#e2c27a;--on-accent:#1d1c1a;--accent-shadow:rgba(201,162,74,.5);--line:rgba(239,232,216,.14);--nav-bg:rgba(22,21,19,.78);
--font-display:'Cinzel',Georgia,serif;--font-body:'Montserrat',system-ui,sans-serif;--gold:linear-gradient(135deg,#f0d896,#c9a24a 45%,#8f6d27);--char:#1d1c1a;--cream:#efe8d8}
body{background:var(--bg);color:var(--ink)}
.h2,.hero h1{font-weight:700;letter-spacing:.02em}
.goldtxt{background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--cream)}
.brand svg{height:44px;width:auto}
.brand .t{display:flex;flex-direction:column;line-height:1}
.brand .t b{font:700 24px/1 var(--font-display);letter-spacing:.06em}
.brand .t i{font:600 9.5px/1 var(--font-body);letter-spacing:.24em;font-style:normal;margin-top:4px;color:var(--accent)}
.btn{background:var(--gold);color:#1d1c1a}
.btn.ghost{background:transparent;color:var(--cream);border-color:rgba(239,232,216,.4)}
.hero{background:radial-gradient(1000px 700px at 75% 35%,#3a3226 0%,transparent 60%),radial-gradient(800px 600px at 0% 100%,#2a2418 0%,transparent 60%),#161513}
.hero .beams{inset:-10%;background:repeating-linear-gradient(115deg,transparent 0 90px,rgba(201,162,74,.06) 90px 92px);-webkit-mask:radial-gradient(ellipse at 70% 40%,#000,transparent 70%);mask:radial-gradient(ellipse at 70% 40%,#000,transparent 70%)}
.hero .glow{width:50vmax;height:50vmax;right:-15vmax;top:-12vmax;border-radius:50%;background:radial-gradient(circle,rgba(226,194,122,.28),transparent 65%)}
.hero .giant{font:700 clamp(140px,26vw,400px)/1 var(--font-display);color:transparent;-webkit-text-stroke:1px rgba(201,162,74,.16);left:-1vw;bottom:-4vw;letter-spacing:.04em}
.hero-content{max-width:640px;padding:70px 0}
.hero h1{font-size:clamp(46px,7.4vw,100px);line-height:.98;margin-bottom:24px}
.hero .lede{color:rgba(239,232,216,.8);margin-bottom:34px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}
.hero .fallback{position:absolute;right:5vw;top:50%;width:min(40vw,520px);transform:translateY(-50%)}
.stars{display:flex;align-items:center;gap:10px;margin-top:30px;font-size:14px;color:rgba(239,232,216,.75)}
.stars b{color:var(--accent);letter-spacing:2px;font-size:18px}
@media (max-width:760px){.hero{align-items:flex-end;min-height:calc(100svh - 28px)}.hero-content{padding:46vh 0 36px}.hero h1{font-size:clamp(44px,13vw,64px)}.hero .fallback{left:50%;right:auto;top:20vh;width:70vw;transform:translateX(-50%)}}
.band{background:var(--gold);color:#1d1c1a;padding:18px 0;font:700 clamp(16px,2.2vw,22px)/1 var(--font-display);letter-spacing:.14em}
.band svg{width:20px;height:20px;vertical-align:-3px;margin:0 18px}
.about .cols{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.about .frame{aspect-ratio:4/5;border-radius:6px;position:relative;background:linear-gradient(160deg,#2a2620,#1a1916);border:1px solid rgba(201,162,74,.3);overflow:hidden;transform-style:preserve-3d}
.about .frame svg{position:absolute;inset:0;width:100%;height:100%}
.about .frame .ph{position:absolute;left:16px;bottom:16px;right:16px}
.about blockquote{font:700 clamp(26px,3.2vw,40px)/1.2 var(--font-display);margin:0 0 20px}
@media (max-width:860px){.about .cols{grid-template-columns:1fr;gap:34px}}
.svc{background:linear-gradient(180deg,#161513,#1d1c1a)}
.svc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:54px}
.card{background:linear-gradient(160deg,#25231f,#1b1a17);border:1px solid rgba(201,162,74,.22);border-radius:16px;padding:26px 22px;min-height:230px}
.card .ic{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:var(--gold);color:#1d1c1a;margin-bottom:18px;box-shadow:0 12px 30px -10px rgba(201,162,74,.6)}
.card .ic svg{width:26px;height:26px}
.card h3{font:700 18px/1.2 var(--font-display);margin-bottom:10px;color:var(--cream)}
.card p{font-size:13.5px;line-height:1.55;margin:0;color:rgba(239,232,216,.7)}
@media (max-width:1100px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.svc-grid{grid-template-columns:1fr 1fr;gap:12px}.card{padding:20px 16px;min-height:0}.card p{display:none}}
.ba{margin-top:20px}
.ba-wrap{position:relative;aspect-ratio:16/8;border-radius:16px;overflow:hidden;border:1px solid rgba(201,162,74,.3);touch-action:pan-y;cursor:ew-resize;--x:50%}
.ba-wrap>div{position:absolute;inset:0;display:grid;place-items:center}
.ba-wrap .after{clip-path:inset(0 0 0 var(--x))}
.ba-wrap .handle{position:absolute;top:0;bottom:0;left:var(--x);width:3px;background:var(--accent);transform:translateX(-50%);box-shadow:0 0 30px rgba(201,162,74,.8)}
.ba-wrap .handle::after{content:"⟷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:var(--gold);color:#1d1c1a;display:grid;place-items:center;font-size:22px}
.ba-wrap .lbl{position:absolute;top:16px;font:700 12px/1 var(--font-body);letter-spacing:.2em;padding:8px 12px;border-radius:99px;background:rgba(0,0,0,.5)}
@media (max-width:700px){.ba-wrap{aspect-ratio:4/5}}
.story{background:#efe8d8;color:#1d1c1a}
.story .eyebrow{color:#8f6d27}
.story .big{font:700 clamp(26px,3.6vw,46px)/1.25 var(--font-display);max-width:28ch;transform:perspective(1100px) rotateX(calc((1 - var(--p,1))*22deg));transform-origin:50% 100%}
.story .big mark{background:none;color:#8f6d27}
.story cite{display:block;margin-top:24px;font-style:normal;font-weight:700}
.reviews{overflow:hidden}
.rv-rows{display:grid;gap:18px;margin-top:50px}
.rv-row{display:flex;gap:18px;width:max-content;animation:mq 70s linear infinite}
.rv-row.rev{animation-direction:reverse;animation-duration:85s}
.rv-row:hover{animation-play-state:paused}
.rv{width:360px;flex:0 0 auto;background:linear-gradient(160deg,#25231f,#1b1a17);border:1px solid rgba(201,162,74,.2);border-radius:16px;padding:24px}
.rv .s{color:var(--accent);letter-spacing:3px}
.rv p{font-size:14.5px;margin:10px 0 14px;color:rgba(239,232,216,.85)}
.rv cite{font-style:normal;font-weight:700;font-size:13px}
.rv cite small{display:block;font-weight:500;opacity:.6;margin-top:2px}
@media (max-width:600px){.rv{width:290px}}
.quote3 .st-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px;counter-reset:s}
.st{border:1px solid rgba(201,162,74,.3);border-radius:16px;padding:30px;background:rgba(255,255,255,.02)}
.st .n{font:700 54px/1 var(--font-display)}
.st h3{font:700 20px/1.2 var(--font-display);margin:12px 0 8px}
.st p{margin:0;color:rgba(239,232,216,.72)}
@media (max-width:860px){.quote3 .st-grid{grid-template-columns:1fr}}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{cursor:pointer;list-style:none;font:700 clamp(17px,2vw,21px)/1.3 var(--font-display);display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:"+";color:var(--accent);font-size:28px;line-height:1;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:rgba(239,232,216,.75);margin:14px 0 0;max-width:70ch}
.visit .v-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:44px}
.panel{background:linear-gradient(160deg,#25231f,#1b1a17);border:1px solid rgba(201,162,74,.22);border-radius:16px;padding:30px}
.panel h3{font:700 20px/1.2 var(--font-display);margin-bottom:14px}
.panel a{color:var(--accent-text)}
.panel a.big{font:700 clamp(24px,2.6vw,32px)/1.1 var(--font-display);text-decoration:none}
.hours{color:var(--cream)}
.hours li.today{background:rgba(201,162,74,.14)}
.mapcard{border-radius:16px;overflow:hidden;position:relative;min-height:300px;display:flex;align-items:flex-end;padding:24px;text-decoration:none;color:#1d1c1a;border:1px solid rgba(201,162,74,.3)}
.mapcard svg.m{position:absolute;inset:0;width:100%;height:100%}
.mapcard .pin{position:absolute;left:50%;top:42%;width:50px;transform:translate(-50%,-50%);animation:bob 2.4s ease-in-out infinite}
@keyframes bob{50%{transform:translate(-50%,-62%)}}
.mapcard span{position:relative;font-weight:700;background:var(--gold);padding:12px 18px;border-radius:99px}
@media (max-width:960px){.visit .v-grid{grid-template-columns:1fr}}
.foot{background:#0f0e0d;color:rgba(239,232,216,.75);border-top:1px solid rgba(201,162,74,.2)}
.callbar a{background:var(--gold);color:#1d1c1a}
.rv .s{font:700 54px/.6 var(--font-display);height:24px;letter-spacing:0}
