/* Homepage, owner's design of 23 Sep 2026 ("Price the job. Invoice the work. Get paid.").
   Built by tools/home-v4/build.py; every class starts with hv-. Colors are the site's own tokens:
   ink #14120F, CTA #C04E06 (the owner's rule for button backgrounds), accent #F26207 for large type and
   ticks, link blue for the text links the design shows in blue. */
.hv-home{--hv-ink:#14120F;--hv-body:#3F4652;--hv-muted:#5F6773;--hv-line:#E3E7EC;--hv-soft:#F6F8FA;--hv-blue-soft:#F1F5F9;
  --hv-cta:#C04E06;--hv-cta-h:#A94405;--hv-accent:#F26207;--hv-link:#1D4ED8;--hv-warm:#FBF4EE;
  --hv-max:1240px;--hv-gut:40px;color:var(--hv-body);font-family:Inter,'Inter Fallback',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
.hv-home *,.hv-home *::before,.hv-home *::after{box-sizing:border-box}
.hv-wrap{max-width:calc(var(--hv-max) + 2*var(--hv-gut));margin:0 auto;padding:0 var(--hv-gut)}
.hv-home :where(h1,h2,h3){color:var(--hv-ink);margin:0}
.hv-home :where(p){margin:0}
.hv-home :where(ul,ol){list-style:none;margin:0;padding:0}
.hv-home :where(img){max-width:100%;display:block}
.hv-ic{width:22px;height:22px;flex:0 0 auto}
.hv-arr{width:18px;height:18px;flex:0 0 auto;stroke-width:2.2}
.hv-eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#4B5563;margin:0 0 12px}
.hv-h2{font-size:clamp(34px,3.6vw,50px);line-height:1.04;font-weight:800;letter-spacing:-.03em}
.hv-h2 em,.hv-h1 em{font-style:normal;color:var(--hv-accent)}
.hv-h3{font-size:26px;line-height:1.15;font-weight:800;letter-spacing:-.02em}
.hv-body{font-size:18px;line-height:1.55;color:var(--hv-body)}
.hv-link{display:inline-flex;align-items:center;gap:8px;color:var(--hv-link);font-size:16px;font-weight:600;text-decoration:none}
.hv-link:hover{text-decoration:underline;text-underline-offset:3px}
.hv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:8px;
  font-size:16px;font-weight:700;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}
.hv-btn-cta{background:var(--hv-cta);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 6px 14px -8px rgba(192,78,6,.55)}
.hv-btn-cta:hover{background:var(--hv-cta-h);color:#fff}
.hv-btn-ghost{background:#fff;color:var(--hv-ink);border-color:#CDD3DA}
.hv-btn-ghost:hover{border-color:var(--hv-ink)}
.hv-btn-line{background:#fff;color:var(--hv-cta);border-color:var(--hv-cta)}
.hv-btn:focus-visible,.hv-link:focus-visible,.hv-pro:focus-visible,.hv-calc:focus-visible,.hv-guide:focus-visible{outline:3px solid var(--hv-accent);outline-offset:3px}
.hv-ck{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--hv-accent);flex:0 0 22px}
.hv-ck svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.hv-sec{padding:88px 0}
.hv-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}
.hv-head-row h2{font-size:clamp(26px,2.3vw,32px);line-height:1.1;font-weight:800;letter-spacing:-.025em;margin-bottom:8px}
.hv-head-row .hv-h2{font-size:clamp(32px,3.4vw,46px)}
.hv-head-row p{font-size:17px;line-height:1.55}

/* ---------------------------------------------------------------- hero */
.hv-hero{position:relative;overflow:hidden;background:#fff;min-height:640px}
.hv-hero-in{position:relative;z-index:2;padding-top:56px;padding-bottom:64px}
.hv-hero-copy{max-width:min(640px,46vw)}
.hv-hero h1{display:block}
.hv-pill{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3B4A5C;
  background:#EEF2F6;border-radius:999px;padding:7px 14px;margin-bottom:20px}
.hv-h1{display:block;font-size:clamp(46px,5.1vw,74px);line-height:.98;font-weight:800;letter-spacing:-.035em;color:var(--hv-ink)}
.hv-lead{font-size:18px;line-height:1.55;color:var(--hv-body);margin:22px 0 22px;max-width:560px}
.hv-ticks{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:28px}
.hv-ticks li{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;color:var(--hv-ink)}
.hv-ticks .hv-ck{width:20px;height:20px;flex-basis:20px}
@media (min-width:1400px){.hv-ticks{flex-wrap:nowrap;gap:16px}.hv-ticks li{font-size:14px;white-space:nowrap}}
.hv-pick{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.hv-field{display:flex;flex-direction:column;gap:8px}
.hv-lab{font-size:15px;color:var(--hv-ink)}
.hv-sel{position:relative;display:flex;align-items:center}
.hv-sel select{appearance:none;-webkit-appearance:none;height:54px;width:192px;padding:0 42px 0 50px;border:1px solid #CFD6DE;border-radius:8px;background:#fff;
  font:600 16px/1 inherit;font-family:inherit;color:var(--hv-ink);cursor:pointer;box-shadow:0 1px 2px rgba(20,18,15,.04)}
.hv-sel select:hover{border-color:#9AA4AF}
.hv-sel select:focus-visible{outline:3px solid var(--hv-accent);outline-offset:2px}
.hv-sel-ic{position:absolute;z-index:2;left:16px;width:22px;height:22px;color:var(--hv-ink);pointer-events:none}
.hv-chev{position:absolute;z-index:2;right:14px;width:18px;height:18px;color:var(--hv-ink);pointer-events:none;stroke-width:2.2}
/* the site's own dropdown (it-select-v1.js) replaces the native select with a button; dress it as the design */
.hv-home .hv-sel .itsel-btn{position:relative;height:54px;min-height:54px;width:192px;padding:0 42px 0 50px;border:1px solid #CFD6DE;border-radius:8px;
  background:#fff;font:600 16px/1 Inter,'Inter Fallback',system-ui,sans-serif;color:var(--hv-ink);box-shadow:0 1px 2px rgba(20,18,15,.04)}
.hv-home .hv-sel .itsel-btn:hover{border-color:#9AA4AF}
.hv-home .hv-sel .itsel-btn::after{display:none}
.hv-home .hv-sel .itsel-lab{color:var(--hv-ink)!important}
.hv-go{min-width:200px}
.hv-hero-copy>.hv-link{margin-top:20px}

.hv-stage{position:absolute;z-index:1;top:0;right:0;bottom:0;width:56%}
.hv-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:78% 40%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
.hv-hand{position:absolute;top:30px;right:34px;z-index:3;font-family:Caveat,'Segoe Script','Bradley Hand',cursive;font-size:29px;line-height:1.05;
  font-weight:600;color:#1F2937;transform:rotate(-8deg);text-align:left;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.hv-hand-arrow{position:absolute;top:104px;right:150px;z-index:3;width:54px;height:54px;fill:none;stroke:#E4572E;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.hv-inv{position:absolute;z-index:2;left:12%;top:52px;width:340px;margin:0;background:#fff;border-radius:10px;padding:22px 22px 16px;
  box-shadow:0 30px 60px -22px rgba(15,23,42,.45),0 2px 6px rgba(15,23,42,.10);transform:rotate(-1.2deg);color:#111827;font-size:10.5px}
.hv-inv-logo{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:17px;letter-spacing:-.02em;color:#111827}
.hv-inv-logo b{color:var(--hv-cta);font-weight:800}
.hv-inv-logo img{width:22px;height:22px;display:inline-block}
.hv-inv-head{display:flex;justify-content:space-between;gap:12px;margin:14px 0 12px}
.hv-inv-title{font-size:21px;font-weight:800;letter-spacing:-.01em;margin:0 0 10px!important}
.hv-inv-bill{font-size:10px;line-height:1.45;color:#374151}
.hv-inv-bill b{display:block;color:#111827;font-weight:700}
.hv-inv-meta{display:grid;grid-template-columns:auto auto;gap:3px 12px;margin:30px 0 0;font-size:10px}
.hv-inv-meta dt{font-weight:700;color:#111827}
.hv-inv-meta dd{margin:0;color:#374151}
.hv-inv-t{width:100%;border-collapse:collapse;font-size:9.5px}
.hv-inv-t th{background:#1F2A37;color:#fff;font-weight:600;text-align:left;padding:6px 6px}
.hv-inv-t th:nth-child(n+2),.hv-inv-t td:nth-child(n+2){text-align:right}
.hv-inv-t td{padding:6px;border-bottom:1px solid #E5E7EB;color:#374151}
.hv-inv-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:12px}
.hv-inv-qr{display:block;width:62px;height:62px;flex:0 0 62px;background:#fff}
.hv-inv-qr svg{width:100%;height:100%;display:block}
.hv-inv-sum{display:grid;grid-template-columns:auto auto;gap:5px 26px;margin:0;font-size:10.5px;align-items:center}
.hv-inv-sum dd{margin:0;text-align:right;color:#111827}
.hv-inv-sum dt{color:#374151}
.hv-inv-sum .hv-inv-due{font-weight:800;font-size:13px;color:#111827;background:#F3F4F6;padding:6px 0}
.hv-inv-sum dt.hv-inv-due{padding-left:8px;border-radius:4px 0 0 4px}
.hv-inv-sum dd.hv-inv-due{padding-right:8px;border-radius:0 4px 4px 0}
.hv-inv-pay{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.hv-inv-scan{font-size:9.5px;color:#374151}
.hv-pm{display:flex;align-items:center;gap:9px;font-size:11px}
.hv-pm-visa{color:#1A1F71;font-style:italic;font-weight:900;letter-spacing:.02em}
.hv-pm-mc{position:relative;display:inline-block;width:22px;height:14px}
.hv-pm-mc i{position:absolute;top:0;width:14px;height:14px;border-radius:50%}
.hv-pm-mc i:first-child{left:0;background:#EB001B}
.hv-pm-mc i:last-child{right:0;background:#F79E1B;mix-blend-mode:multiply}
.hv-pm-ap{display:inline-flex;align-items:center;font-weight:600;color:#111}
.hv-pm-ap svg{width:12px;height:12px}
.hv-pm-gp{font-weight:600;color:#3C4043}
.hv-pm-gp span{color:#4285F4;font-weight:700}

/* ---------------------------------------------------------------- professions */
.hv-pros{padding:40px 0 56px;border-top:1px solid var(--hv-line);background:#fff}
.hv-pros .hv-head-row{margin-bottom:22px}
.hv-pro-list{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:12px}
.hv-pro{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:88px;padding:12px 6px;
  border:1px solid var(--hv-line);border-radius:6px;background:#fff;text-decoration:none;color:#374151;font-size:14px;line-height:1.2;text-align:center;
  transition:border-color .15s,box-shadow .15s}
.hv-pro:hover{border-color:#B8C0CA;box-shadow:0 4px 14px -8px rgba(15,23,42,.25)}
.hv-pro.on{border-color:#F4A76F;background:#FFF4EC;color:var(--hv-ink);font-weight:600}
.hv-pro-ic{width:30px;height:30px;color:var(--hv-ink);stroke-width:1.7}
.hv-drop{position:absolute;top:31px;left:calc(50% + 4px);width:9px;height:9px;border-radius:50% 50% 50% 0;background:var(--hv-accent);transform:rotate(-45deg)}

/* ---------------------------------------------------------------- templates */
.hv-tpl{background:var(--hv-soft);padding:64px 0 72px}
.hv-tpl-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.hv-fan{position:relative;height:430px}
.hv-fan img{position:absolute;width:40%;height:auto;border-radius:4px;background:#fff;box-shadow:0 18px 36px -18px rgba(15,23,42,.45),0 1px 3px rgba(15,23,42,.12)}
.hv-fan-0{left:2%;top:15%;transform:rotate(-7deg);z-index:1}
.hv-fan-1{left:14%;top:9%;transform:rotate(-4deg);z-index:2}
.hv-fan-2{left:30%;top:2%;width:44%!important;z-index:5}
.hv-fan-3{left:52%;top:7%;transform:rotate(3deg);z-index:4}
.hv-fan-4{left:64%;top:13%;transform:rotate(6deg);z-index:3}
.hv-tpl-copy .hv-h2{margin-bottom:18px}
.hv-tpl-copy .hv-body{max-width:560px;margin-bottom:28px}
.hv-btns{display:flex;flex-wrap:wrap;gap:16px}
.hv-play{width:26px;height:26px;color:var(--hv-ink)}

/* ---------------------------------------------------------------- workflow */
.hv-flow{padding:80px 0;background:#fff}
.hv-flow-in{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:end}
.hv-flow-main .hv-body{margin:12px 0 34px}
.hv-steps{display:flex;align-items:flex-start;gap:18px}
.hv-step{display:flex;gap:18px;flex:1 1 0;min-width:0}
.hv-step-ic{display:grid;place-items:center;width:62px;height:62px;flex:0 0 62px;border-radius:50%;background:#EEF3F8;color:var(--hv-ink)}
.hv-step-ic .hv-ic{width:26px;height:26px}
.hv-step h3{font-size:20px;font-weight:700;color:var(--hv-accent);margin-bottom:6px;letter-spacing:-.01em}
.hv-step p{font-size:15px;line-height:1.5;color:var(--hv-muted)}
.hv-step-arr{width:22px;height:22px;flex:0 0 22px;margin-top:20px;fill:none;stroke:#9AA4AF;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hv-flow-checks{border-left:1px solid var(--hv-line);padding-left:36px;display:grid;gap:14px}
.hv-flow-checks li{display:flex;align-items:center;gap:12px;font-size:15.5px;color:#374151}

/* ---------------------------------------------------------------- added: three panels */
.hv-trio{padding:8px 0 88px;background:#fff}
.hv-trio-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hv-card{position:relative;border-radius:14px;padding:34px 32px 32px 32px;display:flex;flex-direction:column;align-items:flex-start}
.hv-card-ai,.hv-card-pay{background:var(--hv-warm)}
.hv-card-docs{background:#F1F6FC}
.hv-card-ic{width:34px;height:34px;color:var(--hv-accent);margin-bottom:16px}
.hv-card-docs .hv-card-ic{color:#2563EB}
.hv-card .hv-eyebrow{font-size:12px;margin-bottom:10px}
.hv-card .hv-h3{margin-bottom:10px}
.hv-card .hv-body{font-size:16px;margin-bottom:22px}
.hv-card>.hv-btn{margin-top:auto}
.hv-ai-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-bottom:10px}
.hv-ai-tabs span{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border:1px solid #E3DCD3;background:#fff;border-radius:8px;font-size:15px;font-weight:600;color:var(--hv-ink)}
.hv-ai-tabs span .hv-ic{width:18px;height:18px}
.hv-ai-tabs .on{background:var(--hv-cta);border-color:var(--hv-cta);color:#fff}
.hv-ai-note{width:100%;background:#fff;border:1px solid #E3DCD3;border-radius:8px;padding:14px 16px;font-size:15px;line-height:1.5;color:#374151;margin-bottom:22px!important}
.hv-docflow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:100%;margin-bottom:24px}
.hv-docflow li{position:relative;text-align:center;font-size:14px;color:var(--hv-ink)}
.hv-docflow img{width:100%;height:auto;border-radius:3px;box-shadow:0 8px 18px -10px rgba(15,23,42,.4);margin-bottom:10px;background:#fff}
.hv-docflow li+li::before{content:"";position:absolute;left:-12px;top:34%;width:10px;height:2px;background:#2563EB}
.hv-pay-row{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;width:100%;margin-bottom:24px}
.hv-phone{height:230px;border:7px solid #111827;border-radius:26px;background:#fff;display:flex;flex-direction:column;align-items:center;padding:34px 12px 12px;gap:6px}
.hv-phone-ok{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#16A34A;margin-bottom:6px}
.hv-phone-ok svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.hv-phone b{font-size:11px;color:#374151;font-weight:600}
.hv-phone strong{font-size:20px;color:#16A34A;font-weight:800}
.hv-phone i{display:block;height:6px;width:80%;background:#E5E7EB;border-radius:3px;margin-top:6px}
.hv-phone i+i{width:60%}
.hv-pay-checks{display:grid;gap:12px}
.hv-pay-checks li{display:flex;align-items:center;gap:10px;font-size:15px;color:#374151}

/* ---------------------------------------------------------------- calculators */
.hv-calcs{background:var(--hv-blue-soft);padding:72px 0}
.hv-calc-list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.hv-calc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:118px;padding:16px 8px;background:#fff;
  border:1px solid var(--hv-line);border-radius:6px;text-decoration:none;color:#374151;font-size:14.5px;line-height:1.25;text-align:center;transition:border-color .15s,box-shadow .15s}
.hv-calc:hover{border-color:#B8C0CA;box-shadow:0 4px 14px -8px rgba(15,23,42,.25);color:var(--hv-ink)}
.hv-calc-ic{width:32px;height:32px;color:var(--hv-ink);stroke-width:1.8}
.hv-dots{display:flex;gap:5px;height:32px;align-items:center}
.hv-dots i{width:7px;height:7px;border-radius:50%;background:var(--hv-ink)}

/* ---------------------------------------------------------------- guides + professional panel */
.hv-guides{padding:80px 0 72px;background:#fff}
.hv-guides-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:stretch}
.hv-guides-main .hv-h2{font-size:clamp(30px,3vw,40px);margin-bottom:8px}
.hv-guides-main .hv-body{font-size:17px}
.hv-guides-main>.hv-link{margin:4px 0 24px}
.hv-guide-list{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px}
.hv-guide{display:flex;align-items:center;gap:16px;text-decoration:none}
.hv-guide img{width:64px;height:64px;border-radius:4px;object-fit:cover;flex:0 0 64px}
.hv-guide b{display:block;font-size:16px;font-weight:600;color:var(--hv-ink);margin-bottom:3px}
.hv-guide span span{font-size:15px;color:var(--hv-muted)}
.hv-guide:hover b{text-decoration:underline;text-underline-offset:3px}
.hv-pro-cta{position:relative;overflow:hidden;border-radius:12px;background:var(--hv-warm);min-height:280px;display:flex;align-items:center}
.hv-pro-cta-img{position:absolute;top:0;right:0;bottom:0;width:48%;height:100%;object-fit:cover;object-position:60% 30%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.hv-pro-cta-copy{position:relative;z-index:1;padding:36px 32px;max-width:58%}
.hv-pro-cta-copy .hv-eyebrow{font-size:12px}
.hv-pro-cta-copy .hv-h3{font-size:28px;margin-bottom:10px}
.hv-pro-cta-copy .hv-body{font-size:16px;margin-bottom:22px;max-width:340px}

.hv-more{margin-top:22px!important;font-size:15px;line-height:1.7;color:var(--hv-muted)}
.hv-more a,.hv-trust-list span a{color:var(--hv-link);text-decoration:none;font-weight:500}
.hv-more a:hover,.hv-trust-list span a:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------------------------------------------------------------- kept sections, then trust strip */
.hv-kept{border-top:1px solid var(--hv-line)}
.hv-trust{background:var(--hv-soft);border-top:1px solid var(--hv-line);padding:30px 0}
/* it-ai-widget-v2.js reserves 96px of clearance for the floating assistant by padding
   <main>, not the last section. On every other page that padding sits on plain page
   background and is invisible; here it sat below this section's tinted band, so a
   visitor saw a bare white gap before the dark footer (owner screenshot, 25 Sep 2026).
   Move the same reserved space onto the trust strip itself so its own background fills it. */
body:has(.itw-fab:not([hidden])) main.hv-home{padding-bottom:0}
body:has(.itw-fab:not([hidden])) main.hv-home .hv-trust{padding-bottom:max(126px,env(safe-area-inset-bottom,0px) + 126px)}
.hv-trust-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.hv-trust-list li{display:flex;align-items:flex-start;gap:16px}
.hv-trust-ic{width:34px;height:34px;color:var(--hv-ink);stroke-width:1.8;flex:0 0 34px}
.hv-trust-list b{display:block;font-size:15px;color:var(--hv-ink);font-weight:700;margin-bottom:3px}
.hv-trust-list span{font-size:13.5px;line-height:1.45;color:var(--hv-muted)}

/* ---------------------------------------------------------------- tablet */
@media (max-width:1180px){
  .hv-home{--hv-gut:32px}
  .hv-stage{width:52%}
  .hv-hero-copy{max-width:50%}
  .hv-inv{left:auto;right:5%;top:150px;width:300px}
  .hv-pro-list{grid-template-columns:repeat(5,minmax(0,1fr))}
  .hv-calc-list{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hv-flow-in{grid-template-columns:1fr}
  .hv-flow-checks{border-left:0;padding-left:0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .hv-trio-in{grid-template-columns:1fr 1fr}
  .hv-card-pay{grid-column:1 / -1}
  .hv-guides-in{grid-template-columns:1fr}
}
@media (max-width:960px){
  .hv-hero{min-height:0}
  .hv-hero-in{padding-bottom:32px}
  .hv-hero-copy{max-width:none}
  .hv-stage{position:relative;width:auto;height:520px;margin:0}
  .hv-hero-img{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%);mask-image:linear-gradient(180deg,transparent 0,#000 18%);object-position:70% 40%}
  .hv-inv{left:50%;top:70px;transform:translateX(-58%) rotate(-1.2deg)}
  .hv-tpl-in{grid-template-columns:1fr;gap:32px}
  .hv-fan{height:360px;max-width:640px;width:100%;margin:0 auto}
  .hv-steps{flex-direction:column;gap:22px}
  .hv-step-arr{display:none}
}
/* ---------------------------------------------------------------- phone */
@media (max-width:640px){
  .hv-home{--hv-gut:20px}
  .hv-sec{padding:56px 0}
  .hv-hero-in{padding-top:32px}
  .hv-pill{font-size:11px;letter-spacing:.1em;padding:6px 11px;margin-bottom:14px}
  .hv-h1{font-size:44px}
  .hv-lead{font-size:16.5px}
  .hv-ticks{gap:10px 18px}
  .hv-ticks li{font-size:14px}
  .hv-pick{flex-direction:column;align-items:stretch}
  .hv-sel select,.hv-home .hv-sel .itsel-btn{width:100%}
  .hv-go{width:100%}
  .hv-stage{height:540px}
  .hv-inv{width:300px;top:92px;padding:18px 16px 14px;transform:translateX(-50%) rotate(-1.2deg)}
  .hv-hand{font-size:23px;top:14px;right:14px}
  .hv-hand-arrow{top:84px;right:40px;width:40px;height:40px}
  .hv-head-row{flex-direction:column;align-items:flex-start;gap:14px}
  .hv-pro-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 calc(-1*var(--hv-gut));padding:2px var(--hv-gut) 8px}
  .hv-pro-list li{flex:0 0 104px;scroll-snap-align:start}
  .hv-fan{height:300px}
  .hv-trio{padding:0 0 56px}
  .hv-trio-in{grid-template-columns:1fr}
  .hv-card{padding:28px 22px}
  .hv-pay-row{grid-template-columns:120px 1fr;gap:14px}
  .hv-phone{height:200px}
  .hv-calc-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hv-flow-checks{grid-template-columns:1fr}
  .hv-guide-list{grid-template-columns:1fr}
  .hv-pro-cta{min-height:0;flex-direction:column;align-items:stretch}
  .hv-pro-cta-img{position:relative;width:100%;height:200px;-webkit-mask-image:none;mask-image:none}
  .hv-pro-cta-copy{max-width:none;padding:26px 22px}
  .hv-trust-list{grid-template-columns:1fr;gap:18px}
  .hv-btns .hv-btn{flex:1 1 100%}
}

/* ---------------------------------------------------------------- sections carried over from the old page, in the design's style */
.hv-math{background:var(--hv-soft)}
.hv-math-lead{max-width:760px;margin:10px 0 36px!important}
.hv-math-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:start}
.hv-math-steps{display:grid;gap:26px}
.hv-math-steps li{display:grid;grid-template-columns:40px 1fr;gap:16px}
.hv-num{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#FFF1E7;color:var(--hv-cta);font-weight:800;font-size:16px}
.hv-math-steps h3,.hv-tile h3,.hv-after-list h3{font-size:18px;line-height:1.3;font-weight:700;letter-spacing:-.01em;margin-bottom:6px}
.hv-math-steps p,.hv-tile p,.hv-after-list p{font-size:15.5px;line-height:1.6;color:var(--hv-body)}
.hv-math-steps code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;background:#fff;border:1px solid var(--hv-line);border-radius:4px;padding:1px 6px;color:var(--hv-ink)}
.hv-math a:not(.hv-btn),.hv-faq a,.hv-after a:not(.hv-btn){color:var(--hv-link);text-decoration:none;font-weight:500}
.hv-math a:not(.hv-btn):hover,.hv-faq a:hover{text-decoration:underline;text-underline-offset:3px}
.hv-example{background:#fff;border:1px solid var(--hv-line);border-radius:12px;padding:30px 30px 28px;box-shadow:0 18px 40px -30px rgba(15,23,42,.35)}
.hv-example h3{font-size:20px;font-weight:800;margin-bottom:6px}
.hv-example>p{font-size:15px;color:var(--hv-muted);margin-bottom:18px!important}
.hv-example dl{margin:0 0 24px}
.hv-example dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #EEF1F4;font-size:15.5px}
.hv-example dt{color:var(--hv-body)}
.hv-example dd{margin:0;font-weight:600;color:var(--hv-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.hv-example .hv-ex-due{border-bottom:0;padding-top:14px;font-size:18px}
.hv-example .hv-ex-due dd{font-weight:800;color:var(--hv-cta);font-size:22px}
.hv-example .hv-btn{width:100%}

.hv-details{background:#fff}
.hv-details .hv-body{margin:10px 0 32px!important}
.hv-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hv-tile{display:flex;flex-direction:column;height:100%;padding:28px 28px 24px;border:1px solid var(--hv-line);border-radius:12px;background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.hv-tile:hover{border-color:#B8C0CA;box-shadow:0 10px 26px -18px rgba(15,23,42,.35)}
.hv-tile-ic{width:32px;height:32px;color:var(--hv-accent);margin-bottom:16px}
.hv-tile .hv-eyebrow{font-size:12px;margin-bottom:8px}
.hv-tile p{margin-bottom:18px!important}
.hv-tile .hv-link{margin-top:auto;font-size:15px}

.hv-after{background:var(--hv-soft)}
.hv-after .hv-body{max-width:760px;margin:10px 0 32px!important}
.hv-after-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hv-after-list li{background:#fff;border:1px solid var(--hv-line);border-radius:12px;padding:26px}
.hv-or{color:var(--hv-cta)!important;font-size:12px!important;margin-bottom:8px!important}
.hv-after-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px!important}
.hv-after-cta span{font-size:15px;color:var(--hv-muted);max-width:640px}
.hv-after-cta b{color:var(--hv-ink)}

.hv-acct{background:#fff}
.hv-acct-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:64px;align-items:center;background:var(--hv-warm);border-radius:16px;padding:48px 52px}
.hv-acct .hv-body{margin:10px 0 18px!important}
.hv-acct-checks{display:grid;gap:10px;margin-bottom:26px}
.hv-acct-checks li{display:flex;align-items:center;gap:10px;font-size:15.5px;color:var(--hv-ink)}
.hv-fine{margin-top:12px!important;font-size:14px;color:var(--hv-muted)}
.hv-ledger{background:#fff;border:1px solid var(--hv-line);border-radius:12px;padding:22px 22px 12px;box-shadow:0 18px 40px -30px rgba(15,23,42,.35)}
.hv-ledger>p{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:1px solid var(--hv-line);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--hv-muted)}
.hv-ledger>p b{font-size:26px;letter-spacing:-.02em;color:var(--hv-ink);text-transform:none}
.hv-ledger li{display:grid;grid-template-columns:1fr auto 76px;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #EEF1F4;font-size:15px;color:var(--hv-ink)}
.hv-ledger li:last-child{border-bottom:0}
.hv-ledger li b{font-variant-numeric:tabular-nums}
.hv-ledger em{font-style:normal;font-size:12px;font-weight:700;text-align:center;border-radius:999px;padding:4px 0}
.hv-st-ok{background:#E8F6EE;color:#166534}.hv-st-sent{background:#EAF1FB;color:#1D4ED8}.hv-st-late{background:#FDECEC;color:#B91C1C}

.hv-faq{background:var(--hv-soft)}
.hv-faq-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px;align-items:start}
.hv-faq .hv-body{margin-top:10px!important}
.hv-faq-list details{background:#fff;border:1px solid var(--hv-line);border-radius:10px;margin-bottom:12px}
.hv-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:17px;font-weight:600;color:var(--hv-ink)}
.hv-faq-list summary::-webkit-details-marker{display:none}
.hv-faq-list summary::after{content:"+";font-size:22px;font-weight:400;color:var(--hv-cta);line-height:1}
.hv-faq-list details[open] summary::after{content:"\2212"}
.hv-faq-list .a{padding:0 22px 20px}
.hv-faq-list .a p{font-size:15.5px;line-height:1.65;color:var(--hv-body)}
.hv-faq-list summary:focus-visible{outline:3px solid var(--hv-accent);outline-offset:2px;border-radius:10px}

@media (max-width:960px){
  .hv-math-in,.hv-faq-in,.hv-acct-in{grid-template-columns:1fr;gap:32px}
  .hv-tiles,.hv-after-list{grid-template-columns:1fr 1fr}
  .hv-acct-in{padding:36px 32px}
}
@media (max-width:640px){
  .hv-tiles,.hv-after-list{grid-template-columns:1fr}
  .hv-acct-in{padding:28px 20px}
  .hv-example{padding:24px 20px}
  .hv-ledger li{grid-template-columns:1fr auto 68px;gap:10px;font-size:14px}
}
/* phone: the fan stays inside its column (the last card ran past the right edge at 390) */
@media (max-width:640px){
  .hv-fan img{width:36%}
  .hv-fan-2{width:40%!important;left:30%}
  .hv-fan-3{left:50%}
  .hv-fan-4{left:60%}
}

/* glossary strip, in the design's style */
.hv-terms{background:#fff;padding:56px 0}
.hv-terms-in{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:20px 48px;align-items:center}
.hv-terms .hv-body{font-size:15.5px;margin-top:6px!important}
.hv-chips{display:flex;flex-wrap:wrap;gap:10px}
.hv-chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--hv-line);border-radius:999px;background:#fff;color:var(--hv-ink);font-size:15px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s}
.hv-chips a:hover{border-color:var(--hv-cta);color:var(--hv-cta)}
.hv-terms-in>.hv-link{grid-column:2}
@media (max-width:760px){.hv-terms-in{grid-template-columns:1fr}.hv-terms-in>.hv-link{grid-column:1}}

/* the hero text wrapper spans the full width above the picture; clicks pass through it to the paper and QR (23 Sep 2026) */
.hv-hero-in{pointer-events:none}.hv-hero-in>*{pointer-events:auto}

/* it-hero-phone-v1: one composed hero on phones (24 Sep 2026). The photo stage used to sit as a
   separate strip under the copy; it now rises under the last lines of the copy (fading in from
   white) so text and picture read as one hero, and the handwritten note and the invoice card
   move down to keep clear of the form and the link. */
@media (max-width:960px){
  .hv-stage{margin-top:-150px;height:680px}
  .hv-hero-img{-webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.3) 22%,#000 40%);mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.3) 22%,#000 40%)}
  .hv-hand{top:176px}
  .hv-hand-arrow{top:250px}
  .hv-inv{top:296px}
}
@media (max-width:640px){
  .hv-stage{height:700px}
  .hv-hand{top:166px;right:14px}
  .hv-hand-arrow{top:236px;right:40px}
  .hv-inv{top:270px}
}

/* document workflow explainer (29 Sep 2026): supplied SVG, below the hero, colors bound to the
   site's own accent token per THEME-TOKEN-CONTRACT.md. Zero redraw: only the wrapper is new. */
.hv-flowviz{background:var(--hv-soft)}
.hv-flowviz-in{text-align:center}
.hv-flowviz .hv-h2,.hv-flowviz .hv-eyebrow{text-align:center}
.hv-flowviz .hv-body{max-width:620px;margin:10px auto 36px}
.hv-flowviz-img{width:100%;height:auto;aspect-ratio:1440/620;border-radius:var(--radius,20px)}

/* v541: small phones (380px and below) only. The two pickers and the main button must sit in the
   first screen, so the headline and lede tighten and the tick row moves under the form. 390px and
   up is untouched. */
@media (max-width:380px){
  .hv-hero-in{padding-top:18px;padding-bottom:40px}
  .hv-hero-copy{display:flex;flex-direction:column}
  .hv-hero-copy>.hv-pick{order:2}
  .hv-hero-copy>.hv-ticks{order:3;margin:18px 0 0}
  .hv-pill{margin-bottom:10px}
  .hv-h1{font-size:34px;line-height:1}
  .hv-lead{font-size:14.5px;line-height:1.42;margin:12px 0 14px}
}
/* v541: short small phones (iPhone SE class, 320x568). Labels sit beside their pickers and the lede
   shows its first two lines, so the pickers and the button still fit the first screen. */
@media (max-width:380px) and (max-height:620px){
  .hv-hero-in{padding-top:12px}
  .hv-pill{font-size:10.5px;padding:5px 10px;margin-bottom:8px}
  .hv-h1{font-size:30px}
  .hv-lead{font-size:14px;line-height:1.38;margin:8px 0 10px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
  .hv-pick{gap:8px}
  .hv-field{flex-direction:row;align-items:center;gap:10px}
  .hv-lab{flex:0 0 66px;font-size:14px}
  .hv-field .hv-sel{flex:1 1 auto;min-width:0}
  .hv-sel select,.hv-home .hv-sel .itsel-btn{height:46px;min-height:46px}
  .hv-go{min-height:48px}
}
