/* Haluvra premium pass (Oct 18 2026). Loaded after styles.css. Restraint: one type scale, 8px grid, flat cards, one button style. */
:root{
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s8:64px;--s10:80px;--s12:96px;--s16:128px;
  --r:12px;--rb:8px;--ink-2:#5A5650;--ink-3:#8B867F;
  --fs-h1:clamp(2.75rem,1.6rem + 5.2vw,5.25rem);
  --fs-h2:clamp(2.125rem,1.45rem + 2.9vw,3.75rem);
  --fs-h3:clamp(1.25rem,1.1rem + .5vw,1.5rem);
  --fs-lede:clamp(1.125rem,1rem + .45vw,1.3125rem);
  --fs-body:1.0625rem;
  --sec:clamp(var(--s12),6rem + 4vw,10rem);
  --wrap:1200px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
body.premium,.premium-page{font-size:var(--fs-body);line-height:1.6;letter-spacing:-.003em;font-feature-settings:"cv11","ss01","ss03"}
.wrap{padding:0 var(--s3)}
@media(min-width:960px){.wrap{padding:0 var(--s5)}}
h1,h2,h3{font-weight:700;text-wrap:balance}
h1{font-size:var(--fs-h1);letter-spacing:-.045em;line-height:.98;font-weight:700}
h2{font-size:var(--fs-h2);letter-spacing:-.04em;line-height:1.02}
h3{font-size:var(--fs-h3);letter-spacing:-.025em;line-height:1.2}
p{text-wrap:pretty}
h2 .muted{color:var(--ink-3);font-weight:600}

/* icons */
.ic{width:28px;height:28px;fill:none;stroke:var(--green);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;overflow:visible}
.ic-lg{width:32px;height:32px}
.ic-arrow{width:18px;height:18px;stroke:currentColor;transition:transform .25s var(--ease)}
/* accent strokes inside <symbol> read a custom property, which inherits through <use> */
.ic .a{stroke:var(--ic-accent,#C0634A)}
.b-goals{--ic-accent:#6B4F8C}.b-goals .ic{stroke:var(--purple)}
.b-private,.hy-main{--ic-accent:#F2B9A8}

/* buttons: one style, two fills */
.btn{font-weight:600;font-size:16px;letter-spacing:-.01em;border-radius:var(--rb);padding:0 var(--s3);min-height:48px;border-width:1px;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.btn-lg{min-height:56px;padding:0 var(--s4);font-size:17px}
.btn-small{min-height:40px;padding:0 var(--s2);font-size:15px}
.btn-primary{background:var(--green);color:#fff;border-color:var(--green)}
.btn-primary:hover{background:var(--green-d);border-color:var(--green-d)}
.btn-ghost{background:#fff;color:var(--green);border-color:var(--line)}
.btn-ghost:hover{background:#fff;border-color:var(--green)}
.btn-light{background:#fff;color:var(--green);border-color:#fff}
.btn-light:hover{background:var(--card);border-color:var(--card)}
.text-link{display:inline-flex;align-items:center;gap:var(--s1);font-weight:600;color:var(--green);text-decoration:none;min-height:48px;padding:0 var(--s1)}
.text-link:hover .ic-arrow{transform:translateX(3px)}
.text-link.light{color:#fff}

/* header */
.site-header{background:rgba(250,250,250,.8)}
.nav{min-height:64px}
.nav-link{font-weight:500;color:var(--ink-2)}

/* captions */
.cap{font-size:13px;color:var(--ink-3);margin-top:var(--s3);text-align:center;letter-spacing:0}
.cap-center{margin-top:var(--s4)}

/* kicker: quieter, sentence-case friendly */
.kicker{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--terra-text);margin-bottom:var(--s2)}
.section{padding:var(--sec) 0}
.section-head{max-width:46rem;margin-bottom:var(--s8)}
.sub{font-size:var(--fs-lede);color:var(--ink-2);margin-top:var(--s3);max-width:38rem;line-height:1.55}
.section-head.center .sub{margin-left:auto;margin-right:auto}

/* hero */
.premium .hero{background:var(--bg);padding:var(--s6) 0 var(--s12);overflow:hidden}
.premium .hero-grid{gap:var(--s8)}
.premium .eyebrow{background:none;border:0;padding:0;margin:0 0 var(--s3);font-size:15px;font-weight:500;color:var(--ink-2);display:block;max-width:30rem;line-height:1.5}
.premium h1 .accent{background:none;-webkit-text-fill-color:currentColor;color:var(--terra)}
.premium .lede{font-size:var(--fs-lede);color:var(--ink-2);margin:var(--s3) 0 var(--s5);max-width:34rem;line-height:1.55}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3)}
.hero-cta.center{justify-content:center}
.hero-note{margin-top:var(--s2);font-size:14px;color:var(--ink-3)}
.hero-visual{margin:0;position:relative;display:flex;flex-direction:column;align-items:center;padding:var(--s3) 0 0}
.hero-visual::before{content:"";position:absolute;z-index:0;width:min(520px,118vw);aspect-ratio:1;border-radius:50%;background:var(--card);top:50%;left:50%;transform:translate(-50%,-52%)}
.hero-visual .cap{position:relative;z-index:1}

/* device frame (pure CSS, no third-party mockup) */
.device{position:relative;z-index:1;width:min(300px,74vw);aspect-ratio:390/844;box-sizing:content-box;padding:11px;border-radius:52px;background:#141414;
  box-shadow:inset 0 0 0 1.5px #3a3a3a,inset 0 0 0 4px #141414}
.device::before{content:"";position:absolute;z-index:2;top:22px;left:50%;transform:translateX(-50%);width:28%;height:3.4%;border-radius:999px;background:#0b0b0b}
.device::after{content:"";position:absolute;right:-2px;top:22%;width:3px;height:11%;border-radius:0 2px 2px 0;background:#2a2a2a}
.device picture,.device img{display:block;width:100%;height:100%}
.device img{object-fit:cover;object-position:top;border-radius:41px;background:#fff}
.device-hero{
  box-shadow:inset 0 0 0 1.5px #3a3a3a,inset 0 0 0 4px #141414,
  0 1px 1px rgba(26,26,26,.04),0 4px 8px -2px rgba(26,26,26,.06),0 18px 36px -12px rgba(45,74,62,.22),0 48px 96px -32px rgba(45,74,62,.34)}
@media (prefers-reduced-motion:no-preference){
  .device-hero{animation:drift 7s ease-in-out infinite}
  @keyframes drift{50%{transform:translateY(-8px)}}
}
@media(min-width:960px){
  .premium .hero{padding:var(--s10) 0 var(--s16)}
  .premium .hero-grid{grid-template-columns:1.15fr .85fr;gap:var(--s10)}
  .device-hero{width:320px}
}

/* pain */
.premium .pain{background:#fff;border:0}
.pain-list{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.pain-list li{display:grid;grid-template-columns:24px 1fr;gap:var(--s3);padding:var(--s4) 0;border-bottom:1px solid var(--line)}
.pain-list .ic{margin-top:4px}
.pain-q{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.02em;line-height:1.3;max-width:32ch}
.pain-fix{color:var(--ink-2);margin-top:var(--s1);max-width:52ch}
@media(min-width:860px){
  .pain-list{grid-template-columns:repeat(3,1fr);gap:var(--s5);border:0}
  .pain-list li{grid-template-columns:1fr;gap:var(--s3);border-bottom:0;border-top:1px solid var(--line);padding:var(--s4) 0 0}
}

/* calculator: flat, calm */
.premium .calc-section{background:var(--bg)}
.premium .calc-inputs{border-radius:var(--r);padding:var(--s3)}
.premium .result{border-radius:var(--r)}
.premium .calc-fine{max-width:65ch;color:var(--ink-3);font-size:14px;margin-top:var(--s3)}

/* steps */
.premium .how{background:#fff}
.premium .steps{list-style:none;padding:0;margin:0;display:grid;gap:var(--s5)}
.premium .step{background:none;border:0;padding:var(--s4) 0 0;border-top:1px solid var(--line);border-radius:0;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:var(--s2);row-gap:var(--s1)}
.premium .step .ic{grid-row:1}
.premium .step .step-n{grid-row:1;justify-self:end;position:static;font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:.06em;background:none;width:auto;height:auto;border:0;padding:0}
.premium .step h3{grid-column:1/-1;margin-top:var(--s2)}
.premium .step p{grid-column:1/-1;color:var(--ink-2);max-width:40ch}
@media(min-width:860px){.premium .steps{grid-template-columns:repeat(3,1fr);gap:var(--s5)}}

/* bento */
.bento2{display:grid;gap:var(--s2);grid-template-columns:1fr}
.btile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);position:relative;overflow:hidden;box-shadow:none;min-height:0}
.btile h3{margin:var(--s2) 0 var(--s1)}
.btile p{color:var(--ink-2);font-size:16px;max-width:36ch}
.tile-screen{padding-bottom:0;display:flex;flex-direction:column}
.peek{margin-top:var(--s4);height:300px;overflow:hidden;display:flex;justify-content:center;align-items:flex-start;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
.device-peek{width:236px;padding:8px;border-radius:40px}
.device-peek::before{top:16px}
.device-peek img{border-radius:32px}
.b-goals{background:#F3F0F7;border-color:#E4DDEC}
.b-goals h3{color:var(--purple)}
.tile-text{display:flex;flex-direction:column;justify-content:flex-start}
.b-private{background:var(--green);border-color:var(--green)}
.b-private h3{color:#fff}.b-private p{color:rgba(255,255,255,.78)}
.b-private .ic{stroke:#fff}
@media(min-width:720px){
  .bento2{grid-template-columns:repeat(2,1fr)}
  .b-debts{grid-column:1/-1;display:flex;flex-direction:row;align-items:flex-start;gap:var(--s5)}
  .b-debts .tile-copy{flex:1;padding-bottom:var(--s4)}
  .b-debts .peek{flex:none;width:300px;margin-top:0;height:380px}
}
@media(min-width:1040px){
  .bento2{grid-template-columns:repeat(3,1fr)}
  .b-debts{grid-column:1/3;grid-row:1}
  .b-plan{grid-column:3;grid-row:1}
  .b-mile{grid-column:1;grid-row:2/4}
  .b-goals{grid-column:2;grid-row:2/4}
  .b-date{grid-column:3;grid-row:2}
  .b-private{grid-column:3;grid-row:3}
  .b-plan .peek,.b-mile .peek,.b-goals .peek{height:340px}
}

/* hybrid */
.premium .hybrid{background:#fff}
.premium .hy-grid{gap:var(--s2)}
.premium .hy-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);box-shadow:none}
.premium .hy-card .ic{margin-bottom:var(--s3)}
.premium .hy-name{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.025em}
.premium .hy-tag{font-size:14px;font-weight:600;color:var(--terra-text);margin:var(--s1) 0 var(--s2)}
.premium .hy-card p:last-child{color:var(--ink-2);font-size:16px}
.premium .hy-main{background:var(--green);border-color:var(--green);color:#fff}
.premium .hy-main .ic{stroke:#fff}
.premium .hy-main .hy-tag{color:#F2B9A8}
.premium .hy-main p:last-child{color:rgba(255,255,255,.82)}
.premium .hy-note{max-width:65ch;margin-top:var(--s4);color:var(--ink-2);font-size:15px}

/* founder */
.premium .founder{background:var(--bg)}
.premium .founder-card{background:none;color:var(--ink);padding:0;border:0;box-shadow:none}
.premium .founder-card .kicker.light{color:var(--terra-text)}
.founder-avatar{display:block;width:140px;height:140px;margin:0 0 var(--s4);border-radius:50%;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.founder-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
@media(min-width:960px){.founder-avatar{width:184px;height:184px}}
.premium .founder-card h2{color:var(--ink);margin-bottom:var(--s4)}
.premium .founder-card p{color:var(--ink-2);max-width:60ch;font-size:var(--fs-lede);line-height:1.6;margin-bottom:var(--s2)}
.premium .founder-card .founder-sign{color:var(--green);font-weight:600;font-style:normal;font-size:var(--fs-body);margin-top:var(--s3)}
.premium .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:var(--s6);border-top:1px solid var(--line)}
.premium .stat{background:none;border:0;border-radius:0;padding:var(--s3) var(--s1) 0 0;box-shadow:none}
.premium .stat b{display:block;font-size:clamp(1.75rem,1.2rem + 2vw,3rem);font-weight:700;letter-spacing:-.04em;color:var(--green);line-height:1}
.premium .stat span{display:block;margin-top:var(--s1);font-size:14px;color:var(--ink-3)}
@media(min-width:960px){.premium .founder-grid{grid-template-columns:1.4fr 1fr;gap:var(--s10);align-items:end}.premium .stats{grid-template-columns:1fr;margin-top:0;border-top:0}.premium .stat{border-top:1px solid var(--line);padding:var(--s3) 0}}

/* pricing */
.premium .pricing,.premium-page .pricing{background:#fff}
.plans{gap:var(--s2);align-items:stretch}
.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);box-shadow:none;display:flex;flex-direction:column;transform:none!important}
.plan h3{font-size:var(--fs-h3);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1)}
.plan .price{margin:var(--s3) 0 var(--s1);display:flex;align-items:baseline;gap:4px}
.plan .price b{font-size:clamp(2.75rem,2.2rem + 2vw,3.5rem);font-weight:700;letter-spacing:-.045em;line-height:1;color:var(--ink)}
.plan .price span{font-size:16px;color:var(--ink-2)}
.plan .price-note{font-size:14px;color:var(--ink-3);margin:0}
.plan ul{list-style:none;padding:var(--s3) 0 0;margin:var(--s3) 0 var(--s4);border-top:1px solid var(--line);display:grid;gap:12px;flex:1}
.plan li{position:relative;padding-left:28px;font-size:15px;line-height:1.5;color:var(--ink)}
.plan li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border:0;border-radius:0;background:var(--green);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.plan li.goals::before{background:var(--purple)}
.plan li.goals strong{color:var(--purple)}
.plan .btn{margin-top:auto}
.plan-pop{background:#fff;border:2px solid var(--green);padding:calc(var(--s4) - 1px)}
.plan-pop .badge{position:absolute;top:-13px;left:var(--s4);background:var(--green);color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em;padding:4px 12px;border-radius:999px;text-transform:none;box-shadow:none}
.plan{position:relative;overflow:visible}
.save-pill{font-size:12px;font-weight:600;color:var(--terra-text);background:var(--terra-l);padding:3px 10px;border-radius:999px;letter-spacing:0}
.compare{max-width:60ch;margin:var(--s6) auto 0;text-align:center;color:var(--ink-2);font-size:var(--fs-body)}
.plans-foot{text-align:center;color:var(--ink-3);font-size:14px;margin-top:var(--s2)}
.plans-foot a,.compare a,.hy-note a{color:var(--green);text-underline-offset:3px}
@media(max-width:899px){.plans .plan-pop{order:-1;margin-top:var(--s2)}}
@media(min-width:900px){.plans{grid-template-columns:repeat(3,1fr)}}

/* faq */
.premium .faq{background:var(--bg)}
.premium .faq-list details,.premium-page .faq-list details{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0}
.premium .faq-list,.premium-page .faq-list{border-top:1px solid var(--line)}
.faq-list summary{padding:var(--s3) var(--s5) var(--s3) 0;font-size:18px;font-weight:600;letter-spacing:-.015em;position:relative;list-style:none;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";position:absolute;right:4px;top:50%;width:14px;height:14px;margin-top:-7px;background:
  linear-gradient(var(--green),var(--green)) center/14px 1.6px no-repeat,linear-gradient(var(--green),var(--green)) center/1.6px 14px no-repeat;transition:transform .25s var(--ease);border:0;transform:none}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{padding:0 var(--s5) var(--s3) 0;color:var(--ink-2);max-width:65ch}

/* newsletter + final */
.premium .nl{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:none}
.premium .final{background:var(--green);padding:var(--sec) 0}
.premium .final h2{color:#fff}
.premium .final-inner{text-align:center}
.premium .final-inner > p{color:rgba(255,255,255,.8);font-size:var(--fs-lede);margin:var(--s3) auto var(--s5);max-width:34rem}
.premium .final .kicker.light{color:#F2B9A8}
.premium .final-note{color:rgba(255,255,255,.65)!important;font-size:14px!important;margin-top:var(--s3)!important}

/* motion: calm, reduced-motion safe (motion.js only runs without reduce) */
.motion .reveal{transition:opacity .8s var(--ease),transform .8s var(--ease)}
@media (prefers-reduced-motion:reduce){.device-hero{animation:none}.ic-arrow{transition:none}}

/* milestone tile shows the bottom of the screen, where the message lives */
.tile-bottom .peek{align-items:flex-end;-webkit-mask-image:linear-gradient(transparent,#000 22%);mask-image:linear-gradient(transparent,#000 22%)}
.tile-bottom .device-peek{border-bottom-left-radius:40px;border-bottom-right-radius:40px;margin-bottom:var(--s4)}
.premium .hy-tag{text-transform:none;letter-spacing:-.005em;font-size:15px}
.pain-list li{grid-template-columns:28px 1fr}
@media(max-width:959px){
  .premium .stats{grid-template-columns:1fr;border-top:0;margin-top:var(--s6)}
  .premium .stat{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s2);border-top:1px solid var(--line);padding:var(--s3) 0}
  .premium .stat span{margin-top:0}
}
.premium .hero{padding-top:var(--s4)}
.premium .lede{margin-bottom:var(--s4)}
.premium .final .kicker,.premium-page .final .kicker{text-transform:none;letter-spacing:0;font-size:16px;font-weight:500}
.pricing-page{padding-top:var(--s8)}
.pricing-page .page-title{font-size:var(--fs-h2);letter-spacing:-.04em;line-height:1.02}
.p-faq{max-width:46rem;margin:var(--s12) auto 0}
.p-faq h2{font-size:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);margin-bottom:var(--s4)}
.premium-page .faq-list details{border-bottom:1px solid var(--line)}
@media(min-width:720px){.b-debts{align-items:center}.b-debts .tile-copy{padding-bottom:0}}
