/* ============================================================
   Fraktus / CareHQ Landing — tokens
   Lifted from the product "Warm Glass" rescue-pass system,
   extended with landing-only forest + editorial serif layers.
   ============================================================ */

@font-face{font-family:'Hanken Grotesk';src:url("../assets/fonts/hanken-latin.woff2") format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'Hanken Grotesk';src:url("../assets/fonts/hanken-latin.woff2") format('woff2');font-weight:500;font-display:swap;}
@font-face{font-family:'Hanken Grotesk';src:url("../assets/fonts/hanken-latin.woff2") format('woff2');font-weight:600;font-display:swap;}
@font-face{font-family:'Hanken Grotesk';src:url("../assets/fonts/hanken-latin.woff2") format('woff2');font-weight:700;font-display:swap;}
@font-face{font-family:'Hanken Grotesk';src:url("../assets/fonts/hanken-latin.woff2") format('woff2');font-weight:800;font-display:swap;}
@font-face{font-family:'General Sans';src:url("../assets/fonts/general-sans-500.woff2") format('woff2');font-weight:500;font-display:swap;}
@font-face{font-family:'General Sans';src:url("../assets/fonts/general-sans-600.woff2") format('woff2');font-weight:600;font-display:swap;}
@font-face{font-family:'General Sans';src:url("../assets/fonts/general-sans-700.woff2") format('woff2');font-weight:700;font-display:swap;}

:root{
  /* warm-gray canvas (neumorphic valley) */
  --bg-0:#f1eee9; --bg-1:#e9e5df; --bg-2:#e0dbd3;
  /* ink */
  --ink-900:#221f1b; --ink-700:#433d36; --ink-500:#736a60; --ink-400:#9a9085; --ink-300:#bcb2a6;
  /* coral — single hero accent */
  --clay-700:#bd4d28; --clay-600:#d65d36; --clay-500:#e86f45; --clay-200:#f7d3c2; --clay-100:#fce7dd;
  /* sage — calm / safe / done */
  --sage-700:#3a795b; --sage-600:#579073; --sage-200:#d6e7dc; --sage-100:#e9f1ec;
  /* amber — gentle attention / review */
  --amber-700:#956318; --amber-500:#cf9a45; --amber-200:#f1e0bb; --amber-100:#f8efd9;
  /* rose — calm urgency, never alarm-red */
  --rose-700:#b0463a; --rose-500:#cf6253; --rose-200:#f4d6cf; --rose-100:#fae7e2;
  /* blue waiting · violet dev/mock */
  --blue-700:#2b5f86; --blue-500:#4f86ad; --blue-100:#dde9f1;
  --violet-700:#6b4a8f; --violet-100:#e9e1f1;

  /* landing-only: deep forest OS layer */
  --forest-950:#101e17; --forest-900:#152721; --forest-800:#1c332a; --forest-700:#264437;
  --forest-line:rgba(141,196,166,0.32); --forest-glow:#8dc4a6;
  --forest-ink:#e8efe9; --forest-ink-dim:#9db5a7;

  /* neumorphic recipe */
  --nm-light:rgba(255,255,255,0.92);
  --nm-dark:rgba(174,160,144,0.30);
  --card:linear-gradient(145deg,#f6f3ee,#ece7e0);
  --card-hi:linear-gradient(145deg,#fbf9f5,#f0ece5);
  --sunken:#e6e1da;
  --hair:rgba(120,105,90,0.13);

  --sh-sm:-3px -3px 8px var(--nm-light), 4px 5px 11px var(--nm-dark);
  --sh-md:-6px -6px 14px var(--nm-light), 8px 9px 22px var(--nm-dark);
  --sh-lg:-9px -9px 20px var(--nm-light), 12px 14px 30px var(--nm-dark);
  --sh-in:inset 3px 3px 7px var(--nm-dark), inset -3px -3px 6px var(--nm-light);
  --sh-clay:0 10px 24px rgba(216,93,54,0.34);

  --r-xs:10px; --r-sm:16px; --r-md:22px; --r-lg:30px; --r-xl:40px; --r-pill:999px;

  --font-ui:"Hanken Grotesk",system-ui,sans-serif;
  --font-display:"General Sans","Hanken Grotesk",system-ui,sans-serif;
  --font-serif:"Newsreader","Iowan Old Style",Georgia,serif;

  /* global motion dial — crisis section turns this down, tweaks turn it up */
  --motion:1;
}

html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font-ui);color:var(--ink-900);
  background:
    radial-gradient(110% 70% at 90% 0%, #f7eee9 0%, rgba(247,238,233,0) 50%),
    radial-gradient(120% 90% at 4% 100%, #e2ddd5 0%, rgba(226,221,213,0) 55%),
    linear-gradient(160deg,#f1ede7 0%, #e9e5df 55%, #e3ded6 100%);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
*{box-sizing:border-box;}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-0.01em;}
p{margin:0;}
button{font-family:inherit;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.serif{font-family:var(--font-serif);font-weight:500;letter-spacing:-0.015em;}
.display{font-family:var(--font-display);}
.no-sel{user-select:none;}

/* ---- neumorphic cards ---- */
.glass{background:var(--card);border-radius:var(--r-md);box-shadow:var(--sh-md);position:relative;}
.glass-strong{background:var(--card-hi);border-radius:var(--r-lg);box-shadow:var(--sh-lg);position:relative;}
.glass-soft{background:var(--sunken);border-radius:var(--r-sm);box-shadow:var(--sh-in);position:relative;}
.glass::before,.glass-strong::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(160deg,rgba(255,255,255,0.45),rgba(255,255,255,0) 34%);opacity:0.55;}
.lift{transition:transform .22s cubic-bezier(.2,.7,.2,1), box-shadow .22s ease;}
.lift:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);}

/* ---- buttons ---- */
.btn{font-family:var(--font-ui);font-weight:600;font-size:15px;cursor:pointer;border:none;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--r-pill);
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, filter .2s ease;white-space:nowrap;line-height:1;}
.btn:active{transform:translateY(1px) scale(0.98);}
.btn-primary{background:linear-gradient(180deg,#ee7a52,#d95a30);color:#fff;padding:17px 28px;
  box-shadow:var(--sh-clay), inset 0 1px 0 rgba(255,255,255,0.34);position:relative;overflow:hidden;}
.btn-primary::after{content:"";position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(60% 100% at 50% 0%, rgba(255,255,255,0.35), rgba(255,255,255,0));
  opacity:0;transition:opacity .25s ease;}
.btn-primary:hover{box-shadow:0 16px 34px rgba(216,93,54,0.5), inset 0 1px 0 rgba(255,255,255,0.34);transform:translateY(-2px);}
.btn-primary:hover::after{opacity:1;}
.btn-ghost{background:var(--card-hi);color:var(--ink-700);padding:16px 26px;box-shadow:var(--sh-sm);}
.btn-ghost:hover{color:var(--ink-900);transform:translateY(-1px);box-shadow:var(--sh-md);}
.btn-ghost:active{box-shadow:var(--sh-in);}
.btn-sm{padding:11px 18px;font-size:13.5px;}

/* ---- chips ---- */
.chip{display:inline-flex;align-items:center;gap:7px;border-radius:var(--r-pill);
  font-size:13px;font-weight:600;padding:7px 13px;line-height:1.15;white-space:nowrap;}
.chip svg{width:14px;height:14px;flex-shrink:0;}
.chip-source{background:rgba(120,105,90,0.07);color:var(--ink-500);}
.chip-sage{background:var(--sage-100);color:var(--sage-700);}
.chip-amber{background:var(--amber-100);color:var(--amber-700);}
.chip-rose{background:var(--rose-100);color:var(--rose-700);}
.chip-clay{background:var(--clay-100);color:var(--clay-700);}
.chip-blue{background:var(--blue-100);color:var(--blue-700);}

.t-eyebrow{font-size:13px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:var(--clay-600);font-family:var(--font-ui);}

/* ---- inset progress track ---- */
.track{background:var(--sunken);border-radius:99px;box-shadow:var(--sh-in);overflow:hidden;}
.track > i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ee7a52,#d95a30);
  box-shadow:0 2px 8px rgba(216,93,54,0.4);transition:width 1.1s cubic-bezier(.2,.8,.2,1);}

/* ---- reveal-on-scroll primitives ---- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);}
.rv.in{opacity:1;transform:none;}
.rv-scale{opacity:0;transform:scale(.92) translateY(14px);transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.34,1.4,.4,1);transition-delay:var(--d,0s);}
.rv-scale.in{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  .rv,.rv-scale{opacity:1!important;transform:none!important;transition:none!important;}
  *{animation-duration:.01s!important;animation-iteration-count:1!important;}
  html{scroll-behavior:auto;}
}
