/* Kairoo shared polish — Stripe/Apple craft on top of the brand tokens.
   Page-agnostic, additive, safe: soft depth, smooth motion, refined type,
   frosted nav, scroll-reveal. Loaded by quiz + the supporting pages.
   (index.html carries its own fuller, section-specific polish inline.) */
:root{
  --shadow-sm:0 1px 2px rgba(26,38,32,.05),0 3px 8px rgba(26,38,32,.06);
  --shadow-md:0 4px 14px -3px rgba(26,38,32,.09),0 14px 32px -10px rgba(26,38,32,.11);
  --shadow-lg:0 10px 28px -8px rgba(26,38,32,.13),0 30px 64px -16px rgba(46,94,78,.20);
  --shadow-coral:0 6px 18px -4px rgba(232,98,59,.34);
  --ease:cubic-bezier(.22,.61,.36,1);
}
html{ scroll-behavior:smooth; }
body{ letter-spacing:-.006em; }
h1,h2{ letter-spacing:-.02em; }

/* Buttons — soft depth + smooth lift */
.btn-primary,.btn-secondary,.nav-cta,.waitlist-submit,.btn-next{
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),
             background .2s var(--ease),color .2s var(--ease);
}
.btn-primary,.nav-cta,.waitlist-submit,.btn-next{ box-shadow:var(--shadow-coral); }
.btn-primary:hover,.nav-cta:hover,.waitlist-submit:hover,.btn-next:hover{
  transform:translateY(-2px); box-shadow:0 12px 28px -6px rgba(232,98,59,.46);
}
.btn-primary:active,.nav-cta:active,.waitlist-submit:active,.btn-next:active{ transform:translateY(0); }
/* Disabled buttons must read as inert — no coral glow, no lift */
.btn-primary:disabled,.waitlist-submit:disabled,.btn-next:disabled,
.btn-primary[disabled],.waitlist-submit[disabled],.btn-next[disabled],
.btn-next:disabled:hover,.btn-primary:disabled:hover,.waitlist-submit:disabled:hover{
  box-shadow:none; transform:none; background-image:none;
}

/* Cards lift softly where present */
.card,.compare-col,.step{ transition:transform .3s var(--ease),box-shadow .3s var(--ease); }
.card:hover,.compare-col:hover,.step:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }

/* Frosted, lifting nav once scrolled */
.nav{ transition:box-shadow .3s var(--ease),background .3s var(--ease); }
.nav.is-scrolled{
  background:rgba(46,94,78,.82);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  backdrop-filter:saturate(150%) blur(14px);
  box-shadow:0 8px 24px -12px rgba(0,0,0,.45);
}

/* Scroll-reveal — gentle fade-up (JS adds .reveal; if JS fails, content stays visible) */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1!important; transform:none!important; }
  html{ scroll-behavior:auto; }
}
