/* Self-hosted Latin subsets (Google Fonts, SIL OFL) */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/newsreader-italic.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/newsreader-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/newsreader-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Virtual Service Assists design system v2. Every rule is scoped to .vsa2 so Astra/Elementor styles cannot leak in or out. */
.vsa2{
  --ink:#101C36; --ink-2:#18284B; --brass:#A9782F; --brass-2:#D1A458; --brass-ink:#7A5520;
  --paper:#F6F3EA; --paper-2:#ECE6D6; --card:#FFFFFF; --line:#D9D2BF; --line-2:#E8E2D2;
  --text:#18223A; --muted:#4F5A70; --on-ink:#F5F2E9; --on-ink-muted:#C3CADA; --ok:#2F5D46;
  --serif:'Newsreader',Georgia,'Times New Roman',serif; --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --max:1160px; --r:6px;
  background:var(--paper); color:var(--text); font:400 17px/1.65 var(--sans); overflow-wrap:break-word; min-width:0; max-width:100vw; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.vsa2 *,.vsa2 *::before,.vsa2 *::after{box-sizing:border-box}
.vsa2 img{max-width:100%;height:auto;display:block}
.vsa2 a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px;text-decoration-thickness:1px}
.vsa2 a:hover{color:var(--brass-ink)}
.vsa2 a:focus-visible,.vsa2 button:focus-visible,.vsa2 summary:focus-visible{outline:3px solid var(--brass-2);outline-offset:2px;border-radius:2px}
.vsa2 h1,.vsa2 h2,.vsa2 h3,.vsa2 h4{font-family:var(--serif);font-weight:500;color:var(--ink);letter-spacing:-.012em;margin:0 0 .5em;line-height:1.15}
.vsa2 h1{font-size:clamp(38px,5.4vw,64px);line-height:1.04}
.vsa2 h2{font-size:clamp(30px,3.6vw,44px)}
.vsa2 h3{font-size:clamp(21px,2vw,25px);line-height:1.25}
.vsa2 h4{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:0}
.vsa2 p{margin:0 0 1em}
.vsa2 ul,.vsa2 ol{margin:0 0 1em;padding-left:1.2em}
.vsa2 strong{font-weight:600;color:var(--ink)}
.vsa2 .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.vsa2 .narrow{max-width:760px}
.vsa2 .sec{padding:96px 0}
.vsa2 .sec-tight{padding:64px 0}
.vsa2 .sec-alt{background-color:var(--paper-2)}
.vsa2 .sec-cta{background-color:#1D3A2F;color:#D5E0DA}
.vsa2 .sec-cta .lede,.vsa2 .sec-cta p{color:#D5E0DA}
.vsa2 .sec-cta .kicker{color:#E3C285}
.vsa2 .sec-cta h2,.vsa2 .sec-cta h3,.vsa2 .sec-cta strong,.vsa2 .sec-cta a{color:#F5F2E9}
.vsa2 .sec-cta .btn-primary{background:var(--brass-2);color:var(--ink)}
.vsa2 .sec-cta .btn-primary:hover{background:#E3BA70;color:var(--ink)}
.vsa2 .sec-cta .contact-lines li{border-color:rgba(245,242,233,.18)}
.vsa2 .sec-cta .contact-lines span{color:#E3C285}
.vsa2 .sec-ink{background:var(--ink);color:var(--on-ink-muted)}
.vsa2 .sec-ink h2,.vsa2 .sec-ink h3,.vsa2 .sec-ink strong{color:var(--on-ink)}
.vsa2 .sec-ink a{color:var(--on-ink)}
.vsa2 .rule{border-top:1px solid var(--line)}
.vsa2 .kicker{display:block;font:600 13px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--brass-ink);margin:0 0 14px}
.vsa2 .sec-ink .kicker{color:var(--brass-2)}
.vsa2 .lede{font-size:clamp(18px,1.6vw,20px);color:var(--muted);max-width:640px}
.vsa2 .sec-ink .lede{color:var(--on-ink-muted)}
.vsa2 .sec-head{max-width:720px;margin-bottom:48px}
.vsa2 .sec-head-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:48px}
.vsa2 .sec-head-split .lede{margin:0}
.vsa2 .small{font-size:14px;color:var(--muted)}
.vsa2 .note{font-size:13.5px;color:var(--muted);margin-top:16px;overflow-wrap:anywhere}
.vsa2 td,.vsa2 th,.vsa2 .prose a,.vsa2 .qa-a a{overflow-wrap:anywhere}
.vsa2 .sec-ink .note,.vsa2 .sec-cta .note,.vsa2 .hero .note,.vsa2 .phero .note{color:var(--on-ink-muted)}

/* Buttons */
.vsa2 .btn{display:inline-flex;align-items:center;gap:8px;font:600 16px/1 var(--sans);padding:16px 24px;border-radius:var(--r);text-decoration:none;border:1px solid transparent;cursor:pointer}
.vsa2 .btn-primary{background:var(--brass-ink);color:#fff}
.vsa2 .btn-primary:hover{background:#5E4017;color:#fff}
.vsa2 .sec-ink .btn-primary,.vsa2 .hero .btn-primary{background:var(--brass-2);color:var(--ink)}
.vsa2 .sec-ink .btn-primary:hover,.vsa2 .hero .btn-primary:hover{background:#E3BA70;color:var(--ink)}
.vsa2 .btn-quiet{background:transparent;color:inherit;border-color:currentColor}
.vsa2 .actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:32px}
.vsa2 .textlink{font-weight:600}

/* Header */
.vsa2 .site-hd{background:var(--ink);color:var(--on-ink);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(245,242,233,.1)}
.vsa2 .site-hd .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.vsa2 .brand{display:flex;align-items:center;gap:12px;color:var(--on-ink);text-decoration:none;font:500 20px/1.1 var(--serif)}
.vsa2 .brand img{border-radius:50%}
.vsa2 .brand small{display:block;font:500 11.5px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--on-ink-muted);margin-top:3px}
.vsa2 .nav{display:flex;align-items:center;gap:28px}
.vsa2 .nav>ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.vsa2 .nav a{color:var(--on-ink);text-decoration:none;font-size:15.5px;font-weight:500}
.vsa2 .nav a:hover{color:var(--brass-2)}
.vsa2 .site-hd .btn{padding:12px 18px;font-size:15px}
.vsa2 .site-hd .wrap{position:relative}
.vsa2 .nav>ul>li{display:flex;align-items:center;min-height:72px}
.vsa2 .nav-btn{background:none;border:0;padding:0;text-transform:none;letter-spacing:0;cursor:pointer;color:var(--on-ink);font:500 15.5px/1 var(--sans)}
.vsa2 .nav-btn::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:8px;transition:transform .15s}
.vsa2 .nav-btn:hover,.vsa2 .has-sub:hover .nav-btn{color:var(--brass-2)}
.vsa2 .mega{display:none;position:absolute;left:24px;right:24px;top:100%;grid-template-columns:1fr 300px;background:var(--card);color:var(--text);border:1px solid var(--line);border-top:3px solid var(--brass);border-radius:0 0 var(--r) var(--r);box-shadow:0 24px 48px rgba(16,28,54,.22);overflow:hidden}
.vsa2 .has-sub:hover .mega,.vsa2 .nav-btn[aria-expanded="true"]+.mega{display:grid}
.vsa2 .has-sub:hover .nav-btn::after,.vsa2 .nav-btn[aria-expanded="true"]::after{transform:rotate(225deg) translateY(-2px)}
.vsa2 .mega-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:24px}
.vsa2 .mega-h{font:600 12.5px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--brass-ink);margin:0 0 8px;padding:0 12px}
.vsa2 .nav .mega-link{display:block;padding:11px 12px;border-radius:6px;color:var(--text);text-decoration:none}
.vsa2 .nav .mega-link strong{display:block;font:500 17px/1.3 var(--serif);color:var(--ink)}
.vsa2 .nav .mega-link span{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.vsa2 .nav .mega-link:hover{background:var(--paper)}
.vsa2 .nav .mega-link:hover strong{color:var(--brass-ink)}
.vsa2 .mega-side{background:var(--paper-2);padding:24px;border-left:1px solid var(--line)}
.vsa2 .mega-side .mega-h{padding:0}
.vsa2 .mega-side p{font-size:14.5px;color:var(--muted);margin:0 0 16px}
.vsa2 .nav .mega-side .btn{color:#fff;font-size:15px;padding:12px 18px;margin-bottom:14px}
.vsa2 .nav .mega-all{display:block;color:var(--ink);font-size:14.5px;font-weight:600;padding:6px 0;text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px}

.vsa2 .vsa-menu{display:none}
@media (max-width:980px){
  .vsa2 .nav{display:none}
  .vsa2 .vsa-menu{display:block}
  .vsa2 .vsa-menu>summary{list-style:none;cursor:pointer;color:var(--on-ink);background:transparent;font:600 15px/1 var(--sans);text-transform:none;letter-spacing:0;border:1px solid rgba(245,242,233,.35);padding:11px 14px;border-radius:var(--r)}
  .vsa2 .vsa-menu>summary::-webkit-details-marker{display:none}
  .vsa2 .vsa-menu[open]>summary{background:rgba(245,242,233,.1)}
  .vsa2 .mobile-menu{position:absolute;left:0;right:0;top:72px;background:var(--ink);border-top:1px solid rgba(245,242,233,.12);padding:12px 24px 28px;max-height:calc(100vh - 72px);overflow:auto}
  .vsa2 .mobile-menu ul{list-style:none;margin:0;padding:0}
  .vsa2 .mobile-menu a{display:block;color:var(--on-ink);text-decoration:none;padding:11px 0;border-bottom:1px solid rgba(245,242,233,.08)}
  .vsa2 .mobile-menu .grp{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-2);margin:18px 0 4px}
  .vsa2 .mobile-menu .btn{margin-top:20px;justify-content:center;width:100%}
}

/* Hero */
.vsa2 .hero{background-color:var(--ink);color:var(--on-ink-muted);padding:88px 0 0}
.vsa2 .hero h1{color:var(--on-ink)}
.vsa2 .hero h1 em{font-style:italic;color:var(--brass-2)}
.vsa2 .hero .lede{color:var(--on-ink-muted);font-size:clamp(18px,1.7vw,21px);max-width:580px}
.vsa2 .hero .kicker{color:var(--brass-2)}
.vsa2 .hero{overflow:hidden}
.vsa2 .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}

.vsa2 .hero .textlink{color:var(--on-ink)}
.vsa2 .facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px;border-top:1px solid rgba(245,242,233,.14)}
.vsa2 .facts li{list-style:none;padding:22px 24px 26px 0;font-size:14.5px;line-height:1.45;color:var(--on-ink-muted)}
.vsa2 .facts li+li{padding-left:24px;border-left:1px solid rgba(245,242,233,.14)}
.vsa2 .facts strong{display:block;color:var(--on-ink);font-weight:600;font-size:15.5px;margin-bottom:2px}
.vsa2 .facts{padding:0;margin-bottom:0}

/* Desk log (illustrative work sample) */
.vsa2 .desk{background:var(--card);color:var(--text);border-radius:var(--r);border:1px solid var(--line);font-size:14.5px;overflow:hidden}
.vsa2 .desk-hd{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line-2);background:#FBF9F3}
.vsa2 .desk-hd strong{font-size:15px}
.vsa2 .desk-hd span{font-size:12.5px;color:var(--muted)}
.vsa2 .desk table{width:100%;border-collapse:collapse}
.vsa2 .desk td{padding:12px 20px;border-bottom:1px solid var(--line-2);vertical-align:top;line-height:1.4}
.vsa2 .desk td:last-child{text-align:right;white-space:nowrap;color:var(--muted);font-size:13px}
.vsa2 .desk tr:last-child td{border-bottom:0}
.vsa2 .tag{display:inline-block;font-size:12px;font-weight:600;padding:3px 8px;border-radius:3px;background:var(--paper-2);color:var(--ink)}
.vsa2 .tag-done{background:#E3EEE6;color:var(--ok)}
.vsa2 .tag-review{background:#F6EAD3;color:var(--brass-ink)}
.vsa2 .desk-ft{padding:12px 20px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line-2);background:#FBF9F3}

/* Problem list */
.vsa2 .split{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.vsa2 .numbered{list-style:none;margin:0;padding:0;counter-reset:n}
.vsa2 .numbered>li{counter-increment:n;display:grid;grid-template-columns:56px 1fr;gap:8px;padding:26px 0;border-top:1px solid var(--line)}
.vsa2 .numbered>li:last-child{border-bottom:1px solid var(--line)}
.vsa2 .numbered>li::before{content:counter(n,decimal-leading-zero);font:500 22px/1.2 var(--serif);color:var(--brass)}
.vsa2 .numbered h3{margin-bottom:6px}
.vsa2 .numbered p{margin:0;color:var(--muted)}

/* Service groups */
.vsa2 .svc-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.vsa2 .svc-group{padding:28px 32px 8px 0}
.vsa2 .svc-group+.svc-group{padding-left:32px;border-left:1px solid var(--line)}
.vsa2 .svc-group>h3{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-ink);margin-bottom:8px}
.vsa2 .svc-list{list-style:none;margin:0;padding:0}
.vsa2 .svc-list li{border-bottom:1px solid var(--line-2)}
.vsa2 .svc-list li:last-child{border-bottom:0}
.vsa2 .svc-list a{display:block;padding:18px 0;text-decoration:none;color:var(--text)}
.vsa2 .svc-list a strong{display:block;font:500 21px/1.25 var(--serif);color:var(--ink);margin-bottom:4px}
.vsa2 .svc-list a span{display:block;color:var(--muted);font-size:15.5px;line-height:1.5}
.vsa2 .svc-list a:hover strong{color:var(--brass-ink);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:4px;text-decoration-thickness:1px}

/* Hover states */
.vsa2 .svc-list a{margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:6px;transition:background .15s}
.vsa2 .svc-list a:hover{background:rgba(255,255,255,.65)}
.vsa2 .panel{transition:border-color .15s,background .15s}
.vsa2 .panel:hover{border-color:var(--brass);background:#FFFDF7}
.vsa2 .tbl tbody tr{transition:background .12s}
.vsa2 .tbl tbody tr:hover{background:#FBF7EC}
.vsa2 .tools li{transition:border-color .15s,background .15s}
.vsa2 .tools li:hover{border-color:var(--brass);background:#FFFDF7}
.vsa2 .numbered>li{transition:background .15s}
.vsa2 .numbered>li:hover{background:rgba(255,255,255,.5)}
.vsa2 .list-plain li{transition:background .15s}
.vsa2 .qa-item{transition:background .15s}
.vsa2 .qa-item:hover{background:rgba(255,255,255,.55)}
.vsa2 .btn{transition:background .15s,color .15s,border-color .15s}
.vsa2 .vsa-quote{transition:border-color .15s}
.vsa2 .vsa-quote:hover{border-color:var(--brass)}

/* Steps */
.vsa2 .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;list-style:none;margin:0;padding:0;counter-reset:s}
.vsa2 .steps>li{counter-increment:s;padding:0 32px 0 0;position:relative}
.vsa2 .steps>li+li{padding-left:32px;border-left:1px solid var(--line)}
.vsa2 .steps>li::before{content:"Step " counter(s);display:block;font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--brass-ink);margin-bottom:16px}
.vsa2 .steps p{color:var(--muted);margin:0}
.vsa2 .sec-ink .steps>li+li{border-color:rgba(245,242,233,.14)}
.vsa2 .sec-ink .steps p{color:var(--on-ink-muted)}
.vsa2 .sec-ink .steps>li::before{color:var(--brass-2)}

/* Tables */
.vsa2 .tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.vsa2 table.tbl{width:100%;border-collapse:collapse;font-size:15.5px;min-width:420px}
.vsa2 .tbl th,.vsa2 .tbl td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line-2);vertical-align:top}
.vsa2 .tbl thead th{background:#FBF9F3;font-weight:600;color:var(--ink);font-size:14px}
.vsa2 .tbl tbody th{font-weight:500;color:var(--ink)}
.vsa2 .tbl td.num,.vsa2 .tbl th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.vsa2 .tbl tr.total td,.vsa2 .tbl tr.total th{font-weight:600;color:var(--ink);background:#FBF9F3;border-bottom:0}
.vsa2 .tbl caption{caption-side:bottom;text-align:left;padding:12px 18px;font-size:13px;color:var(--muted)}

/* Two-column responsibility split */
.vsa2 .duo{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.vsa2 .duo>div{padding:32px}
.vsa2 .duo>div+div{border-left:1px solid var(--line);background:#FBF9F3}
.vsa2 .duo h3{margin-bottom:14px}
.vsa2 .duo ul{margin:0;padding:0;list-style:none}
.vsa2 .duo li{padding:10px 0;border-top:1px solid var(--line-2);line-height:1.5}
.vsa2 .duo li:first-child{border-top:0}

/* Clock comparison */
.vsa2 .clocks{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(245,242,233,.16);border-radius:var(--r)}
.vsa2 .clocks>div{padding:24px}
.vsa2 .clocks>div+div{border-left:1px solid rgba(245,242,233,.16)}
.vsa2 .clocks .t{font:500 34px/1 var(--serif);color:var(--on-ink);display:block;margin:8px 0 6px;font-variant-numeric:tabular-nums}
.vsa2 .clocks .city{font-weight:600;color:var(--on-ink)}
.vsa2 .clocks .small,.vsa2 .sec-ink .small,.vsa2 .sec-cta .small{color:var(--on-ink-muted)}
.vsa2 .clocks .hl{background:rgba(209,164,88,.12)}
.vsa2 .clocks .hl .t{color:var(--brass-2)}

/* Tools strip */
.vsa2 .tools{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.vsa2 .tools li{border:1px solid var(--line);background:var(--card);border-radius:var(--r);padding:10px 16px;font-weight:500;color:var(--ink);font-size:15.5px}

/* Quotes (rendered by [vsa_testimonials]) */
.vsa2 .vsa-quotes{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:start}
.vsa2 .vsa-quote{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:32px}
.vsa2 .vsa-quote blockquote{border:0;padding:0;background:none;quotes:none;margin:0 0 20px;font:400 20px/1.5 var(--serif);color:var(--ink)}
.vsa2 .vsa-quote blockquote p{margin:0}
.vsa2 .vsa-quote blockquote::before{content:"\201C";display:block;font:500 56px/0.6 var(--serif);color:var(--brass);margin-bottom:12px}
.vsa2 .vsa-quote figcaption{border-top:1px solid var(--line-2);padding-top:14px}
.vsa2 .vsa-quote-name{display:block;font-weight:600;color:var(--ink)}
.vsa2 .vsa-quote-role{display:block;font-size:14px;color:var(--muted)}

/* FAQ (accordion pattern adapted from dementiainhome.com; answers stay in the HTML for search and AI) */
.vsa2 .faq-head{text-align:center;max-width:720px;margin:0 auto 48px}
.vsa2 .faq-head .lede{margin:0 auto}
.vsa2 .faq-list{max-width:860px;margin:0 auto;display:grid;gap:12px}
.vsa2 .faq-item{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.vsa2 .faq-item[open]{border-color:var(--brass);box-shadow:0 2px 10px rgba(16,28,54,.06)}
.vsa2 .faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;font-weight:600;color:var(--ink);font-size:16.5px;line-height:1.4}
.vsa2 .faq-item summary::-webkit-details-marker{display:none}
.vsa2 .faq-item summary:hover{background:#FBF9F3}
.vsa2 .faq-item summary h3{font:inherit;color:inherit;margin:0;letter-spacing:0}
.vsa2 .faq-icon{flex:0 0 32px;height:32px;border-radius:50%;background:var(--paper-2);color:var(--ink);display:flex;align-items:center;justify-content:center;font:600 20px/1 var(--sans);transition:background .2s,color .2s}
.vsa2 .faq-icon::before{content:"+"}
.vsa2 .faq-item[open] .faq-icon{background:var(--ink);color:var(--on-ink)}
.vsa2 .faq-item[open] .faq-icon::before{content:"\2212"}
.vsa2 .faq-a{padding:16px 24px 22px;border-top:1px solid var(--line-2);color:var(--muted);font-size:16px}
.vsa2 .faq-a p:last-child{margin:0}
.vsa2 .faq-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:40px}
.vsa2 .faq-cta .btn-quiet{color:var(--ink);border-color:var(--line)}
.vsa2 .faq-cta .btn-quiet:hover{border-color:var(--brass);color:var(--brass-ink)}

/* Plain Q&A list (inner pages; the accordion style is reserved for the homepage) */
.vsa2 .qa{max-width:860px;border-top:2px solid var(--ink)}
.vsa2 .qa-item{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;padding:26px 0;border-bottom:1px solid var(--line)}
.vsa2 .qa-item h3{font-size:20px;margin:0}
.vsa2 .qa-a{color:var(--muted)}
.vsa2 .qa-a p:last-child{margin:0}
@media (max-width:820px){.vsa2 .qa-item{grid-template-columns:1fr;gap:10px}}

/* Page hero (inner pages) */
.vsa2 .phero{background-color:var(--ink);color:var(--on-ink-muted);padding:72px 0 64px}
.vsa2 .phero h1{color:var(--on-ink);font-size:clamp(34px,4.6vw,56px);max-width:860px}
.vsa2 .phero .lede{color:var(--on-ink-muted);max-width:700px}
.vsa2 .phero .kicker{color:var(--brass-2)}
.vsa2 .crumbs{font-size:14px;margin-bottom:28px;color:var(--on-ink-muted)}
.vsa2 .crumbs a{color:var(--on-ink-muted);text-decoration:none}
.vsa2 .crumbs a:hover{color:var(--on-ink);text-decoration:underline}
.vsa2 .crumbs span[aria-hidden]{margin:0 8px;opacity:.6}

/* Inner hero split: headline left, direct answer card right */
.vsa2 .phero{padding:80px 0 72px;overflow:hidden}
.vsa2 .phero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:64px;align-items:center}
.vsa2 .phero-aside{position:relative}
.vsa2 .phero-aside .answer{position:relative;z-index:1;max-width:none;border:0;box-shadow:0 1px 0 rgba(16,28,54,.06)}
.vsa2 .phero-aside .answer p{font-size:17px}
.vsa2 .phero-aside .answer .kicker{color:var(--brass-ink)}
@media (max-width:1024px){
  .vsa2 .phero-grid{grid-template-columns:1fr;gap:40px}
}

/* Answer box (direct answer at top of service pages, for readers and AI summaries) */
.vsa2 .answer{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px 28px;max-width:860px}
.vsa2 .answer p{margin:0;font-size:18px;color:var(--text)}
.vsa2 .answer .kicker{margin-bottom:8px}

/* Prose (long-form content on inner pages and legal pages) */
.vsa2 .prose{max-width:760px}
.vsa2 .prose h2{font-size:clamp(26px,2.8vw,34px);margin-top:1.6em}
.vsa2 .prose h3{margin-top:1.4em}
.vsa2 .prose li{margin-bottom:.5em}
.vsa2 .prose .callout{background:var(--paper-2);border-radius:var(--r);padding:20px 24px;margin:24px 0}
.vsa2 .todo{background:#FFF3C4;color:#5A4300;padding:1px 6px;border-radius:3px;font-weight:600}

/* Grid helpers */
.vsa2 .g2>*,.vsa2 .g3>*,.vsa2 .split>*,.vsa2 .sec-head-split>*,.vsa2 .contact-grid>*,.vsa2 .hero-grid>*{min-width:0}
.vsa2 .g2{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.vsa2 .g3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.vsa2 .panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.vsa2 .panel h3{margin-bottom:8px}
.vsa2 .panel p:last-child{margin:0}
.vsa2 .list-plain{list-style:none;padding:0;margin:0}
.vsa2 .list-plain li{padding:12px 0;border-top:1px solid var(--line-2)}
.vsa2 .list-plain li:first-child{border-top:0}

/* Contact / form block */
.vsa2 .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.vsa2 .form-card{background:var(--card);border-radius:var(--r);padding:32px;color:var(--text)}
.vsa2 .form-card .wpforms-container{margin:0!important}
.vsa2 .form-card .wpforms-field-label{font-weight:600!important;color:var(--ink)!important;font-size:15px!important}
.vsa2 .form-card input[type=text],.vsa2 .form-card input[type=email],.vsa2 .form-card input[type=tel],.vsa2 .form-card textarea,.vsa2 .form-card select{border:1px solid #9AA3B5!important;border-radius:4px!important;color:var(--text)!important;background:#fff!important;font-size:16px!important}
.vsa2 .form-card button[type=submit]{background:var(--brass-ink)!important;color:#fff!important;border:0!important;border-radius:var(--r)!important;padding:14px 22px!important;font-weight:600!important;font-size:16px!important}
.vsa2 .form-card button[type=submit]:hover{background:var(--brass-ink)!important}
.vsa2 .contact-lines{list-style:none;padding:0;margin:28px 0 0}
.vsa2 .contact-lines li{padding:12px 0;border-top:1px solid rgba(245,242,233,.14)}
.vsa2 .contact-lines span{display:block;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-2);font-weight:600}

/* Footer */
.vsa2 .site-ft{background:#0B1429;border-top:3px solid var(--brass);color:var(--on-ink-muted);font-size:15px}
.vsa2 .site-ft a{color:var(--on-ink-muted);text-decoration:none}
.vsa2 .site-ft a:hover{color:var(--on-ink);text-decoration:underline;text-underline-offset:3px}
.vsa2 .ft-grid{display:grid;grid-template-columns:1.6fr 1.15fr 1.25fr .8fr 1.2fr;gap:40px;padding-top:72px;padding-bottom:56px}
.vsa2 .ft-brand .brand{margin-bottom:18px}
.vsa2 .ft-brand p{max-width:310px;margin-bottom:20px}
.vsa2 .ft-badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 22px;padding:0}
.vsa2 .ft-badges li{border:1px solid rgba(245,242,233,.18);border-radius:4px;padding:5px 10px;font-size:12.5px;color:var(--on-ink)}
.vsa2 .ft-social{display:flex;gap:10px}
.vsa2 .ft-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(245,242,233,.22);border-radius:6px;color:var(--on-ink)}
.vsa2 .ft-social a:hover{border-color:var(--brass-2);color:var(--brass-2);text-decoration:none}
.vsa2 .ft-social svg{width:18px;height:18px;fill:currentColor}
.vsa2 .site-ft h2{font:600 13px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--brass-2);margin:6px 0 18px}
.vsa2 .ft-links{list-style:none;margin:0;padding:0}
.vsa2 .ft-links li{margin-bottom:11px;line-height:1.4}
.vsa2 .ft-contact dl{margin:0}
.vsa2 .ft-contact dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--brass-2)}
.vsa2 .ft-contact dd{margin:3px 0 16px;color:var(--on-ink)}
.vsa2 .ft-contact dd a{color:var(--on-ink)}
.vsa2 .ft-bottom{border-top:1px solid rgba(245,242,233,.12)}
.vsa2 .ft-bottom .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-top:22px;padding-bottom:28px;font-size:13.5px}
.vsa2 .ft-bottom p{margin:0}
.vsa2 .ft-linkbtn{background:none;border:0;padding:0;text-transform:none;letter-spacing:0;font:inherit;color:var(--on-ink-muted);cursor:pointer}
.vsa2 .ft-linkbtn:hover{color:var(--on-ink);text-decoration:underline;text-underline-offset:3px}
.vsa2 .ft-legal{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;margin:0;padding:0}

/* Responsive */
@media (max-width:1024px){
  .vsa2 .hero-grid,.vsa2 .split,.vsa2 .contact-grid{grid-template-columns:1fr;gap:48px}
  .vsa2 .facts{grid-template-columns:1fr 1fr}
  .vsa2 .facts li:nth-child(3){padding-left:0;border-left:0}
  .vsa2 .facts li:nth-child(n+3){border-top:1px solid rgba(245,242,233,.14)}
  .vsa2 .ft-grid{grid-template-columns:1fr 1fr 1fr}
  .vsa2 .ft-brand{grid-column:1/-1}
  .vsa2 .clocks{grid-template-columns:1fr 1fr}
  .vsa2 .clocks>div:nth-child(3){border-left:0}
  .vsa2 .clocks>div:nth-child(n+3){border-top:1px solid rgba(245,242,233,.16)}
  .vsa2 .vsa-quotes{grid-template-columns:1fr}
}
@media (max-width:820px){
  .vsa2{font-size:16.5px}
  .vsa2 .sec{padding:68px 0}
  .vsa2 .sec-head-split,.vsa2 .g2,.vsa2 .g3,.vsa2 .duo{grid-template-columns:1fr;gap:28px}
  .vsa2 .duo>div+div{border-left:0;border-top:1px solid var(--line)}
  .vsa2 .svc-groups,.vsa2 .steps{grid-template-columns:1fr}
  .vsa2 .svc-group,.vsa2 .svc-group+.svc-group{padding:24px 0 0;border-left:0}
  .vsa2 .svc-group+.svc-group{border-top:1px solid var(--line);margin-top:16px}
  .vsa2 .steps>li,.vsa2 .steps>li+li{padding:0 0 28px;border-left:0}
  .vsa2 .steps>li+li{padding-top:28px;border-top:1px solid var(--line)}
  .vsa2 .sec-ink .steps>li+li{border-color:rgba(245,242,233,.14)}
}
@media (max-width:600px){
  .vsa2 .wrap{padding:0 16px}
  .vsa2 .site-hd .brand{font-size:17px;gap:10px}
  .vsa2 .site-hd .brand small{display:none}
  .vsa2 .site-hd .brand img{width:34px;height:34px}
  .vsa2 h1{font-size:clamp(34px,9vw,44px)}
  .vsa2 .hero{padding-top:56px}
  .vsa2 .facts{grid-template-columns:1fr}
  .vsa2 .facts li,.vsa2 .facts li+li{padding:16px 0;border-left:0}
  .vsa2 .facts li+li{border-top:1px solid rgba(245,242,233,.14)}
  .vsa2 .clocks{grid-template-columns:1fr}
  .vsa2 .clocks>div+div{border-left:0;border-top:1px solid rgba(245,242,233,.16)}
  .vsa2 .ft-grid{grid-template-columns:1fr 1fr;gap:32px 20px}
  .vsa2 .ft-contact{grid-column:1/-1}
  .vsa2 .desk td{padding:10px 14px}
  .vsa2 .faq-item summary{padding:16px 18px}
  .vsa2 .faq-a{padding:14px 18px 18px}
  .vsa2 .form-card{padding:22px}
}
@media (prefers-reduced-motion:reduce){.vsa2 *{transition:none!important}}

/* Global header/footer on Astra templates (blog, posts, archives, 404) */
body.vsa-global #masthead,body.vsa-global .vfoot,body.vsa-global #colophon,body.vsa-global .site-footer,body.vsa-global .vsa>style#vfoot-linkfix{display:none!important}
body.vsa-global{background:#F6F3EA}
body.vsa-global .site-content,body.vsa-global .ast-container{font-family:'IBM Plex Sans',system-ui,sans-serif}
body.vsa-global .entry-title,body.vsa-global .entry-content h1,body.vsa-global .entry-content h2,body.vsa-global .entry-content h3,body.vsa-global .page-title{font-family:'Newsreader',Georgia,serif!important;font-weight:500!important;color:#101C36!important;letter-spacing:-.01em}
body.vsa-global .entry-content{font-size:17.5px;line-height:1.7;color:#18223A}
body.vsa-global .entry-content a{color:#101C36;text-decoration:underline;text-decoration-color:#A9782F;text-underline-offset:3px}
body.vsa-global .ast-article-post,body.vsa-global .ast-article-single{background:#fff;border:1px solid #D9D2BF;border-radius:6px}
body.vsa-global .vsa-related{margin:40px 0 0;padding:24px 28px;background:#F6F3EA;border:1px solid #D9D2BF;border-radius:6px}
body.vsa-global .vsa-related p{margin:0 0 10px}
body.vsa-global .vsa-related ul{margin:0 0 12px 1.1em}
/* Long-form posts (Astra single template) */
body.vsa-global.single-post .entry-content{max-width:740px;margin-left:auto;margin-right:auto}
body.vsa-global .entry-content h2{font-size:clamp(26px,2.6vw,32px)!important;margin:1.8em 0 .5em;line-height:1.2}
body.vsa-global .entry-content h3{font-size:21px!important;margin:1.5em 0 .4em;line-height:1.3}
body.vsa-global .entry-content p,body.vsa-global .entry-content li{font-size:17.5px;line-height:1.7}
body.vsa-global .entry-content ul,body.vsa-global .entry-content ol{margin:0 0 1.2em 1.2em}
body.vsa-global .entry-content li{margin-bottom:.45em}
body.vsa-global .entry-content table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:15.5px;background:#fff;border:1px solid #D9D2BF;display:block;overflow-x:auto}
body.vsa-global .entry-content th,body.vsa-global .entry-content td{padding:12px 14px;border-bottom:1px solid #E8E2D2;text-align:left;vertical-align:top}
body.vsa-global .entry-content thead th{background:#FBF9F3;color:#101C36;font-weight:600}
body.vsa-global .entry-content blockquote{margin:1.5em 0;padding:22px 26px;background:#F6F3EA;border:1px solid #D9D2BF;border-radius:6px;font-style:normal;color:#18223A}
body.vsa-global .entry-content blockquote p{font-size:16.5px}
body.vsa-global .entry-content strong{color:#101C36}
@media (max-width:600px){body.vsa-global .entry-content p,body.vsa-global .entry-content li{font-size:16.5px}}

/* Homepage FAQ, pattern adapted from capitalgainstaxexpert.co.uk: open list + dark help card */
.vsa2 .pill{display:inline-block;font:600 12.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:8px 14px;margin-bottom:16px}
.vsa2 .faq-title{margin-bottom:40px}
.vsa2 .faq-title em{font-style:italic;color:var(--brass)}
.vsa2 .cfaq{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:56px;align-items:start}
.vsa2 .cfaq-list{border-top:1px solid var(--line)}
.vsa2 .cfaq-item{border-bottom:1px solid var(--line)}
.vsa2 .cfaq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}
.vsa2 .cfaq-item summary::-webkit-details-marker{display:none}
.vsa2 .cfaq-item summary h3{font:600 17px/1.4 var(--sans);color:var(--ink);margin:0;letter-spacing:0}
.vsa2 .cfaq-item summary:hover h3{color:var(--brass-ink)}
.vsa2 .cfaq-icon{flex:0 0 28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font:500 18px/1 var(--sans)}
.vsa2 .cfaq-icon::before{content:"+"}
.vsa2 .cfaq-item[open] .cfaq-icon::before{content:"\00D7"}
.vsa2 .cfaq-a{padding:0 48px 22px 0;color:var(--muted);font-size:16px}
.vsa2 .cfaq-a p{margin:0}
.vsa2 .cfaq-card{position:sticky;top:96px;background:var(--ink);color:var(--on-ink-muted);border-radius:12px;padding:36px 32px;text-align:center}
.vsa2 .cfaq-card h3{color:var(--on-ink);font-size:24px;margin-bottom:10px}
.vsa2 .cfaq-card p{font-size:15px;margin-bottom:24px}
.vsa2 .cfaq-card .btn{display:flex;justify-content:center;width:100%;margin-bottom:12px}
.vsa2 .cfaq-card .btn-primary{background:var(--brass-2);color:var(--ink)}
.vsa2 .cfaq-card .btn-primary:hover{background:#E3BA70;color:var(--ink)}
.vsa2 .cfaq-card .btn-quiet{color:var(--on-ink);border-color:rgba(245,242,233,.3)}
.vsa2 .cfaq-card .btn-quiet:hover{border-color:var(--brass-2);color:var(--brass-2)}
.vsa2 .cfaq-card ul{list-style:none;margin:18px 0 0;padding:0;font-size:13.5px}
.vsa2 .cfaq-card li{padding:4px 0}
.vsa2 .cfaq-foot{text-align:center;color:var(--muted);margin:40px auto 0;max-width:560px}
@media (max-width:900px){.vsa2 .cfaq{grid-template-columns:1fr;gap:32px}.vsa2 .cfaq-card{position:static}.vsa2 .cfaq-a{padding-right:0}}

/* Sidebar CTA widget (inline-styled block in wp-admin): lift contrast to WCAG AA */
body.vsa-global #block-7 p:first-child{color:#E3C285!important;font-family:'IBM Plex Sans',sans-serif!important}
body.vsa-global #block-7 a{background:#D1A458!important;color:#101C36!important}
/* Legacy inline-styled blocks (old CTA widgets): gold-on-navy labels lifted to WCAG AA */
body.vsa-global p[style*="IBM Plex Mono"]{color:#E3C285!important;font-family:'IBM Plex Sans',sans-serif!important}
body.vsa-global a[style*="background:#A9782F"],body.vsa-global a[style*="background: #A9782F"]{background:#D1A458!important;color:#101C36!important}
