/* ══════════════════════════════════════════════
   V-TAX — MAIN STYLESHEET  v2.0.0
══════════════════════════════════════════════ */

/* ── Design Tokens ──────────────────────────── */
:root {
    --bg:          #F4F7FA;
    --surface:     #FFFFFF;
    --surface-2:   #EEF2F7;
    --navy:        #0D2137;
    --navy-mid:    #1A3A5C;
    --crimson:     #C0392B;
    --crimson-d:   #A93226;
    --crimson-l:   #FAF0EF;
    --crimson-t:   rgba(192,57,43,0.08);
    --text:        #1E293B;
    --text-m:      #64748B;
    --text-s:      #94A3B8;
    --border:      #DDE5EF;
    --border-h:    rgba(192,57,43,0.35);
    --shadow-sm:   0 1px 4px rgba(13,33,55,0.06);
    --shadow-md:   0 4px 16px rgba(13,33,55,0.08);
    --shadow-lg:   0 12px 40px rgba(13,33,55,0.10);
    --radius:      6px;
    --header-h:    72px;
}

/* ── Reset ─────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 8px); font-size:16px; }
body { background:var(--bg); color:var(--text); font-family:'Inter',sans-serif; overflow-x:hidden; line-height:1.6; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; }
svg { stroke:currentColor; }

/* ── Utility ────────────────────────────────── */
.vtax-container { max-width:1200px; margin:0 auto; }

/* ── Scrollbar ──────────────────────────────── */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--border); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:var(--crimson); }

/* ══════════════════════════════════════════════
   HEADER — Logo only
══════════════════════════════════════════════ */
.vtax-header {
    position: fixed;
    top:0; left:0; right:0;
    z-index: 1000;
    height: var(--header-h);
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
}
.vtax-header__inner {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 56px;
    display: flex;
    align-items: center;
}
.vtax-logo { display:flex; align-items:center; text-decoration:none; }
.vtax-logo img,
.vtax-logo .custom-logo { height:42px; width:auto; }
.vtax-logo--text { flex-direction:column; gap:2px; font-family:'Cormorant Garamond',serif; }
.vtax-logo__mark { font-size:22px; font-weight:700; letter-spacing:3px; color:var(--navy); line-height:1; }
.vtax-logo__accent { color:var(--crimson); }
.vtax-logo__tagline { font-family:'Inter',sans-serif; font-size:7.5px; letter-spacing:2px; color:var(--text-s); text-transform:uppercase; }

/* ══════════════════════════════════════════════
   TRUST BAR
══════════════════════════════════════════════ */
.vtax-trust-bar {
    position: sticky;
    top: var(--header-h);
    z-index: 998;
    background: var(--navy);
    padding: 8px 56px;
}
.vtax-trust-bar__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
}
.vtax-trust-item {
    display:flex; align-items:center; gap:8px;
    font-family:'Inter',sans-serif; font-size:9.5px; letter-spacing:2px;
    text-transform:uppercase; color:rgba(255,255,255,0.75); font-weight:500; white-space:nowrap;
}
.vtax-trust-badge { background:var(--crimson); color:#fff; padding:2px 8px; border-radius:3px; font-size:8px; font-weight:700; letter-spacing:1px; }
.vtax-trust-dot { width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,0.3); flex-shrink:0; }

/* ══════════════════════════════════════════════
   HERO — Left: headline  |  Right: WPForms card
══════════════════════════════════════════════ */
.vtax-hero {
    min-height: 100vh;
    padding: calc(var(--header-h) + 30px) 56px 80px;
    position: relative; overflow:hidden;
    display: flex; align-items:center;
    background:
        radial-gradient(ellipse 70% 60% at 80% 30%, rgba(192,57,43,0.05) 0%, transparent 65%),
        radial-gradient(ellipse 50% 40% at 10% 80%, rgba(13,33,55,0.04) 0%, transparent 60%),
        #F4F7FA;
}
.vtax-hero__bg-ring {
    position:absolute; border-radius:50%; pointer-events:none;
    animation: vtaxSpin 40s linear infinite;
}
.vtax-hero__bg-ring--1 { width:700px; height:700px; border:1px solid rgba(192,57,43,0.07); right:-180px; top:-180px; }
.vtax-hero__bg-ring--2 { width:400px; height:400px; border:1px solid rgba(13,33,55,0.05); left:-100px; bottom:-80px; animation-direction:reverse; animation-duration:30s; }
@keyframes vtaxSpin { to { transform:rotate(360deg); } }

.vtax-hero__inner {
    position:relative; z-index:2;
    display:grid; grid-template-columns:1fr 480px;
    gap:56px; align-items:center; width:100%; max-width:1200px; margin:0 auto;
}

/* Left column wrapper */
.vtax-hero__left {
    display:flex; flex-direction:column;
}

/* Desktop: heading and body flow naturally top to bottom */
.vtax-hero__heading { margin-bottom:0; }
.vtax-hero__body { margin-top:0; }

/* Left content */
.vtax-hero__eyebrow {
    font-family:'Inter',sans-serif; font-size:10px; letter-spacing:4px;
    color:var(--crimson); text-transform:uppercase; font-weight:600;
    display:flex; align-items:center; gap:14px; margin-bottom:28px;
}
.vtax-hero__eyebrow::before { content:''; width:32px; height:1.5px; background:var(--crimson); }

.vtax-hero__title {
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(42px,5.5vw,82px);
    font-weight:700; line-height:.95;
    letter-spacing:-2px; color:var(--navy);
    margin-bottom:28px;
}
.vtax-hero__title-line { display:block; }
.vtax-hero__title-line--muted { color:var(--text-m); font-weight:300; }
.vtax-hero__title-line--accent { color:var(--crimson); }

.vtax-hero__desc { font-size:15.5px; line-height:1.85; color:var(--text-m); max-width:480px; margin-bottom:36px; font-weight:300; }

.vtax-hero__badge { display:flex; align-items:center; gap:8px; }
.vtax-hero__badge-dot { width:7px; height:7px; border-radius:50%; background:var(--crimson); flex-shrink:0; animation:vtaxPulse 2s ease-in-out infinite; }
@keyframes vtaxPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.85)} }
.vtax-hero__badge-text { font-family:'Inter',sans-serif; font-size:10px; letter-spacing:2px; color:var(--text-m); text-transform:uppercase; }

/* Right: WPForms card */
.vtax-hero__form-panel { display:flex; align-items:center; justify-content:center; }
.vtax-hero__form-card {
    background:var(--surface);
    border:1.5px solid var(--border);
    border-radius:10px;
    padding:36px 32px;
    box-shadow:var(--shadow-lg);
    width:100%;
}
.vtax-hero__form-card-label {
    font-family:'Inter',sans-serif;
    font-size:9px; letter-spacing:3px;
    color:var(--crimson); text-transform:uppercase;
    font-weight:600; margin-bottom:20px;
    padding-bottom:16px;
    border-bottom:1px solid #D6E0EC;
}

/* ══════════════════════════════════════════════
   WPFORMS — Full styled match to screenshot
   Light blue-grey card, side-by-side fields,
   uppercase labels, red submit button
══════════════════════════════════════════════ */

/* Outer form card background */
.vtax-hero__form-card {
    background: #EEF3F8 !important;
    border: 1.5px solid #D6E0EC !important;
    border-radius: 10px !important;
    padding: 28px 28px 24px !important;
    box-shadow: 0 4px 24px rgba(13,33,55,0.07) !important;
    width: 100% !important;
}

/* Reset WPForms default margins/padding */
.vtax-hero__form-card .wpforms-container { margin:0 !important; padding:0 !important; }
.vtax-hero__form-card .wpforms-form { margin:0 !important; }
.vtax-hero__form-card .wpforms-field-container { margin:0 !important; }

/* ── Field spacing ────────────────────────── */
.vtax-hero__form-card .wpforms-field {
    margin-bottom: 16px !important;
    padding: 0 !important;
}

/* ── Side-by-side name + email/phone row ──
   WPForms column layout uses .wpforms-one-half */
.vtax-hero__form-card .wpforms-field.wpforms-one-half {
    width: calc(50% - 8px) !important;
    display: inline-block !important;
    vertical-align: top !important;
}
.vtax-hero__form-card .wpforms-field.wpforms-one-half.wpforms-first {
    margin-right: 16px !important;
}

/* ── Labels ──────────────────────────────── */
.vtax-hero__form-card .wpforms-field-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #64748B !important;
    margin-bottom: 7px !important;
    display: block !important;
}

/* Required asterisk */
.vtax-hero__form-card .wpforms-field-label .wpforms-required-label {
    color: var(--crimson) !important;
    font-size: 12px !important;
    margin-left: 2px !important;
}

/* ── Inputs, selects, textarea ───────────── */
.vtax-hero__form-card .wpforms-field input[type="text"],
.vtax-hero__form-card .wpforms-field input[type="email"],
.vtax-hero__form-card .wpforms-field input[type="tel"],
.vtax-hero__form-card .wpforms-field input[type="number"],
.vtax-hero__form-card .wpforms-field input[type="url"],
.vtax-hero__form-card .wpforms-field select,
.vtax-hero__form-card .wpforms-field textarea {
    width: 100% !important;
    background: #FFFFFF !important;
    border: 1.5px solid #D6E0EC !important;
    border-radius: 6px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #1E293B !important;
    padding: 12px 16px !important;
    transition: border-color .2s, box-shadow .2s !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    line-height: 1.5 !important;
}

/* Placeholder colour */
.vtax-hero__form-card .wpforms-field input::placeholder,
.vtax-hero__form-card .wpforms-field textarea::placeholder {
    color: #94A3B8 !important;
    font-weight: 300 !important;
}

/* Focus state */
.vtax-hero__form-card .wpforms-field input:focus,
.vtax-hero__form-card .wpforms-field select:focus,
.vtax-hero__form-card .wpforms-field textarea:focus {
    border-color: var(--crimson) !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,0.07) !important;
    outline: none !important;
}

/* Select arrow */
.vtax-hero__form-card .wpforms-field select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 36px !important;
    cursor: pointer !important;
}

/* Textarea height */
.vtax-hero__form-card .wpforms-field textarea {
    min-height: 110px !important;
    resize: vertical !important;
}

/* ── Validation errors ────────────────────── */
.vtax-hero__form-card label.wpforms-error {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    color: var(--crimson) !important;
    margin-top: 4px !important;
    display: block !important;
}
.vtax-hero__form-card .wpforms-field input.wpforms-error,
.vtax-hero__form-card .wpforms-field select.wpforms-error,
.vtax-hero__form-card .wpforms-field textarea.wpforms-error {
    border-color: var(--crimson) !important;
}

/* ── Submit row ───────────────────────────── */
.vtax-hero__form-card .wpforms-submit-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 20px !important;
    padding-top: 4px !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}

/* Security note (left of button) */
.vtax-hero__form-card .wpforms-submit-container::before {
    content: '🔒  SECURE & CONFIDENTIAL';
    font-family: 'Inter', sans-serif !important;
    font-size: 9px !important;
    letter-spacing: 1.5px !important;
    color: #94A3B8 !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    white-space: nowrap;
}

/* Submit button */
.vtax-hero__form-card .wpforms-submit {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    background: var(--crimson) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--radius) !important;
    padding: 14px 28px !important;
    cursor: pointer !important;
    transition: all .25s !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
}
.vtax-hero__form-card .wpforms-submit:hover {
    background: var(--crimson-d) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(192,57,43,0.28) !important;
}
.vtax-hero__form-card .wpforms-submit:disabled {
    opacity: .65 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* ── Hide WPForms default footer/branding ─── */
.vtax-hero__form-card .wpforms-recaptcha-container,
.vtax-hero__form-card .wpforms-field-hp { display:none !important; }

/* ── Responsive: stack columns on mobile ─── */
@media (max-width: 540px) {
    .vtax-hero__form-card .wpforms-field.wpforms-one-half {
        width: 100% !important;
        display: block !important;
    }
    .vtax-hero__form-card .wpforms-field.wpforms-one-half.wpforms-first {
        margin-right: 0 !important;
    }
    .vtax-hero__form-card .wpforms-submit-container {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .vtax-hero__form-card .wpforms-submit {
        width: 100% !important;
    }
}

/* ══════════════════════════════════════════════
   SECTION COMMONS
══════════════════════════════════════════════ */
.vtax-divider { height:1px; background:var(--border); margin:0 56px; }
.vtax-section-label { font-family:'Inter',sans-serif; font-size:10px; letter-spacing:3.5px; color:var(--crimson); text-transform:uppercase; font-weight:600; margin-bottom:14px; }
.vtax-section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(30px,4.5vw,56px); font-weight:700; color:var(--navy); line-height:1.05; letter-spacing:-1px; margin-bottom:20px; }
.vtax-section-title span { color:var(--crimson); }

/* ── Scroll Reveal ──────────────────────────── */
.vtax-reveal { opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease; }
.vtax-reveal.is-visible { opacity:1; transform:none; }
.vtax-reveal--d1 { transition-delay:.1s; }
.vtax-reveal--d2 { transition-delay:.2s; }
.vtax-reveal--d3 { transition-delay:.3s; }
.vtax-reveal--d4 { transition-delay:.4s; }

/* ══════════════════════════════════════════════
   ABOUT
══════════════════════════════════════════════ */
.vtax-about { padding:100px 56px; background:var(--surface); }
.vtax-about__grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.vtax-about__desc { font-size:15.5px; line-height:1.85; color:var(--text-m); margin-bottom:20px; font-weight:300; }
.vtax-about__quote {
    border-left:3px solid var(--crimson); padding:16px 20px;
    background:var(--crimson-l); border-radius:0 var(--radius) var(--radius) 0;
    font-family:'Cormorant Garamond',serif; font-size:18px; font-style:italic;
    color:var(--navy); line-height:1.6; margin:24px 0;
}
.vtax-pillars { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:32px; }
.vtax-pillar { background:var(--bg); border:1.5px solid var(--border); border-radius:var(--radius); padding:18px 20px; transition:all .25s; }
.vtax-pillar:hover { border-color:var(--crimson); background:var(--crimson-l); }
.vtax-pillar__icon { width:32px; height:32px; background:var(--crimson-t); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
.vtax-pillar__icon svg { width:16px; height:16px; stroke:var(--crimson); }
.vtax-pillar__name { font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:1.5px; color:var(--navy); text-transform:uppercase; margin-bottom:5px; }
.vtax-pillar__text { font-size:12.5px; color:var(--text-m); line-height:1.5; }

.vtax-about-card { background:var(--bg); border:1.5px solid var(--border); border-radius:10px; padding:36px 32px; box-shadow:var(--shadow-md); }
.vtax-about-card__label { font-family:'Inter',sans-serif; font-size:9px; letter-spacing:3px; color:var(--crimson); text-transform:uppercase; font-weight:600; margin-bottom:24px; }
.vtax-timeline { display:flex; flex-direction:column; gap:24px; }
.vtax-tl-item { display:grid; grid-template-columns:36px 1fr; gap:16px; align-items:start; }
.vtax-tl-dot { width:36px; height:36px; border-radius:50%; background:var(--surface); border:2px solid var(--crimson); display:flex; align-items:center; justify-content:center; font-family:'Inter',sans-serif; font-size:10px; font-weight:700; color:var(--crimson); flex-shrink:0; }
.vtax-tl-year { font-family:'Inter',sans-serif; font-size:8.5px; letter-spacing:2px; color:var(--crimson); text-transform:uppercase; font-weight:600; margin-bottom:3px; }
.vtax-tl-title { font-family:'Inter',sans-serif; font-size:13px; font-weight:700; color:var(--navy); margin-bottom:4px; }
.vtax-tl-text { font-size:12.5px; color:var(--text-m); line-height:1.55; }

/* ══════════════════════════════════════════════
   PROCESS
══════════════════════════════════════════════ */
.vtax-process { padding:100px 56px; background:var(--bg); }
.vtax-process__header { text-align:center; max-width:600px; margin:0 auto 64px; }
.vtax-process__header p { color:var(--text-m); font-size:15px; line-height:1.8; font-weight:300; }
.vtax-process__steps { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.vtax-step { background:var(--surface); border:1.5px solid var(--border); border-radius:8px; padding:28px 20px; text-align:center; position:relative; transition:all .25s; box-shadow:var(--shadow-sm); }
.vtax-step:hover { border-color:var(--crimson); box-shadow:var(--shadow-md); transform:translateY(-3px); }
.vtax-step::after { content:'→'; position:absolute; right:-13px; top:50%; transform:translateY(-50%); font-size:18px; color:var(--border); font-weight:300; z-index:1; }
.vtax-step:last-child::after { display:none; }
.vtax-step__num { font-family:'Cormorant Garamond',serif; font-size:48px; font-weight:700; color:var(--crimson-t); line-height:1; margin-bottom:12px; }
.vtax-step__title { font-family:'Inter',sans-serif; font-size:12px; font-weight:700; letter-spacing:1px; color:var(--navy); text-transform:uppercase; margin-bottom:10px; }
.vtax-step__desc { font-size:12.5px; color:var(--text-m); line-height:1.6; }

/* ══════════════════════════════════════════════
   SERVICES
══════════════════════════════════════════════ */
.vtax-services { padding:100px 56px; background:var(--surface); }
.vtax-services__header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:52px; }
.vtax-services__header p { color:var(--text-m); font-size:14.5px; line-height:1.7; max-width:360px; font-weight:300; text-align:right; }
.vtax-services__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

.vtax-service-card { background:var(--surface); border:1.5px solid var(--border); border-radius:8px; padding:32px 28px; display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow-sm); transition:all .3s; position:relative; overflow:hidden; }
.vtax-service-card:hover { border-color:var(--crimson); box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.vtax-service-card--featured { border-color:var(--crimson); background:linear-gradient(145deg,var(--crimson-l),var(--surface)); }
.vtax-service-card__accent { position:absolute; top:0; left:0; right:0; height:3px; background:var(--crimson); opacity:0; transition:opacity .3s; }
.vtax-service-card:hover .vtax-service-card__accent,
.vtax-service-card--featured .vtax-service-card__accent { opacity:1; }
.vtax-service-card__num { font-family:'Inter',sans-serif; font-size:8.5px; letter-spacing:2px; color:var(--text-s); text-transform:uppercase; }
.vtax-service-card__icon { width:44px; height:44px; background:var(--crimson-t); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.vtax-service-card__icon svg { width:22px; height:22px; stroke:var(--crimson); }
.vtax-service-card__name { font-family:'Inter',sans-serif; font-size:15px; font-weight:700; color:var(--navy); }
.vtax-service-card__desc { font-size:13.5px; color:var(--text-m); line-height:1.65; flex:1; }
.vtax-service-card__tags { display:flex; flex-wrap:wrap; gap:6px; }
.vtax-tag { font-family:'Inter',sans-serif; font-size:9.5px; letter-spacing:.8px; color:var(--text-m); background:var(--bg); border:1px solid var(--border); padding:3px 9px; border-radius:20px; }
.vtax-service-card__enquire {
    display:inline-flex; align-items:center; gap:6px; margin-top:4px; padding:9px 18px;
    border:1.5px solid var(--crimson); color:var(--crimson); background:transparent;
    border-radius:var(--radius); font-family:'Inter',sans-serif; font-size:10.5px;
    font-weight:600; letter-spacing:1px; text-transform:uppercase; text-decoration:none;
    cursor:pointer; transition:all .25s; align-self:flex-start;
}
.vtax-service-card__enquire:hover { background:var(--crimson); color:#fff; }
.vtax-service-card--featured .vtax-service-card__enquire { background:var(--crimson); color:#fff; }
.vtax-service-card--featured .vtax-service-card__enquire:hover { background:var(--crimson-d); border-color:var(--crimson-d); }

/* ══════════════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════════════ */
.vtax-testimonials { padding:100px 56px; background:var(--bg); }
.vtax-testimonials__header { text-align:center; max-width:600px; margin:0 auto 56px; }
.vtax-testimonials__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.vtax-tcard { background:var(--surface); border:1.5px solid var(--border); border-radius:8px; padding:32px 28px; box-shadow:var(--shadow-sm); transition:all .3s; position:relative; }
.vtax-tcard:hover { box-shadow:var(--shadow-md); border-color:var(--border-h); }
.vtax-tcard__bar { width:3px; position:absolute; left:0; top:0; bottom:0; background:var(--crimson); border-radius:8px 0 0 8px; }
.vtax-tcard__stars { color:var(--crimson); font-size:13px; letter-spacing:2px; margin-bottom:16px; }
.vtax-tcard__quote { font-family:'Cormorant Garamond',serif; font-size:17px; font-style:italic; line-height:1.75; color:var(--text); margin-bottom:24px; }
.vtax-tcard__quote::before { content:'\201C'; font-size:2em; color:var(--crimson); line-height:0; vertical-align:-.35em; margin-right:3px; }
.vtax-tcard__name { font-family:'Inter',sans-serif; font-size:12px; font-weight:700; color:var(--navy); text-transform:uppercase; letter-spacing:1px; }
.vtax-tcard__role { font-family:'Inter',sans-serif; font-size:11px; color:var(--text-m); margin-top:2px; }

/* ══════════════════════════════════════════════
   CONTACT — Centered, no form
══════════════════════════════════════════════ */
.vtax-contact { padding:100px 56px; background:var(--surface); }

/* Centered wrapper */
.vtax-contact__centered {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    max-width:900px;
    margin:0 auto;
}

/* Heading block */
.vtax-contact__center-head { margin-bottom:48px; }
.vtax-contact__center-head .vtax-section-label { justify-content:center; }
.vtax-contact__intro { color:var(--text-m); font-size:14.5px; line-height:1.8; font-weight:300; max-width:560px; margin:0 auto; }

/* Contact items — horizontal wrap grid */
.vtax-contact__items-centered {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:16px;
    width:100%;
    margin-bottom:40px;
}

/* Individual item */
.vtax-contact__item {
    display:flex; align-items:flex-start; gap:14px;
    padding:16px 18px; background:var(--bg);
    border:1.5px solid var(--border); border-radius:var(--radius);
    transition:all .25s; text-align:left;
}
.vtax-contact__item:hover { border-color:var(--crimson); background:var(--crimson-l); }
.vtax-contact__icon { width:38px; height:38px; background:var(--crimson-t); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.vtax-contact__icon svg { width:17px; height:17px; stroke:var(--crimson); }
.vtax-contact__detail label { font-family:'Inter',sans-serif; font-size:8.5px; letter-spacing:2.5px; color:var(--crimson); text-transform:uppercase; font-weight:600; display:block; margin-bottom:3px; }
.vtax-contact__detail span,
.vtax-contact__detail a { font-size:13px; color:var(--text); font-weight:300; text-decoration:none; }
.vtax-contact__detail a:hover { color:var(--crimson); }

/* CTA button */
.vtax-contact__cta { margin-top:8px; }
.vtax-contact__cta-btn {
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Inter',sans-serif; font-size:11px; letter-spacing:2px;
    font-weight:700; text-transform:uppercase;
    padding:16px 36px; background:var(--crimson); color:#fff;
    text-decoration:none; border-radius:var(--radius);
    transition:all .25s;
}
.vtax-contact__cta-btn:hover { background:var(--crimson-d); transform:translateY(-1px); box-shadow:0 6px 20px rgba(192,57,43,.25); }

/* ══════════════════════════════════════════════
   FOOTER — Logo only
══════════════════════════════════════════════ */
.vtax-footer { background:var(--navy); padding:36px 56px; display:flex; align-items:center; justify-content:center; }
.vtax-footer__inner { display:flex; align-items:center; justify-content:center; }
.vtax-footer__logo { display:flex; align-items:center; text-decoration:none; }
.vtax-footer__logo img,
.vtax-footer__logo .custom-logo { height:38px; width:auto; filter:brightness(0) invert(1); }
.vtax-footer__logo--text { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:700; letter-spacing:3px; color:#fff; text-decoration:none; }

/* ══════════════════════════════════════════════
   BACK TO TOP
══════════════════════════════════════════════ */
#vtax-back-to-top {
    position:fixed; bottom:28px; right:28px; z-index:8000;
    width:40px; height:40px; background:var(--crimson); color:#fff;
    border:none; border-radius:var(--radius); cursor:pointer; font-size:18px;
    display:flex; align-items:center; justify-content:center;
    opacity:0; pointer-events:none;
    transition:opacity .3s, transform .3s; transform:translateY(8px);
    box-shadow:0 4px 12px rgba(192,57,43,.3);
}
#vtax-back-to-top.is-visible { opacity:1; pointer-events:all; transform:none; }
#vtax-back-to-top:hover { background:var(--crimson-d); }

/* ══════════════════════════════════════════════
   RESPONSIVE — Tablet ≤ 1024px
══════════════════════════════════════════════ */
@media (max-width:1024px) {
    .vtax-header__inner { padding:0 24px; }
    .vtax-trust-bar { padding:8px 24px; }
    .vtax-trust-dot { display:none; }
    .vtax-trust-item { font-size:8.5px; }

    /* Hero: switch to flex column so we can control order precisely */
    .vtax-hero { padding:calc(var(--header-h) + 48px) 24px 60px; }
    .vtax-hero__inner {
        grid-template-columns: 1fr;
        gap: 0;
        display: flex;
        flex-direction: column;
    }

    /* Mobile order:
       1 = vtax-hero__left > vtax-hero__heading  (eyebrow + title)
       2 = vtax-hero__form-panel                 (form)
       3 = vtax-hero__left > vtax-hero__body      (desc + badge)

       We achieve this by breaking the left column into two
       separate ordered items using the inner children.
       The left wrapper must not flex so children order applies.
    */
    .vtax-hero__left {
        display: contents; /* children participate directly in parent flex order */
    }
    .vtax-hero__heading {
        order: 1;
        margin-bottom: 32px;
    }
    .vtax-hero__form-panel {
        order: 2;
        width: 100%;
        margin-bottom: 32px;
    }
    .vtax-hero__body {
        order: 3;
    }
    .vtax-hero__form-card { max-width:100%; }

    .vtax-divider { margin:0 24px; }
    .vtax-about { padding:72px 24px; }
    .vtax-about__grid { grid-template-columns:1fr; gap:48px; }
    .vtax-process { padding:72px 24px; }
    .vtax-process__steps { grid-template-columns:1fr 1fr; }
    .vtax-step::after { display:none; }
    .vtax-services { padding:72px 24px; }
    .vtax-services__header { flex-direction:column; align-items:flex-start; gap:16px; }
    .vtax-services__header p { text-align:left; }
    .vtax-services__grid { grid-template-columns:1fr 1fr; }
    .vtax-testimonials { padding:72px 24px; }
    .vtax-testimonials__grid { grid-template-columns:1fr 1fr; }
    .vtax-contact { padding:72px 24px; }
    .vtax-contact__items-centered { grid-template-columns:1fr 1fr; }
    .vtax-footer { padding:28px 24px; }
}

/* ══════════════════════════════════════════════
   RESPONSIVE — Mobile ≤ 640px
══════════════════════════════════════════════ */
@media (max-width:640px) {
    .vtax-hero__title { letter-spacing:-1px; }
    .vtax-hero__form-card { padding:24px 20px; }
    .vtax-process__steps { grid-template-columns:1fr; }
    .vtax-services__grid { grid-template-columns:1fr; }
    .vtax-pillars { grid-template-columns:1fr; }
    .vtax-testimonials__grid { grid-template-columns:1fr; }
    .vtax-contact__items-centered { grid-template-columns:1fr; }
    .vtax-about-card { padding:24px 20px; }
    .vtax-trust-bar__inner { gap:10px; }
    .vtax-contact__cta-btn { padding:14px 24px; font-size:10px; }
}

/* ── Focus styles ───────────────────────────── */
a:focus-visible,
button:focus-visible { outline:2px solid var(--crimson); outline-offset:3px; border-radius:3px; }
