/* ═══════════════════════════════════════════════════════════
   VECLERA FM THEME — MAIN STYLESHEET v2.0.0
═══════════════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root {
  --obs:       #0B0F0E;
  --dark2:     #111615;
  --dark3:     #0D1211;
  --teal:      #0E7C7B;
  --teal-mid:  #0A5E5D;
  --teal-glow: rgba(14,124,123,.15);
  --gold:      #C9A96E;
  --gold-lt:   #E2C898;
  --gold-faint:rgba(201,169,110,.10);
  --cream:     #F5F0E8;
  --cream-dk:  #EDE7D9;
  --white:     #FDFCFB;
  --muted:     #8A9090;
  --muted2:    #5A6262;
  --green:     #1A7A4A;
  --montserrat:     'Cormorant Garamond', Georgia, montserrat;
  --montserrat:      'Outfit', montserrat-montserrat;
  --r-sm:  8px; --r-md: 14px; --r-lg: 20px; --r-xl: 999px;
  --shadow-sm: 0 2px 12px rgba(0,0,0,.08);
  --shadow-md: 0 8px 32px rgba(0,0,0,.20);
  --shadow-lg: 0 20px 60px rgba(0,0,0,.35);
  --trans: all .25s ease;
  --nav-h: 72px;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{background:var(--obs);color:var(--white);font-family:var(--montserrat);line-height:1.65;-webkit-font-smoothing:antialiased;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button,input,select,textarea{font-family:inherit;}
::selection{background:var(--teal);color:#fff;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--obs);}
::-webkit-scrollbar-thumb{background:var(--teal);border-radius:2px;}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
.anim-1{animation:fadeUp .7s .05s both}
.anim-2{animation:fadeUp .7s .18s both}
.anim-3{animation:fadeUp .7s .32s both}
.anim-4{animation:fadeUp .7s .46s both}
.anim-5{animation:fadeUp .7s .60s both}

/* ── LAYOUT ── */
.vfm-container{max-width:1140px;margin:0 auto;padding:0 40px;}
.vfm-section--cream{background:var(--cream);}

/* ── LABELS ── */
.vfm-label{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.vfm-label__line{width:28px;height:1.5px;background:var(--gold);flex-shrink:0;}
.vfm-label span:last-child{font-family:var(--montserrat);font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;}
.vfm-label--gold .vfm-label__line,.vfm-label--gold span:last-child{background:var(--gold);color:var(--gold);}
.vfm-label--teal .vfm-label__line{background:var(--teal);}
.vfm-label--teal span:last-child{color:var(--teal);}

/* ── TYPOGRAPHY ── */
.vfm-section-h2{font-family:var(--montserrat);font-size:clamp(32px,4vw,52px);font-weight:600;color:var(--white);line-height:1.15;}
.vfm-section-h2 em{color:var(--gold);font-style:Normal;}
.vfm-section-h2--dark{color:var(--obs);}
.vfm-section-sub{font-family:var(--montserrat);font-size:15px;color:rgba(255,255,255,.55);line-height:1.85;max-width:560px;}
.vfm-section-sub--dark{color:var(--muted2);}

/* ── BUTTONS ── */
.vfm-btn{display:inline-flex;align-items:center;gap:8px;padding: 8px 16px;border-radius:var(--r-xl);font-family:var(--montserrat);font-size: 10px;font-weight: 700;letter-spacing:1.5px;text-transform: capitalize;border:none;cursor:pointer;transition:var(--trans);}
.vfm-btn--gold{background:var(--gold);color:var(--obs);}
.vfm-btn--gold:hover{background:var(--gold-lt);transform:translateY(-2px);box-shadow:0 8px 28px rgba(201,169,110,.35);}
.vfm-btn--teal{background:var(--teal);color:var(--white);}
.vfm-btn--teal:hover{background:var(--teal-mid);transform:translateY(-2px);}
.vfm-btn--ghost{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.22);}
.vfm-btn--ghost:hover{border-color:var(--gold);color:var(--gold);}
.vfm-btn--wa{background:#25D366;color:var(--white);}
.vfm-btn--wa:hover{background:#1da851;transform:translateY(-2px);}
.vfm-btn--outline-teal{background:transparent;color:var(--teal);border:1.5px solid var(--teal);padding:8px 18px;font-size:11px;}
.vfm-btn--outline-teal:hover{background:var(--teal);color:var(--white);}
.vfm-btn--sm{padding:8px 16px;font-size:10px;}

/* ══════════ EMERGENCY BAR ══════════════════════════════ */
.vfm-emergency-bar{background:var(--teal);padding:8px 40px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--montserrat);font-size:12px;color:rgba(255,255,255,.85);position:sticky;top:var(--nav-h);z-index:90;}
.vfm-emergency-bar a{color:var(--white);font-weight:700;}
.vfm-emergency-bar__divider{opacity:.4;}

/* ══════════ NAV ════════════════════════════════════════ */
.vfm-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 40px;height:var(--nav-h);background:rgba(11,15,14,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06);transition:var(--trans);}
.vfm-nav__inner{display:flex;align-items:center;justify-content:space-between;height:100%;}
.vfm-nav__logo{display:flex;align-items:center;gap:12px;}
.vfm-nav__wordmark{display:flex;flex-direction:column;}
.vfm-nav__name{font-family:var(--montserrat);font-size:18px;font-weight:600;color:var(--white);letter-spacing:1px;line-height:1.1;}
.vfm-nav__sub{font-family:var(--montserrat);font-size:9px;color:var(--teal);letter-spacing:2px;text-transform:uppercase;}
.vfm-nav__links{display:flex;align-items:center;gap:28px;}
.vfm-nav__link{font-family:var(--montserrat);font-size:14px;font-weight:900;letter-spacing:1.2px;text-transform: capitalize;color:rgba(255,255,255,.55);transition:color .2s;position:relative;}
.vfm-nav__link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .25s;}
.vfm-nav__link:hover,.vfm-nav__link.active{color:var(--white);}
.vfm-nav__link.active{color:var(--gold);}
.vfm-nav__link:hover::after,.vfm-nav__link.active::after{width:100%;}
.vfm-nav__cta{padding:9px 20px;font-size:11px;}
.vfm-nav__wa{padding:9px 14px;border-radius:50%;border:1.5px solid rgba(255,255,255,.15);}
.vfm-nav__chevron{font-size:10px;opacity:.6;}
.vfm-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.vfm-hamburger span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:var(--trans);}
.vfm-nav__mobile{display:none;flex-direction:column;padding:20px 40px 28px;background:rgba(11,15,14,.98);border-top:1px solid rgba(255,255,255,.06);}
.vfm-nav__mobile.open{display:flex;}
.vfm-nav__mobile-link{font-family:var(--montserrat);font-size:14px;font-weight:500;color:rgba(255,255,255,.6);padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06);letter-spacing:.5px;}
.vfm-nav__mobile-link:hover{color:var(--white);}

/* Mega menu */
.vfm-nav__mega-wrap{position:relative;}
.vfm-mega{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);width:680px;background:var(--dark2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s;transform:translateX(-50%) translateY(-8px);}
.vfm-nav__mega-wrap:hover .vfm-mega,.vfm-mega:hover{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.vfm-mega__inner{display:grid;grid-template-columns:200px 1fr;gap:24px;}
.vfm-mega__promo{background:var(--teal-glow);border:1px solid rgba(14,124,123,.25);border-radius:var(--r-md);padding:20px;display:flex;flex-direction:column;gap:8px;}
.vfm-mega__promo-tag{font-family:var(--montserrat);font-size:10px;color:var(--teal);letter-spacing:2px;text-transform:uppercase;}
.vfm-mega__promo h3{font-family:var(--montserrat);font-size:22px;color:var(--white);line-height:1.25;}
.vfm-mega__cta{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--montserrat);font-size:12px;font-weight:700;color:var(--gold);letter-spacing:.5px;}
.vfm-mega__grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.vfm-mega__item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-sm);transition:background .2s;}
.vfm-mega__item:hover{background:rgba(255,255,255,.05);}
.vfm-mega__icon{font-size:18px;}
.vfm-mega__label{font-family:var(--montserrat);font-size:13px;font-weight:600;color:var(--white);}
.vfm-mega__tagline{font-family:var(--montserrat);font-size:10px;color:var(--muted);}

/* ══════════ HERO ════════════════════════════════════════ */
.vfm-hero{min-height:100vh;background:var(--obs);display:flex;align-items:center;padding:calc(var(--nav-h) + 60px) 40px 80px;position:relative;overflow:hidden;}
.vfm-hero__orb{position:absolute;border-radius:50%;pointer-events:none;}
.vfm-hero__orb--teal{top:-80px;right:-100px;width:520px;height:520px;background:radial-gradient(circle,rgba(14,124,123,.18),transparent 70%);}
.vfm-hero__orb--gold{bottom:-60px;left:5%;width:340px;height:340px;background:radial-gradient(circle,rgba(201,169,110,.10),transparent 70%);}
.vfm-hero__grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;}
.vfm-hero__content{max-width:900px;position:relative;}
.vfm-hero__h1{font-family:var(--montserrat);font-size:clamp(52px,7vw,96px);font-weight:600;color:var(--white);line-height:1.05;margin-bottom:20px;}
.vfm-hero__h1 em{color:var(--gold);font-style:normal;}
.vfm-hero__sub{font-family:var(--montserrat);font-size:17px;color:rgba(255,255,255,.55);line-height:1.85;max-width:540px;margin-bottom:28px;}
.vfm-hero__pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;}
.vfm-hero__pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r-xl);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-family:var(--montserrat);font-size:11px;font-weight:500;color:rgba(255,255,255,.65);transition:var(--trans);}
.vfm-hero__pill:hover{background:rgba(255,255,255,.12);color:var(--white);}
.vfm-hero__ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:60px;}
.vfm-hero__stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.08);padding-top:32px;}
.vfm-hero__stat{text-align:center;}
.vfm-hero__stat:not(:last-child){border-right:1px solid rgba(255,255,255,.08);}
.vfm-hero__stat-val{font-family:var(--montserrat);font-size:36px;font-weight:700;color:var(--gold);}
.vfm-hero__stat-lbl{font-family:var(--montserrat);font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:4px;}

/* ══════════ SERVICE CATEGORIES GRID ════════════════════ */
.vfm-cats-section{background:var(--dark2);padding:100px 0;}
.vfm-cats-header{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:52px;}
.vfm-cats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.vfm-cat-card{background:var(--obs);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-lg);padding:28px 24px;display:flex;flex-direction:column;gap:10px;transition:var(--trans);position:relative;overflow:hidden;}
.vfm-cat-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--cat-color,var(--teal));transform:scaleX(0);transition:transform .3s;transform-origin:left;}
.vfm-cat-card:hover{border-color:var(--cat-color,var(--teal));transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,0,0,.3);}
.vfm-cat-card:hover::before{transform:scaleX(1);}
.vfm-cat-card__icon{font-size:32px;}
.vfm-cat-card__name{font-family:var(--montserrat);font-size:20px;font-weight:600;color:var(--white);}
.vfm-cat-card__tagline{font-family:var(--montserrat);font-size:12px;color:var(--muted);line-height:1.6;flex:1;}
.vfm-cat-card__count{font-family:var(--montserrat);font-size:10px;color:var(--cat-color,var(--teal));font-weight:600;letter-spacing:1px;text-transform:uppercase;}
.vfm-cat-card__arrow{font-family:var(--montserrat);font-size:18px;color:var(--cat-color,var(--teal));align-self:flex-end;transition:transform .2s;}
.vfm-cat-card:hover .vfm-cat-card__arrow{transform:translateX(4px);}

/* ══════════ QUOTE SECTION (home) ═══════════════════════ */
.vfm-quote-section{background:var(--obs);padding:100px 0;}
.vfm-quote-wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.vfm-quote-promises{display:flex;flex-direction:column;gap:10px;margin-top:28px;}
.vfm-quote-promise{display:flex;align-items:center;gap:12px;font-family:var(--montserrat);font-size:14px;color:rgba(255,255,255,.65);}
.vfm-quote-promise span{width:22px;height:22px;border-radius:50%;background:var(--teal-glow);border:1px solid rgba(14,124,123,.3);display:flex;align-items:center;justify-content:center;color:var(--teal);font-size:12px;flex-shrink:0;}
.vfm-quote-form-box{background:var(--dark2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);padding:36px;}

/* ══════════ QUOTE FORM (shared component) ══════════════ */
.vfm-qf__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vfm-qf__field{margin-bottom:16px;}
.vfm-qf__field label{display:block;font-family:var(--montserrat);font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:7px;}
.vfm-qf__field input,.vfm-qf__field select,.vfm-qf__field textarea{width:100%;padding:12px 15px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);color:var(--white);font-family:var(--montserrat);font-size:14px;outline:none;transition:border .2s;}
.vfm-qf__field input:focus,.vfm-qf__field select:focus,.vfm-qf__field textarea:focus{border-color:var(--teal);background:rgba(14,124,123,.08);}
.vfm-qf__field input::placeholder,.vfm-qf__field textarea::placeholder{color:rgba(255,255,255,.25);}
.vfm-qf__field select option{background:var(--obs);}
.vfm-qf__field textarea{resize:vertical;}
.vfm-qf__submit{width:100%;justify-content:center;padding:15px;font-size:13px;margin-top:4px;}
.vfm-qf__note{font-family:var(--montserrat);font-size:11px;color:var(--muted);text-align:center;margin-top:10px;}
.vfm-qf__error{background:rgba(192,57,43,.15);border:1px solid rgba(192,57,43,.3);border-radius:var(--r-sm);padding:10px 14px;font-family:var(--montserrat);font-size:13px;color:#e74c3c;margin-bottom:12px;}
.vfm-qf__success{background:linear-gradient(135deg,rgba(14,124,123,.2),rgba(201,169,110,.1));border:1px solid rgba(14,124,123,.3);border-radius:var(--r-lg);padding:48px 32px;text-align:center;}
.vfm-qf__success-icon{font-size:48px;margin-bottom:16px;}
.vfm-qf__success h3{font-family:var(--montserrat);font-size:28px;color:var(--white);margin-bottom:10px;}
.vfm-qf__success p{font-family:var(--montserrat);font-size:14px;color:var(--muted);line-height:1.8;}

/* ══════════ WHY SECTION ════════════════════════════════ */
.vfm-why{padding:100px 0;}
.vfm-why__inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.vfm-why__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.vfm-why-card{background:var(--white);border-radius:var(--r-md);padding:22px;box-shadow:var(--shadow-sm);}
.vfm-why-card__icon{font-size:22px;margin-bottom:10px;}
.vfm-why-card__title{font-family:var(--montserrat);font-size:17px;font-weight:600;color:var(--obs);margin-bottom:6px;}
.vfm-why-card__desc{font-family:var(--montserrat);font-size:12px;color:var(--muted2);line-height:1.7;}

/* ══════════ PROCESS ════════════════════════════════════ */
.vfm-process{background:var(--dark2);padding:100px 0;}
.vfm-process__steps{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:48px;}
.vfm-process__step{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;}
.vfm-process__step:not(:last-child)::after{content:'→';position:absolute;right:-12px;top:28px;color:rgba(14,124,123,.4);font-size:16px;}
.vfm-process__step-num{font-family:var(--montserrat);font-size:10px;font-weight:700;color:var(--teal);letter-spacing:1px;margin-bottom:8px;}
.vfm-process__step-icon{font-size:28px;margin-bottom:10px;background:var(--teal-glow);width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(14,124,123,.25);}
.vfm-process__step-title{font-family:var(--montserrat);font-size:16px;font-weight:600;color:var(--white);margin-bottom:6px;}
.vfm-process__step-desc{font-family:var(--montserrat);font-size:12px;color:var(--muted);line-height:1.6;}

/* ══════════ TESTIMONIALS ═══════════════════════════════ */
.vfm-testimonials{background:var(--dark3);padding:100px 0;}
.vfm-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.vfm-testi-card{background:var(--dark2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-lg);padding:28px;}
.vfm-testi-card .vfm-testi-card__stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:16px;}
.vfm-testi-card blockquote{font-family:var(--montserrat);font-size:17px;font-style:Normal;color:var(--white);line-height:1.7;margin-bottom:20px;}
.vfm-testi-card footer{border-top:1px solid rgba(255,255,255,.06);padding-top:14px;display:flex;flex-direction:column;gap:3px;}
.vfm-testi-card footer strong{font-family:var(--montserrat);font-size:13px;color:var(--white);}
.vfm-testi-card footer span{font-family:var(--montserrat);font-size:11px;color:var(--muted);}

/* ══════════ CTA BANNER ════════════════════════════════ */
.vfm-cta-banner{background:linear-gradient(135deg,var(--teal-mid),var(--teal));padding:80px 0;text-align:center;position:relative;overflow:hidden;}
.vfm-cta-banner__orb{position:absolute;border-radius:50%;pointer-events:none;}
.vfm-cta-banner__orb--1{top:-60px;right:-60px;width:240px;height:240px;background:rgba(255,255,255,.06);}
.vfm-cta-banner__orb--2{bottom:-40px;left:10%;width:180px;height:180px;background:var(--gold);opacity:.1;}
.vfm-cta-banner__inner{position:relative;}
.vfm-cta-banner__h2{font-family:var(--montserrat);font-size:clamp(32px,4vw,52px);font-weight:600;color:var(--white);margin-bottom:14px;}
.vfm-cta-banner__sub{font-family:var(--montserrat);font-size:15px;color:rgba(255,255,255,.65);margin-bottom:32px;}
.vfm-cta-banner__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;}
.vfm-cta-banner__note{font-family:var(--montserrat);font-size:12px;color:rgba(255,255,255,.5);}

/* ══════════ EMERGENCY CTA ══════════════════════════════ */
.vfm-emergency-cta{background:var(--obs);border-top:1px solid rgba(255,255,255,.06);padding:60px 0;}
.vfm-emergency-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.vfm-emergency-cta__tag{font-family:var(--montserrat);font-size:10px;color:var(--teal);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;}
.vfm-emergency-cta__heading{font-family:var(--montserrat);font-size:36px;font-weight:600;color:var(--white);margin-bottom:8px;}
.vfm-emergency-cta__sub{font-family:var(--montserrat);font-size:14px;color:var(--muted);line-height:1.7;max-width:480px;}
.vfm-emergency-cta__actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ══════════ PAGE HEADER ════════════════════════════════ */
.vfm-page-header{background:var(--obs);padding:calc(var(--nav-h) + 48px + 44px) 0 72px;position:relative;overflow:hidden;}
.vfm-page-header__orb{position:absolute;border-radius:50%;pointer-events:none;}
.vfm-page-header__orb--teal{top:-60px;right:-80px;width:380px;height:380px;background:radial-gradient(circle,rgba(14,124,123,.12),transparent 70%);}
.vfm-page-header__orb--gold{top:-60px;left:-60px;width:300px;height:300px;background:radial-gradient(circle,rgba(201,169,110,.08),transparent 70%);}
.vfm-page-header__h1{font-family:var(--montserrat);font-size:clamp(44px,5vw,72px);font-weight:600;color:var(--white);line-height:1.1;}
.vfm-page-header__h1 em{color:var(--gold);font-style:Normal;}
.vfm-page-header__h1--sm{font-size:clamp(36px,4vw,56px);}
.vfm-page-header__sub{font-family:var(--montserrat);font-size:15px;color:var(--muted);margin-top:14px;max-width:600px;}

/* ══════════ SERVICES PAGE ══════════════════════════════ */
.vfm-svc-tabs-bar{background:var(--dark2);border-bottom:1px solid rgba(255,255,255,.07);position:sticky;top:calc(var(--nav-h) + 33px);z-index:80;overflow-x:auto;}
.vfm-svc-tabs{display:flex;gap:0;}
.vfm-svc-tab{display:flex;align-items:center;gap:8px;padding:16px 20px;font-family:var(--montserrat);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:var(--trans);}
.vfm-svc-tab:hover{color:var(--white);}
.vfm-svc-tab--active{color:var(--tab-color,var(--teal));border-bottom-color:var(--tab-color,var(--teal));}
.vfm-svc-tab__icon{font-size:16px;}
.vfm-svc-detail-section{background:var(--obs);padding:60px 0;}
.vfm-svc-cat-hero{display:flex;align-items:center;justify-content:space-between;padding:32px 40px;background:var(--dark2);border:1px solid rgba(255,255,255,.07);border-left:4px solid var(--cat-color,var(--teal));border-radius:var(--r-lg);margin-bottom:36px;flex-wrap:wrap;gap:20px;}
.vfm-svc-cat-hero__left{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.vfm-svc-cat-hero__icon{font-size:48px;}
.vfm-svc-cat-hero__name{font-family:var(--montserrat);font-size:32px;font-weight:600;color:var(--white);}
.vfm-svc-cat-hero__tagline{font-family:var(--montserrat);font-size:16px;font-style:Normal;color:var(--cat-color,var(--teal));}
.vfm-svc-cat-hero__count{font-family:var(--montserrat);font-size:11px;color:var(--muted);letter-spacing:1px;}
.vfm-svc-cat-hero__right{display:flex;gap:12px;}
.vfm-svc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.vfm-svc-card{background:var(--dark2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-lg);padding:28px;transition:var(--trans);}
.vfm-svc-card:hover{border-color:rgba(255,255,255,.15);box-shadow:var(--shadow-md);}
.vfm-svc-card__header{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px;}
.vfm-svc-card__icon{font-size:28px;flex-shrink:0;}
.vfm-svc-card__head-info{flex:1;}
.vfm-svc-card__name{font-family:var(--montserrat);font-size:22px;font-weight:600;color:var(--white);margin-bottom:4px;}
.vfm-svc-card__price{font-family:var(--montserrat);font-size:13px;font-weight:700;}
.vfm-svc-card__book{flex-shrink:0;align-self:flex-start;}
.vfm-svc-card__desc{font-family:var(--montserrat);font-size:14px;color:var(--muted);line-height:1.75;margin-bottom:18px;}
.vfm-svc-card__includes{margin-bottom:18px;}
.vfm-svc-card__includes-label{font-family:var(--montserrat);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:10px;}
.vfm-svc-card__list{display:flex;flex-direction:column;gap:8px;}
.vfm-svc-card__list li{display:flex;align-items:center;gap:10px;font-family:var(--montserrat);font-size:13px;color:rgba(255,255,255,.65);}
.vfm-svc-card__check{width:18px;height:18px;border-radius:50%;background:var(--teal-glow);border:1px solid rgba(14,124,123,.25);display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;}
.vfm-svc-card__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);}
.vfm-svc-card__quote-link{font-family:var(--montserrat);font-size:12px;color:var(--teal);font-weight:600;}
.vfm-svc-card__quote-link:hover{color:var(--gold);}
.vfm-svc-card__wa-link{font-family:var(--montserrat);font-size:12px;color:var(--muted);}
.vfm-svc-card__wa-link:hover{color:#25D366;}
/* Overview grid */
.vfm-all-cats-overview{background:var(--dark3);padding:80px 0;}
.vfm-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:36px;}
.vfm-overview-card{background:var(--dark2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-md);padding:22px;display:flex;flex-direction:column;gap:8px;transition:var(--trans);}
.vfm-overview-card:hover{border-color:var(--cat-color,var(--teal));transform:translateY(-3px);}
.vfm-overview-card__icon{font-size:26px;}
.vfm-overview-card__name{font-family:var(--montserrat);font-size:18px;font-weight:600;color:var(--white);}
.vfm-overview-card__tagline{font-family:var(--montserrat);font-size:12px;color:var(--muted);}
.vfm-overview-card__services{display:flex;flex-direction:column;gap:3px;margin-top:4px;}
.vfm-overview-card__services span{font-family:var(--montserrat);font-size:11px;color:var(--muted2);}
/* Add-ons */
.vfm-addons-section{background:var(--obs);padding:80px 0;}
.vfm-addons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:32px;}
.vfm-addon-card{background:var(--dark2);border:1px solid rgba(255,255,255,.06);border-radius:var(--r-md);padding:18px;text-align:center;}
.vfm-addon-card__icon{font-size:24px;margin-bottom:10px;}
.vfm-addon-card__name{font-family:var(--montserrat);font-size:13px;font-weight:600;color:var(--white);margin-bottom:4px;}
.vfm-addon-card__price{font-family:var(--montserrat);font-size:12px;color:var(--teal);}
/* Services CTA */
.vfm-svc-cta{background:var(--dark2);padding:60px 0;border-top:1px solid rgba(255,255,255,.06);}
.vfm-svc-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.vfm-svc-cta h2{font-family:var(--montserrat);font-size:32px;font-weight:600;color:var(--white);margin-bottom:8px;}
.vfm-svc-cta p{font-family:var(--montserrat);font-size:14px;color:var(--muted);}
.vfm-svc-cta__btns{display:flex;gap:12px;flex-wrap:wrap;}

/* ══════════ BLOG ════════════════════════════════════════ */
.vfm-blog-section{background:var(--obs);padding:60px 0 100px;}
.vfm-blog-layout{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start;}
.vfm-blog-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;}
.vfm-blog-cat{display:inline-block;padding:7px 16px;border-radius:var(--r-xl);font-family:var(--montserrat);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;border:1.5px solid rgba(255,255,255,.12);color:var(--muted);transition:var(--trans);}
.vfm-blog-cat:hover,.vfm-blog-cat.active{background:var(--teal);border-color:var(--teal);color:var(--white);}
.vfm-blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.vfm-blog-card{background:var(--dark2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-lg);overflow:hidden;transition:var(--trans);}
.vfm-blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.vfm-blog-card--featured{grid-column:1/-1;}
.vfm-blog-card--featured .vfm-blog-card__img{aspect-ratio:16/7;}
.vfm-blog-card__img-wrap{display:block;}
.vfm-blog-card__img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.vfm-blog-card__body{padding:22px;}
.vfm-blog-card__cat{display:inline-block;font-family:var(--montserrat);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);margin-bottom:8px;}
.vfm-blog-card__title{font-family:var(--montserrat);font-size:22px;font-weight:600;color:var(--white);line-height:1.3;margin-bottom:10px;}
.vfm-blog-card__title a{color:inherit;}
.vfm-blog-card__title a:hover{color:var(--gold);}
.vfm-blog-card__title--lg{font-size:30px;}
.vfm-blog-card__excerpt{font-family:var(--montserrat);font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:14px;}
.vfm-blog-card__meta{display:flex;align-items:center;gap:8px;font-family:var(--montserrat);font-size:11px;color:var(--muted2);margin-bottom:14px;}
.vfm-blog-card__dot{opacity:.4;}
.vfm-blog-card__link{font-family:var(--montserrat);font-size:12px;font-weight:700;color:var(--teal);letter-spacing:.5px;}
.vfm-blog-card__link:hover{color:var(--gold);}
.vfm-blog-pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;flex-wrap:wrap;}
.vfm-blog-pagination a,.vfm-blog-pagination span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-sm);background:var(--dark2);border:1px solid rgba(255,255,255,.08);font-family:var(--montserrat);font-size:13px;color:var(--white);transition:var(--trans);}
.vfm-blog-pagination a:hover,.vfm-blog-pagination .current{background:var(--teal);border-color:var(--teal);}
.vfm-blog-empty{text-align:center;padding:60px 0;}
.vfm-blog-empty p{font-family:var(--montserrat);font-size:15px;color:var(--muted);margin-bottom:24px;}

/* ── Sidebar ── */
.vfm-blog-sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:calc(var(--nav-h) + 44px + 20px);}
.vfm-sidebar-card{background:var(--dark2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-md);padding:22px;}
.vfm-sidebar-card__title{font-family:var(--montserrat);font-size:18px;font-weight:600;color:var(--white);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.07);}
.vfm-search-form{display:flex;gap:8px;}
.vfm-search-form__input{flex:1;padding:10px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);color:var(--white);font-family:var(--montserrat);font-size:13px;outline:none;}
.vfm-search-form__input:focus{border-color:var(--teal);}
.vfm-search-form__btn{width:40px;height:40px;background:var(--teal);border:none;border-radius:var(--r-sm);color:var(--white);font-size:16px;cursor:pointer;}
.vfm-sidebar-services{display:flex;flex-direction:column;gap:8px;}
.vfm-sidebar-services li a{display:flex;align-items:center;gap:8px;font-family:var(--montserrat);font-size:13px;color:rgba(255,255,255,.6);padding:6px 0;transition:color .2s;}
.vfm-sidebar-services li a:hover{color:var(--white);}
.vfm-sidebar-cta{background:linear-gradient(135deg,var(--teal),var(--teal-mid));border-radius:var(--r-md);padding:24px;}
.vfm-sidebar-cta h4{font-family:var(--montserrat);font-size:20px;color:var(--white);margin-bottom:8px;}
.vfm-sidebar-cta p{font-family:var(--montserrat);font-size:13px;color:rgba(255,255,255,.7);margin-bottom:16px;}
.vfm-sidebar-cats{display:flex;flex-direction:column;gap:8px;}
.vfm-sidebar-cats li{display:flex;justify-content:space-between;align-items:center;}
.vfm-sidebar-cats li a{font-family:var(--montserrat);font-size:13px;color:rgba(255,255,255,.6);}
.vfm-sidebar-cats li a:hover{color:var(--white);}
.vfm-sidebar-cats li span{font-family:var(--montserrat);font-size:11px;color:var(--muted);background:rgba(255,255,255,.06);padding:2px 8px;border-radius:var(--r-xl);}
.vfm-sidebar-recent{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);text-decoration:none;}
.vfm-sidebar-recent:last-child{border-bottom:none;}
.vfm-sidebar-recent__img{width:52px;height:52px;border-radius:var(--r-sm);overflow:hidden;flex-shrink:0;}
.vfm-sidebar-recent__img img{width:100%;height:100%;object-fit:cover;}
.vfm-sidebar-recent__title{font-family:var(--montserrat);font-size:13px;color:var(--white);line-height:1.4;margin-bottom:3px;}
.vfm-sidebar-recent:hover .vfm-sidebar-recent__title{color:var(--gold);}
.vfm-sidebar-recent__date{font-family:var(--montserrat);font-size:11px;color:var(--muted);}

/* ══════════ SINGLE POST ════════════════════════════════ */
.vfm-single__cat{display:inline-block;font-family:var(--montserrat);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:14px;}
.vfm-single__meta{font-family:var(--montserrat);font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px;margin-top:14px;}
.vfm-single__meta-dot{opacity:.4;}
.vfm-single-article{max-width:none;}
.vfm-single__hero-img{border-radius:var(--r-lg);overflow:hidden;margin-bottom:40px;}
.vfm-single__hero-img img{width:100%;max-height:500px;object-fit:cover;}
.vfm-prose{font-family:var(--montserrat);font-size:16px;color:rgba(255,255,255,.75);line-height:1.9;}
.vfm-prose h2,.vfm-prose h3,.vfm-prose h4{font-family:var(--montserrat);color:var(--white);margin:32px 0 14px;}
.vfm-prose h2{font-size:28px;}
.vfm-prose h3{font-size:22px;}
.vfm-prose p{margin-bottom:20px;}
.vfm-prose ul,.vfm-prose ol{margin:0 0 20px 24px;}
.vfm-prose li{margin-bottom:8px;}
.vfm-prose a{color: #ffffff;text-decoration:underline;}
.vfm-prose img{border-radius:var(--r-md);margin:24px 0;}
.vfm-single__tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px;}
.vfm-tag{display:inline-block;padding:5px 14px;border-radius:var(--r-xl);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-family:var(--montserrat);font-size:11px;color:var(--muted);}
.vfm-single__share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);}
.vfm-single__share span{font-family:var(--montserrat);font-size:12px;color:var(--muted);}
.vfm-share-btn{display:inline-block;padding:7px 14px;border-radius:var(--r-xl);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-family:var(--montserrat);font-size:11px;font-weight:600;color:var(--white);transition:var(--trans);}
.vfm-share-btn:hover{background:rgba(255,255,255,.12);}
.vfm-share-btn--wa{background:#25D36618;border-color:#25D36633;color:#25D366;}
.vfm-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px;}
.vfm-post-nav__item{background:var(--dark2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);padding:18px;display:flex;flex-direction:column;gap:5px;transition:var(--trans);}
.vfm-post-nav__item:hover{border-color:var(--teal);}
.vfm-post-nav__item span{font-family:var(--montserrat);font-size:11px;color:var(--teal);}
.vfm-post-nav__item strong{font-family:var(--montserrat);font-size:16px;color:var(--white);}
.vfm-post-nav__item--next{text-align:right;}
.vfm-inline-cta{background:linear-gradient(135deg,rgba(14,124,123,.2),rgba(201,169,110,.1));border:1px solid rgba(14,124,123,.25);border-radius:var(--r-lg);padding:32px;margin-top:40px;}
.vfm-inline-cta h3{font-family:var(--montserrat);font-size:24px;color:var(--white);margin-bottom:8px;}
.vfm-inline-cta p{font-family:var(--montserrat);font-size:14px;color:var(--muted);margin-bottom:20px;}
.vfm-inline-cta__btns{display:flex;gap:12px;flex-wrap:wrap;}

/* ══════════ QUOTE PAGE ══════════════════════════════════ */
.vfm-quote-page-section{background:var(--obs);padding:60px 0 100px;}
.vfm-quote-page-grid{display:grid;grid-template-columns:1fr 360px;gap:52px;align-items:start;}
.vfm-booking-wrap{background:var(--dark2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);padding:36px;}
.vfm-booking-wrap__heading{font-family:var(--montserrat);font-size:26px;font-weight:600;color:var(--white);margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.07);}
.vfm-qf__form--large .vfm-qf__submit{font-size:14px;padding:16px;}
.vfm-quote-page-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:calc(var(--nav-h)+44px+20px);}
.vfm-quote-alt{background:var(--dark2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-md);padding:22px;}
.vfm-quote-alt h3{font-family:var(--montserrat);font-size:20px;color:var(--white);margin-bottom:16px;}
.vfm-quote-alt__options{display:flex;flex-direction:column;gap:10px;}
.vfm-quote-alt__option{display:flex;align-items:center;gap:14px;padding:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-sm);transition:var(--trans);}
.vfm-quote-alt__option:hover{border-color:var(--teal);background:var(--teal-glow);}
.vfm-quote-alt__icon{font-size:22px;flex-shrink:0;}
.vfm-quote-alt__option strong{display:block;font-family:var(--montserrat);font-size:13px;font-weight:600;color:var(--white);}
.vfm-quote-alt__option span{display:block;font-family:var(--montserrat);font-size:12px;color:var(--muted);}
.vfm-quote-steps{background:var(--dark2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-md);padding:22px;}
.vfm-quote-steps h3{font-family:var(--montserrat);font-size:20px;color:var(--white);margin-bottom:16px;}
.vfm-quote-step{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;}
.vfm-quote-step span{font-size:18px;flex-shrink:0;margin-top:2px;}
.vfm-quote-step strong{display:block;font-family:var(--montserrat);font-size:13px;font-weight:600;color:var(--white);margin-bottom:3px;}
.vfm-quote-step p{font-family:var(--montserrat);font-size:12px;color:var(--muted);}
.vfm-quote-hours{background:var(--dark2);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-md);padding:22px;}
.vfm-quote-hours h3{font-family:var(--montserrat);font-size:20px;color:var(--white);margin-bottom:16px;}
.vfm-quote-hours__row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);font-family:var(--montserrat);font-size:13px;}
.vfm-quote-hours__row span:first-child{color:rgba(255,255,255,.5);}
.vfm-quote-hours__row span:last-child{color:var(--white);font-weight:500;}
.vfm-quote-hours__emergency{background:rgba(255,69,0,.08);border:1px solid rgba(255,69,0,.2);border-radius:var(--r-sm);padding:12px 16px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;}
.vfm-quote-hours__emergency span{font-family:var(--montserrat);font-size:11px;color:rgba(255,100,50,.9);font-weight:600;}
.vfm-quote-hours__emergency a{font-family:var(--montserrat);font-size:13px;font-weight:700;color:var(--white);}

/* ══════════ FOOTER ══════════════════════════════════════ */
.vfm-footer{background:#080C0B;padding:72px 0 36px;border-top:1px solid rgba(255,255,255,.05);}
.vfm-footer__grid{display:grid;grid-template-columns:2.5fr 1fr 1fr 1.2fr;gap:52px;margin-bottom:48px;}
.vfm-footer__logo{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.vfm-footer__name{font-family:var(--montserrat);font-size:18px;font-weight:600;color:var(--white);letter-spacing:1px;}
.vfm-footer__sub{font-family:var(--montserrat);font-size:9px;color:var(--teal);letter-spacing:2px;text-transform:uppercase;}
.vfm-footer__desc{font-family:var(--montserrat);font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:18px;max-width:280px;}
.vfm-footer__contact-items{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.vfm-footer__contact-row{display:flex;align-items:center;gap:10px;font-family:var(--montserrat);font-size:13px;color:rgba(255,255,255,.45);}
.vfm-footer__col-title{font-family:var(--montserrat);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.vfm-footer__menu{display:flex;flex-direction:column;gap:10px;}
.vfm-footer__menu a{font-family:var(--montserrat);font-size:13px;color:rgba(255,255,255,.4);transition:color .2s;}
.vfm-footer__menu a:hover{color:var(--gold);}
.vfm-footer__hours{display:flex;flex-direction:column;gap:0;margin-bottom:16px;}
.vfm-footer__hours-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-family:var(--montserrat);font-size:12px;}
.vfm-footer__hours-row span:first-child{color:rgba(255,255,255,.4);}
.vfm-footer__hours-row span:last-child{color:rgba(255,255,255,.65);}
.vfm-footer__emergency{background:rgba(14,124,123,.1);border:1px solid rgba(14,124,123,.2);border-radius:var(--r-sm);padding:12px 14px;margin-top:12px;}
.vfm-footer__emergency-label{font-family:var(--montserrat);font-size:10px;color:var(--teal);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.vfm-footer__emergency-num{font-family:var(--montserrat);font-size:18px;color:var(--white);font-weight:600;}
.vfm-footer__social-strip{display:flex;align-items:center;gap:20px;padding:24px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:28px;flex-wrap:wrap;}
.vfm-footer__social-label{font-family:var(--montserrat);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);white-space:nowrap;}
.vfm-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.vfm-footer__copy{font-family:var(--montserrat);font-size:12px;color:var(--muted);}
.vfm-footer__tagline{font-family:var(--montserrat);font-size:14px;font-style:Normal;color:rgba(201,169,110,.45);}

/* ══════════ SOCIAL ══════════════════════════════════════ */
.vfm-social{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.vfm-social__icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:var(--muted);transition:var(--trans);}
.vfm-social__icon svg{width:16px;height:16px;}
.vfm-social__icon:hover{background:var(--brand,var(--teal));border-color:transparent;color:#fff;transform:translateY(-3px);}
/* Floating sidebar */
.vfm-social-float{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:2px;}
.vfm-social-float__item{display:flex;align-items:center;width:42px;height:42px;overflow:hidden;background:rgba(21,26,25,.92);border:1px solid rgba(255,255,255,.07);border-right:none;border-radius:10px 0 0 10px;color:rgba(255,255,255,.5);transition:all .3s;margin-bottom:2px;backdrop-filter:blur(8px);}
.vfm-social-float__item svg{width:18px;height:18px;flex-shrink:0;margin-left:12px;}
.vfm-social-float__item span{font-family:var(--montserrat);font-size:11px;font-weight:600;white-space:nowrap;opacity:0;max-width:0;overflow:hidden;transition:all .3s;padding-left:0;}
.vfm-social-float__item:hover{width:130px;background:var(--brand,var(--teal));color:#fff;border-color:transparent;}
.vfm-social-float__item:hover span{opacity:1;max-width:100px;padding-left:8px;}
/* WA float */
.vfm-wa-float{position:fixed;bottom:28px;right:28px;z-index:999;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(37,211,102,.4);transition:transform .2s;}
.vfm-wa-float:hover{transform:scale(1.1);}
.vfm-generic-page{padding:60px 0 100px;}

/* ══════════ RESPONSIVE ══════════════════════════════════ */
@media(max-width:1024px){
  .vfm-cats-grid{grid-template-columns:repeat(2,1fr);}
  .vfm-footer__grid{grid-template-columns:1fr 1fr;gap:32px;}
  .vfm-process__steps{grid-template-columns:repeat(3,1fr);}
  .vfm-process__step:nth-child(3)::after{display:none;}
  .vfm-blog-layout{grid-template-columns:1fr 280px;gap:28px;}
}
@media(max-width:900px){
  .vfm-nav{padding:0 24px;}
  .vfm-nav__links{display:none;}
  .vfm-hamburger{display:flex;}
  .vfm-container{padding:0 24px;}
  .vfm-hero{padding:calc(var(--nav-h) + 80px) 24px 60px;}
  .vfm-hero__stats{grid-template-columns:1fr 1fr;}
  .vfm-hero__stat:nth-child(2){border-right:none;}
  .vfm-cats-header,.vfm-quote-wrap,.vfm-why__inner{grid-template-columns:1fr;}
  .vfm-why__grid{grid-template-columns:1fr 1fr;}
  .vfm-testi-grid,.vfm-svc-cards{grid-template-columns:1fr;}
  .vfm-blog-layout{grid-template-columns:1fr;}
  .vfm-blog-sidebar{position:static;}
  .vfm-blog-grid{grid-template-columns:1fr;}
  .vfm-blog-card--featured{grid-column:1;}
  .vfm-quote-page-grid{grid-template-columns:1fr;}
  .vfm-quote-page-side{position:static;}
  .vfm-process__steps{grid-template-columns:repeat(2,1fr);}
  .vfm-process__step:nth-child(2)::after{display:none;}
  .vfm-social-float{display:none;}
  .vfm-emergency-bar{padding:8px 24px;}
}
@media(max-width:600px){
  .vfm-cats-grid,.vfm-why__grid,.vfm-process__steps,.vfm-footer__grid{grid-template-columns:1fr;}
  .vfm-hero__h1{font-size:clamp(40px,10vw,64px);}
  .vfm-hero__stats{grid-template-columns:1fr 1fr;}
  .vfm-qf__row,.vfm-post-nav{grid-template-columns:1fr;}
  .vfm-emergency-cta__inner,.vfm-svc-cta__inner{flex-direction:column;}
  .vfm-svc-cat-hero{flex-direction:column;}
}

/* ════════════════════════════════════════════════════════
   LOGIN PAGE
════════════════════════════════════════════════════════ */
.vfm-auth-page { background: var(--obs); margin: 0; }
.vfm-auth {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
}

/* Brand panel */
.vfm-auth__brand {
  background: linear-gradient(160deg, var(--teal-mid), var(--dark3));
  padding: 52px 48px;
  display: flex;
  flex-direction: column;
  gap: 36px;
  position: relative;
  overflow: hidden;
}
.vfm-auth__brand-orb {
  position: absolute; border-radius: 50%; pointer-events: none;
}
.vfm-auth__brand-orb--1 { top:-80px; right:-80px; width:340px; height:340px; background:radial-gradient(circle,rgba(255,255,255,.06),transparent 70%); }
.vfm-auth__brand-orb--2 { bottom:-60px; left:20%; width:240px; height:240px; background:radial-gradient(circle,rgba(201,169,110,.08),transparent 70%); }
.vfm-auth__logo { display:flex; align-items:center; gap:12px; text-decoration:none; position:relative; }
.vfm-auth__logo-text { display:flex; flex-direction:column; }
.vfm-auth__logo-name { font-family:var(--montserrat); font-size:20px; font-weight:600; color:var(--white); letter-spacing:1px; }
.vfm-auth__logo-sub  { font-family:var(--montserrat); font-size:9px; color:rgba(255,255,255,.5); letter-spacing:2px; text-transform:uppercase; }
.vfm-auth__brand-copy { position:relative; }
.vfm-auth__brand-heading { font-family:var(--montserrat); font-size:40px; font-weight:600; color:var(--white); line-height:1.2; }
.vfm-auth__brand-heading em { color:var(--gold); font-style:Normal; }
.vfm-auth__brand-sub { font-family:var(--montserrat); font-size:14px; color:rgba(255,255,255,.6); line-height:1.8; margin-top:12px; }
.vfm-auth__brand-features { display:flex; flex-direction:column; gap:16px; position:relative; }
.vfm-auth__brand-feature { display:flex; align-items:flex-start; gap:14px; }
.vfm-auth__brand-feature span { font-size:20px; flex-shrink:0; margin-top:2px; }
.vfm-auth__brand-feature strong { display:block; font-family:var(--montserrat); font-size:13px; font-weight:600; color:var(--white); margin-bottom:2px; }
.vfm-auth__brand-feature p { font-family:var(--montserrat); font-size:12px; color:rgba(255,255,255,.5); margin:0; }
.vfm-auth__brand-contact { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-family:var(--montserrat); font-size:12px; color:rgba(255,255,255,.4); position:relative; margin-top:auto; }
.vfm-auth__brand-contact a { color:var(--gold); font-weight:600; }

/* Form panel */
.vfm-auth__form-panel {
  background: var(--dark2);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 52px 48px;
}
.vfm-auth__form-wrap { width:100%; max-width:420px; }
.vfm-auth__tabs { display:flex; gap:0; border-bottom:2px solid rgba(255,255,255,.08); margin-bottom:28px; }
.vfm-auth__tab { font-family:var(--montserrat); font-size:13px; font-weight:600; letter-spacing:.5px; color:var(--muted); padding:10px 20px; border-bottom:2px solid transparent; margin-bottom:-2px; transition:var(--trans); }
.vfm-auth__tab--active { color:var(--teal); border-bottom-color:var(--teal); }
.vfm-auth__tab:hover { color:var(--white); }
.vfm-auth__heading { font-family:var(--montserrat); font-size:30px; font-weight:600; color:var(--white); margin-bottom:6px; }
.vfm-auth__subheading { font-family:var(--montserrat); font-size:14px; color:var(--muted); margin-bottom:24px; }
.vfm-auth__msg { padding:12px 16px; border-radius:var(--r-sm); font-family:var(--montserrat); font-size:13px; margin-bottom:18px; }
.vfm-auth__msg--error   { background:rgba(192,57,43,.15); border:1px solid rgba(192,57,43,.3); color:#e74c3c; }
.vfm-auth__msg--success { background:rgba(26,122,74,.15);  border:1px solid rgba(26,122,74,.3);  color:#2ecc71; }
.vfm-auth__msg--info    { background:rgba(14,124,123,.12); border:1px solid rgba(14,124,123,.3); color:var(--teal); }
.vfm-auth__form { display:flex; flex-direction:column; gap:0; }
.vfm-af { margin-bottom:16px; position:relative; }
.vfm-af label { display:block; font-family:var(--montserrat); font-size:10px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin-bottom:7px; }
.vfm-af__hint { font-weight:400; text-transform:none; letter-spacing:0; color:var(--muted2); }
.vfm-af input { width:100%; padding:12px 15px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:var(--r-sm); color:var(--white); font-family:var(--montserrat); font-size:14px; outline:none; transition:border .2s; }
.vfm-af input:focus { border-color:var(--teal); background:rgba(14,124,123,.08); }
.vfm-af input::placeholder { color:rgba(255,255,255,.25); }
.vfm-af--password input { padding-right:44px; }
.vfm-af__show-pass { position:absolute; right:14px; bottom:12px; background:none; border:none; cursor:pointer; font-size:16px; color:var(--muted); transition:color .2s; }
.vfm-af__show-pass:hover { color:var(--white); }
.vfm-auth__form-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.vfm-checkbox-label { display:flex; align-items:center; gap:8px; font-family:var(--montserrat); font-size:13px; color:rgba(255,255,255,.6); cursor:pointer; }
.vfm-checkbox-label input[type=checkbox] { width:16px; height:16px; accent-color:var(--teal); cursor:pointer; }
.vfm-auth__forgot { font-family:var(--montserrat); font-size:12px; color:var(--teal); }
.vfm-auth__forgot:hover { color:var(--gold); }
.vfm-auth__submit { width:100%; justify-content:center; padding:14px; font-size:13px; margin-top:4px; }
.vfm-auth__switch { font-family:var(--montserrat); font-size:13px; color:var(--muted); text-align:center; margin-top:20px; }
.vfm-auth__switch a { color:var(--teal); font-weight:600; }
.vfm-auth__switch a:hover { color:var(--gold); }
.vfm-auth__two-col { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.vfm-auth__terms { margin-bottom:16px; }
.vfm-auth__terms a { color:var(--teal); text-decoration:underline; }
.vfm-auth__emergency { font-family:var(--montserrat); font-size:11px; color:var(--muted); text-align:center; margin-top:24px; padding-top:16px; border-top:1px solid rgba(255,255,255,.06); display:flex; justify-content:center; align-items:center; gap:8px; flex-wrap:wrap; }
.vfm-auth__emergency span { color:rgba(255,100,50,.8); font-weight:600; }
.vfm-auth__emergency a { color:var(--white); font-weight:600; }

/* ════════════════════════════════════════════════════════
   ABOUT PAGE
════════════════════════════════════════════════════════ */
.vfm-about-header-grid { display:grid; grid-template-columns:1fr 420px; gap:60px; align-items:center; }
.vfm-about-stats-card { background:linear-gradient(135deg,rgba(14,124,123,.15),rgba(201,169,110,.08)); border:1px solid rgba(255,255,255,.1); border-radius:24px; padding:36px; }
.vfm-about-stats-card__year { font-family:var(--montserrat); font-size:56px; font-weight:700; color:var(--gold); line-height:1; margin-bottom:6px; }
.vfm-about-stats-card__label { font-family:var(--montserrat); font-size:12px; color:var(--muted); letter-spacing:1px; margin-bottom:20px; display:block; border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:16px; }
.vfm-about-stats-card__grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:0; }
.vfm-asc-item { text-align:center; }
.vfm-asc-val { display:block; font-family:var(--montserrat); font-size:28px; font-weight:700; color:var(--white); }
.vfm-asc-lbl { display:block; font-family:var(--montserrat); font-size:11px; color:var(--muted); margin-top:3px; }

/* Story */
.vfm-story { background:var(--cream); padding:100px 0; }
.vfm-story__grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.vfm-story__copy h2 { margin-bottom:24px; }
.vfm-story__copy p { font-family:var(--montserrat); font-size:15px; color:var(--muted2); line-height:1.9; margin-bottom:16px; }
.vfm-story__quote { font-family:var(--montserrat); font-size:18px; font-style:Normal; color:var(--teal); line-height:1.7; border-left:3px solid var(--teal); padding-left:20px; margin-top:28px; }
.vfm-timeline-item { display:flex; gap:20px; margin-bottom:28px; }
.vfm-timeline-item__dot { flex-shrink:0; width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,var(--teal),var(--teal-mid)); display:flex; align-items:center; justify-content:center; }
.vfm-timeline-item__dot span { font-family:var(--montserrat); font-size:14px; font-weight:700; color:var(--white); }
.vfm-timeline-item__body { padding-top:8px; }
.vfm-timeline-item__body h4 { font-family:var(--montserrat); font-size:20px; font-weight:600; color:var(--obs); margin-bottom:6px; }
.vfm-timeline-item__body p { font-family:var(--montserrat); font-size:13px; color:var(--muted2); line-height:1.7; }

/* Values */
.vfm-values { background:var(--dark2); padding:100px 0; }
.vfm-values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.vfm-value-card { background:var(--obs); border-radius:var(--r-md); padding:28px; }
.vfm-value-card--teal { border-left:3px solid var(--teal); }
.vfm-value-card--gold { border-left:3px solid var(--gold); }
.vfm-value-card__dot { width:8px; height:8px; border-radius:50%; background:var(--teal); margin-bottom:14px; }
.vfm-value-card--gold .vfm-value-card__dot { background:var(--gold); }
.vfm-value-card__name { font-family:var(--montserrat); font-size:22px; font-weight:600; color:var(--white); margin-bottom:10px; }
.vfm-value-card__desc { font-family:var(--montserrat); font-size:13px; color:var(--muted); line-height:1.75; }

/* Team */
.vfm-team { background:var(--obs); padding:100px 0; }
.vfm-team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:24px; }
.vfm-team-card { background:var(--dark2); border:1px solid rgba(255,255,255,.07); border-radius:var(--r-lg); padding:28px; text-align:center; }
.vfm-team-card__img { width:80px; height:80px; border-radius:50%; overflow:hidden; margin:0 auto 16px; border:2px solid var(--teal); }
.vfm-team-card__img img { width:100%; height:100%; object-fit:cover; }
.vfm-team-card__placeholder { width:80px; height:80px; border-radius:50%; background:linear-gradient(135deg,var(--teal),var(--teal-mid)); display:flex; align-items:center; justify-content:center; font-family:var(--montserrat); font-size:24px; font-weight:700; color:var(--white); margin:0 auto 16px; }
.vfm-team-card__name { font-family:var(--montserrat); font-size:20px; font-weight:600; color:var(--white); margin-bottom:4px; }
.vfm-team-card__role { font-family:var(--montserrat); font-size:12px; color:var(--teal); letter-spacing:.5px; margin-bottom:12px; }
.vfm-team-card__linkedin { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:rgba(10,102,194,.2); border:1px solid rgba(10,102,194,.3); color:#0A66C2; transition:var(--trans); }
.vfm-team-card__linkedin:hover { background:#0A66C2; color:var(--white); }
.vfm-team-note { font-family:var(--montserrat); font-size:13px; color:var(--muted); text-align:center; margin-top:8px; }
.vfm-team-note a { color:var(--teal); font-weight:600; }

/* Certs */
.vfm-certs { background:var(--dark2); padding:100px 0; }
.vfm-certs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:36px; }
.vfm-cert-card { background:var(--obs); border:1px solid rgba(255,255,255,.07); border-radius:var(--r-md); padding:24px; text-align:center; }
.vfm-cert-card__icon { font-size:28px; margin-bottom:12px; display:block; }
.vfm-cert-card__title { font-family:var(--montserrat); font-size:18px; font-weight:600; color:var(--white); margin-bottom:4px; }
.vfm-cert-card__sub { font-family:var(--montserrat); font-size:13px; color:var(--teal); margin-bottom:6px; font-weight:600; }
.vfm-cert-card__note { font-family:var(--montserrat); font-size:12px; color:var(--muted); }

/* Service areas */
.vfm-areas { background:var(--obs); padding:100px 0; }
.vfm-areas__inner { display:grid; grid-template-columns:1fr 340px; gap:60px; align-items:start; }
.vfm-areas__tags { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 16px; }
.vfm-area-tag { display:inline-block; padding:6px 14px; border-radius:var(--r-xl); background:var(--teal-glow); border:1px solid rgba(14,124,123,.25); font-family:var(--montserrat); font-size:12px; color:rgba(255,255,255,.7); }
.vfm-areas__note { font-family:var(--montserrat); font-size:13px; color:var(--muted); }
.vfm-areas__note a { color:var(--teal); font-weight:600; }
.vfm-areas__cta-card { background:var(--dark2); border:1px solid rgba(255,255,255,.08); border-radius:var(--r-lg); padding:28px; }
.vfm-areas__cta-card h3 { font-family:var(--montserrat); font-size:24px; color:var(--white); margin-bottom:10px; }
.vfm-areas__cta-card p { font-family:var(--montserrat); font-size:13px; color:var(--muted); line-height:1.7; margin-bottom:20px; }

/* ════════════════════════════════════════════════════════
   CONTACT PAGE
════════════════════════════════════════════════════════ */
.vfm-contact-section { background:var(--obs); padding:60px 0 100px; }
.vfm-contact-grid { display:grid; grid-template-columns:1fr 360px; gap:60px; align-items:start; margin-bottom:52px; }
.vfm-contact-form-title { font-family:var(--montserrat); font-size:26px; font-weight:600; color:var(--white); margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.07); }
.vfm-contact-form { background:var(--dark2); border:1px solid rgba(255,255,255,.08); border-radius:var(--r-lg); padding:32px; }
.vfm-radio-group { display:flex; gap:12px; flex-wrap:wrap; }
.vfm-radio-label { display:flex; align-items:center; gap:7px; font-family:var(--montserrat); font-size:13px; color:rgba(255,255,255,.7); cursor:pointer; }
.vfm-radio-label input[type=radio] { accent-color:var(--teal); width:16px; height:16px; }

/* Channels */
.vfm-contact-channels { margin-bottom:20px; }
.vfm-contact-channels h3 { font-family:var(--montserrat); font-size:20px; color:var(--white); margin-bottom:14px; }
.vfm-channel { display:flex; align-items:center; gap:14px; padding:14px 16px; background:var(--dark2); border:1px solid rgba(255,255,255,.07); border-radius:var(--r-sm); margin-bottom:8px; transition:var(--trans); text-decoration:none; }
.vfm-channel:hover { border-color:var(--teal); background:var(--teal-glow); }
.vfm-channel__icon { font-size:22px; flex-shrink:0; }
.vfm-channel__info { flex:1; }
.vfm-channel__label { display:block; font-family:var(--montserrat); font-size:10px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin-bottom:2px; }
.vfm-channel__val { display:block; font-family:var(--montserrat); font-size:14px; color:var(--white); font-weight:500; }
.vfm-channel__cta { font-family:var(--montserrat); font-size:11px; color:var(--teal); font-weight:600; white-space:nowrap; }

/* Hours in contact */
.vfm-contact-hours { background:var(--dark2); border:1px solid rgba(255,255,255,.07); border-radius:var(--r-md); padding:20px; margin-bottom:16px; }
.vfm-contact-hours h3 { font-family:var(--montserrat); font-size:18px; color:var(--white); margin-bottom:12px; }
.vfm-hours-row { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.06); font-family:var(--montserrat); font-size:13px; }
.vfm-hours-row:last-of-type { border-bottom:none; }
.vfm-hours-row span:first-child { color:rgba(255,255,255,.45); }
.vfm-hours-row span:last-child { color:var(--white); font-weight:500; }
.vfm-hours-emergency { background:rgba(14,124,123,.1); border:1px solid rgba(14,124,123,.2); border-radius:var(--r-sm); padding:10px 14px; margin-top:12px; display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
.vfm-hours-emergency span { font-family:var(--montserrat); font-size:11px; color:var(--teal); font-weight:700; letter-spacing:.5px; }
.vfm-hours-emergency a { font-family:var(--montserrat); font-size:14px; font-weight:700; color:var(--white); }

/* Social in contact */
.vfm-contact-social { background:var(--dark2); border:1px solid rgba(255,255,255,.07); border-radius:var(--r-md); padding:20px; margin-bottom:16px; }
.vfm-contact-social h3 { font-family:var(--montserrat); font-size:18px; color:var(--white); margin-bottom:6px; }
.vfm-contact-social p { font-family:var(--montserrat); font-size:12px; color:var(--muted); margin-bottom:14px; }

/* Promo */
.vfm-contact-promo { background:linear-gradient(135deg,var(--teal),var(--teal-mid)); border-radius:var(--r-lg); padding:24px; }
.vfm-contact-promo__tag { font-family:var(--montserrat); font-size:10px; color:rgba(255,255,255,.6); letter-spacing:2.5px; text-transform:uppercase; margin-bottom:6px; }
.vfm-contact-promo h3 { font-family:var(--montserrat); font-size:22px; color:var(--white); margin-bottom:8px; }
.vfm-contact-promo p { font-family:var(--montserrat); font-size:13px; color:rgba(255,255,255,.7); margin-bottom:16px; line-height:1.6; }

/* Map */
.vfm-map-wrap { border-radius:var(--r-lg); overflow:hidden; border:1px solid rgba(255,255,255,.08); margin-bottom:0; }
.vfm-map { display:block; }

/* FAQ in contact */
.vfm-contact-faq { background:var(--dark2); padding:80px 0 100px; }
.vfm-faq-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:0; }
.vfm-faq-item { background:var(--obs); border:1px solid rgba(255,255,255,.07); border-radius:var(--r-md); padding:24px; }
.vfm-faq-item h4 { font-family:var(--montserrat); font-size:18px; font-weight:600; color:var(--white); margin-bottom:10px; line-height:1.3; }
.vfm-faq-item p { font-family:var(--montserrat); font-size:13px; color:var(--muted); line-height:1.75; }

/* ════════════════════════════════════════════════════════
   PAYMENT PAGE
════════════════════════════════════════════════════════ */
.vfm-payment-section { background:var(--obs); padding:60px 0 100px; }
.vfm-payment-grid { display:grid; grid-template-columns:1fr 340px; gap:52px; align-items:start; }
.vfm-payment-card { background:var(--dark2); border:1px solid rgba(255,255,255,.08); border-radius:var(--r-lg); padding:36px; }
.vfm-payment-card__title { font-family:var(--montserrat); font-size:26px; font-weight:600; color:var(--white); margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.07); }
.vfm-payment-notice { background:rgba(201,169,110,.1); border:1px solid rgba(201,169,110,.25); border-radius:var(--r-sm); padding:16px 20px; font-family:var(--montserrat); font-size:14px; color:var(--gold); }
.vfm-payment-summary { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:var(--r-md); padding:20px; margin-bottom:24px; }
.vfm-pay-sum-row { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.06); font-family:var(--montserrat); font-size:13px; }
.vfm-pay-sum-row:last-child { border-bottom:none; }
.vfm-pay-sum-row span:first-child { color:var(--muted); }
.vfm-pay-sum-row span:last-child { color:var(--white); font-weight:600; }
.vfm-pay-sum-row--total span:first-child { color:var(--white); font-weight:700; font-size:14px; }
.vfm-pay-sum-row--total span:last-child { color:var(--gold); font-family:var(--montserrat); font-size:22px; }
.vfm-pay-methods { margin:16px 0 20px; }
.vfm-pay-methods__label { font-family:var(--montserrat); font-size:11px; color:var(--muted); letter-spacing:1px; text-transform:uppercase; margin-bottom:10px; }
.vfm-pay-methods__icons { display:flex; gap:8px; flex-wrap:wrap; }
.vfm-pay-badge { display:inline-block; padding:5px 12px; border-radius:var(--r-xl); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); font-family:var(--montserrat); font-size:11px; color:rgba(255,255,255,.65); }
.vfm-pay-secure { display:flex; align-items:center; justify-content:center; gap:6px; font-family:var(--montserrat); font-size:11px; color:var(--muted); margin-top:10px; }
.vfm-pay-secure svg { color:var(--teal); }
.vfm-pay-success { text-align:center; padding:48px 24px; }
.vfm-pay-success__icon { font-size:56px; margin-bottom:16px; }
.vfm-pay-success h2 { font-family:var(--montserrat); font-size:32px; color:var(--white); margin-bottom:12px; }
.vfm-pay-success p { font-family:var(--montserrat); font-size:14px; color:var(--muted); margin-bottom:16px; }
.vfm-pay-success__ref { font-family:var(--montserrat); font-size:13px; color:var(--teal); background:var(--teal-glow); border:1px solid rgba(14,124,123,.25); border-radius:var(--r-sm); padding:10px 16px; display:inline-block; margin-top:4px; }
/* Trust sidebar */
.vfm-pay-trust { background:var(--dark2); border:1px solid rgba(255,255,255,.07); border-radius:var(--r-md); padding:22px; margin-bottom:16px; }
.vfm-pay-trust h3 { font-family:var(--montserrat); font-size:18px; color:var(--white); margin-bottom:16px; }
.vfm-pay-trust-item { display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; }
.vfm-pay-trust-item span { font-size:20px; flex-shrink:0; margin-top:2px; }
.vfm-pay-trust-item strong { display:block; font-family:var(--montserrat); font-size:13px; font-weight:600; color:var(--white); margin-bottom:3px; }
.vfm-pay-trust-item p { font-family:var(--montserrat); font-size:12px; color:var(--muted); margin:0; line-height:1.6; }
.vfm-pay-policy { background:var(--dark2); border:1px solid rgba(255,255,255,.07); border-radius:var(--r-md); padding:22px; margin-bottom:16px; }
.vfm-pay-policy h4 { font-family:var(--montserrat); font-size:18px; color:var(--white); margin-bottom:12px; }
.vfm-pay-policy ul { list-style:disc; padding-left:18px; display:flex; flex-direction:column; gap:8px; }
.vfm-pay-policy ul li { font-family:var(--montserrat); font-size:12px; color:var(--muted); line-height:1.6; }
.vfm-pay-help { background:var(--dark2); border:1px solid rgba(255,255,255,.07); border-radius:var(--r-md); padding:22px; text-align:center; }
.vfm-pay-help p { font-family:var(--montserrat); font-size:13px; color:var(--muted); margin-bottom:12px; }

/* ════════════════════════════════════════════════════════
   SOCIAL SHARE BAR
════════════════════════════════════════════════════════ */
.vfm-share-bar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:16px 0; border-top:1px solid rgba(255,255,255,.08); margin-top:28px; }
.vfm-share-bar__label { font-family:var(--montserrat); font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); white-space:nowrap; }
.vfm-share-bar__btns { display:flex; gap:8px; flex-wrap:wrap; }
.vfm-share-bar__btn { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:var(--r-xl); font-family:var(--montserrat); font-size:11px; font-weight:600; border:1.5px solid rgba(255,255,255,.12); color:rgba(255,255,255,.6); background:transparent; cursor:pointer; transition:var(--trans); }
.vfm-share-bar__btn:hover { background:rgba(255,255,255,.08); color:var(--white); border-color:rgba(255,255,255,.2); }
.vfm-share-bar__btn--wa  { border-color:rgba(37,211,102,.3); color:#25D366; }
.vfm-share-bar__btn--wa:hover  { background:rgba(37,211,102,.12); }
.vfm-share-bar__btn--fb  { border-color:rgba(24,119,242,.3); color:#1877F2; }
.vfm-share-bar__btn--fb:hover  { background:rgba(24,119,242,.12); }
.vfm-share-bar__btn--x   { border-color:rgba(255,255,255,.15); }
.vfm-share-bar__btn--li  { border-color:rgba(10,102,194,.3); color:#0A66C2; }
.vfm-share-bar__btn--li:hover  { background:rgba(10,102,194,.12); }
.vfm-share-bar__btn--copy.copied { color:var(--teal); border-color:rgba(14,124,123,.4); }

/* ════════════════════════════════════════════════════════
   RESPONSIVE — new pages
════════════════════════════════════════════════════════ */
@media(max-width:900px){
  .vfm-auth { grid-template-columns:1fr; }
  .vfm-auth__brand { padding:40px 32px; min-height:auto; }
  .vfm-auth__brand-features { display:none; }
  .vfm-auth__form-panel { padding:40px 32px; }
  .vfm-about-header-grid { grid-template-columns:1fr; }
  .vfm-story__grid,.vfm-values-grid { grid-template-columns:1fr; }
  .vfm-values-grid { grid-template-columns:1fr 1fr; }
  .vfm-team-grid,.vfm-certs-grid { grid-template-columns:1fr 1fr; }
  .vfm-areas__inner,.vfm-contact-grid,.vfm-payment-grid { grid-template-columns:1fr; }
  .vfm-faq-grid { grid-template-columns:1fr; }
}
@media(max-width:600px){
  .vfm-auth__brand { display:none; }
  .vfm-auth { grid-template-columns:1fr; }
  .vfm-auth__form-wrap { max-width:100%; }
  .vfm-auth__two-col { grid-template-columns:1fr; }
  .vfm-values-grid,.vfm-team-grid,.vfm-certs-grid { grid-template-columns:1fr; }
}

/* ════════════════════════════════════════════════════════
   NAV — LOGIN BUTTON & ACCOUNT DROPDOWN
════════════════════════════════════════════════════════ */

/* Sign In link (logged out) */
.vfm-nav__login {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--montserrat);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  padding: 8px 14px;
  border-radius: var(--r-xl);
  border: 1.5px solid rgba(255,255,255,.14);
  transition: var(--trans);
}
.vfm-nav__login:hover,
.vfm-nav__login[aria-current="page"] {
  color: var(--white);
  border-color: rgba(255,255,255,.35);
  background: rgba(255,255,255,.06);
}
.vfm-nav__login svg { flex-shrink: 0; }

/* Account avatar (logged in) */
.vfm-nav__account { position: relative; }

.vfm-nav__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--teal), var(--teal-mid));
  border: 2px solid rgba(255,255,255,.18);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  overflow: hidden;
  transition: var(--trans);
}
.vfm-nav__avatar:hover { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,169,110,.2); }
.vfm-nav__avatar[aria-expanded="true"] { border-color: var(--gold); }
.vfm-nav__avatar-img  { width: 36px; height: 36px; object-fit: cover; display: block; }
.vfm-nav__avatar-initials {
  font-family: var(--montserrat);
  font-size: 14px;
  font-weight: 700;
  color: var(--white);
  letter-spacing: .5px;
  pointer-events: none;
}

/* Dropdown */
.vfm-nav__account-drop {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  width: 240px;
  background: var(--dark2);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .22s, visibility .22s, transform .22s;
  z-index: 200;
  overflow: hidden;
}
.vfm-nav__account-drop.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.vfm-nav__account-header {
  padding: 16px 18px;
  background: rgba(14,124,123,.12);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.vfm-nav__account-name {
  display: block;
  font-family: var(--montserrat);
  font-size: 17px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 2px;
}
.vfm-nav__account-email {
  display: block;
  font-family: var(--montserrat);
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vfm-nav__account-links {
  padding: 8px 0;
  display: flex;
  flex-direction: column;
}
.vfm-nav__account-links a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  font-family: var(--montserrat);
  font-size: 13px;
  color: rgba(255,255,255,.65);
  text-decoration: none;
  transition: background .15s, color .15s;
}
.vfm-nav__account-links a:hover {
  background: rgba(255,255,255,.05);
  color: var(--white);
}
.vfm-nav__account-divider {
  height: 1px;
  background: rgba(255,255,255,.07);
  margin: 6px 0;
}
.vfm-nav__account-logout {
  color: rgba(192,57,43,.75) !important;
}
.vfm-nav__account-logout:hover {
  color: #e74c3c !important;
  background: rgba(192,57,43,.08) !important;
}

/* Mobile nav additions */
.vfm-nav__mobile-divider {
  height: 1px;
  background: rgba(255,255,255,.08);
  margin: 8px 0;
}
.vfm-nav__mobile-user {
  padding: 10px 0 6px;
}
.vfm-nav__mobile-user-name {
  display: block;
  font-family: var(--montserrat);
  font-size: 16px;
  font-weight: 600;
  color: var(--white);
}
.vfm-nav__mobile-user-email {
  display: block;
  font-family: var(--montserrat);
  font-size: 11px;
  color: var(--muted);
  margin-top: 2px;
}
.vfm-nav__mobile-login {
  color: var(--teal) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* ════════════════════════════════════════════════════════
   ADD-ON CARDS — CLICKABLE BOOKING VERSION
════════════════════════════════════════════════════════ */
.vfm-addons-sub {
  font-family: var(--montserrat);
  font-size: 13px;
  color: var(--muted);
  margin: -12px 0 24px;
}

/* Convert div → anchor — keep same visual base */
a.vfm-addon-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  /* Inherit existing styles */
  background: var(--dark2);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--r-md);
  padding: 18px;
  text-align: center;
  transition: var(--trans);
}

a.vfm-addon-card:hover {
  border-color: var(--teal);
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,.35);
  background: var(--dark3);
}

a.vfm-addon-card .vfm-addon-card__name {
  font-family: var(--montserrat);
  font-size: 13px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 4px;
  transition: color .2s;
}
a.vfm-addon-card:hover .vfm-addon-card__name {
  color: var(--teal);
}

a.vfm-addon-card .vfm-addon-card__price {
  font-family: var(--montserrat);
  font-size: 12px;
  color: var(--teal);
  font-weight: 700;
  transition: color .2s;
}
a.vfm-addon-card:hover .vfm-addon-card__price {
  color: var(--gold);
}

/* Hover overlay */
a.vfm-addon-card .vfm-addon-card__hover {
  position: absolute;
  inset: 0;
  background: rgba(14,124,123,.92);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  opacity: 0;
  transition: opacity .22s ease;
  padding: 12px;
}
a.vfm-addon-card:hover .vfm-addon-card__hover {
  opacity: 1;
}

/* Book button inside overlay */
.vfm-addon-card__book-btn {
  display: inline-block;
  padding: 8px 16px;
  background: var(--gold);
  color: var(--obs);
  border-radius: var(--r-xl);
  font-family: var(--montserrat);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: capitalize;
  white-space: nowrap;
  transition: background .2s;
}
.vfm-addon-card__book-btn:hover {
  background: var(--gold-lt);
}

/* WhatsApp mini-button inside overlay */
.vfm-addon-card__wa-btn {
  display: inline-block;
  padding: 6px 14px;
  background: rgba(255,255,255,.15);
  color: var(--white);
  border-radius: var(--r-xl);
  font-family: var(--montserrat);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.25);
  transition: background .2s;
  white-space: nowrap;
}
.vfm-addon-card__wa-btn:hover {
  background: #25D366;
  border-color: #25D366;
  color: var(--white);
}

/* Focus / keyboard accessibility */
a.vfm-addon-card:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 3px;
}

/* Mobile — show CTA below card info instead of hover overlay */
@media(max-width:600px) {
  a.vfm-addon-card .vfm-addon-card__hover {
    position: static;
    opacity: 1;
    background: transparent;
    padding: 8px 0 0;
    gap: 6px;
    border-top: 1px solid rgba(255,255,255,.07);
    margin-top: 10px;
  }
  .vfm-addon-card__book-btn {
    font-size: 10px;
    padding: 6px 14px;
  }
  .vfm-addon-card__wa-btn {
    font-size: 9px;
    padding: 5px 12px;
  }
}

/* ════════════════════════════════════════════════════════
   BLOCK PRODUCTION — SERVICES PAGE SECTION
════════════════════════════════════════════════════════ */

/* ── Section wrapper ── */
.vfm-block-section {
  background: var(--dark3);
  padding: 100px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}

/* ── Hero grid ── */
.vfm-block-hero { display: flex; flex-direction: column; gap: 52px; }
.vfm-block-hero__label { margin-bottom: -10px; }
.vfm-block-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

/* ── Copy side ── */
.vfm-block-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }

/* ── Stats strip ── */
.vfm-block-hero__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-md);
  overflow: hidden;
  margin-top: 28px;
}
.vfm-block-stat {
  padding: 16px 14px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.vfm-block-stat:last-child { border-right: none; }
.vfm-block-stat__val {
  display: block;
  font-family: var(--montserrat);
  font-size: 26px;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 4px;
}
.vfm-block-stat__lbl {
  display: block;
  font-family: var(--montserrat);
  font-size: 12px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 2px;
}
.vfm-block-stat__sub {
  display: block;
  font-family: var(--montserrat);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .5px;
}

/* ── 6" vs 9" comparison cards ── */
.vfm-block-compare {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.vfm-block-card {
  background: var(--dark2);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 4px solid var(--bc, #5D4037);
  border-radius: var(--r-lg);
  padding: 24px;
  transition: var(--trans);
}
.vfm-block-card:hover {
  border-color: var(--bc, #5D4037);
  box-shadow: 0 12px 40px rgba(0,0,0,.3);
  transform: translateY(-3px);
}
.vfm-block-card__header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 12px;
}
.vfm-block-card__icon { font-size: 32px; flex-shrink: 0; }
.vfm-block-card__name {
  font-family: var(--montserrat);
  font-size: 22px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 4px;
  line-height: 1.1;
}
.vfm-block-card__price {
  font-family: var(--montserrat);
  font-size: 13px;
  font-weight: 700;
  color: var(--gold);
}
.vfm-block-card__desc {
  font-family: var(--montserrat);
  font-size: 13px;
  color: var(--muted);
  line-height: 1.75;
  margin-bottom: 14px;
}
.vfm-block-card__specs {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 18px;
}
.vfm-block-card__specs li {
  font-family: var(--montserrat);
  font-size: 12px;
  color: rgba(255,255,255,.6);
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.vfm-block-card__specs li::before {
  content: '✓';
  color: var(--bc, #5D4037);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}
.vfm-block-card__cta { align-self: flex-start; }

/* ── Why on-site section ── */
.vfm-block-why { margin-top: 60px; }
.vfm-block-why__heading {
  font-family: var(--montserrat);
  font-size: 28px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 28px;
}
.vfm-block-why__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.vfm-block-why-card {
  background: var(--dark2);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--r-md);
  padding: 22px;
  transition: var(--trans);
}
.vfm-block-why-card:hover {
  border-color: rgba(93,64,55,.5);
  background: rgba(93,64,55,.08);
}
.vfm-block-why-card__icon {
  font-size: 26px;
  display: block;
  margin-bottom: 12px;
}
.vfm-block-why-card__title {
  font-family: var(--montserrat);
  font-size: 18px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 8px;
}
.vfm-block-why-card__desc {
  font-family: var(--montserrat);
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
}

/* ── Developer CTA strip ── */
.vfm-block-dev-cta {
  margin-top: 52px;
  background: linear-gradient(135deg, rgba(93,64,55,.25), rgba(201,169,110,.08));
  border: 1px solid rgba(93,64,55,.35);
  border-radius: var(--r-lg);
  padding: 36px 40px;
}
.vfm-block-dev-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.vfm-block-dev-cta__tag {
  font-family: var(--montserrat);
  font-size: 10px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.vfm-block-dev-cta__heading {
  font-family: var(--montserrat);
  font-size: 26px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 8px;
  line-height: 1.2;
}
.vfm-block-dev-cta__sub {
  font-family: var(--montserrat);
  font-size: 13px;
  color: var(--muted);
  line-height: 1.75;
  max-width: 520px;
}
.vfm-block-dev-cta__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .vfm-block-hero__grid { grid-template-columns: 1fr; }
  .vfm-block-hero__stats { grid-template-columns: repeat(2, 1fr); }
  .vfm-block-why__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .vfm-block-hero__stats { grid-template-columns: repeat(2, 1fr); }
  .vfm-block-why__grid { grid-template-columns: 1fr; }
  .vfm-block-dev-cta__inner { flex-direction: column; }
  .vfm-block-dev-cta { padding: 24px 20px; }
}
