:root { --ink:#25191c; --wine:#7b1736; --cream:#f7f0e8; --silver:#d7d7d4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
body { overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1220px,calc(100% - 48px)); margin-inline:auto; }
.nav { height:92px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid #25191c2a; }
.wordmark { font-weight:900; letter-spacing:-.06em; font-size:21px; }
.wordmark span { display:inline-grid; place-items:center; width:40px; height:40px; margin-right:7px; border-radius:50%; background:var(--wine); color:white; letter-spacing:-.1em; }
.navLinks { display:flex; gap:34px; font-size:13px; text-transform:uppercase; letter-spacing:.12em; }
.navCall { justify-self:end; padding:13px 18px; border:1px solid var(--ink); border-radius:999px; font-size:13px; }
.hero { min-height:690px; display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:70px; padding-block:64px; }
.eyebrow { margin:0 0 24px; font-size:11px; font-weight:700; letter-spacing:.23em; color:var(--wine); }
h1 { margin:0; font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(58px,7.2vw,108px); line-height:.85; letter-spacing:-.065em; }
h1 em { color:var(--wine); }
.intro { max-width:490px; margin:32px 0 0; font-size:18px; line-height:1.65; color:#5d4d50; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.primary,.secondary { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 22px; border-radius:999px; font-weight:700; }
.primary { background:var(--wine); color:white; gap:24px; }
.primary span { font-size:20px; }
.secondary { border:1px solid #8f7c7f; }
.heroArt { position:relative; min-height:550px; isolation:isolate; }
.chromeOrb { position:absolute; width:330px; height:330px; right:0; top:18px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff 0 7%,#a7a5a8 20%,#fbfbf8 37%,#555157 58%,#deddd9 74%,#7b1736 100%); box-shadow:inset -30px -20px 60px #3d0619aa; }
.nailCard { position:absolute; inset:82px 70px 28px 10px; overflow:hidden; transform:rotate(-5deg); border-radius:8px 70px 8px 8px; background:linear-gradient(145deg,#9d224c,#5e0e2a); box-shadow:0 34px 90px #46112735; }
.nail { position:absolute; width:92px; height:280px; border-radius:46px 46px 22px 22px; background:linear-gradient(100deg,#fff0f2,#c87b8d 48%,#fff7f7); box-shadow:inset -12px -5px 25px #74113170,12px 18px 30px #2c081855; transform:rotate(24deg); }
.nailOne { left:75px; top:52px; }.nailTwo { left:184px; top:8px; height:320px; }.nailThree { left:300px; top:74px; height:270px; }
.cardLabel { position:absolute; right:24px; bottom:22px; color:white; text-align:right; font-weight:800; font-size:10px; letter-spacing:.18em; line-height:1.5; }
.ratingBadge { position:absolute; z-index:3; left:-10px; bottom:5px; display:grid; grid-template-columns:auto auto; align-items:center; gap:0 12px; padding:18px 22px; background:#fff; border-radius:4px; box-shadow:0 16px 40px #2a111a24; }
.ratingBadge strong { grid-row:span 2; font-family:Georgia,serif; font-size:42px; font-weight:400; }
.ratingBadge span { color:var(--wine); letter-spacing:.08em; font-size:12px; }.ratingBadge small { color:#6b5b5e; }
.quick { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; padding-block:28px 52px; border-top:1px solid #25191c2a; font-size:15px; line-height:1.5; }
.quick p { margin:0; }.quick span { color:var(--wine); font-size:10px; font-weight:700; letter-spacing:.18em; }
.previewFooter { padding:20px 0 40px; color:#756568; font-size:12px; }
.section { padding-block:130px; }
.ticker { overflow:hidden; padding:20px 0; background:var(--wine); color:white; transform:rotate(-1.4deg) scale(1.03); }
.ticker div { width:max-content; font-family:Georgia,serif; font-style:italic; font-size:21px; letter-spacing:.08em; white-space:nowrap; animation:drift 22s linear infinite; }
@keyframes drift { to { transform:translateX(-30%); } }
.services { display:grid; grid-template-columns:.82fr 1.18fr; gap:9vw; }
.sectionHead h2,.proofCopy h2,.visitTitle h2,.contactBand h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,6vw,84px); font-weight:400; line-height:.94; letter-spacing:-.055em; }
.sectionHead h2 i,.proofCopy h2 i,.visitTitle h2 i,.contactBand h2 i { color:var(--wine); font-weight:400; }
.sectionHead > p:last-child { max-width:450px; margin-top:30px; color:#6a585c; font-size:16px; line-height:1.7; }
.serviceList { border-top:1px solid #25191c55; }
.service { display:grid; grid-template-columns:45px 1fr 1.2fr; gap:26px; align-items:start; padding:29px 0; border-bottom:1px solid #25191c55; }
.service > span { color:var(--wine); font-family:Georgia,serif; font-style:italic; }
.service h3,.service p { margin:0; }.service h3 { font-family:Georgia,serif; font-size:28px; font-weight:400; }.service p { color:#6a585c; line-height:1.6; font-size:14px; }
.socialProof { background:#25191c; color:var(--cream); }
.proofGrid { min-height:720px; display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; align-items:center; }
.bigRating { min-height:440px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #f7f0e833; border-radius:52% 48% 47% 53% / 43% 45% 55% 57%; transform:rotate(-3deg); }
.bigRating > * { transform:rotate(3deg); }.bigRating > span { font-size:10px; letter-spacing:.23em; }.bigRating strong { font-family:Georgia,serif; font-size:150px; line-height:.9; font-weight:400; }.bigRating p { margin:14px 0 6px; color:#e1a0b5; letter-spacing:.25em; }.bigRating small { color:#c9babc; }
.proofCopy .eyebrow { color:#e1a0b5; }.proofCopy h2 i,.contactBand h2 i { color:#e1a0b5; }.muted { max-width:590px; margin:30px 0; color:#c9babc; line-height:1.7; }
.proofActions { display:flex; flex-wrap:wrap; gap:12px; }.proofActions a { padding:16px 18px; border:1px solid #f7f0e844; border-radius:999px; }.proofActions span { margin-left:18px; color:#e1a0b5; }
.visit { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; align-items:center; }
.mapCard { position:relative; min-height:480px; overflow:hidden; background:#d7d7d4; border-radius:8px 90px 8px 8px; }
.mapLines { position:absolute; inset:0; background:radial-gradient(circle at 35% 45%,#f7f0e8 0 4%,transparent 4.5%),linear-gradient(27deg,transparent 45%,#b6aaa9 45% 46%,transparent 46%),linear-gradient(115deg,transparent 56%,#b6aaa9 56% 57%,transparent 57%); }
.mapLines i { position:absolute; height:2px; width:120%; left:-10%; background:#b6aaa9; transform-origin:center; }.mapLines i:nth-child(1){top:20%;transform:rotate(-12deg)}.mapLines i:nth-child(2){top:43%;transform:rotate(7deg)}.mapLines i:nth-child(3){top:67%;transform:rotate(-18deg)}.mapLines i:nth-child(4){top:82%;transform:rotate(3deg)}
.mapLines b { position:absolute; left:44%; top:36%; display:grid; place-items:center; width:70px; height:70px; border-radius:50%; background:var(--wine); color:white; box-shadow:0 15px 30px #4f0a2244; }
.addressCard { position:absolute; left:24px; right:24px; bottom:24px; display:grid; grid-template-columns:1fr auto; gap:10px 30px; align-items:end; padding:24px; background:var(--cream); box-shadow:0 18px 44px #3c29302b; }.addressCard > span { grid-column:1/-1; font-size:9px; color:var(--wine); letter-spacing:.2em; }.addressCard strong { font-family:Georgia,serif; font-size:22px; line-height:1.35; }.addressCard a { padding-bottom:3px; border-bottom:1px solid var(--ink); font-size:13px; }
.contactBand { padding:120px 0; background:var(--wine); color:white; }.contactGrid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; }.contactBand .eyebrow { color:#e9c1ce; }.contactLinks { border-top:1px solid #ffffff55; }.contactLinks a { display:flex; justify-content:space-between; align-items:center; padding:23px 0; border-bottom:1px solid #ffffff55; font-family:Georgia,serif; font-size:20px; }.contactLinks b { font-family:Arial,sans-serif; font-weight:400; }
.footer { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-block:58px 90px; font-size:12px; line-height:1.7; }.footer p { margin:0; }.footer .legal { color:#7d6c70; }
.mobileCall { display:none; }
.nav a,.actions a,.contactLinks a,.proofActions a { transition:transform .2s ease,background-color .2s ease,color .2s ease; }.nav a:hover,.actions a:hover,.proofActions a:hover { transform:translateY(-2px); }.contactLinks a:hover { color:#f4ccd8; }.secondary:hover { background:var(--ink); color:white; }
@media (max-width:800px) {
  .shell { width:min(100% - 30px,620px); }.nav { height:76px; grid-template-columns:1fr auto; }.navLinks { display:none; }.navCall { font-size:12px; padding:11px 14px; }
  .hero { grid-template-columns:1fr; gap:30px; padding-block:48px 32px; }.heroArt { min-height:460px; }.nailCard { inset:50px 18px 35px 10px; }.chromeOrb { width:250px; height:250px; }
  .nail { width:72px; height:230px; }.nailOne { left:45px; }.nailTwo { left:135px; height:270px; }.nailThree { left:225px; height:220px; }
  .quick { grid-template-columns:1fr 1fr; }.quick p:first-child { grid-column:1/-1; }
  .section { padding-block:84px; }.services,.visit,.contactGrid { grid-template-columns:1fr; gap:54px; }.service { grid-template-columns:32px 1fr; }.service p { grid-column:2; }.proofGrid { grid-template-columns:1fr; padding-block:80px; gap:70px; }.bigRating { min-height:350px; }.bigRating strong { font-size:120px; }.mapCard { min-height:460px; }.addressCard { grid-template-columns:1fr; }.footer { grid-template-columns:1fr 1fr; padding-bottom:120px; }.footer .wordmark { grid-column:1/-1; }.mobileCall { position:fixed; z-index:20; left:15px; right:15px; bottom:14px; display:flex; justify-content:space-between; align-items:center; padding:17px 20px; border-radius:999px; background:var(--wine); color:white; box-shadow:0 10px 30px #33101c55; font-weight:700; }
}
@media (max-width:420px) { .navCall { display:none; }.nav { grid-template-columns:1fr; }.heroArt { min-height:420px; }.nailCard { right:0; }.nailThree { left:215px; }.ratingBadge { left:0; }.quick { gap:20px; }.contactBand { padding-block:90px; }.footer { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.ticker div { animation:none; } }
a:focus-visible { outline:3px solid #d89aae; outline-offset:4px; }
