/* home-v3.css — final-v3 home only. Manrope (400/500 only), cream base, no dots, colour-block motif. */

:root{
  --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --serif:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --cream:#FFFAF2;
  --teal:#034748;
}
/* base: cream, no dotted grid, Manrope, weights capped at 500 */
body.home-page{background:var(--cream)!important;background-image:none!important;font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}
body.home-page,body.home-page *{font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-weight:500!important}

/* shared bits */
.hv{padding:clamp(50.4px,7.4vw,100.8px) 0}
.hv>.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.hv-eyebrow{display:block;font-size:10.8px;letter-spacing:0.099em;text-transform:uppercase;color:var(--blue);margin:0 0 clamp(10.8px,1.4vw,16.2px)}
.hv-h2{font-family:var(--sans);font-size:clamp(25.2px,4vw,48.6px);line-height:1.04;letter-spacing:-.025em;margin:0;max-width:22ch;color:var(--ink)}
.hv-lead{margin:clamp(12.6px,1.6vw,19.8px) 0 0;font-size:clamp(13.95px,1.3vw,17.1px);line-height:1.5;color:var(--ink-soft);max-width:54ch}
.hv-head{margin:0 0 clamp(25.2px,3.4vw,43.2px)}
.hv-cta{margin-top:clamp(19.8px,2.6vw,30.6px);display:flex;gap:12.6px;flex-wrap:wrap}

/* hero — full-bleed image right, smaller title, shorter section */
.hv-hero{padding:0}
.hv-hero>.wrap{max-width:none;margin:0;padding:0}
.hv-hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:0;align-items:stretch;min-height:clamp(414px,76vh,720px)}
.hv-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(25.2px,5vh,54px) var(--pad);padding-left:max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)))}
.hv-hero .mono{display:block;font-size:10.8px;letter-spacing:0.099em;text-transform:uppercase;color:var(--blue);margin-bottom:clamp(12.6px,1.6vw,18px)}
.hv-hero h1{font-family:var(--sans);font-size:clamp(27px,3.6vw,52.2px);line-height:1.02;letter-spacing:-.03em;margin:0;max-width:16ch;color:var(--ink)}
.hv-hero .sub{margin:clamp(13.5px,1.6vw,19.8px) 0 0;max-width:42ch;font-size:clamp(13.5px,1.2vw,16.2px);line-height:1.5;color:var(--ink-soft)}
.hv-hero .hv-cta{margin-top:clamp(18px,2.2vw,27px)}
.hv-hero-img{overflow:hidden;min-height:100%}
.hv-hero-img img{width:100%;height:100%;min-height:100%;object-fit:cover;display:block}
@media(max-width:860px){.hv-hero-grid{grid-template-columns:1fr;min-height:0}.hv-hero-copy{padding:clamp(27px,8vw,46.8px) var(--pad) clamp(30.6px,9vw,50.4px)}.hv-hero-img{min-height:0}.hv-hero-img img{min-height:54vh}}

/* secondary hero button: filled yellow pill (replaces the underlined link) */
.hv-hero .pill.alt,.hv-cta .pill.alt{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.hv-hero .pill.alt:hover,.hv-cta .pill.alt:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* teal marquee — thinner */
.hv-marq{background:var(--teal);color:var(--cream);overflow:hidden;padding:clamp(8.1px,1vw,13.5px) 0}
.hv-marq .track{display:flex;white-space:nowrap;animation:hvmarq 32s linear infinite;font-family:var(--sans);font-size:clamp(12.6px,1.5vw,19.8px);letter-spacing:-.015em}
.hv-marq .track span{padding:0 clamp(14.4px,1.8vw,27px)}
.hv-marq .track em{font-style:normal;color:var(--yellow)}
@keyframes hvmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* big statement (the sentence) */
.hv-say p{font-family:var(--sans);font-size:clamp(20.7px,3.1vw,41.4px);line-height:1.2;letter-spacing:-.025em;margin:0;max-width:30ch;color:var(--ink)}
.hv-say p .hl{color:var(--blue)}
.hv-say p .ht{color:var(--teal)}

/* colour-block motif (like "Common enough to matter") */
.hv-cblock{display:grid;grid-template-columns:1.08fr .92fr;gap:0;align-items:stretch}
.hv-cblock.reverse{grid-template-columns:.92fr 1.08fr}
.hv-panel{min-height:clamp(216px,28vw,360px);padding:clamp(21.6px,3vw,43.2px);display:flex;flex-direction:column;justify-content:space-between;border-radius:0;color:#fff}
.hv-panel.teal{background:var(--teal);color:var(--cream)}
.hv-panel.blue{background:var(--blue)}
.hv-panel.pink{background:var(--pink);color:var(--ink)}
.hv-panel.cream{background:#fff;color:var(--ink);border:0.9px solid var(--line)}
.hv-panel .pe{font-size:10.8px;letter-spacing:0.099em;text-transform:uppercase;opacity:.85;margin:0 0 auto}
.hv-panel.pink .pe,.hv-panel.cream .pe{color:var(--blue);opacity:1}
.hv-panel h2{font-family:var(--sans);font-size:clamp(21.6px,3vw,41.4px);line-height:1.02;letter-spacing:-.025em;margin:clamp(18px,3vw,36px) 0 0}
.hv-panel p{margin:clamp(12.6px,1.6vw,18px) 0 0;max-width:44ch;font-size:clamp(13.05px,1.1vw,15.3px);line-height:1.5;opacity:.92}
.hv-panel .go{display:inline-block;margin-top:clamp(14.4px,2vw,21.6px);font-size:12.6px}
.hv-cblock .hv-img{border-radius:0;overflow:hidden;min-height:clamp(216px,28vw,360px)}
.hv-cblock .hv-img img{width:100%;height:100%;object-fit:cover;display:block}
.hv-cblock.reverse .hv-img{order:-1}
@media(max-width:820px){.hv-cblock,.hv-cblock.reverse{grid-template-columns:1fr}.hv-cblock.reverse .hv-img{order:0}.hv-panel,.hv-cblock .hv-img{min-height:0}.hv-cblock .hv-img{aspect-ratio:16/10}}

/* 7+1 block tiles */
.hv-blocks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(9px,1.2vw,14.4px)}
.hv-tile{display:flex;flex-direction:column;gap:7.2px;background:#fff;border:0.9px solid var(--line);border-radius:0;padding:clamp(16.2px,1.8vw,23.4px);min-height:clamp(135px,15vw,180px);text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.hv-tile:hover{border-color:var(--ink);transform:translateY(-2px)}
.hv-tile .sci{font-size:9.9px;letter-spacing:0.072em;text-transform:uppercase;color:var(--blue)}
.hv-tile h3{font-family:var(--sans);font-size:clamp(15.3px,1.5vw,19.8px);letter-spacing:-.015em;margin:0;color:inherit}
.hv-tile p{font-size:11.7px;color:var(--ink-soft);line-height:1.45;margin:auto 0 0}
.hv-tile.trap{background:var(--teal);color:var(--cream);border-color:var(--teal)}
.hv-tile.trap .sci{color:var(--yellow)}
.hv-tile.trap p{color:rgba(255,255,255,.8)}
.hv-blocks-more{margin-top:clamp(18px,2.4vw,28.8px)}
@media(max-width:860px){.hv-blocks-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.hv-blocks-grid{grid-template-columns:1fr}}

/* offers = two colour panels */
.hv-offer{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10.8px,1.4vw,16.2px)}
@media(max-width:700px){.hv-offer{grid-template-columns:1fr}}

/* ================= v4 HOME updates ================= */
/* hero: bigger title + sub (eyebrow removed in markup) */
.hv-hero h1{font-size:clamp(32px,4.2vw,62px)}
.hv-hero .sub{font-size:clamp(16px,1.4vw,21px);max-width:48ch}

/* our approach: centered, generous padding */
.hv-say{padding:130px 0;text-align:center}
.hv-say .hv-eyebrow{color:var(--blue)}
.hv-say p{margin-left:auto;margin-right:auto;max-width:52ch;text-wrap:balance}

/* symptom & cause: no section padding, block as tall as /final/ live section */
.hv-cblock-sec{padding:0}
.hv-cblock .hv-panel{min-height:clamp(460px,50vw,780px)}
.hv-cblock .hv-img{min-height:clamp(460px,50vw,780px)}

/* numbers section (editorial stats) */
.hv-nums-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,56px);margin-top:clamp(28px,3.4vw,48px)}
.hv-num{border-top:1px solid var(--line);padding-top:clamp(16px,2vw,24px)}
.hv-num .n{display:block;font-family:var(--sans);font-size:clamp(52px,7vw,112px);line-height:.86;letter-spacing:-.04em;color:var(--teal)}
.hv-num .n .mk{font-size:.3em;vertical-align:top;color:var(--blue);margin-left:.1em}
.hv-num p{margin:clamp(14px,1.6vw,20px) 0 0;font-size:16px;line-height:1.45;color:var(--ink-soft);max-width:26ch}
.hv-num .src{display:block;margin-top:10px;font-size:12px;color:var(--ink-soft);opacity:.75}
@media(max-width:760px){.hv-nums-grid{grid-template-columns:1fr;gap:0}.hv-num{padding:22px 0}}

/* working map — richer cards, 3x3, 9th cell = text button */
.hv-map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.2vw,16px)}
.hv-card{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--line);padding:clamp(20px,2vw,30px);min-height:clamp(200px,20vw,260px);text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.hv-card:hover{border-color:var(--ink);transform:translateY(-2px)}
.hv-card .sci{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.hv-card h3{font-family:var(--sans);font-size:clamp(19px,1.8vw,26px);letter-spacing:-.015em;margin:0;color:inherit}
.hv-card ul{list-style:none;margin:auto 0 0;padding:0;display:grid;gap:7px}
.hv-card li{font-size:13.5px;line-height:1.35;color:var(--ink-soft)}
.hv-card li::before{content:"→ ";color:var(--blue)}
.hv-card.trap{background:var(--teal);color:var(--cream);border-color:var(--teal)}
.hv-card.trap .sci{color:var(--yellow)}
.hv-card.trap li{color:rgba(255,255,255,.82)}
.hv-card.trap li::before{color:var(--yellow)}
.hv-map-more{display:flex;align-items:center;justify-content:flex-start;background:none;border:1px solid var(--line);padding:clamp(20px,2vw,30px);text-decoration:none;color:var(--ink);font-family:var(--sans);font-size:clamp(19px,1.8vw,26px);letter-spacing:-.02em;transition:background .2s,color .2s;min-height:clamp(200px,20vw,260px)}
.hv-map-more:hover{background:var(--yellow);color:var(--ink)}
@media(max-width:860px){.hv-map-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.hv-map-grid{grid-template-columns:1fr}}

/* symptom & cause: no top padding */
.oh-proof{padding-top:0}

/* "You might be blocked by …" — animated rotating block name (Feeld-style) */
.hv-blocked{text-align:center}
.hv-blocked .hv-eyebrow{color:var(--blue)}
.hv-blocked-h{font-family:var(--sans);font-weight:500;font-size:clamp(34px,5.8vw,100px);line-height:1.04;letter-spacing:-.035em;margin:0;color:var(--ink)}
.rot-wrap{display:block;overflow:hidden;height:1.18em;margin-top:.06em}
.rot{display:inline-block;color:var(--blue);line-height:1.18em;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .5s ease}
.rot.out{transform:translateY(-115%);opacity:0}
.rot.pre{transform:translateY(115%);opacity:0;transition:none}
.hv-blocked-body{margin:clamp(22px,2.6vw,34px) auto 0;max-width:60ch;font-size:16px;line-height:1.6;color:var(--ink-soft);text-wrap:pretty}
.hv-blocked-cta{margin-top:clamp(26px,3vw,40px)}

/* offers: body + package list + real button */
.hv-panel .pbody{margin:clamp(14px,1.6vw,20px) 0 0;font-size:15px;line-height:1.55;max-width:46ch;text-wrap:pretty}
.hv-panel.blue .pbody,.hv-panel.teal .pbody{color:rgba(255,255,255,.9)}
.hv-panel .plist{list-style:none;margin:clamp(18px,2.2vw,28px) 0 clamp(20px,2.4vw,30px);padding:0;display:grid;gap:0}
.hv-panel .plist li{font-family:var(--sans);font-weight:500;font-size:clamp(18px,1.7vw,24px);letter-spacing:-.015em;padding:13px 0;border-top:1px solid currentColor}
.hv-panel .plist li:last-child{border-bottom:1px solid currentColor}
.hv-panel.blue .plist li,.hv-panel.teal .plist li{border-color:rgba(255,255,255,.28)}
.hv-panel .pill{align-self:flex-start;margin-top:auto}
.hv-panel.blue .pill{background:#fff;color:var(--blue)}
.hv-panel.blue .pill:hover{background:var(--yellow);color:var(--ink)}
.hv-panel.pink .pill{background:var(--ink);color:#fff}
.hv-panel.pink .pill:hover{background:var(--blue);color:#fff}
.hv-offer .hv-panel{min-height:auto}

/* FAQ accordion — same design/sizes as for-individuals (sub) */
.hv-faq .hv-head{text-align:center}
.hv-faq .hv-h2{margin-left:auto;margin-right:auto}
.hv-faq .faq-list{max-width:792px;margin:0 auto;border-top:0.9px solid var(--line)}
.hv-faq .faq-item{border-bottom:0.9px solid var(--line)}
.hv-faq .faq-item .faq-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:16.83px 0;font-family:var(--sans);font-weight:500;font-size:clamp(13.005px,1.36vw,16.83px);color:var(--ink);display:flex;justify-content:space-between;gap:15.3px;align-items:center}
.hv-faq .faq-item .faq-q::after{content:"+";font-size:18.36px;color:var(--blue);line-height:1}
.hv-faq .faq-item.open .faq-q::after{content:"–"}
.hv-faq .faq-item .faq-q:hover{color:var(--blue)}
.hv-faq .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.hv-faq .faq-item.open .faq-a{max-height:244.8px}
.hv-faq .faq-a p{padding:0 0 16.83px;font-size:11.475px;line-height:1.55;color:var(--ink-soft);margin:0;max-width:74ch}

/* dark "Looking at what you carry" teaser */
.hv-look{background:#034748;color:#fff;text-align:center;padding:clamp(84px,13vh,150px) 0}
.hv-look h2{font-family:var(--sans);font-weight:500;font-size:clamp(30px,5vw,72px);line-height:1.04;letter-spacing:-.03em;margin:0 auto;max-width:20ch;color:#fff}
.hv-look p{margin:clamp(20px,2.6vw,32px) auto 0;max-width:52ch;font-size:16px;line-height:1.6;color:rgba(255,255,255,.82);text-wrap:pretty}
.hv-look .cta{margin-top:clamp(26px,3vw,42px);display:flex;justify-content:center}
.hv-look .pill.alt{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.hv-look .pill.alt:hover{background:#fff;color:var(--ink);border-color:#fff}

/* 7+1 carousel (numbers, no images) */
.hv-carousel .caro-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);align-items:end;margin-bottom:clamp(26px,3vw,44px)}
.caro-intro{font-size:16px;line-height:1.6;color:var(--ink-soft);max-width:52ch;margin:0}
.caro-navs{display:flex;gap:9px;margin-bottom:clamp(16px,1.8vw,22px)}
.caro-nav{width:46px;height:46px;border:0;background:var(--blue);color:#fff;cursor:pointer;font-size:19px;display:grid;place-items:center;transition:background .2s}
.caro-nav:hover{background:var(--ink)}
.caro-track{display:flex;gap:clamp(12px,1.4vw,18px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;scroll-behavior:smooth}
.caro-track::-webkit-scrollbar{display:none}
.ccard{flex:0 0 clamp(238px,26vw,320px);scroll-snap-align:start;background:#fff;border:1px solid var(--line);padding:clamp(22px,2vw,32px);min-height:clamp(200px,20vw,260px);display:flex;flex-direction:column;gap:12px}
.ccard .cnum{font-family:var(--sans);font-weight:500;font-size:clamp(32px,3vw,52px);line-height:1;letter-spacing:-.03em}
.ccard h3{font-family:var(--sans);font-weight:500;font-size:clamp(18px,1.6vw,24px);letter-spacing:-.015em;margin:0;color:var(--ink);line-height:1.05}
.ccard p{font-size:13.5px;line-height:1.45;color:var(--ink-soft);margin:auto 0 0}
.caro-more{margin-top:clamp(22px,2.6vw,32px)}
@media(max-width:700px){.hv-carousel .caro-head{grid-template-columns:1fr}}
