/* Valuo Direct: homepage hero, calculator, report cards, order steps, FAQ, sticky button. Loaded after vg.css and
   uses its tokens. White and light grey only (no cream panels), navy actions, brand blue for focus and accents. */
:root{--grey:#f4f6f8;--grey-2:#e9edf1;--ok:#1f6b4a;--ok-soft:#e8f3ee;--warn:#8a5a00;--warn-soft:#fdf4e3;--radius:10px}
.vd-tone-grey{background:var(--grey)}
.is-direct .tone-paper{background:var(--grey)}

/* ---------- hero (option A, owner pick 30 Oct 2026): full-width harbour photo, navy shade, fee panel ---------- */
.vd-hero{position:relative;color:#fff;overflow:hidden;min-height:min(78vh,720px);display:flex;align-items:center;padding:72px 0 80px;background:#0f1b2d}
.vd-hero-media,.vd-hero-shade{position:absolute;inset:0}
.vd-hero-media img{width:100%;height:100%;object-fit:cover;object-position:60% 55%;filter:brightness(1.12) saturate(1.08)}
.vd-hero-shade{background:linear-gradient(90deg,rgba(10,20,38,.86) 0%,rgba(10,20,38,.66) 40%,rgba(10,20,38,.18) 72%,rgba(10,20,38,.05) 100%)}
.vd-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:center}
.vd-hero h1{color:#fff;font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:1.02}
.vd-hero-body{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.6;color:rgba(255,255,255,.86);max-width:31em;margin:24px 0 30px}
.vd-hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.vd-hero-btn{background:#fff;color:#0f1b2d;padding:17px 24px;border-radius:4px}
.vd-hero-btn:hover{background:#e8eefb}
.vd-hero-link{color:#fff;font-size:14.5px;font-weight:500;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px}
.vd-hero-link:hover{border-color:#fff}
.vd-reassure{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;margin:26px 0 0;font-size:14.5px;color:rgba(255,255,255,.82)}
.vd-reassure li{display:flex;align-items:center;gap:8px}
.vd-reassure svg{width:15px;height:15px;color:#7fb0ff}
.vd-fee-card{background:rgba(255,255,255,.97);color:var(--ink);border-radius:12px;padding:28px 28px 24px;box-shadow:0 30px 60px rgba(0,0,0,.28)}
.vd-fee-card-label{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.vd-fee-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.vd-fee-name{font:600 15.5px/1.3 var(--sans);margin:0}
.vd-fee-sub{font-size:13px;color:var(--muted);margin:2px 0 0}
.vd-fee-amt{font:600 1.7rem/1 var(--sans);color:var(--valuo-navy);margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.vd-fee-amt span{font-size:.45em;font-weight:500;color:var(--muted)}
.vd-fee-note{font-size:13px;color:var(--muted);margin:14px 0}
.vd-fee-link{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;color:var(--valuo-navy);text-decoration:none}
.vd-group{background:#0f1b2d;color:#fff;padding:22px 0}
.vd-group-row{display:flex;align-items:center;gap:36px}
.vd-group p{margin:0;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62);max-width:13em;line-height:1.5;flex:none}
.vd-logos{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:18px 44px}
.vd-logos a{display:block;opacity:.82;transition:opacity .2s}
.vd-logos a:hover{opacity:1}
.vd-logos img{height:28px;width:auto}
@media (max-width:960px){.vd-hero{min-height:0;padding:48px 0 40px}.vd-hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}.vd-hero-shade{background:linear-gradient(180deg,rgba(10,20,38,.88),rgba(10,20,38,.8))}.vd-group-row{flex-direction:column;align-items:flex-start;gap:16px}.vd-logos img{height:18px}}
@media (max-width:640px){.vd-hero h1{font-size:2.5rem}.vd-hero-btn{width:100%;justify-content:center}.vd-fee-card{padding:22px 20px}.vd-fee-amt{font-size:1.45rem}}

/* ---------- calculator ---------- */
.vd-calc{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.vd-calc-inputs{display:grid;gap:28px}
.vd-field{border:0;margin:0;padding:0;min-width:0}
.vd-field legend{padding:0;margin-bottom:14px}
.vd-q{font:600 17px/1.35 var(--sans);letter-spacing:0;color:var(--ink)}
.vd-choices{display:grid;gap:10px}
.vd-choices-bands{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.vd-choices-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.vd-choices-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.vd-choice{position:relative;display:block;cursor:pointer}
.vd-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.vd-choice>span{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:56px;padding:14px 16px 14px 44px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;font-size:15px;line-height:1.35;transition:border-color .2s,background-color .2s,box-shadow .2s}
.vd-choice>span::before{content:"";position:absolute;left:16px;top:50%;width:18px;height:18px;margin-top:-9px;border:1.5px solid var(--line-strong);border-radius:50%;background:#fff;transition:border-color .2s,box-shadow .2s}
.vd-choice:hover>span{border-color:var(--valuo-navy)}
.vd-choice input:checked+span{border-color:var(--valuo-navy);background:#f2f5fb;box-shadow:0 0 0 1px var(--valuo-navy)}
.vd-choice input:checked+span::before{border-color:var(--valuo-navy);box-shadow:inset 0 0 0 4px #fff;background:var(--valuo-navy)}
.vd-choice input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.vd-choice-product strong{font-weight:600;font-size:15.5px}
.vd-choice-product em{font-style:normal;color:var(--muted);font-size:13.5px}
.vd-help{font-size:14px;color:var(--muted);margin:12px 0 0}
.vd-help a{color:var(--valuo-navy)}
.vd-calc-result{position:sticky;top:calc(var(--header-h) + 20px);background:var(--valuo-navy);color:#fff;border-radius:var(--radius);padding:clamp(22px,3vw,32px)}
.vd-result-label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.72);margin:0 0 10px}
.vd-result-price{font:600 clamp(2.4rem,4vw,3.2rem)/1 var(--sans);letter-spacing:-.02em;margin:0 0 8px;font-variant-numeric:tabular-nums}
.vd-result-price span{font-size:.42em;font-weight:500;letter-spacing:0;color:rgba(255,255,255,.8)}
.vd-result-gst,.vd-result-product{font-size:14.5px;color:rgba(255,255,255,.82);margin:0 0 4px}
.vd-result-note{font-size:13.5px;color:rgba(255,255,255,.72);margin:16px 0 20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.18)}
.vd-result-cta{width:100%;justify-content:center;background:#fff;color:var(--valuo-navy);font-size:15px;padding:17px 22px;border-radius:6px}
.vd-result-cta:hover{background:#e9eefc}
.vd-result-small{font-size:12.5px;color:rgba(255,255,255,.66);margin:12px 0 0}
.vd-section-price{padding-top:clamp(56px,7vw,96px)}

/* ---------- report cards ---------- */
.vd-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.vd-product{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column}
.vd-product-pvr{border-color:var(--valuo-navy);box-shadow:0 0 0 1px var(--valuo-navy)}
.vd-product-specialist{background:transparent;border-style:dashed}
.vd-product-tag{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--brand);margin:0 0 12px}
.vd-product-name{font-size:1.6rem;margin-bottom:10px}
.vd-product-price{font-size:15px;color:var(--muted);margin:0 0 14px}
.vd-product-price strong{font:600 1.35rem/1.2 var(--sans);color:var(--valuo-navy)}
.vd-product-summary{font-size:15px;color:#28333d}
.vd-list-title{font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px}
.vd-list{list-style:none;display:grid;gap:7px;font-size:14.5px;line-height:1.45}
.vd-list li{display:flex;gap:10px;align-items:flex-start}
.vd-tick,.vd-cross{width:16px;height:16px;flex:none;margin-top:2px;color:var(--ok)}
.vd-cross{color:var(--muted-2)}
.vd-list-muted{color:var(--muted)}
.vd-product-cta{margin-top:auto;justify-content:center}
.vd-product .vd-list:last-of-type{margin-bottom:24px}
.vd-product-specialist .text-link{margin-top:auto;align-self:flex-start}

/* ---------- steps, cards, status ---------- */
.vd-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:none}
.vd-steps li{border-top:2px solid var(--valuo-navy);padding-top:20px}
.vd-step-n{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--valuo-navy);color:#fff;font:600 14px/1 var(--sans);margin-bottom:14px}
.vd-steps h3{font-size:1.3rem;margin-bottom:8px}
.vd-steps p{font-size:15px;color:var(--muted)}
.vd-cards{list-style:none;display:grid;gap:16px}
.vd-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vd-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.vd-cards li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.vd-cards-plain li{background:transparent;border:0;border-top:1px solid var(--line-strong);border-radius:0;padding:18px 0 0}
.vd-cards h3{font-size:1.25rem;margin-bottom:8px}
.vd-cards p{font-size:15px;color:var(--muted);margin:0}
.vd-card-tag{margin-top:12px!important;font-size:12px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)!important}
.vd-status{list-style:none;display:flex;flex-wrap:wrap;gap:10px;counter-reset:st}
.vd-status li{counter-increment:st;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px 9px 12px;font-size:14px;display:flex;gap:8px;align-items:center}
.vd-status li::before{content:counter(st);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--grey-2);font-size:12px;font-weight:600}

/* ---------- fee table ---------- */
.vd-table-wrap{overflow-x:auto}
.vd-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;font-variant-numeric:tabular-nums}
.vd-table th,.vd-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.vd-table thead th{font:600 13px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#fff}
.vd-table tbody th{font-weight:500;font-size:15px}
.vd-table td strong{display:block;font:600 1.15rem/1.3 var(--sans);color:var(--valuo-navy)}
.vd-table td span{font-size:13px;color:var(--muted)}
.vd-table-note{font-size:13.5px;color:var(--muted);margin-top:14px;max-width:60em}

/* ---------- FAQ ---------- */
.vd-faqs{border-top:1px solid var(--line-strong)}
.vd-faq{border-bottom:1px solid var(--line-strong)}
.vd-faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;cursor:pointer}
.vd-faq summary::-webkit-details-marker{display:none}
.vd-faq summary h3{font:500 16.5px/1.4 var(--sans)}
.vd-faq-mark{position:relative;width:14px;height:14px;flex:none}
.vd-faq-mark::before,.vd-faq-mark::after{content:"";position:absolute;left:0;top:6px;width:14px;height:1.6px;background:var(--ink);transition:transform .25s}
.vd-faq-mark::after{transform:rotate(90deg)}
.vd-faq[open] .vd-faq-mark::after{transform:rotate(0)}
.vd-faq-a p{color:var(--muted);font-size:15.5px;max-width:42em;padding-bottom:20px;margin:0}

/* ---------- /start/ ---------- */
.vd-start-hero{padding-bottom:clamp(28px,4vw,48px)}
.vd-start-hero h1{font-size:clamp(2.1rem,4vw,3.2rem);max-width:16em}
.vd-start{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(24px,4vw,56px);align-items:start}
.vd-progress{grid-column:1/-1;list-style:none;display:flex;gap:8px;counter-reset:pg;margin-bottom:8px}
.vd-progress li{counter-increment:pg;flex:1;font-size:13px;color:var(--muted);padding-top:10px;border-top:3px solid var(--grey-2)}
.vd-progress li::before{content:counter(pg) ". "}
.vd-progress li.is-done,.vd-progress li[aria-current]{border-top-color:var(--valuo-navy);color:var(--ink)}
.vd-progress li[aria-current]{font-weight:600}
.vd-order{min-width:0}
.vd-step-title{font-size:clamp(1.6rem,2.4vw,2rem);margin-bottom:8px;outline:none}
.vd-step-lead{color:var(--muted);margin-bottom:24px}
.vd-step .vd-calc{grid-template-columns:minmax(0,1fr);margin-top:20px}
.vd-step .vd-calc-result{position:static}
.vd-question{padding:20px 0;border-top:1px solid var(--line)}
.vd-question.is-missing .vd-q::after{content:" Please choose an answer.";color:#b3261e;font-weight:500;font-size:14px}
.vd-outcome{border-radius:var(--radius);padding:20px 22px;margin:8px 0 4px;border:1px solid var(--line)}
.vd-outcome p{margin:0 0 10px;font-size:15px}
.vd-outcome ul{margin:0 0 12px 1.1em;font-size:15px;color:#28333d}
.vd-outcome-title{font-weight:600;font-size:16.5px!important}
.vd-outcome-eligible{background:var(--ok-soft);border-color:#b9dccb}
.vd-outcome-review,.vd-outcome-upgrade{background:var(--warn-soft);border-color:#efd9a8}
.vd-outcome-specialist{background:#eef3fd;border-color:#c9d7f6}
.vd-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.vd-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.vd-input{display:grid;gap:6px;font-size:14px;font-weight:500}
.vd-input em{font-style:normal;color:var(--muted);font-weight:400}
.vd-input-wide{margin-top:16px}
.vd-input input,.vd-input select,.vd-input textarea{font:400 16px/1.4 var(--sans);padding:13px 14px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);width:100%;min-height:50px}
.vd-input input:focus,.vd-input select:focus,.vd-input textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:transparent}
.vd-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.vd-dl{display:grid;gap:0;margin:0 0 16px;border-top:1px solid var(--line)}
.vd-dl div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.vd-dl dt{color:var(--muted);font-size:14px}
.vd-dl dd{margin:0;font-weight:500}
.vd-dl-sm div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.vd-dl-sm dd{font-weight:400;font-size:14.5px}
.vd-answers summary{cursor:pointer;font-weight:500;margin:4px 0 12px;color:var(--valuo-navy)}
.vd-scope{background:var(--grey);border-radius:var(--radius);padding:20px 22px;margin:18px 0}
.vd-scope h3{font:600 15px/1.4 var(--sans);margin-bottom:10px}
.vd-scope ul{margin:0 0 12px 1.1em;font-size:14.5px;display:grid;gap:5px}
.vd-scope p{font-size:14px;color:var(--muted);margin:0}
.vd-check{display:flex;gap:12px;align-items:flex-start;font-size:15px;cursor:pointer}
.vd-check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--valuo-navy)}
.vd-summary{position:sticky;top:calc(var(--header-h) + 20px);background:var(--grey);border-radius:var(--radius);padding:22px}
.vd-summary .vd-result-label{color:var(--muted)}
.vd-summary-price{font:600 2rem/1.1 var(--sans);color:var(--valuo-navy);margin:0 0 6px;font-variant-numeric:tabular-nums}
.vd-summary-price span{font-size:.5em;font-weight:500;color:var(--muted)}
.vd-summary-line,.vd-summary-note{font-size:14px;color:var(--muted);margin:0 0 6px}
.vd-done{grid-column:1/-1;outline:none}
.vd-done h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:12px}
.vd-done h3{font:600 13px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:32px 0 18px}
.vd-done [data-ref]{color:var(--valuo-navy);white-space:nowrap}

/* ---------- phone sticky bar: Get my price + Call now (shown after the hero button scrolls away) ---------- */
.vd-sticky{display:none}
/* Conversion kit (7 Nov 2026): the bottom bar under 1024px on every page, always shown (hidden only while a field has
   focus or the menu is open). The footer is extended by the bar's height so it never covers the footer or a button. */
@media (max-width:1023px){
  .vg-footer::after{content:'';display:block;height:calc(76px + env(safe-area-inset-bottom))}
  .vd-sticky{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(15,28,39,.08);transform:translateY(110%);transition:transform .25s var(--ease)}
  .vd-sticky.is-shown{transform:none}
  .vd-sticky .btn{justify-content:center;padding:15px 8px;border-radius:10px;font-size:15px;white-space:nowrap;min-width:0}
  .vd-sticky .btn-dark{background:var(--valuo-navy)}
  .vd-sticky-call{border:1px solid var(--line-strong);color:var(--valuo-navy);background:#fff;gap:8px}
  .vd-sticky-call .vd-ic{width:18px;height:18px;flex:none}
  body.vm-open .vd-sticky{display:none}
}
@media (max-width:359px){.vd-sticky .btn{font-size:14px;padding:14px 6px}.vd-sticky-call .vd-ic{display:none}}
@media (prefers-reduced-motion:reduce){.vd-sticky{transition:none}}

/* ---------- responsive ---------- */
@media (max-width:1100px){.vd-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.vd-products{grid-template-columns:repeat(2,minmax(0,1fr))}.vd-product-specialist{grid-column:1/-1}}
@media (max-width:960px){
  .vd-calc{grid-template-columns:minmax(0,1fr)}
  .vd-calc-result{position:static}
  .vd-cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vd-start{grid-template-columns:minmax(0,1fr)}
  .vd-summary{display:none}
}
@media (max-width:640px){
  .vd-choices-bands,.vd-choices-2,.vd-choices-list,.vd-products,.vd-cards-3,.vd-cards-2,.vd-steps,.vd-grid-2{grid-template-columns:minmax(0,1fr)}
  .vd-product-specialist{grid-column:auto}
  .vd-choice>span{min-height:54px}
  .vd-result-price{font-size:2.6rem}
  .vd-dl div{grid-template-columns:minmax(0,1fr);gap:2px}
  .vd-nav .btn{flex:1;justify-content:center}
  .vd-progress li{font-size:0}
  .vd-progress li::before{font-size:13px}
  .vd-progress li[aria-current]{font-size:13px}
  .vd-table th,.vd-table td{padding:12px}
}

/* ---------- phone (owner, 30 Oct 2026: Oliver Group pattern with Valuo branding, then "space it out and make it
   sophisticated, including the menu"). Below 768px only; desktop is unchanged. Rules of the phone design: 24px side
   margins, generous section spacing, hairlines instead of boxes, one accent colour (Valuo navy), serif headings. ---------- */
.vd-ic{width:22px;height:22px;flex:none}
.vd-chev{width:16px;height:16px;flex:none;color:var(--muted-2)}
.vd-m-only,.vd-m-only-inline,.vg-header-phone,.vd-short,.vd-incl-link{display:none}
@media (max-width:767px){
  :root{--gutter:24px}
  .vd-m-hide{display:none!important}
  .vd-m-only{display:block}
  .vd-m-only-inline{display:inline-flex}
  .is-home{font-size:16px}

  /* header */
  .vg-header{background:#fff}
  .vg-header-phone{display:inline-flex;align-items:center;gap:7px;margin-left:auto;font:500 14px/1 var(--sans);letter-spacing:.01em;color:var(--valuo-navy);text-decoration:none;white-space:nowrap}
  .vg-header-phone .vd-ic{width:16px;height:16px}
  .vg-header-row{gap:0}
  .vg-menu{margin-left:22px}
  .vg-menu-label{display:none}

  /* first screen */
  .vd-m-hero{padding:40px 0 52px;background:linear-gradient(180deg,#fff 0%,#f6f7f9 100%)}
  .vd-m-eyebrow{font:500 11px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--brand);margin:0 0 20px}
  .vd-m-title{font:400 2.75rem/1.03 var(--serif);letter-spacing:-.025em;color:var(--ink);margin:0 0 20px}
  .vd-m-body{font-size:16.5px;line-height:1.6;color:var(--muted);margin:0 0 28px;max-width:22em}
  .vd-m-price{font-size:14.5px;color:var(--muted);margin:0 0 22px;display:flex;align-items:baseline;gap:8px}
  .vd-m-price strong{font:400 2.9rem/1 var(--serif);color:var(--valuo-navy);letter-spacing:-.02em}
  .vd-m-cta{width:100%;justify-content:center;padding:19px;font-size:16px;letter-spacing:.01em;border-radius:10px;background:var(--valuo-navy);box-shadow:0 10px 24px -12px rgba(24,44,95,.55)}
  .vd-m-free{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13.5px;color:var(--muted);margin:16px 0 40px}
  .vd-m-dot{width:7px;height:7px;border-radius:50%;background:#1f8a5a;box-shadow:0 0 0 4px #dcefe5}
  .vd-m-icons{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}
  .vd-m-icons li{display:grid;justify-items:center;gap:12px;font-size:12.5px;line-height:1.35;color:var(--muted)}
  .vd-m-icons .vd-ic{width:46px;height:46px;padding:12px;border-radius:50%;background:#fff;color:var(--valuo-navy);box-shadow:0 0 0 1px var(--line)}

  /* section rhythm */
  .is-home .section{padding:72px 0}
  .is-home .section-head{display:block;margin-bottom:36px}
  .is-home .section-head .eyebrow{color:var(--brand);font-size:11px;letter-spacing:.22em;margin-bottom:16px}
  .is-home .section-head h2,.vd-m-h2{font:400 2.05rem/1.1 var(--serif);letter-spacing:-.02em}
  .is-home .section-head-aside p{margin:16px 0 18px;font-size:16px;line-height:1.6;color:var(--muted)}
  .is-home .display-sm{font-size:2.05rem;line-height:1.1}
  .is-home .split{display:block}
  .is-home .split>div:first-child{margin-bottom:32px}

  /* purposes: hairline list, icons in soft circles */
  .vd-m-purposes-wrap{padding:64px 0 56px;background:#fff}
  .vd-m-h2{margin:0 0 12px}
  .vd-m-sub{color:var(--muted);font-size:16px;margin:0 0 24px}
  .vd-purposes{list-style:none;border-top:1px solid var(--line)}
  .vd-purposes li{border-bottom:1px solid var(--line)}
  .vd-purposes a{display:flex;align-items:center;gap:16px;padding:20px 0;text-decoration:none;color:var(--ink)}
  .vd-purposes .vd-ic{width:44px;height:44px;padding:11px;border-radius:50%;background:#eef2f9;color:var(--valuo-navy)}
  .vd-purposes span{flex:1;display:grid;gap:4px}
  .vd-purposes strong{font:600 16px/1.3 var(--sans)}
  .vd-purposes em{font-style:normal;font-size:14px;line-height:1.5;color:var(--muted)}
  .vd-purposes a:active strong{color:var(--brand)}

  /* calculator: short band labels, two columns, a calm result card */
  .vd-long{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .vd-short{display:inline}
  .vd-calc-inputs{gap:36px}
  .vd-choices-bands{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .vd-choices-bands .vd-choice:last-child{grid-column:1/-1}
  .vd-choice>span{min-height:58px;padding:14px 14px 14px 44px;border-radius:12px;border-color:var(--line-strong);font-size:15px}
  .vd-choices-2{gap:10px}
  .vd-q{font-size:16px;margin-bottom:4px}
  .vd-help{font-size:14px}
  .vd-calc-result{border-radius:16px;padding:28px 24px;margin-top:8px;box-shadow:0 24px 40px -24px rgba(24,44,95,.6)}
  .vd-result-price{font-size:2.7rem}
  .vd-result-cta{border-radius:10px;padding:18px}

  /* report cards: lighter, includes moved to the pricing page */
  .vd-products{gap:16px}
  .vd-product{border-radius:16px;padding:28px 24px;border-color:var(--line)}
  .vd-product-pvr{box-shadow:0 0 0 1.5px var(--valuo-navy)}
  .vd-product-name{font-size:1.65rem}
  .vd-product-price{margin-bottom:16px}
  .vd-product-summary{font-size:15.5px;line-height:1.6;color:var(--muted);margin-bottom:6px}
  .vd-incl{display:none}
  .vd-list-title{margin:20px 0 10px}
  .vd-list{gap:9px;font-size:15px}
  .vd-incl-link{display:inline-block;margin:18px 0 22px;font-size:14.5px;font-weight:500;color:var(--valuo-navy);text-underline-offset:3px}
  .vd-product .vd-list:last-of-type{margin-bottom:0}
  .vd-product-cta{border-radius:10px;padding:16px}

  /* steps: timeline */
  .is-home .vd-steps{gap:0}
  .is-home .vd-steps li{border-top:0;padding:0 0 30px 56px;position:relative}
  .is-home .vd-steps li::before{content:"";position:absolute;left:17px;top:40px;bottom:6px;width:1px;background:var(--line-strong)}
  .is-home .vd-steps li:last-child{padding-bottom:0}
  .is-home .vd-steps li:last-child::before{display:none}
  .is-home .vd-step-n{position:absolute;left:0;top:0;margin:0;width:35px;height:35px;background:#fff;color:var(--valuo-navy);box-shadow:inset 0 0 0 1.5px var(--valuo-navy);font-size:14px}
  .is-home .vd-steps h3{font:600 16.5px/1.35 var(--sans);padding-top:7px;margin-bottom:6px}
  .is-home .vd-steps p{font-size:15px;line-height:1.6}

  /* plain lists (why, standards) */
  .is-home .vd-cards{gap:0}
  .is-home .vd-cards-plain li{padding:22px 0;border-top:1px solid var(--line)}
  .is-home .vd-cards-plain li:last-child{border-bottom:1px solid var(--line)}
  .is-home .vd-cards h3{font:600 16.5px/1.35 var(--sans);margin-bottom:6px}
  .is-home .vd-cards p{font-size:15px;line-height:1.6}

  /* companies: one swipeable row instead of four tall tiles */
  .vd-m-scroller{display:grid!important;grid-auto-flow:column;grid-auto-columns:78%;grid-template-columns:none!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 8px!important;scroll-padding:0 var(--gutter);-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .vd-m-scroller::-webkit-scrollbar{display:none}
  .vd-m-scroller>*{scroll-snap-align:start;min-height:360px;aspect-ratio:auto!important;border-radius:14px;overflow:hidden}

  /* FAQ: hairline list */
  .is-home .vd-faqs{border-top:1px solid var(--line);display:block}
  .is-home .vd-faq{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0}
  .is-home .vd-faq summary{padding:20px 0;gap:24px}
  .is-home .vd-faq summary h3{font:500 16px/1.45 var(--sans)}
  .is-home .vd-faq-a p{font-size:15px;line-height:1.65;padding-bottom:22px}

  /* closing panel: an inset navy card */
  .is-home .cta-band{background:transparent;padding:16px var(--gutter) 64px}
  .is-home .cta-band-inner{background:var(--valuo-navy);border-radius:20px;padding:44px 26px 28px;display:block}
  .is-home .cta-band h2{font-size:2.05rem;line-height:1.1;margin-bottom:12px}
  .is-home .cta-band p{color:rgba(255,255,255,.78)}
  .is-home .cta-band-actions{display:grid;gap:10px;width:100%;margin-top:28px}
  .is-home .cta-band-actions .btn{justify-content:center;padding:18px;border-radius:10px}
  .is-home .cta-band-actions .vd-ic{width:18px;height:18px}
}

/* ---------- menu: a calm full-screen sheet (all widths where the menu is used, up to 1140px) ---------- */
.vg-menu-panel{gap:0;padding:28px var(--gutter) 0;background:#fff}
.vm-price{display:grid;gap:10px;padding:0 0 28px;margin:0 0 8px;border-bottom:1px solid var(--line)}
.vm-from{margin:0 0 6px;font-size:14px;color:var(--muted)}
.vm-from strong{font:400 2.2rem/1 var(--serif);color:var(--valuo-navy);letter-spacing:-.02em}
.vm-price .btn{width:100%;justify-content:center;padding:17px;border-radius:10px;font-size:15.5px;align-self:stretch}
.vm-call{gap:9px;background:#fff;border-color:var(--line-strong)!important;color:var(--valuo-navy)!important}
.vm-call .vd-ic{width:17px;height:17px}
.vm-hours{margin:6px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted-2);text-align:center}
.vm-label{font:500 11px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--brand);margin:28px 0 8px}
.vg-menu-panel .vm-purposes li{border-bottom:1px solid var(--line)}
.vg-menu-panel .vm-purposes li:last-child{border-bottom:0}
.vm-purposes a{display:flex;align-items:center;gap:14px;padding:13px 0;text-decoration:none;color:var(--ink);font:500 16px/1.3 var(--sans)}
.vm-purposes a span{flex:1}
.vm-purposes .vd-ic{width:38px;height:38px;padding:9px;border-radius:50%;background:#eef2f9;color:var(--valuo-navy)}
.vg-menu-panel nav ul{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
.vg-menu-panel nav li{border-bottom:1px solid var(--line)}
.vg-menu-panel nav a{font:400 15px/1.3 var(--sans)!important;padding:13px 0!important;color:var(--ink)!important}
.vg-menu-panel nav a[aria-current]{color:var(--valuo-navy)!important;font-weight:600!important}
.vg-menu-panel nav{margin-bottom:24px}
.vm-mail{display:flex;align-items:center;gap:10px;padding:0 0 14px;text-decoration:none;color:var(--valuo-navy);font-size:14.5px}
.vm-mail .vd-ic{width:17px;height:17px}
.vm-fl{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 28px}
.vm-fl a{display:inline;margin:0;color:var(--valuo-navy);font-weight:500}
.vm-pin{position:sticky;bottom:0;margin:0 calc(-1 * var(--gutter));padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);opacity:0;pointer-events:none;transition:opacity .2s}
.vm-pin.is-shown{opacity:1;pointer-events:auto}
.vm-pin .btn{width:100%;justify-content:center;padding:17px;border-radius:10px}
.vg-header .vm-cta,.vg-header .vm-pin .btn{background:var(--valuo-navy)}
.vg-header .vm-cta:hover,.vg-header .vm-pin .btn:hover{background:var(--ink)}
.vd-notice{grid-column:1/-1;background:var(--warn-soft);border:1px solid #efd9a8;border-radius:12px;padding:16px 18px;margin-bottom:8px}
.vd-notice p{margin:0;font-size:15px}
.vd-portal-line{margin-top:28px;font-size:15px;color:var(--muted)}
.vd-portal-line a{color:var(--valuo-navy);font-weight:500}

/* Conversion kit (7 Nov 2026): "Written fixed-fee quote today" beside the main quote buttons. */
.vd-quote-today{font-size:13px;line-height:1.45;color:var(--muted);margin:10px 0 0}
.vd-calc-result .vd-quote-today{color:rgba(255,255,255,.82);font-weight:500;margin:12px 0 0}
.vd-quote-today-dark{color:rgba(255,255,255,.86);flex-basis:100%;margin:12px 0 0}
.vd-quote-today-m{text-align:center;margin:12px 0 0}
.vd-quote-today-m + .vd-m-free{margin-top:8px}
.vd-quote-today-end{text-align:right}
@media (max-width:640px){.vd-quote-today-end{text-align:left}}

/* Sample report section (10 Nov 2026): three real pages from the public Oliver Group sample. */
.vd-sample{background:var(--navy);color:#fff;padding:96px 0;overflow:hidden}
.vd-sample-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.vd-sample-copy h2{color:#fff;margin:14px 0 18px}
.vd-sample-copy p{color:rgba(255,255,255,.84);font-size:17px;line-height:1.6;margin:0 0 20px;max-width:46ch}
.vd-sample-points{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:10px}
.vd-sample-points li{display:flex;align-items:center;gap:10px;font-size:15.5px;color:#fff}
.vd-sample-points svg{width:16px;height:16px;flex:none;color:var(--brand-on-dark)}
.vd-sample-pages{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.vd-sample-pages li:nth-child(2){margin-top:36px}
.vd-sample-pages a{display:block;color:#fff;text-decoration:none}
.vd-sample-pages img{display:block;width:100%;height:auto;background:#fff;border-radius:4px;outline:1px solid rgba(255,255,255,.22);box-shadow:0 18px 40px rgba(0,0,0,.38);transition:transform .35s var(--ease)}
.vd-sample-pages a:hover img,.vd-sample-pages a:focus-visible img{transform:translateY(-6px)}
.vd-sample-pages span{display:block;font-size:13px;color:rgba(255,255,255,.8);margin-top:12px}
@media (max-width:900px){
  .vd-sample{padding:56px 0}
  .vd-sample-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  /* scroll-padding keeps the first page lined up with the text. Without it the snap pulls the cover hard against the screen edge. */
  .vd-sample-pages{grid-auto-flow:column;grid-auto-columns:62%;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 10px;scrollbar-width:none}
  .vd-sample-pages::-webkit-scrollbar{display:none}
  .vd-sample-pages li{scroll-snap-align:start}
  .vd-sample-pages li:nth-child(2){margin-top:0}
  .vd-sample-copy .btn{width:100%;justify-content:center}
}
/* Narrow phones: the long sample button label cannot wrap by default, and it used to push the whole column past the screen edge. Tighter padding fits it on one line at 360; below that it wraps to two even lines. */
@media (max-width:374px){
  .vd-sample-copy .btn{padding-left:14px;padding-right:14px;gap:10px;white-space:normal;line-height:1.25;text-align:center;text-wrap:balance}
}
/* Keeps "52-page" in one piece when the label wraps, so a line never ends on "52-". */
.vd-nw{white-space:nowrap}
@media (prefers-reduced-motion:reduce){.vd-sample-pages img{transition:none}}
