/* Vektor Spaces budget calculator (2026-11-12). Extends home-fable.css tokens (.hf scope). No new palette. */
.vc-hero{background:var(--deep);color:var(--cream);padding:clamp(112px,12vw,150px) 0 clamp(96px,10vw,130px);position:relative;isolation:isolate;overflow:hidden}
.vc-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 420px at 85% 0%,rgba(216,184,89,.16),transparent 70%),linear-gradient(180deg,#0E1C38 0%,#080F22 100%)}
.vc-hero h1{font-size:clamp(2.1rem,4.6vw,3.7rem);line-height:1.05;color:var(--cream);max-width:20ch}
.vc-hero__sub{font-size:clamp(1.02rem,1.4vw,1.18rem);color:rgba(246,243,236,.82);max-width:62ch;margin-top:20px!important}
.vc-hero__facts{display:flex;flex-wrap:wrap;gap:10px 26px;list-style:none;margin:26px 0 0;padding:0;font-size:14.5px;color:rgba(246,243,236,.86)}
.vc-hero__facts li{display:flex;align-items:center;gap:9px}
.vc-hero__facts li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold-b);flex:none}
.vc-crumbs{font-size:13px;color:rgba(246,243,236,.6);margin-bottom:22px}
.vc-crumbs a{color:inherit;text-decoration:underline;text-underline-offset:3px}

.vc-app{margin-top:clamp(-84px,-7vw,-60px);padding-bottom:clamp(48px,7vw,96px);position:relative;z-index:2}
.vc-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(20px,2.6vw,36px);align-items:start}
.vc-inputs{display:grid;gap:16px}
.vc-card{background:#fff;border-radius:16px;border:1px solid rgba(14,28,56,.1);box-shadow:0 18px 50px rgba(8,15,34,.08);padding:clamp(20px,2.4vw,30px);margin:0;min-width:0}
fieldset.vc-card{border:1px solid rgba(14,28,56,.1)}
.vc-card legend,.vc-legend{float:left;width:100%;padding:0;margin:0 0 4px;font-family:"Fraunces",Georgia,serif;font-size:1.4rem;line-height:1.2;color:var(--navy);display:flex;align-items:baseline;gap:12px}
.vc-card legend+*{clear:both}
.vc-step{font-family:"DM Sans",sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--gold-ink);flex:none}
.vc-help{font-size:14.5px;color:var(--mute);margin:0 0 16px!important}
.vc-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.vc-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vc-row+.vc-row,.vc-row+.vc-checks,.vc-seg+.vc-row,.vc-grades+.vc-row{margin-top:14px}
.vc-f{display:block;min-width:0}
.vc-f>span{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:6px}
.vc-f small{display:block;font-size:12.5px;color:var(--mute);margin-top:5px;line-height:1.4}
.vc-f input,.vc-f select{width:100%;height:50px;padding:0 14px;border:1px solid rgba(14,28,56,.28);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:16px;appearance:none;-webkit-appearance:none}
.vc-f select{padding-right:36px;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' fill='none' stroke='%230E1C38' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;text-overflow:ellipsis}
.vc-f input:focus,.vc-f select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--navy)}
.vc-f input[aria-invalid="true"]{border-color:#B3261E;background:#FFF7F6}
.vc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.vc-chip{min-height:38px;padding:6px 14px;border-radius:999px;border:1px solid rgba(14,28,56,.22);background:var(--cream);color:var(--navy);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}
.vc-chip:hover{border-color:var(--navy)}
.vc-chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--cream)}

.vc-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vc-seg label,.vc-grades label{position:relative;display:block;cursor:pointer}
.vc-seg input,.vc-grades input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.vc-seg span{display:flex;flex-direction:column;justify-content:center;min-height:58px;padding:10px 16px;border-radius:12px;border:1px solid rgba(14,28,56,.24);background:#fff;font-weight:700;color:var(--navy);transition:background .2s,border-color .2s,color .2s}
.vc-seg span small{font-weight:500;font-size:12.5px;color:var(--mute);margin-top:2px}
.vc-seg input:checked+span{background:var(--navy);border-color:var(--navy);color:var(--cream)}
.vc-seg input:checked+span small{color:rgba(246,243,236,.74)}
.vc-seg input:focus-visible+span,.vc-grades input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.vc-grades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vc-grades span{display:block;height:100%;padding:14px 16px;border-radius:12px;border:1px solid rgba(14,28,56,.24);background:#fff;transition:background .2s,border-color .2s}
.vc-grades b{display:block;font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:1.18rem;color:var(--navy)}
.vc-grades i{display:block;font-style:normal;font-size:13px;font-weight:700;color:var(--gold-ink);margin:3px 0 5px}
.vc-grades em{display:block;font-style:normal;font-size:13px;line-height:1.4;color:var(--mute)}
.vc-grades input:checked+span{border-color:var(--navy);background:#FBF7EC;box-shadow:inset 0 0 0 1px var(--navy)}

.vc-checks{display:grid;gap:10px}
.vc-check{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;border:1px solid rgba(14,28,56,.16);background:var(--cream);cursor:pointer}
.vc-check input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:#0E1C38}
.vc-check b{display:block;font-size:15px;color:var(--navy)}
.vc-check small{display:block;font-size:13px;color:var(--mute);line-height:1.4;margin-top:2px}
.vc-density{margin-top:12px!important;font-size:14px;color:var(--mute)}
.vc-density b{color:var(--navy)}

/* Result card */
.vc-result{position:sticky;top:92px;background:var(--navy);color:var(--cream);border-radius:16px;padding:clamp(22px,2.4vw,30px);box-shadow:0 30px 80px rgba(8,15,34,.3);border-top:4px solid var(--gold)}
.vc-result__k{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-b)}
.vc-result__total{font-family:"Fraunces",Georgia,serif;font-size:clamp(1.7rem,2.5vw,2.25rem);line-height:1.12;margin:10px 0 6px;color:#fff;text-wrap:balance}
.vc-result__note{font-size:13.5px;color:rgba(246,243,236,.72)}
.vc-kv{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--line-l)}
.vc-kv li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line-l);font-size:14.5px}
.vc-kv span{color:rgba(246,243,236,.72)}
.vc-kv b{text-align:right;font-weight:700;color:var(--cream)}
.vc-result .hf-btn{width:100%;margin-top:18px}
.vc-result__acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.vc-result__acts .hf-btn{margin-top:0;min-height:46px;padding:10px 12px;font-size:14px}
.vc-result__disc{margin-top:16px!important;font-size:12.5px;line-height:1.5;color:rgba(246,243,236,.66)}
.vc-strip{display:none}

/* BOQ */
.vc-out{padding-block:clamp(48px,7vw,96px);background:var(--cream-d)}
.vc-out__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(24px,3vw,48px);align-items:start;margin-top:clamp(24px,3vw,40px)}
.vc-tablewrap{background:#fff;border-radius:16px;border:1px solid rgba(14,28,56,.1);padding:6px clamp(14px,2vw,26px) 14px;overflow-x:auto}
.vc-boq{width:100%;border-collapse:collapse;font-size:15px}
.vc-boq caption{text-align:left;padding:16px 0 8px;font-size:13px;color:var(--mute)}
.vc-boq th,.vc-boq td{padding:12px 10px 12px 0;border-bottom:1px solid rgba(14,28,56,.1);text-align:left;vertical-align:top}
.vc-boq thead th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);font-weight:700;white-space:nowrap}
.vc-boq td:nth-child(2),.vc-boq th:nth-child(2),.vc-boq td:nth-child(3),.vc-boq th:nth-child(3){text-align:right;white-space:nowrap;padding-right:0}
.vc-boq th:nth-child(3),.vc-boq td:nth-child(3){padding-left:14px;color:var(--mute);width:64px}
.vc-boq tbody th{font-weight:600;color:var(--navy)}
.vc-boq tbody th small{display:block;font-weight:400;font-size:12.5px;color:var(--mute);line-height:1.4;margin-top:2px}
.vc-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#F3EBD3;color:var(--gold-ink);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
.vc-boq tr.is-sub th,.vc-boq tr.is-sub td{background:transparent;font-weight:700;color:var(--navy);border-bottom-color:rgba(14,28,56,.24)}
.vc-boq tr.is-total th,.vc-boq tr.is-total td{border-bottom:0;padding-top:16px;font-family:"Fraunces",Georgia,serif;font-size:1.2rem;font-weight:500;color:var(--navy)}
.vc-boq tr.is-total td small{display:block;font-family:"DM Sans",sans-serif;font-size:12.5px;color:var(--mute);font-weight:400}
.vc-side{display:grid;gap:16px}
.vc-side h3{font-size:1.3rem;color:var(--navy);margin-bottom:12px}
.vc-tl{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.vc-tl li{padding-left:16px;border-left:3px solid var(--gold);font-size:14.5px;color:var(--mute)}
.vc-tl b{display:block;color:var(--navy);font-size:15.5px}
.vc-assume{margin:0;padding-left:18px;font-size:14px;color:var(--mute);display:grid;gap:8px}
.vc-notice{margin-top:18px!important;padding:14px 16px;border-radius:12px;background:#FBF7EC;border:1px solid rgba(199,153,59,.45);font-size:14px;color:#4A3A12}

/* Lead form section */
.vc-lead{background:var(--navy);color:var(--cream);padding-block:clamp(56px,8vw,104px)}
.vc-lead__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.vc-lead ul{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px;font-size:16px;color:rgba(246,243,236,.88)}
.vc-lead ul li{padding-left:22px;position:relative}
.vc-lead ul li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--gold-b)}
.vc-form .vc-row{gap:12px}
.vc-form__sum{margin:0 0 16px!important;padding:12px 14px;border-radius:10px;background:#fff;border:1px dashed rgba(14,28,56,.3);font-size:14px;color:var(--ink)}
.vc-form__sum b{color:var(--navy)}
.vc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.vc-done{display:none;text-align:center;padding:12px 0}
.vc-done.is-on{display:block}
.vc-done h3{font-size:1.6rem;color:var(--navy);margin-bottom:10px}
.vc-done p{color:var(--mute);font-size:15.5px}
.vc-done .vc-result__acts{margin-top:18px}

/* Content */
.vc-copy{padding-block:clamp(56px,8vw,104px)}
.vc-copy__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(28px,4vw,48px)}
.vc-copy__grid h3{font-size:1.3rem;color:var(--navy);margin-bottom:10px}
.vc-copy__grid p{font-size:15.5px;color:var(--mute)}
.vc-rates{margin-top:clamp(32px,4vw,56px);background:#fff;border-radius:16px;border:1px solid rgba(14,28,56,.1);padding:6px clamp(14px,2vw,26px) 14px;overflow-x:auto}
.vc-rates table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.vc-rates caption{text-align:left;padding:16px 0 8px;font-size:13px;color:var(--mute)}
.vc-rates th,.vc-rates td{text-align:left;padding:12px 12px 12px 0;border-bottom:1px solid rgba(14,28,56,.1)}
.vc-rates thead th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.vc-rates tbody tr:last-child th,.vc-rates tbody tr:last-child td{border-bottom:0}
.vc-rates tbody th{color:var(--navy)}
.vc-faqsec{padding-block:clamp(56px,8vw,104px);background:var(--cream-d)}
.hf-faq details p a{color:var(--navy);font-weight:700}

@media (max-width:980px){
  .vc-grid,.vc-out__grid,.vc-lead__grid{grid-template-columns:minmax(0,1fr)}
  .vc-result{position:static}
  .vc-copy__grid{grid-template-columns:minmax(0,1fr)}
  .vc-strip{display:flex;position:sticky;top:0;z-index:20;justify-content:space-between;align-items:center;gap:12px;margin:0 calc(-1*clamp(20px,4vw,48px)) 14px;padding:10px clamp(20px,4vw,48px);background:var(--navy);color:var(--cream);box-shadow:0 8px 24px rgba(8,15,34,.25);transition:top .25s}
  #nav:not(.is-hidden)~main .vc-strip{top:64px}
  .vc-strip span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold-b);flex:none}
  .vc-strip b{font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:1.02rem;text-align:right;line-height:1.2}
  .vc-app{margin-top:-64px}
}
@media (max-width:640px){
  .vc-row,.vc-row--3{grid-template-columns:minmax(0,1fr)}
  .vc-row--2m{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vc-grades{grid-template-columns:minmax(0,1fr)}
  .vc-boq{font-size:14px}
  .vc-boq th:nth-child(3),.vc-boq td:nth-child(3){display:none}
  .vc-boq td:nth-child(2){white-space:normal;min-width:118px}
  .vc-card legend,.vc-legend{font-size:1.25rem}
}
@media print{.nav,.mnav,.footer,.vc-strip,.vc-lead,.vc-faqsec,.vc-copy,.vslk-bar,.vslk-wa{display:none!important}}
/* 20261113b fixes */
.vc-result button.hf-btn--line{background:transparent}
.vc-result button.hf-btn--line:hover{background:rgba(246,243,236,.08)}
.vc-density{margin-bottom:14px!important}
@media (max-width:980px){#nav:not(.is-hidden)~main .vc-strip{top:var(--vc-nav,76px)}}
.vc-hero .hf-eyebrow{color:var(--gold-b)}

/* kd 2026-11-13: secondary buttons on the dark result panel were light-on-light (site button styles overrode them) */
.hf-btn.hf-btn--line{background:transparent!important;color:#F6F3EC!important;border:1.5px solid rgba(246,243,236,.55)!important;-webkit-text-fill-color:#F6F3EC}
.hf-btn.hf-btn--line:hover,.hf-btn.hf-btn--line:focus-visible{background:rgba(246,243,236,.10)!important;border-color:#D8B859!important;color:#D8B859!important;-webkit-text-fill-color:#D8B859}
.hf-btn.hf-btn--line[data-wa]{border-color:#25D366!important}
