/* EnSpirit funnel — shared design system (matches index.html: Trust & Authority, Outfit/Visby, brand palette) */
:root{
  --cream:hsl(60 33% 95%);
  --cream-light:hsl(60 50% 98%);
  --white:hsl(0 0% 100%);
  --ink:hsl(60 4% 11%);
  --ink-soft:hsl(60 4% 20%);
  --muted:hsl(60 4% 40%);
  --red:hsl(14 84% 48%);
  --red-deep:hsl(14 80% 42%);
  --gold:hsl(36 100% 47%);
  --gold-light:hsl(36 100% 90%);
  --border:hsl(60 10% 88%);
  --radius:.75rem;
  --shadow-sm:0 1px 2px hsl(60 4% 11% / .06), 0 2px 8px hsl(60 4% 11% / .05);
  --shadow-md:0 10px 30px hsl(60 4% 11% / .10);
  --shadow-lg:0 30px 70px hsl(60 4% 11% / .16);
  --maxw:1140px;
  --font-head:"Visby CF","Visby Round","Visby",Outfit,"Segoe UI",system-ui,-apple-system,sans-serif;
  --font:"Visby CF","Visby Round","Visby","Work Sans",Outfit,"Segoe UI",system-ui,-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--font);background:var(--cream);color:var(--ink);line-height:1.6;font-size:18px;overflow-x:clip;min-height:100dvh}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.1;font-weight:700;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
em{font-style:italic}
strong{font-weight:700}
.u{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:4px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.pill{display:inline-block;background:linear-gradient(180deg,var(--gold) 0%,var(--red) 130%);color:var(--white);padding:0 .28em;border-radius:.35rem}
.g{color:var(--gold)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:var(--red);color:var(--white);font-weight:700;font-size:1.02rem;padding:1.05rem 2rem;border-radius:999px;border:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;box-shadow:0 8px 22px hsl(14 84% 48% / .28)}
.btn:hover{transform:translateY(-2px);background:var(--red-deep);box-shadow:0 14px 30px hsl(14 84% 48% / .36)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.btn svg{width:18px;height:18px}
.btn-lg{font-size:1.12rem;padding:1.2rem 2.6rem}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:none;border:1.5px solid var(--border);font-size:.95rem;padding:.8rem 1.4rem}
.btn-ghost:hover{background:var(--white);transform:none;box-shadow:var(--shadow-sm)}

/* Sticky header (banner + nav) */
.site-top{position:sticky;position:-webkit-sticky;top:0;z-index:200}
.valuebar{background:var(--ink);color:var(--cream);text-align:center;font-size:.85rem;letter-spacing:.02em;padding:.7rem 16px;font-weight:500}
.valuebar em{color:var(--gold);font-style:normal;font-weight:600}
.valuebar i{color:var(--gold);opacity:.55;font-style:normal;margin:0 .35rem}
.nav{background:hsl(60 33% 95% / .9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.nav img{height:34px;width:auto}
.nav-cta{font-size:.9rem;padding:.6rem 1.25rem}
@media(max-width:640px){.valuebar{font-size:.72rem}.valuebar i{margin:0 .2rem}.nav-cta{padding:.55rem 1rem;font-size:.82rem}}

/* Shell */
.shell{max-width:760px;margin:0 auto;padding:60px 24px 90px}
.shell.wide{max-width:920px}
.center{text-align:center}
.trust-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:1.6rem}
.tbadge{display:inline-flex;align-items:center;gap:.5rem;height:44px;padding:0 1.05rem;border-radius:999px;background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow-sm);font-size:.86rem;font-weight:600;color:var(--ink)}
.tbadge svg{width:17px;height:17px;stroke:var(--red-deep)}

/* Card */
.card{background:var(--white);border:1px solid var(--border);border-radius:1.1rem;box-shadow:var(--shadow-lg);padding:40px}
@media(max-width:560px){.card{padding:26px 20px}.shell{padding:36px 16px 70px}}

/* Foot note */
.footnote{text-align:center;color:var(--muted);font-size:.9rem;margin-top:26px}
.footnote a{color:var(--red);font-weight:600}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
