:root{--vk-ink:#111827;--vk-gold:#9a8238;--vk-cream:#f7f5f0;--vk-line:#e6e0d4}
body{font-family:Jost,sans-serif;background:var(--vk-cream);color:var(--vk-ink)}
h1,h2,h3,h4,h5,h6,.display{font-family:'Cormorant Garamond',Georgia,serif}
.vk-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:600}
.vk-section{border-top:1px solid var(--vk-line)}
.vk-card{background:#fff;border:1px solid var(--vk-line);box-shadow:0 18px 50px rgba(17,24,39,.06)}
.vk-global-header{background:rgba(255,255,255,.97);backdrop-filter:blur(14px);box-shadow:0 1px 16px rgba(17,24,39,.06)}
.vk-global-header a{transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.vk-mobile-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:80;display:none;background:#fff;border:1px solid #ddd7cc;box-shadow:0 12px 35px rgba(17,24,39,.2);padding:6px}
.vk-mobile-cta a{height:44px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.vk-mobile-cta .vk-wa{background:#22c55e}.vk-mobile-cta .vk-call{background:#1b1b1b}
.vk-mobile-cta i{margin-right:8px}
@media(max-width:767px){.vk-mobile-cta{display:grid;grid-template-columns:1fr 1fr}.vk-global-header{position:sticky;top:0}.vk-page-bottom-pad{padding-bottom:76px}}
@media(min-width:768px){.vk-mobile-cta{display:none}}
.prose{color:#3f3b35}.prose h2,.prose h3{color:#111827}.prose a{color:#9a8238;text-decoration:underline;text-underline-offset:3px}.prose strong{color:#111827}

/* Site colour utilities: these classes are intentionally defined here because they are custom design tokens, not Tailwind defaults. */
.bg-ink{background-color:var(--vk-ink)!important}
.text-ink{color:var(--vk-ink)!important}
.bg-gold{background-color:var(--vk-gold)!important}
.text-gold{color:var(--vk-gold)!important}
.border-gold{border-color:var(--vk-gold)!important}
.hover\:bg-gold:hover{background-color:var(--vk-gold)!important}
.hover\:text-gold:hover{color:var(--vk-gold)!important}

/* Consistent high-contrast hero treatment for all location and guide pages. */
.vk-page-hero{background:var(--vk-ink)!important;color:#fff!important}
.vk-page-hero h1{color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.28)}
.vk-page-hero p{color:#e7e2d9!important}
.vk-page-hero .vk-eyebrow{color:#d8bf6a!important}
.vk-page-hero a{color:#fff}

/* Lead forms */
.vk-lead-section{background:#f7f5f0;border-top:1px solid #e6e0d4;border-bottom:1px solid #e6e0d4}
.vk-lead-card{background:#fff;border:1px solid #e6e0d4;box-shadow:0 20px 55px rgba(17,24,39,.08)}
.vk-lead-label{display:block;margin-bottom:6px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#4b463f}
.vk-lead-input{width:100%;border:1px solid #d9d2c5;background:#faf9f6;padding:12px 13px;font:inherit;font-size:14px;color:#111827;outline:none;transition:border-color .2s,box-shadow .2s}
.vk-lead-input:focus{border-color:var(--vk-gold);box-shadow:0 0 0 3px rgba(154,130,56,.12)}
.vk-lead-button{display:inline-flex;align-items:center;justify-content:center;background:var(--vk-ink);color:#fff;border:0;padding:13px 22px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .2s}
.vk-lead-button:hover{background:var(--vk-gold);transform:translateY(-1px)}
.vk-lead-note{font-size:12px;color:#746e65;line-height:1.6}
.vk-short-form{background:#fff;border:1px solid #e6e0d4;box-shadow:0 16px 45px rgba(17,24,39,.08)}

/* One square WhatsApp + Call sticky control on both desktop and mobile. */
.vk-mobile-cta{position:fixed;right:18px;bottom:18px;left:auto;z-index:110;display:flex!important;gap:6px;background:#fff;border:1px solid #ddd7cc;box-shadow:0 12px 35px rgba(17,24,39,.22);padding:5px;border-radius:4px}
.vk-mobile-cta a{width:54px;height:54px;display:flex;align-items:center;justify-content:center;font-size:0;font-weight:700;color:#fff;border-radius:2px;transition:transform .2s,filter .2s}
.vk-mobile-cta a:hover{transform:translateY(-2px);filter:brightness(.96)}
.vk-mobile-cta .vk-wa{background:#22c55e}.vk-mobile-cta .vk-call{background:#1b1b1b}
.vk-mobile-cta i{margin:0;font-size:21px}
@media(max-width:767px){.vk-mobile-cta{right:12px;bottom:12px}.vk-mobile-cta a{width:50px;height:50px}.vk-mobile-cta i{font-size:19px}.vk-page-bottom-pad{padding-bottom:78px}}
@media(min-width:768px){.vk-mobile-cta{display:flex!important}}


/* FINAL readability lock for location + guide templates. These selectors intentionally use
   high specificity and !important so Tailwind utility classes cannot produce low-contrast text. */
body.vk-location-page, body.vk-guide-page{background:#f7f5f0!important;color:#171717!important}
body.vk-location-page .vk-page-hero, body.vk-guide-page .vk-page-hero{
  background:#111315!important;color:#fff!important;position:relative;overflow:hidden;
}
body.vk-location-page .vk-page-hero h1, body.vk-guide-page .vk-page-hero h1{
  color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.5)!important;
}
body.vk-location-page .vk-page-hero p, body.vk-guide-page .vk-page-hero p{
  color:#f2efe8!important;opacity:1!important;
}
body.vk-location-page .vk-page-hero .vk-eyebrow, body.vk-guide-page .vk-page-hero .vk-eyebrow{
  color:#d9bf68!important;opacity:1!important;
}
body.vk-location-page .vk-page-hero a, body.vk-guide-page .vk-page-hero a{color:#fff!important}
body.vk-location-page main, body.vk-guide-page main{color:#24211d!important}
body.vk-location-page main p, body.vk-guide-page main p{color:#514c44!important;opacity:1!important}
body.vk-location-page main h2, body.vk-location-page main h3,
body.vk-guide-page main h2, body.vk-guide-page main h3{color:#151515!important}
body.vk-location-page main .vk-eyebrow, body.vk-guide-page main .vk-eyebrow{color:#9a8238!important;opacity:1!important}
body.vk-location-page footer.bg-ink, body.vk-guide-page footer.bg-ink{background:#111315!important;color:#f2efe8!important}
body.vk-location-page footer.bg-ink p, body.vk-guide-page footer.bg-ink p,
body.vk-location-page footer.bg-ink a, body.vk-guide-page footer.bg-ink a{
  color:#e9e4da!important;opacity:1!important;
}
body.vk-location-page footer.bg-ink .text-stone-400,
body.vk-location-page footer.bg-ink .text-stone-500,
body.vk-guide-page footer.bg-ink .text-stone-400,
body.vk-guide-page footer.bg-ink .text-stone-500{color:#bdb7ad!important}
body.vk-location-page footer.bg-ink .vk-eyebrow,
body.vk-guide-page footer.bg-ink .vk-eyebrow{color:#d9bf68!important}
body.vk-guide-page .vk-guide-article{background:#fff;border:1px solid #e4ddd1;box-shadow:0 22px 60px rgba(17,24,39,.08)}
body.vk-guide-page .vk-guide-article p, body.vk-guide-page .vk-guide-article li{color:#4d4942!important;opacity:1!important}
body.vk-guide-page .vk-guide-article h2{position:relative;padding-top:1rem;margin-top:2.7rem}
body.vk-guide-page .vk-guide-article h2:before{content:"";position:absolute;left:0;top:0;width:42px;height:2px;background:#9a8238}
body.vk-guide-page .vk-guide-article a{color:#8b7431!important}
.vk-guide-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:56px;align-items:center}
.vk-guide-hero-image{position:relative;min-height:430px;border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 80px rgba(0,0,0,.32);overflow:hidden}
.vk-guide-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(17,19,21,.08),rgba(17,19,21,.28))}
.vk-guide-hero-image img{width:100%;height:100%;min-height:430px;object-fit:cover;display:block}
.vk-guide-article-image{margin:2rem 0 2.5rem;overflow:hidden;border:1px solid #e3dccf;background:#f1ede5}
.vk-guide-article-image img{display:block;width:100%;height:320px;object-fit:cover}
.vk-guide-article-image figcaption{padding:11px 15px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#766f64;background:#faf8f4}
.vk-guide-aside-card{background:#111315;color:#fff;border:1px solid #25282b;box-shadow:0 18px 45px rgba(17,24,39,.12)}
.vk-guide-aside-card p,.vk-guide-aside-card h2,.vk-guide-aside-card h3{color:#fff!important}
.vk-guide-aside-card .vk-eyebrow{color:#d9bf68!important}
.vk-guide-aside-image{height:220px;overflow:hidden}
.vk-guide-aside-image img{width:100%;height:100%;object-fit:cover;display:block}
.vk-guide-index-hero{background:#111315!important;color:#fff!important}
.vk-guide-index-hero h1{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.5)!important}
.vk-guide-index-hero p{color:#f2efe8!important;opacity:1!important}
.vk-guide-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.vk-guide-index-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e4ddd1;box-shadow:0 16px 45px rgba(17,24,39,.06);overflow:hidden;transition:transform .25s,box-shadow .25s}
.vk-guide-index-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(17,24,39,.11)}
.vk-guide-index-card-image{height:210px;overflow:hidden;background:#e9e3d7}
.vk-guide-index-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.vk-guide-index-card:hover .vk-guide-index-card-image img{transform:scale(1.04)}
.vk-guide-index-card-body{padding:25px;display:flex;flex:1;flex-direction:column}
.vk-guide-index-card-body h2{color:#151515!important}
.vk-guide-index-card-body p{color:#575149!important;opacity:1!important}
@media(max-width:900px){.vk-guide-hero-grid{grid-template-columns:1fr;gap:30px}.vk-guide-hero-image{min-height:300px}.vk-guide-hero-image img{min-height:300px}.vk-guide-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.vk-guide-index-grid{grid-template-columns:1fr}.vk-guide-index-card-image{height:220px}.vk-guide-article-image img{height:240px}}
