:root{--black:#121212;--char:#1c1c1f;--gold:#d4a73a;--gold-d:#b98d22;--cream:#f7f3ea;--ink:#1a1a1a;--muted:#6a6a6a;--line:#e6dfce;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Playfair Display",Georgia,"Times New Roman",serif;line-height:1.1;margin:0 0 .4em}
a{color:inherit}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.demo-bar{background:#fff3d6;color:#6b4a00;font-size:13px;text-align:center;padding:8px 12px;border-bottom:1px solid #f1dca6}
.site-header{position:sticky;top:0;z-index:20;background:var(--black);color:#fff;border-bottom:3px solid var(--gold)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:70px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--gold);border-radius:50%;color:var(--gold);font:700 24px "Playfair Display",Georgia,serif}
.brand-text{font:700 21px/1.05 "Playfair Display",Georgia,serif;letter-spacing:.5px}
.brand-text small{display:block;font:600 11px Inter,sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.links{display:flex;gap:26px}.links a{text-decoration:none;font-weight:500;font-size:15px;color:#d9d9d9}.links a:hover{color:var(--gold)}
.btn{display:inline-block;padding:13px 24px;border-radius:999px;font-weight:600;text-decoration:none;font-size:16px;border:2px solid transparent;transition:.15s}
.btn-primary{background:var(--gold);color:#111}.btn-primary:hover{background:var(--gold-d)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-dark{background:var(--black);color:#fff}.btn-dark:hover{background:#333}
.hero{position:relative;background:linear-gradient(125deg,#0d0d0d 0%,#1f1f23 65%,#2b2a24 100%);color:#fff;padding:68px 0 76px;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,rgba(212,167,58,.07) 0 14px,transparent 14px 40px)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.eyebrow{display:inline-block;margin:0 0 14px;padding:5px 14px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);font-weight:600;font-size:12.5px;letter-spacing:2px;text-transform:uppercase}
h1{font-size:clamp(38px,5.6vw,64px);font-weight:700}h1 span{color:var(--gold);font-style:italic}
.lead{font-size:19px;color:#d6d6d6;max-width:520px;margin:0 0 26px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.hero-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px;color:#bdbdbd;font-size:14px}
.hero-facts strong{display:block;color:#fff;font-size:16px}
.ph{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:#7d756a;font-weight:600;font-size:15px;background:repeating-linear-gradient(45deg,#efe9da 0 14px,#e6dfcc 14px 28px);border:2px dashed #c9bd9f;border-radius:var(--r)}
.ph small{font-weight:400;font-size:12px;opacity:.9}.ph svg{width:64px;height:64px;fill:#b9ab88}
.hero-photo{min-height:340px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.strip{background:var(--gold);color:#111}
.strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.strip-grid div{padding:20px 18px;border-right:1px solid rgba(0,0,0,.18)}.strip-grid div:last-child{border:0}
.strip-grid b{display:block;font:700 20px "Playfair Display",Georgia,serif}.strip-grid span{font-size:14px}
.section{padding:72px 0}.section.alt{background:var(--cream)}
h2{font-size:clamp(30px,4vw,44px);font-weight:700;color:var(--black)}
.sub{color:var(--muted);margin:0 0 30px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:var(--r);padding:24px;box-shadow:0 6px 20px rgba(0,0,0,.05);transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.ico{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:#fbf2d6;font-size:26px;margin-bottom:14px}
.card h3{font-size:23px}.card p{margin:0;color:var(--muted);font-size:15px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.ticks{list-style:none;padding:0;margin:18px 0 26px}.ticks li{padding-left:30px;position:relative;margin:8px 0}
.ticks li:before{content:"";position:absolute;left:0;top:6px;width:18px;height:18px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23111' stroke-width='2.4' d='M4 8.5l3 3 5-6'/%3E%3C/svg%3E") center/12px no-repeat}
.fine{font-size:12.5px;color:var(--muted);margin-top:16px}
.gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:170px 170px;gap:14px}.g1{grid-row:span 2}
.visit{align-items:stretch}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:0 6px 20px rgba(0,0,0,.05)}
.hours{width:100%;border-collapse:collapse;margin:8px 0 18px}.hours td{padding:9px 0;border-bottom:1px solid var(--line)}.hours td:last-child{text-align:right;font-weight:600}.hours .closed td:last-child{color:#a33}
.addr{line-height:1.7}.addr a{color:var(--gold-d);font-weight:600}
.map{min-height:300px}
.site-footer{background:var(--black);color:#cfcfcf;padding:34px 0 90px;font-size:15px;border-top:3px solid var(--gold)}.site-footer .fine{color:#9a9a9a}.site-footer a{color:#fff}
.float-call{display:none}
@media(max-width:900px){.links{display:none}.hero-grid,.two-col{grid-template-columns:1fr}.hero-photo{min-height:240px;order:-1}.cards{grid-template-columns:1fr 1fr}.strip-grid{grid-template-columns:1fr 1fr}.strip-grid div:nth-child(2){border-right:0}.strip-grid div:nth-child(-n+2){border-bottom:1px solid rgba(0,0,0,.18)}}
@media(max-width:560px){.call-top{display:none}.nav{height:62px}.hero{padding:34px 0 44px}.cards{grid-template-columns:1fr}.section{padding:50px 0}.gallery{grid-template-rows:140px 140px}
.float-call{display:block;position:fixed;left:16px;right:16px;bottom:14px;z-index:30;text-align:center;background:var(--gold);color:#111;font-weight:700;padding:15px;border-radius:999px;text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.4)}}
