body{margin:0;background:#F4F2EE}
a{color:#3A2C24}a:hover{color:#6F6359}
.hv-cta{transition:transform .28s ease-out, box-shadow .28s ease-out}
.hv-cta:hover{transform:translateY(-2px)}
.hv-faq summary{list-style:none;cursor:pointer}
.hv-faq summary::-webkit-details-marker{display:none}
.hv-faq summary:after{content:'+';font-family:'DM Sans',sans-serif;font-size:22px;color:#6F6359}
.hv-faq[open] summary:after{content:'\2212'}
@keyframes hvBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes hvFloat{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-9px) rotate(var(--r,0deg))}}
@keyframes hvListen{0%,3%{opacity:0;transform:translateY(10px)}7%,30%{opacity:1;transform:none}34%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes hvL1{0%,8%{opacity:0}11%,31%{opacity:1}34%,100%{opacity:0}}
@keyframes hvL2{0%,14%{opacity:0}17%,31%{opacity:1}34%,100%{opacity:0}}
@keyframes hvL3{0%,20%{opacity:0}23%,31%{opacity:1}34%,100%{opacity:0}}
@keyframes hvWave{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@keyframes hvOrg{0%,33%{opacity:0;transform:translateY(6px)}37%,46%{opacity:1;transform:none}49%,100%{opacity:0}}
@keyframes hvChip{0%,37%{opacity:.35;background:transparent}42%,100%{opacity:1;background:#FBFAF7}}
@keyframes hvKid{0%,48%{opacity:0;transform:translateY(12px)}53%,93%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes hvDot{0%,54%{opacity:0;transform:scale(.2)}58%,94%{opacity:1;transform:none}98%,100%{opacity:0}}
@keyframes hvRing{0%,5%,32%,100%{box-shadow:0 10px 20px -10px rgba(201,138,20,.55),0 0 0 0 rgba(246,183,60,0)}9%,28%{box-shadow:0 10px 20px -10px rgba(201,138,20,.55),0 0 0 9px rgba(246,183,60,.22)}}
@keyframes hvTwinkle{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes hvSettle{0%,30%{opacity:.35;font-weight:400}45%,100%{opacity:1;font-weight:600}}
@keyframes hvRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hvBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hv-anim .a-breath{animation:hvBreath 3.2s ease-in-out infinite, hvRing 14s ease-out infinite}
.hv-anim .a-float{animation:hvFloat 6s ease-in-out infinite}
.hv-anim .a-float2{animation:hvFloat 7s ease-in-out 1.2s infinite}
.hv-anim .a-listen{animation:hvListen 14s ease-out infinite both}
.hv-anim .a-l1{animation:hvL1 14s ease-out infinite both}
.hv-anim .a-l2{animation:hvL2 14s ease-out infinite both}
.hv-anim .a-l3{animation:hvL3 14s ease-out infinite both}
.hv-anim .a-wave{animation:hvWave .9s ease-in-out infinite;transform-origin:center}
.hv-anim .a-org{animation:hvOrg 14s ease-out infinite both}
.hv-anim .a-chip{animation:hvChip 14s ease-out infinite both}
.hv-anim .a-kid{animation:hvKid 14s ease-out infinite both}
.hv-anim .a-dot{animation:hvDot 14s ease-out infinite both}
.hv-anim .a-tw{animation:hvTwinkle 3.4s ease-in-out infinite}
.hv-anim .a-settle{animation:hvSettle 4s ease-out infinite alternate}
.hv-anim .a-rise{animation:hvRise .9s cubic-bezier(.2,.7,.2,1) both}
.hv-anim .a-bar{animation:hvBar 1.4s cubic-bezier(.2,.7,.2,1) both;transform-origin:left}
@keyframes hvM1{0%,3%{opacity:0;transform:translateY(10px)}8%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes hvM2{0%,18%{opacity:0;transform:translateY(10px)}23%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes hvM3{0%,36%{opacity:0;transform:translateY(10px)}41%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes hvM4{0%,54%{opacity:0;transform:translateY(10px)}59%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes hvRec{0%,44%{opacity:0;transform:translateY(14px) rotate(-3deg)}50%,92%{opacity:1;transform:rotate(-3deg)}97%,100%{opacity:0;transform:rotate(-3deg)}}
.hv-anim .a-m1{animation:hvM1 13s ease-out infinite both}
.hv-anim .a-m2{animation:hvM2 13s ease-out infinite both}
.hv-anim .a-m3{animation:hvM3 13s ease-out infinite both}
.hv-anim .a-m4{animation:hvM4 13s ease-out infinite both}
.hv-anim .a-rec{animation:hvRec 13s ease-out infinite both}
.hv-still .a-listen,.hv-still .a-org{opacity:0}
.hv-still *{animation:none !important}
@media (prefers-reduced-motion: reduce){.hv-anim *{animation:none !important}.hv-anim .a-listen,.hv-anim .a-org{opacity:0}}
@media (max-width: 860px){.hv-float{display:none}.hv-hide-sm{display:none}}

/* ---------- Beta sign-up ---------- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
.hv-modal{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:28px;padding:36px 32px 28px;background:#F4F2EE;color:#3A2C24;font-family:'DM Sans',system-ui,-apple-system,sans-serif;box-shadow:0 40px 100px -30px rgba(30,22,16,.45);box-sizing:border-box}
.hv-modal::backdrop{background:rgba(42,34,28,.38);backdrop-filter:blur(4px)}
.hv-modal[open]{animation:hvModalIn .32s ease-out both}
@keyframes hvModalIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.hv-modal[open]{animation:none}}
.hv-modal__close{position:absolute;top:14px;right:14px;width:44px;height:44px;border:0;border-radius:22px;background:transparent;color:#6F6359;display:flex;align-items:center;justify-content:center;cursor:pointer}
.hv-modal__close:hover{background:#ECE8E1;color:#3A2C24}
.hv-mark{width:40px;height:40px;border-radius:20px;background:#3A2C24;color:#F4F2EE;display:flex;align-items:center;justify-content:center;font-family:'Newsreader',Georgia,serif;font-size:20px}
.hv-mark--moon{background:#2D3448;color:#F3E3C3}
.hv-eyebrow{margin:20px 0 0;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#6F6359}
.hv-modal__title{margin:8px 0 0;font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:34px;line-height:1.1;letter-spacing:-.015em}
.hv-step[data-step=done] .hv-modal__title{margin-top:20px}
.hv-modal__title:focus{outline:none}
.hv-modal__lede{margin:12px 0 0;font-size:15px;line-height:1.55;color:#6F6359}
#beta-form{margin-top:24px;display:flex;flex-direction:column;gap:14px}
.hv-row2{display:grid;grid-template-columns:1fr 132px;gap:12px}
@media (max-width:420px){.hv-row2{grid-template-columns:1fr}}
.hv-field{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0;min-width:0}
.hv-field>span,.hv-field legend{font-size:13px;font-weight:500;color:#3A2C24;padding:0}
.hv-field legend{margin-bottom:6px}
.hv-field input,.hv-field select{appearance:none;-webkit-appearance:none;width:100%;box-sizing:border-box;min-height:48px;padding:0 14px;border:1px solid #DDD6CA;border-radius:14px;background:#FBFAF7;color:#3A2C24;font:inherit;font-size:16px}
.hv-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236F6359' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px}
.hv-field input:focus,.hv-field select:focus{outline:2px solid #3A2C24;outline-offset:2px;border-color:transparent}
.hv-field [aria-invalid=true]{border-color:#A4482E}
.hv-seg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;background:#ECE8E1;border-radius:18px;padding:5px}
.hv-seg label{position:relative;display:block}
.hv-seg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.hv-seg span{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:13px;font-family:'Newsreader',Georgia,serif;font-size:18px;color:#3A2C24}
.hv-seg input:checked+span{background:#FBFAF7;box-shadow:0 1px 2px rgba(58,44,36,.06),0 4px 12px -6px rgba(58,44,36,.10);font-weight:500}
.hv-seg input:focus-visible+span{outline:2px solid #3A2C24;outline-offset:2px}
.hv-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.hv-turnstile:empty{display:none}
.hv-error{margin:0;padding:10px 14px;border-radius:12px;background:#F6E3DC;color:#7A2F1C;font-size:14px;line-height:1.45}
.hv-submit,.hv-share__btn,.hv-done{appearance:none;border:0;cursor:pointer;font:inherit}
.hv-submit{min-height:54px;border-radius:24px;background:#F6B73C;color:#3A2C24;font-size:16.5px;font-weight:600;box-shadow:0 10px 20px -10px rgba(201,138,20,.55),0 2px 4px -2px rgba(201,138,20,.35);margin-top:4px}
.hv-submit:disabled{opacity:.7;cursor:progress}
.hv-submit:focus-visible,.hv-share__btn:focus-visible,.hv-done:focus-visible,.hv-modal__close:focus-visible{outline:2px solid #3A2C24;outline-offset:3px}
.hv-fine{margin:2px 0 0;font-size:12.5px;line-height:1.5;color:#6F6359;text-align:center}
.hv-fine a{color:#3A2C24}
.hv-share{margin-top:24px;padding:18px;border-radius:20px;background:#ECE8E1;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.hv-share p{margin:0;font-size:14.5px}
.hv-share__btn{min-height:44px;padding:0 18px;border-radius:22px;background:#FBFAF7;color:#3A2C24;font-size:14.5px;font-weight:500;box-shadow:0 1px 2px rgba(58,44,36,.06),0 4px 12px -6px rgba(58,44,36,.10)}
.hv-share__ok{font-size:13px;color:#6F6359}
.hv-done{margin-top:18px;width:100%;min-height:48px;border-radius:24px;background:transparent;color:#6F6359;font-size:15px}
.hv-done:hover{background:#ECE8E1;color:#3A2C24}
