:root{--black:#111113;--black2:#1b1b1e;--char:#26262a;--gold:#c9a45c;--gold2:#e0c07f;--pink:#e2357d;--bone:#f4f1ea;--ink:#16161a;--soft:#6a6a72;--line:#e3ded3;--r:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 16.5px/1.65 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bone);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}
h1,h2,h3{font-family:Archivo,system-ui,sans-serif;font-weight:800;line-height:1.02;margin:0 0 .45em;letter-spacing:-.01em}
h1{font-family:Cinzel,serif;font-weight:700;font-size:clamp(2.4rem,5vw,4.4rem);letter-spacing:.01em;line-height:1.05}
h2{font-size:clamp(2rem,3.6vw,3rem);text-transform:uppercase}h3{font-size:1.15rem;font-weight:600}
.wrap{width:min(1200px,100% - 40px);margin:auto}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#a07f3c;margin:0 0 .9em}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9em 1.6em;border-radius:6px;font-weight:600;text-decoration:none;transition:.2s;letter-spacing:.02em}
.btn-gold{background:var(--gold);color:var(--black)}.btn-gold:hover{background:var(--gold2)}
.btn-ghost{border:1px solid rgba(255,255,255,.5);color:#fff}.btn-ghost:hover{background:#fff;color:var(--black)}
.top{position:sticky;top:0;z-index:30;background:rgba(17,17,19,.96);backdrop-filter:blur(8px);color:#fff;border-bottom:1px solid #2a2a2e}
.top-in{display:flex;align-items:center;gap:28px;height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:76px}
.brand span{font:700 .9rem/1.1 Cinzel,serif;letter-spacing:.06em;color:var(--gold2)}
.nav{margin-left:auto;display:flex;gap:26px}.nav a{text-decoration:none;font-weight:500;color:#d8d6d0}.nav a:hover{color:var(--gold2)}
.top .btn{padding:.6em 1.2em}
.hero{background:radial-gradient(1200px 600px at 80% 20%,#2a2520 0%,var(--black) 60%);color:#fff;padding:70px 0 90px;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.hero-mark{width:220px;margin-bottom:28px;opacity:.95}
.hero .eyebrow{color:var(--gold)}
.lede{font-size:1.15rem;color:#cfccc4;max-width:30em}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.facts{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;color:#bdb9b0;font-size:.95rem}
.facts li::before{content:"";display:inline-block;width:6px;height:6px;background:var(--gold);transform:rotate(45deg);margin:0 10px 2px 0}
.hero-pic{position:relative}
.hero-pic img{width:100%;max-height:640px;object-fit:cover;object-position:50% 30%;border-radius:4px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.hero-pic::after{content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid var(--gold);border-radius:4px;z-index:-1}
.hero-pic{z-index:0}
.services{padding:100px 0}
.head{max-width:760px;margin-bottom:40px}.head p{color:var(--soft)}.head a{color:#a07f3c;font-weight:600}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.svc{background:#fff;padding:28px 26px}.svc span{font:800 .8rem Archivo,sans-serif;color:var(--gold);letter-spacing:.1em}
.svc h3{margin-top:10px}.svc p{margin:0;color:var(--soft);font-size:.94rem}
.work{padding:100px 0 90px;background:var(--black);color:#fff}.work .eyebrow{color:var(--gold)}
.tabs{display:flex;gap:10px;margin-bottom:26px}
.tab{font:600 .95rem Inter,sans-serif;background:transparent;color:#cfccc4;border:1px solid #3a3a40;border-radius:999px;padding:.6em 1.3em;cursor:pointer}
.tab.on{background:var(--gold);color:var(--black);border-color:var(--gold)}
.gal{display:none;grid-template-columns:repeat(8,1fr);gap:6px;padding:0 6px}.gal.on{display:grid}
.gal figure{margin:0}.gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px;transition:.3s}
.gal img:hover{transform:scale(1.03)}
.susana{padding:100px 0}
.sus-in{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.sus-pics{position:relative;padding:0 80px 60px 0}
.sus-pics .s1{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.sus-pics .s2{position:absolute;right:0;bottom:0;width:48%;aspect-ratio:1;object-fit:cover;border-radius:4px;border:6px solid var(--bone)}
.susana p{color:var(--soft)}
blockquote{margin:0}
.susana blockquote{margin:26px 0;padding:20px 24px;background:#fff;border-left:3px solid var(--gold);font:500 1.08rem/1.55 Inter,sans-serif}
cite{display:block;margin-top:10px;font-style:normal;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#a07f3c}
.link{color:#a07f3c;font-weight:600;text-decoration:none}
.reviews{padding:0 0 100px}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quotes blockquote{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.quotes p{margin:0;font-size:1.02rem}
.visit{padding:0 0 100px}
.visit-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}
.vcard{background:var(--black);color:#e9e6df;border-radius:var(--r);padding:40px}
.vcard h2{color:#fff}.vmark{width:110px;margin-bottom:18px}
h4{margin:20px 0 6px;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.vcard p{margin:0 0 .4em}.vcard .link{color:var(--gold2)}
.hours{border-collapse:collapse;width:100%;margin-bottom:18px}.hours td{padding:.38em 0;border-bottom:1px solid #2e2e33}.hours td:last-child{text-align:right}.hours tr.today td{color:var(--gold2);font-weight:600}
.btn.full{width:100%}
.visit iframe{width:100%;height:100%;min-height:420px;border:0;border-radius:var(--r)}
.foot{background:#0b0b0c;color:#a9a59c;padding:28px 0;font-size:.9rem}
.foot-in{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.foot p{margin:0}.foot a{white-space:nowrap}.credit a{color:var(--gold2);font-weight:600;text-decoration:none}
.fab{display:none}
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
@media (max-width:1000px){.nav{display:none}.top-in{justify-content:space-between}.hero-in,.sus-in,.visit-in{grid-template-columns:1fr;gap:50px}.svc-grid{grid-template-columns:1fr 1fr}.gal{grid-template-columns:repeat(4,1fr)}.quotes{grid-template-columns:1fr 1fr}}
@media (max-width:700px){
 body{padding-bottom:84px}
 .top-in{height:66px}.brand img{width:62px}.top .btn{display:none}
 .hero{padding:36px 0 60px}.hero-in{gap:40px}.hero-mark{width:160px}
 .hero-pic img{max-height:460px}.hero-pic::after{inset:10px -10px -10px 10px}
 .services,.susana{padding:64px 0}.work{padding:64px 0 50px}.reviews,.visit{padding-bottom:64px}
 .svc-grid{grid-template-columns:1fr}.gal{grid-template-columns:repeat(3,1fr);gap:4px;padding:0 4px}
 .quotes{grid-template-columns:1fr}.sus-pics{padding:0 40px 40px 0}
 .vcard{padding:28px 22px}
 .fab{display:flex;gap:10px;position:fixed;left:12px;right:12px;bottom:12px;z-index:40}
 .fab a{flex:1;text-align:center;padding:1em;border-radius:8px;font-weight:600;text-decoration:none;box-shadow:0 12px 30px -10px rgba(0,0,0,.6)}
 .fab a:first-child{background:#fff;color:var(--black);flex:.6}.fab a:last-child{background:var(--gold);color:var(--black)}
}
.work .head{max-width:1200px}
