/* Vanity 2026 Elegant: restyle layer on top of the parent theme (vanity-2026). */
:root{
  --mag:#a3285f;--mag-d:#86204e;--mag-l:#f8eef2;
  --champagne:#d9c3a0;--champagne-soft:#efe4d2;--champagne-d:#a88a56;
  --cream:#faf6f1;--ivory:#fffdfa;--blush:#f8eef2;--rose:#e9c9d6;
  --grey:#e8dfd4;--grey-l:#faf6f1;
  --dark:#2b2a2e;--ink:#4a4750;--muted:#716c77;--line:#e8dfd4;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  --script:"Cormorant Garamond",Georgia,serif;
  --r:4px;--shadow:0 30px 60px -38px rgba(43,42,46,.38);--max:1240px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.7;color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased}
a{color:var(--mag);transition:color .25s}
a:hover{color:var(--mag-d)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--dark);line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,5.6vw,5rem)}
h2{font-size:clamp(2.1rem,3.8vw,3.4rem)}
h3{font-size:1.65rem;font-weight:500}
h4{font-size:1.3rem}
em{font-style:italic;color:var(--mag)}
strong,b{font-weight:500}
.wrap{max-width:var(--max);padding:0 40px}
section{padding:96px 0}
.eyebrow{font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--mag);display:inline-flex;align-items:center;gap:14px;margin-bottom:1em}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--champagne)}
.center .eyebrow{justify-content:center}
.lead{font-size:1.15rem;font-weight:300;color:var(--muted)}
.script{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.7rem;line-height:1.2;letter-spacing:0;color:var(--mag);margin-bottom:.3em}
.sec-grey{background:var(--cream)}
.sec-warm{background:var(--blush)}
.skip:focus{outline:2px solid var(--champagne)}
:focus-visible{outline:2px solid var(--mag);outline-offset:3px}

/* Buttons */
.btn{font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.18em;padding:1.15em 2.1em;border:1px solid var(--mag);background:var(--mag);color:#fff;transition:all .35s var(--ease)}
.btn:hover{background:var(--mag-d);border-color:var(--mag-d);color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px -12px rgba(163,40,95,.6)}
.btn-outline{background:transparent;border-color:var(--dark);color:var(--dark)}
.btn-outline:hover{background:var(--dark);border-color:var(--dark);color:#fff;box-shadow:none}
.btn-light{background:var(--champagne);border-color:var(--champagne);color:var(--dark)}
.btn-light:hover{background:var(--champagne-soft);border-color:var(--champagne-soft);color:var(--dark);box-shadow:none}
.btn-ghost{border-color:rgba(255,253,250,.7);color:#fff;background:transparent}
.btn-ghost:hover{background:#fff;border-color:#fff;color:var(--dark);box-shadow:none}
.btn-row{gap:14px}

/* Top bar */
.topbar{background:var(--dark);color:#d8d2cb;font-size:.8rem;letter-spacing:.08em}
.topbar .wrap{padding-top:0;padding-bottom:0;height:38px;align-items:center}
.topbar a{color:#fff}
.topbar a:hover{color:var(--champagne)}
.topbar .tb-sep{color:var(--champagne);opacity:1;margin:0 4px}
.topbar .tb-phone svg{color:var(--champagne)}

/* Header */
header.site{background:rgba(255,253,250,.93);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
header.site.is-scrolled{box-shadow:0 10px 30px -22px rgba(43,42,46,.45)}
.nav{height:84px;gap:24px}
.brand img{height:42px}
.menu{gap:34px}
.menu a{font-family:var(--sans);font-size:.88rem;font-weight:400;letter-spacing:.06em;color:var(--dark);padding:6px 0}
.menu a:hover,.menu a[aria-current=page],.menu .current-menu-item>a{color:var(--dark)}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--mag);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.menu a:hover::after,.menu a[aria-current=page]::after{transform:scaleX(1);bottom:0;height:1px;background:var(--mag)}
.menu .current-menu-item>a::after,.menu .current_page_item>a::after{transform:scaleX(1)}
.nav-actions{gap:22px}
.nav-tel{display:none;font-size:.88rem;color:var(--dark);letter-spacing:.04em;text-decoration:none}
.nav-tel:hover{color:var(--mag)}
@media(min-width:1180px){.nav-tel{display:inline}}
.nav .btn{padding:.95em 1.7em;font-size:.72rem}
.burger{color:var(--dark)}
.burger span,.burger span::before,.burger span::after{height:1px}
.mobile-menu{background:var(--ivory);border-top:1px solid var(--line)}
.mobile-menu li a{font-family:var(--serif);font-size:1.5rem;border-bottom:1px solid var(--line)}
.mobile-menu li a[aria-current=page]{color:var(--mag)}
@media(max-width:979px){.nav{height:68px}.brand img{height:34px}.nav .btn{display:none}}
.nav-text{display:inline-flex;align-items:center;gap:.5em;font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--mag);border:1px solid var(--champagne);background:var(--ivory);border-radius:999px;padding:.95em 1.5em;white-space:nowrap;transition:all .35s var(--ease)}
.nav-text:hover{border-color:var(--mag);background:var(--mag);color:#fff}
.nav-text svg{flex:none}
@media(max-width:979px){.nav-actions{gap:10px}.nav-text{padding:.7em 1.05em;font-size:.68rem}}

/* Inner page heroes */
.page-hero{background:var(--cream);padding:76px 0 64px;border-bottom:1px solid var(--line)}
.page-hero::before{background:radial-gradient(closest-side,rgba(217,195,160,.28),transparent)}
.page-hero h1{font-size:clamp(2.4rem,5vw,4.2rem)}
.page-hero h1::after{content:"";display:block;width:56px;height:1px;background:var(--champagne);margin:.5em auto 0}
.page-hero .lead{margin-top:1em;font-size:1.1rem}
.crumbs{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--mag)}

/* Cards and panels */
.card,.member,.review,.svc-card,.faq details,.faq details.wp-block-details,.faq details.wp-block-details{border-radius:var(--r);border:1px solid var(--line);box-shadow:none;background:var(--ivory)}
.card{padding:34px 32px}
.sec-grey .card,.sec-grey .review,.sec-grey .member{background:var(--ivory)}
.svc-card{box-shadow:none;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.svc-card:hover,.member:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.svc-card .from{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.review::before{color:var(--rose);opacity:1}
.review .stars,.hl .stars{color:var(--champagne-d)}
.review p{font-family:var(--serif);font-size:1.25rem;line-height:1.45;color:var(--dark)}
.review .who{font-family:var(--sans);font-weight:500;letter-spacing:.04em}
.review .src{letter-spacing:.14em;text-transform:uppercase;font-size:.68rem}
.avatar,img.avatar{background:linear-gradient(135deg,var(--mag),#c0527f)}
img.avatar{box-shadow:0 0 0 3px var(--ivory),0 0 0 4px var(--champagne)}
.member h3{font-size:1.4rem}
.values .ico{background:var(--mag-l);color:var(--mag)}
.split img,.map{border-radius:var(--r);box-shadow:var(--shadow)}
.giftcard-img{box-shadow:0 24px 50px -24px rgba(43,42,46,.4)}
.steps li::before{background:var(--dark);font-family:var(--serif);font-weight:500}
.faq summary{font-family:var(--serif);font-size:1.25rem;font-weight:500}
.faq summary::after{color:var(--champagne-d)}
.hours td{border-bottom-color:var(--line)}
.hours tr.today td{color:var(--mag)}
.info-list svg{color:var(--mag)}
.info-list a{font-weight:500}

/* Banner on inner pages */
.cta-band{background:var(--dark);border-radius:var(--r);padding:56px 30px;color:#d8d2cb;border:1px solid rgba(217,195,160,.35)}
.cta-band h2{color:#fff}
.cta-band p{color:#d8d2cb}
.cta-band .script{color:var(--champagne)}
.cta-band em{color:var(--champagne)}

/* Services / price menu */
.chips{top:84px;background:rgba(255,253,250,.96);border-bottom:1px solid var(--line)}
@media(max-width:979px){.chips{top:68px}}
.chips a{background:transparent;border:1px solid var(--line);color:var(--dark);font-size:.74rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:9px 18px}
.chips a:hover,.chips a.active{background:var(--dark);border-color:var(--dark);color:#fff}
.menu-cat+.menu-cat{border-top-color:var(--line)}
.menu-cat h2{font-size:clamp(2rem,3.4vw,2.8rem)}
.price-table tr,.price-list li{border-bottom:1px solid var(--line)}
.price-table tr::before,.pl-dots{border-bottom-color:var(--champagne)}
.price-table td:nth-child(1),.pl-name{font-weight:500;color:var(--dark)}
.price-table td:nth-child(2),.pl-price{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--mag)}
.price-table mark.tag,.tag{background:var(--mag-l);color:var(--mag);font-weight:500}
.note{background:var(--cream);border-left:2px solid var(--champagne);border-radius:0 var(--r) var(--r) 0}

/* Gallery page and Instagram */
.gal a,.gal-strip img,.ig-item{border-radius:var(--r)}
.ig-hover{background:rgba(163,40,95,.5)}
.ig-profile img{box-shadow:0 0 0 2px var(--ivory),0 0 0 3px var(--champagne)}
.ig-profile strong{font-weight:500}
.lightbox{background:rgba(43,42,46,.95)}

/* Footer */
footer.site{background:var(--dark);color:#bdb6ae;padding:88px 0 0;font-size:.95rem;font-weight:300}
footer.site h4{font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne);margin-bottom:1.5em}
footer.site a{color:#e9e3dc}
footer.site a:hover{color:#fff}
.f-grid{gap:44px 50px}
@media(min-width:800px){.f-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.f-grid li{padding:5px 0}
.f-logo{height:40px;margin-bottom:22px}
.socials a{border-color:rgba(217,195,160,.4);color:var(--champagne)}
.socials a:hover{background:var(--champagne);border-color:var(--champagne);color:var(--dark)}
.f-bottom{border-top:1px solid rgba(217,195,160,.22);margin-top:64px;padding:30px 0;font-size:.8rem;letter-spacing:.04em;color:#9a948d}
footer.site .awards-footer img{height:50px}
footer.site .awards-footer .award-main img{height:58px}

/* Mobile sticky Call / Book now bar (replaces the parent's) */
.mobile-book{display:none!important}
.ve-mbar{display:none}
@media(max-width:979px){
  /* Same geometry as parent theme vanity-2026 .mobile-book: fixed 12px inset, 8px gap, Call/Text icon-only (20px icon, .9em 1.05em padding), Book now flex:1 (.9em 1.7em padding). Elegant colours. */
  body.ve{padding-bottom:76px}
  .ve-mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;gap:8px;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .ve-mbar .btn,.ve-mbar .btn:hover{display:inline-flex;align-items:center;justify-content:center;gap:.5em;box-sizing:border-box;margin:0;padding:.9em 1.7em;border-radius:999px;border:2px solid var(--mag);font-size:.92rem;font-weight:600;line-height:1.65;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;background:var(--mag);color:#fff;box-shadow:0 10px 26px rgba(163,40,95,.35);transform:none}
  .ve-mbar .btn:not(.btn-outline){flex:1;min-width:0}
  .ve-mbar .btn.btn-outline,.ve-mbar .btn.btn-outline:hover{flex:0 0 auto;padding-left:1.05em;padding-right:1.05em;background:var(--ivory);color:var(--mag);border-color:var(--champagne);box-shadow:0 10px 26px rgba(43,42,46,.2)}
  .ve-mbar .btn svg{flex:none}
}
@media(max-width:782px){.wrap{padding:0 22px}section{padding:68px 0}}

/* ---------------------------------------------------------------- Home */
.ve-front section{padding:0}
.ve-hero{position:relative;overflow:hidden;background:#2a1f1c;color:#fff;display:flex;align-items:center;min-height:max(560px,calc(100vh - 122px));min-height:max(560px,calc(100svh - 122px))}
.ve-hero-bg{position:absolute;inset:0;display:block}
.ve-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.ve-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,240,.28) 0%,rgba(255,248,240,.12) 38%,rgba(255,248,240,0) 62%)}
.ve-hero-inner{position:relative;z-index:2;width:100%;padding-top:72px;padding-bottom:72px}
.ve-hero-copy{max-width:640px;background:rgba(255,251,246,.4);-webkit-backdrop-filter:blur(8px) saturate(1.05);backdrop-filter:blur(8px) saturate(1.05);border:1px solid rgba(217,195,160,.7);border-radius:18px;padding:44px 48px;box-shadow:0 30px 60px -36px rgba(43,42,46,.35)}
.ve-hero .eyebrow{color:var(--champagne-d)}
.ve-hero h1{margin:.1em 0 .45em;font-size:clamp(2.6rem,5.2vw,4.8rem);color:var(--dark)}
.ve-hero h1 em{display:block;color:var(--mag)}
.ve-hero-copy h1,.ve-hero-copy p,.ve-hero-copy .eyebrow{text-shadow:0 0 14px rgba(255,251,246,.85),0 1px 2px rgba(255,251,246,.9)}
.ve-lede{font-size:1.15rem;max-width:34em;margin:0 0 2.2em;color:var(--ink)}
.ve-actions{display:flex;gap:16px;flex-wrap:wrap}
.ve-proof{display:flex;gap:34px;margin-top:40px;padding:20px 24px;background:rgba(255,251,246,.72);border:1px solid rgba(168,138,86,.4);border-radius:14px;flex-wrap:wrap}
.ve-proof-item{display:flex;flex-direction:column;flex:0 1 auto;min-width:0}
.ve-proof-item:nth-child(3){flex:0 0 100%;padding-top:14px;border-top:1px solid rgba(168,138,86,.3)}
.ve-proof-item:nth-child(-n+2) .ve-lbl{white-space:nowrap}
.ve-num{font-family:var(--serif);font-size:2.2rem;font-weight:700;color:#625d69;line-height:1}
.ve-num small{font-size:1.1rem;color:#74561c;margin-left:4px}
.ve-lbl{font-size:1rem;font-weight:600;letter-spacing:.03em;color:#625d69;margin-top:8px;line-height:1.35}
.ve-hero-copy .ve-num,.ve-hero-copy .ve-lbl{text-shadow:0 0 10px rgba(255,251,246,.9),0 1px 2px rgba(255,251,246,.9)}
.ve-hero .btn-light{background:var(--mag);border-color:var(--mag);color:#fff}
.ve-hero .btn-light:hover{background:var(--mag-d);border-color:var(--mag-d);color:#fff}
.ve-hero .btn-ghost{border-color:var(--champagne-d);color:var(--dark)}
.ve-hero .btn-ghost:hover{background:var(--dark);border-color:var(--dark);color:#fff}
.ve-badges{position:absolute;right:max(22px,calc((100% - var(--max))/2 + 22px));bottom:36px;z-index:2;display:flex;gap:10px;align-items:center;background:rgba(255,253,250,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 18px;border-radius:14px}
.ve-badges>span{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dark);line-height:1.4;margin-right:4px;font-weight:500}
.ve-badges .awards{margin:0;gap:8px;flex-wrap:nowrap}
.ve-badges .award img,.ve-badges .award-main img{height:50px;width:auto;filter:none}
.ve-badges .award picture{position:static;display:block}

.ve-strip{background:var(--ivory);border-bottom:1px solid var(--line)}
.ve-strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.ve-hl{padding:44px 26px;text-align:center;border-right:1px solid var(--line)}
.ve-hl:last-child{border-right:0}
.ve-big{font-family:var(--serif);font-size:2.9rem;color:var(--mag);line-height:1}
.ve-hl p{font-size:.88rem;color:var(--muted);margin:.7em 0 0;letter-spacing:.02em}

.ve-welcome{padding:130px 0!important}
.ve-welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.ve-stack{position:relative;padding:0 0 80px}
.ve-stack .ve-a{width:82%;aspect-ratio:4/5;object-fit:cover;border-radius:220px 220px 4px 4px}
.ve-stack .ve-b{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1;object-fit:cover;border-radius:4px;border:10px solid var(--ivory);box-shadow:0 30px 60px -30px rgba(43,42,46,.35)}
.ve-welcome-copy h2{margin:.1em 0 .6em}
.ve-welcome-copy p{margin:0 0 1.2em}
.ve-sig{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--mag);margin:1.2em 0 1.4em}
.ve-link{font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--dark);border-bottom:1px solid var(--champagne);padding-bottom:6px;text-decoration:none;transition:color .3s,border-color .3s}
.ve-link:hover{color:var(--mag);border-color:var(--mag)}

.ve-services{background:var(--cream);padding:130px 0!important}
.ve-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:64px}
.ve-head h2{margin:.1em 0 0;max-width:14em}
.ve-head p{max-width:24em;color:var(--muted);font-size:1rem;margin:0}
.ve-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.ve-card{background:var(--ivory);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.ve-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -36px rgba(43,42,46,.4);color:inherit}
.ve-card-img{aspect-ratio:4/3;overflow:hidden}
.ve-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ve-card:hover .ve-card-img img{transform:scale(1.04)}
.ve-card-body{padding:32px 32px 34px;display:flex;flex-direction:column;flex:1}
.ve-card-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.ve-card-row h3{margin:0}
.ve-price{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mag);white-space:nowrap;font-weight:500}
.ve-card p{font-size:.97rem;color:var(--muted);flex:1;margin:0}
.ve-more{margin-top:22px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dark);display:flex;align-items:center;gap:10px;font-weight:500}
.ve-more::after{content:"";width:22px;height:1px;background:var(--champagne);transition:width .4s var(--ease),background .4s}
.ve-card:hover .ve-more::after{width:40px;background:var(--mag)}
.ve-center{text-align:center;margin-top:60px}

.ve-gallery{padding:130px 0!important}
.ve-gallery .ve-head{margin-bottom:52px}
.ve-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:300px 300px;gap:16px}
.ve-mosaic a{overflow:hidden;border-radius:4px;position:relative;display:block}
.ve-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ve-mosaic a:hover img{transform:scale(1.04)}
.ve-mosaic .ve-tall{grid-row:span 2}
.ve-mosaic span{position:absolute;left:18px;bottom:16px;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.ve-igrow{display:flex;justify-content:space-between;align-items:center;margin-top:42px;padding-top:30px;border-top:1px solid var(--line);flex-wrap:wrap;gap:20px}
.ve-handle{font-family:var(--serif);font-size:1.8rem;color:var(--dark);line-height:1.2}
.ve-handle span{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}
.ve-igbtns{display:flex;gap:14px;flex-wrap:wrap}
.ve-gallery .ig-live:not(:empty){margin-top:36px}

.ve-reviews{background:var(--blush);text-align:center;padding:130px 0!important}
.ve-reviews .eyebrow{justify-content:center}
.ve-reviews h2{margin:.1em 0 0}
.ve-ratings{display:flex;justify-content:center;gap:70px;margin:44px 0 64px;flex-wrap:wrap}
.ve-score{font-family:var(--serif);font-size:4.2rem;color:var(--dark);line-height:1}
.ve-stars{color:var(--champagne-d);letter-spacing:4px;font-size:.9rem;margin:10px 0 6px}
.ve-src{font-size:.8rem;letter-spacing:.1em;color:var(--muted)}
.ve-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:left}
.ve-quote{margin:0;background:var(--ivory);padding:40px 38px;border-radius:4px;display:flex;flex-direction:column}
.ve-quote::before{content:"\201C";font-family:var(--serif);font-size:5.6rem;line-height:.6;color:var(--rose);display:block;height:34px}
.ve-quote blockquote{margin:0;flex:1}
.ve-quote p{font-family:var(--serif);font-size:1.4rem;line-height:1.45;color:var(--dark);margin:0}
.ve-quote figcaption{margin-top:22px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.ve-cta{margin-top:58px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}

.ve-visit{padding:130px 0!important}
.ve-visit-grid{display:grid;grid-template-columns:1.05fr 1fr;background:var(--cream);border-radius:4px;overflow:hidden}
.ve-visit-photo img{width:100%;height:100%;object-fit:cover;min-height:560px}
.ve-visit-info{padding:76px 68px}
.ve-visit-info h2{margin:.1em 0 .7em}
.ve-addr,.ve-addr a{font-family:var(--serif);font-size:1.7rem;color:var(--dark);line-height:1.35;text-decoration:none}
.ve-addr a:hover{color:var(--mag)}
.ve-tel{display:inline-block;margin-top:12px;font-size:1.05rem;color:var(--mag);letter-spacing:.04em;text-decoration:none;font-weight:400}
.ve-telsub{font-size:.9rem;color:var(--muted)}
.ve-telsub a{color:var(--mag)}
.ve-hours{margin:34px 0 38px;border-top:1px solid var(--line)}
.ve-hours div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:.98rem}
.ve-hours div span:first-child{color:var(--dark)}

@media(max-width:1180px){
  .ve-welcome-grid{gap:60px}
  .ve-cards{grid-template-columns:repeat(2,1fr)}
  .ve-quotes{grid-template-columns:1fr 1fr}
  .ve-quotes .ve-quote:nth-child(3){display:none}
  .f-grid{grid-template-columns:1fr 1fr}
  .f-grid>:first-child,.f-grid>:nth-child(2){grid-column:auto}
}
@media(max-width:979px){
  .ve-hero{min-height:max(560px,calc(100vh - 106px));min-height:max(560px,calc(100svh - 106px - 84px))}
  .ve-hero-shade{background:linear-gradient(0deg,rgba(255,248,240,.2),rgba(255,248,240,0) 60%)}
  .ve-hero-copy{padding:28px 18px;border-radius:16px}
  .ve-hero-inner{padding-top:48px;padding-bottom:104px}
  .ve-badges{right:12px;bottom:14px;padding:8px 10px;gap:6px}
  .ve-badges>span{display:none}
  .ve-badges .award img,.ve-badges .award-main img{height:38px}
  .ve-actions .btn{flex:1;justify-content:center}
  .ve-proof{gap:14px 16px;margin-top:32px;padding:14px 12px;flex-wrap:wrap}
  .ve-proof-item:nth-child(-n+2) .ve-lbl{white-space:normal;text-wrap:balance}
  .ve-proof-item:nth-child(-n+2){flex:1 1 0}
  .ve-num{font-size:2rem}
  .ve-lbl{font-size:.875rem;letter-spacing:.01em}
  .ve-strip-grid{grid-template-columns:1fr 1fr;padding:0}
  .ve-hl{padding:32px 14px;border-bottom:1px solid var(--line)}
  .ve-hl:nth-child(2){border-right:0}
  .ve-hl:nth-child(n+3){border-bottom:0}
  .ve-big{font-size:2.3rem}
  .ve-welcome,.ve-services,.ve-gallery,.ve-reviews,.ve-visit{padding:84px 0!important}
  .ve-welcome-grid{grid-template-columns:1fr;gap:50px}
  .ve-stack{padding-bottom:56px}
  .ve-head{flex-direction:column;align-items:flex-start;margin-bottom:40px;gap:16px}
  .ve-cards{grid-template-columns:1fr;gap:24px}
  .ve-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .ve-mosaic a{aspect-ratio:1}
  .ve-mosaic .ve-tall{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
  .ve-ratings{gap:40px}
  .ve-score{font-size:3.3rem}
  .ve-quotes{grid-template-columns:1fr}
  .ve-quotes .ve-quote:nth-child(3){display:flex}
  .ve-visit-grid{grid-template-columns:1fr}
  .ve-visit-photo img{min-height:0;aspect-ratio:4/3}
  .ve-visit-info{padding:46px 24px}
  .f-grid{grid-template-columns:1fr;gap:36px}
  footer.site{padding-top:64px}
  .eyebrow{letter-spacing:.2em;font-size:.7rem}
  .eyebrow::before{width:22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
