:root{--esp:#2b1d17;--wood:#4a2f23;--sage:#c9d3c0;--sagedk:#7c8c6f;--cream:#f7f3ea;--pers:#e8582a;--ink:#2b1d17}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Outfit',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.08rem;line-height:1.65}
h1,h2,h3,h4,.disp{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.02}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--pers);display:block;margin-bottom:.7rem}
.util{background:var(--esp);color:var(--cream);font-size:.85rem;padding:.4rem 0}
.util a{color:var(--cream);text-decoration:none;font-weight:600}
.navbar{background:var(--cream);border-bottom:1px solid #e1d9c8}
.navbar-brand{font-family:'DM Serif Display',serif;font-size:1.6rem;color:var(--esp)!important}
.navbar-brand em{color:var(--pers)}
.nav-link{font-weight:500;color:var(--esp)!important;letter-spacing:.04em}
.nav-link:hover{color:var(--pers)!important}
.btn-pers{background:var(--pers);color:#fff;font-weight:600;border-radius:50rem;padding:.7rem 1.7rem;border:0}
.btn-pers:hover{background:#c9441b;color:#fff}
.btn-ghost{border:2px solid var(--cream);color:var(--cream);border-radius:50rem;padding:.65rem 1.6rem;font-weight:600}
.btn-ghost:hover{background:var(--cream);color:var(--esp)}
/* hero */
.hero{background:var(--esp);color:var(--cream);padding:5rem 0 0;position:relative;overflow:hidden}
.hero h1{font-size:clamp(3.4rem,8vw,7rem);letter-spacing:-.02em}
.hero h1 em{color:var(--pers);font-style:italic}
.hero .lead{max-width:34rem;color:#e6dccb}
.vanity{background:var(--wood);border:9px dotted #ffe9a8;border-radius:240px 240px 16px 16px;padding:4.2rem 1.6rem 2rem;text-align:center;box-shadow:0 0 50px rgba(255,225,140,.18),0 24px 50px rgba(0,0,0,.35);max-width:30rem;margin:0 auto}
.vanity .eyebrow{margin-bottom:.4rem}
.vphone{display:block;font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2rem,3.4vw,2.8rem);color:var(--cream);text-decoration:none;line-height:1.1;margin-bottom:1.1rem}
.vphone:hover{color:var(--pers)}
.vhours{width:100%;max-width:21rem;margin:0 auto;border-top:1px solid #6b5144}
.vhours td{padding:.55rem 0;border-bottom:1px solid #6b5144;font-size:.98rem;color:#e6dccb}
.vhours td:last-child{text-align:right;color:var(--sage);font-weight:600}
.vaddr{margin:1.1rem 0 0;color:#e6dccb;font-size:.95rem}
.hero .hours-chip{display:inline-block;border:1px solid #6b5144;border-radius:50rem;padding:.3rem 1rem;font-size:.9rem;margin-top:1.2rem;color:var(--sage)}
.mirror{margin-top:3.5rem;position:relative;padding:18px 0;background:var(--wood)}
.mirror img{width:100%;height:clamp(150px,24vw,300px);object-fit:cover;object-position:center;display:block}
.bulbs{height:18px;background:radial-gradient(circle at 50% 50%,#fff3c4 0 4px,rgba(255,225,140,.35) 5px 7px,transparent 8px) 0 0/34px 18px repeat-x;position:absolute;left:0;right:0}
.bulbs.t{top:0}.bulbs.b{bottom:0}
/* services */
section{padding:5.5rem 0}
.sec-title{font-size:clamp(2.4rem,6vw,4.2rem);margin-bottom:1rem}
.menu-card{background:#fff;border-radius:6px 6px 120px 120px/6px 6px 40px 40px;border:1px solid #e1d9c8;padding:2rem 2rem 2.6rem;height:100%;position:relative}
.menu-card h3{font-size:2rem;color:var(--esp)}
.menu-card h3::after{content:"";display:block;width:60px;height:8px;margin:.5rem 0 1rem;background:repeating-linear-gradient(90deg,var(--pers) 0 3px,transparent 3px 7px)}
.menu-card p.d{color:#5b4a41;font-size:.98rem}
.price-row{display:flex;align-items:baseline;gap:.5rem;padding:.35rem 0}
.price-row .dots{flex:1;border-bottom:2px dotted #cbbfa9;transform:translateY(-4px)}
.price-row b{font-family:'DM Serif Display',serif;font-weight:400;color:var(--pers);font-size:1.25rem;white-space:nowrap}
.note{font-size:.88rem;color:#6a5a50}
.bg-sage{background:var(--sage)}
.brand-list{list-style:none;padding:0;margin:0}
.brand-list li{border-top:1px solid rgba(43,29,23,.25);padding:1.6rem 0;display:grid;grid-template-columns:minmax(0,1fr);gap:.4rem}
.brand-list li:last-child{border-bottom:1px solid rgba(43,29,23,.25)}
.brand-list h3{font-size:clamp(2.2rem,5vw,3.6rem)}
@media(min-width:768px){.brand-list li{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem;align-items:baseline}}
.brand-list p{margin:0;color:#3d3029}
.strip{height:clamp(120px,18vw,220px);width:100%;object-fit:cover;display:block}
/* about */
.about{background:var(--esp);color:var(--cream)}
.about .quote{font-family:'DM Serif Display',serif;font-size:clamp(1.8rem,4vw,3rem);line-height:1.15}
.about .quote em{color:var(--pers)}
/* contact */
.contact .big{font-family:'DM Serif Display',serif;font-size:clamp(2.2rem,6vw,3.6rem);color:var(--pers);text-decoration:none;display:block;line-height:1.1}
.hours td{padding:.35rem 1.5rem .35rem 0}
.mapwrap iframe{width:100%;height:360px;border:0;border-radius:6px}
footer{background:var(--esp);color:#cdbfae;padding:2.2rem 0;font-size:.92rem}
footer a{color:var(--cream)}
