/* Homepage sections. Tokens, header, footer, buttons, panels and the FAQ live in styles.css,
   which loads first. No inline styles: the CSP forbids them. */
/* Hero: headline and offer on the left, the chart on the right. */
.hv-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start;padding-block:72px 112px}
.hv-hero-copy{display:flex;flex-direction:column;gap:26px;padding-top:8px}
.hv-hero h1{font-size:clamp(40px,4.2vw,54px);font-weight:800;line-height:1.04;letter-spacing:-.025em;text-wrap:balance}
.hv-hero-copy p{max-width:34em}
.hv-hero-tools{font-size:17px;color:var(--slate)}

/* Chart panel and the toggle */
.hv-chart{display:flex;flex-direction:column;gap:18px;padding:24px 28px 22px}
.hv-chart-title{font-size:26px;font-weight:800;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}
.hv-chart-caption{font-size:17px;max-width:52ch}
.hv-chart-foot{padding-top:10px;border-top:1px solid var(--scree)}
.hv-chart-foot a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
[data-view][hidden]{display:none}
.chart{width:100%;height:auto;overflow:visible;font-family:var(--font)}
.gridline{stroke:var(--scree);stroke-width:1}
.tick{fill:var(--slate);font-size:13px}
.lbl{font-size:15px;font-weight:600}
.lbl-v{fill:var(--blue)}.lbl-l,.tick-l{fill:var(--gold-text)}.lbl-ink{fill:var(--granite)}
.end{text-anchor:end}.mid{text-anchor:middle}
.ln{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.ln-v{stroke:var(--blue)}.ln-l{stroke:var(--gold-line)}
.fill-v{fill:var(--blue)}.fill-v-soft{fill:var(--blue);fill-opacity:.55}.fill-l{fill:var(--gold-line)}
.rule-l{stroke:var(--gold-text);stroke-width:1.5}.rule-l-dash{stroke:var(--gold-text);stroke-width:1.5;stroke-dasharray:4 4}
.js .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.4s cubic-bezier(.16,1,.3,1) .15s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.js .hv-chart:not(.is-both) .series-leads{display:none}
html:not(.js) [data-view="traffic"]{display:none}
html:not(.js) [data-view][hidden]{display:inline}

/* Proof band */
.hv-proof{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:center;padding-block:var(--band)}
.hv-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:8px;background:var(--mist)}
.hv-proof-copy{display:flex;flex-direction:column;gap:32px}
.hv-proof blockquote{display:flex;flex-direction:column;gap:18px}
.hv-proof blockquote p{max-width:18ch;font-size:44px;font-weight:800;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
.hv-proof cite{font-size:17px;font-style:normal;color:var(--slate)}
.hv-proof cite b{font-weight:600;color:var(--granite)}
.hv-proof-copy>p{max-width:38em}
.hv-logos{display:flex;flex-direction:column;gap:16px;padding-top:24px;border-top:1px solid var(--scree)}
.hv-logos ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:20px 44px}
.hv-logos img{width:auto;height:34px;filter:grayscale(1) contrast(1.1);opacity:.85}
.hv-logos li[data-brand="fox"] img{height:40px}
.hv-logos li[data-brand="conagra"] img{height:56px}
.hv-logos li[data-brand="heartland"] img{height:26px}

/* Sections */
.sec{padding-top:var(--section)}
.sec-intro{margin-top:16px;font-size:19px;color:var(--ink-muted);max-width:40em}

/* Symptom switcher: the page's dominant move. */
.hv-switch{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start;margin-top:48px}
.hv-sym-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px}
.hv-sym-btn{display:flex;align-items:flex-start;gap:14px;width:100%;min-height:64px;padding:14px 16px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--granite);font-size:18px;line-height:1.35;text-align:left;cursor:pointer;transition:background-color .15s ease-out,border-color .15s ease-out}
.hv-sym-btn::before{content:"";flex:none;width:12px;height:12px;margin-top:6px;border:1.5px solid var(--blue);border-radius:50%;background:var(--white);transition:background-color .15s ease-out}
.hv-sym-btn:hover{background:var(--white)}
.hv-sym-btn[aria-pressed="true"]{border-color:var(--scree);background:var(--white);font-weight:600}
.hv-sym-btn[aria-pressed="true"]::before{background:var(--blue)}
html:not(.js) .hv-sym-list{display:none}
html:not(.js) .hv-switch{grid-template-columns:minmax(0,1fr)}
.hv-sym-panel{display:flex;flex-direction:column;gap:28px;padding:28px}
.js .hv-sym-panel{min-height:560px}
.hv-sym{display:flex;flex-direction:column;gap:22px;flex:1}
.hv-sym[hidden]{display:none}
html:not(.js) .hv-sym+.hv-sym{padding-top:28px;border-top:1px solid var(--scree)}
.hv-sym-q{font-size:20px;font-weight:600;line-height:1.35}
.js .hv-sym-q{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hv-sym-note{font-size:13px;color:var(--slate)}
.hv-sym-answer{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:20px;border-top:1px solid var(--scree)}
.hv-sym-answer p{max-width:46ch;font-size:19px;line-height:1.55}
.hv-sym-answer a{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font-size:17px}
.sym-table{width:100%;border:1px solid var(--scree);border-radius:6px;border-collapse:separate;border-spacing:0;overflow:hidden;font-size:15px;text-align:left}
.sym-table th,.sym-table td{padding:12px 14px;border-top:1px solid var(--mist);vertical-align:middle}
.sym-table thead th{padding-block:10px;border-top:0;background:var(--snow);font-size:13px;font-weight:600;color:var(--slate)}
.sym-table tbody th{font-weight:400}
.sym-table td.type{color:var(--slate)}
.dash-card{fill:var(--white);stroke:var(--scree)}
.dash-frame{fill:var(--snow);stroke:var(--scree)}
.dash-num{font-size:26px;font-weight:800;fill:var(--granite)}
.dash-q{font-size:13px;font-weight:600;fill:var(--gold-text)}
.dash-mark{fill:var(--white);stroke:var(--gold-line);stroke-width:2}
.dash-mark-q{font-size:14px;font-weight:800;fill:var(--gold-text)}

/* Service rows */
.hv-svc-head,.hv-svc-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:baseline}
.hv-svc-head{margin-bottom:40px}
.hv-svc-head p{font-size:19px;color:var(--ink-muted)}
.hv-svc-list{list-style:none;padding:0;border-top:2px solid var(--granite)}
.hv-svc-row{padding-block:28px;border-bottom:1px solid var(--scree)}
.hv-svc-row h3{font-size:30px;font-weight:800;line-height:1.15;letter-spacing:-.015em;text-wrap:balance}
.hv-svc-row h3 a{color:var(--granite);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:3px;text-underline-offset:7px}
.hv-svc-row h3 a:hover{color:var(--blue-hover)}
.hv-svc-row p{max-width:40em;color:var(--ink-muted)}
.hv-svc-row p b{font-weight:600;color:var(--granite)}
.hv-svc-row.is-quiet{border-bottom:0}
.hv-svc-row.is-quiet h3{font-size:22px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--ink-muted)}
.hv-svc-row.is-quiet>div{display:flex;flex-direction:column;gap:8px}
.hv-svc-row.is-quiet p{font-size:17px}

/* Platform flow: the one dark band. */
.hv-platforms{margin-top:var(--section)}
.hv-platforms .wrap{display:flex;flex-direction:column;gap:48px;padding-block:var(--band)}
.hv-platforms h2{max-width:18ch;color:var(--white)}
.hv-flow{list-style:none;padding:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);gap:48px}
.node{position:relative;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:8px}
.node h3{font-size:20px;font-weight:800;line-height:1.25;color:var(--white)}
.node h3.node-small{font-size:16px;font-weight:600;line-height:1.35}
.node p{font-size:14px;color:var(--quiet-on-dark)}
.node-key{border:2px solid var(--blue-on-dark)}
.node-dashed{border-style:dashed;border-color:rgba(255,255,255,.32)}
.hv-flow>.node+.node::before{content:"";position:absolute;left:-42px;top:50%;width:36px;height:14px;margin-top:-7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 14'%3E%3Cpath d='M2 7h30M26 2l6 5-6 5' fill='none' stroke='%239DB1FF' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.chips li{padding:4px 10px;border:1px solid rgba(255,255,255,.28);border-radius:4px;font-size:14px;line-height:1.4;color:var(--mist)}
.hv-ads{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);gap:0 48px}
.hv-ads-link{grid-column:3;justify-self:center;width:14px;height:56px;margin-block:6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 56'%3E%3Cpath d='M7 54V6M2 12l5-6 5 6' fill='none' stroke='%239DB1FF' stroke-width='2' stroke-dasharray='5 4'/%3E%3C/svg%3E") center/contain no-repeat}
.hv-ads .node{grid-column:1/-1}

/* Webinar */
.hv-webinar{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:center}
.hv-video{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--scree);border-radius:8px;background:var(--white);color:var(--granite);text-decoration:none;transition:border-color .15s ease-out}
.hv-video:hover{border-color:var(--blue);color:var(--granite)}
.hv-video img{width:100%;aspect-ratio:16/9;border-bottom:1px solid var(--scree)}
.hv-video-text{display:flex;flex-direction:column;gap:2px;padding:16px 20px}
.hv-video-text strong{font-size:20px;font-weight:800;line-height:1.25}
.hv-video-text span{font-size:15px;color:var(--slate)}
.hv-webinar-copy{display:flex;flex-direction:column;gap:18px}
.hv-webinar-copy h2{font-size:36px}
.hv-webinar-copy>p{max-width:36em}
.hv-webinar-copy ol{display:flex;flex-direction:column;gap:8px;max-width:40em;padding-left:22px;font-size:17px;color:var(--ink-muted)}
.hv-webinar-copy ol li::marker{font-weight:600;color:var(--blue)}

/* Testimonials */
.hv-clients{margin-top:var(--section)}
.hv-clients .wrap{padding-block:var(--band)}
.hv-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;margin-top:56px}
.hv-quote{display:flex;flex-direction:column;gap:18px}
.hv-pull{font-size:24px;font-weight:800;line-height:1.25;letter-spacing:-.01em;text-wrap:balance}
.hv-quote blockquote{font-size:16px;line-height:1.6;color:var(--ink-muted)}
.hv-quote figcaption{margin-top:auto;padding-top:14px;border-top:1px solid var(--scree);font-size:15px;color:var(--slate)}
.hv-quote figcaption b{display:block;font-weight:600;color:var(--granite)}

/* Draft case studies: hidden on production by the Worker. */
.hv-stories .flag{margin-top:16px}
.hv-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.hv-story{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid var(--scree);border-radius:8px;background:var(--white)}
.hv-story>p{font-size:15px;font-weight:600;color:var(--slate)}
.hv-story dl{display:flex;flex-direction:column;gap:14px;margin:0}
.hv-story dt{font-size:15px;font-weight:600}
.hv-story dd{margin:0;font-size:16px;color:var(--ink-muted)}
.hv-story .hv-tbd{color:var(--gold-text)}

/* Timeline */
.hv-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;margin-top:56px}
.hv-step{display:flex;flex-direction:column;gap:12px}
.hv-step-mark{display:flex;align-items:center}
.hv-step-mark span{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--blue);color:var(--white);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.hv-step-mark::after{content:"";flex:1;height:2px;margin-left:12px;margin-right:-40px;background:var(--blue)}
.hv-step:last-child .hv-step-mark::after{display:none}
.hv-step:last-child .hv-step-mark span{border:2px solid var(--blue);background:var(--white);color:var(--blue)}
.hv-step h3{margin-top:8px;font-size:21px;font-weight:800;line-height:1.3}
.hv-step p{font-size:17px;color:var(--ink-muted)}
.hv-more{margin-top:40px;font-size:17px}
.hv-more a{display:inline-flex;align-items:center;min-height:44px}

/* FAQ */
.hv-faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px;align-items:start}

/* Phones and small tablets: five sizes (34 / 26 / 18 / 16 / 14). */
@media (max-width:900px){
 .hv-webinar-copy h2{font-size:26px;line-height:1.15;letter-spacing:-.015em}
 .sec-intro,.hv-svc-head p{font-size:16px}
 .hv-hero,.hv-proof,.hv-switch,.hv-svc-head,.hv-svc-row,.hv-webinar,.hv-quotes,.hv-faq,.hv-story-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .hv-hero{gap:36px;padding-block:32px 64px}
 .hv-hero-copy{gap:18px;padding-top:0}
 .hv-hero h1{font-size:34px;line-height:1.08;letter-spacing:-.02em}
 .hv-hero-tools,.hv-chart-caption{font-size:16px}
 .hv-actions{flex-direction:column;align-items:stretch;gap:8px}
 .hv-actions .btn{min-height:50px;font-size:16px}
 .hv-actions .link-quiet{justify-content:center;min-height:48px;font-size:16px}
 .hv-chart{gap:14px;padding:16px}
 .hv-chart .toggle{display:flex;align-self:stretch}
 .hv-chart .toggle button{flex:1 1 0;padding:0 8px;font-size:14px}
 .hv-chart-title{font-size:18px;font-weight:600;line-height:1.35}
 .tick{font-size:18px}
 .lbl{font-size:20px}
 .hv-chart .tick{font-size:20px}
 .hv-chart .lbl{font-size:25px}
 .hv-proof{gap:24px}
 .hv-proof-copy{gap:24px}
 .hv-proof blockquote{gap:10px}
 .hv-proof blockquote p{max-width:none;font-size:26px;line-height:1.15;letter-spacing:-.015em}
 .hv-proof cite{font-size:14px}
 .hv-logos{gap:12px;padding-top:18px}
 .hv-logos ul{gap:16px 32px}
 .hv-logos img{height:26px}
 .hv-logos li[data-brand="fox"] img{height:30px}
 .hv-logos li[data-brand="conagra"] img{height:42px}
 .hv-logos li[data-brand="heartland"] img{height:20px}
 .sec-intro{margin-top:8px}
 .hv-switch{gap:16px;margin-top:20px}
 .hv-sym-btn{gap:12px;min-height:52px;padding:12px 14px;font-size:16px;line-height:1.4}
 .hv-sym-btn::before{margin-top:5px}
 .hv-sym-panel{gap:16px;padding:16px}
 .js .hv-sym-panel{min-height:0}
 .hv-sym{gap:16px}
 .hv-sym-q{font-size:18px}
 .hv-sym-answer{padding-top:14px}
 .hv-sym-answer p{font-size:16px}
 .hv-sym-answer a{font-size:16px}
 .sym-table{font-size:14px}
 .sym-table th,.sym-table td{padding:11px 12px}
 .sym-table .type{display:none}
 .dash-num{font-size:30px}
 .dash-q{font-size:17px}
 .hv-svc-head{gap:8px;margin-bottom:24px}
 .hv-svc-row{gap:8px;padding-block:22px}
 .hv-svc-row h3{font-size:22px;line-height:1.2}
 .hv-svc-row.is-quiet h3{font-size:18px}
 .hv-svc-row p,.hv-svc-row.is-quiet p{font-size:16px}
 .hv-platforms .wrap{gap:32px}
 .hv-flow{grid-template-columns:minmax(0,1fr);gap:36px}
 .hv-flow>.node+.node::before{left:50%;top:-32px;width:14px;height:28px;margin:0 0 0 -7px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 28'%3E%3Cpath d='M7 2v22M2 18l5 6 5-6' fill='none' stroke='%239DB1FF' stroke-width='2'/%3E%3C/svg%3E")}
 .node{padding:16px}
 .node h3{font-size:18px}
 .node h3.node-small{font-size:16px}
 .hv-ads{grid-template-columns:minmax(0,1fr)}
 .hv-ads-link{grid-column:1;height:40px}
 .hv-webinar{gap:24px}
 .hv-video-text{padding:14px 16px}
 .hv-video-text strong{font-size:18px}
 .hv-video-text span{font-size:14px}
 .hv-webinar-copy{gap:14px}
 .hv-webinar-copy ol,.link-row{font-size:16px}
 .hv-quotes{gap:40px;margin-top:32px}
 .hv-pull{font-size:18px;font-weight:600;line-height:1.35;letter-spacing:0}
 .hv-quote figcaption{font-size:14px}
 .hv-steps{grid-template-columns:minmax(0,1fr);gap:0;margin-top:32px}
 .hv-step{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:16px;row-gap:6px;padding-bottom:28px}
 .hv-step-mark{grid-row:1/span 2;flex-direction:column;align-self:stretch}
 .hv-step-mark span{width:36px;height:36px;font-size:16px}
 .hv-step-mark::after{width:2px;height:auto;margin:6px 0 -28px}
 .hv-step h3{margin-top:4px;font-size:18px}
 .hv-step p{font-size:16px}
 .hv-more{margin-top:8px;font-size:16px}
 .hv-faq{gap:20px}
}
@media (prefers-reduced-motion:reduce){
 .js .draw{animation:none;stroke-dashoffset:0}
 *,*::before,*::after{transition-duration:0s!important}
}
