/* ============================================================
   Lighten the Load — site stylesheet (self-contained)
   Flattened from the Claude Design export into static CSS.
   Brand tokens inlined so the site has no runtime dependency.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=Outfit:wght@300;400;500;600;700&display=swap');

:root{
  --ltl-coral:#F4623A; --ltl-coral-press:#C2461F; --ltl-plum:#3B2A4A; --ltl-plum-soft:#4A3A5C;
  --ltl-sunshine:#FFC24B; --ltl-sky:#9AD0DE; --ltl-cream:#FFF6EC; --ltl-peach:#FFE9D6;
  --ltl-ink:#3B2A4A; --ltl-body:#5A5249; --ltl-muted:#A99E8E; --ltl-hairline:#F0E2CF;
  --font-display:'Bricolage Grotesque',system-ui,sans-serif;
  --font-body:'Outfit',system-ui,sans-serif;
  --tracking-tight:-0.02em; --tracking-label:0.16em;
  --radius-sm:8px; --radius-md:14px; --radius-lg:20px; --radius-pill:100px;
  --shadow-card:0 1px 3px rgba(59,42,74,.08);
  --shadow-raise:0 4px 14px rgba(59,42,74,.10);
  --shadow-float:0 10px 30px rgba(59,42,74,.12);
  --focus-ring:0 0 0 3px rgba(244,98,58,.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:#fff;color:var(--ltl-body);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--ltl-peach)}
img{max-width:100%}
a{color:var(--ltl-coral-press);text-decoration:none}
a:hover{color:var(--ltl-coral)}

/* ---------- Layout ---------- */
.wrap{max-width:1120px;margin:0 auto;padding-left:32px;padding-right:32px}
.wrap-mid{max-width:820px;margin:0 auto;padding-left:32px;padding-right:32px}
.wrap-narrow{max-width:760px;margin:0 auto;padding-left:32px;padding-right:32px}
.sec{padding-top:80px;padding-bottom:80px}
.bg-cream{background:var(--ltl-cream)}
.bg-white{background:#fff}
.center{text-align:center}
.row{display:flex;align-items:center;gap:56px}
.row>*{min-width:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

/* ---------- Type ---------- */
.eyebrow{font-family:var(--font-body);font-weight:700;font-size:12px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ltl-coral-press);display:inline-block}
.eyebrow--sunshine{color:var(--ltl-sunshine)}
.eyebrow--press{color:var(--ltl-coral-press)}
.hero-h{font-family:var(--font-display);font-weight:700;font-size:54px;line-height:1.04;letter-spacing:-.03em;color:var(--ltl-ink);margin:0}
.h1{font-family:var(--font-display);font-weight:700;font-size:44px;line-height:1.05;letter-spacing:-.03em;color:var(--ltl-ink);margin:0}
.h2{font-family:var(--font-display);font-weight:700;font-size:36px;line-height:1.08;letter-spacing:-.025em;color:var(--ltl-ink);margin:0}
.h3{font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1.2;letter-spacing:-.02em;color:var(--ltl-ink);margin:0}
.lead{font-family:var(--font-body);font-size:20px;line-height:1.55;color:var(--ltl-body)}
.coral{color:var(--ltl-coral)}
.sunshine{color:var(--ltl-sunshine)}
p{margin:0}
.mt-sm{margin-top:14px}.mt-md{margin-top:20px}.mt-lg{margin-top:30px}

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--font-body);font-weight:600;font-size:16px;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border:none;border-radius:var(--radius-pill);cursor:pointer;
  padding:12px 22px;line-height:1;text-align:center;
  transition:background .18s ease,transform .12s ease,box-shadow .18s ease,color .18s ease;
}
.btn-lg{padding:17px 30px;font-size:17px}
.btn-sm{padding:10px 18px;font-size:15px}
.btn svg{flex:none}
.btn-primary{background:var(--ltl-coral);color:#fff}
.btn-primary:hover{background:var(--ltl-coral-press);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-raise)}
.btn-primary:active{background:var(--ltl-coral-press);transform:translateY(0)}
.btn-secondary{background:#fff;color:var(--ltl-coral-press);box-shadow:inset 0 0 0 1.5px var(--ltl-hairline)}
.btn-secondary:hover{color:var(--ltl-coral-press);box-shadow:inset 0 0 0 1.5px var(--ltl-coral);transform:translateY(-1px)}
.btn-dark{background:var(--ltl-plum);color:#fff}
.btn-dark:hover{background:var(--ltl-plum-soft);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ltl-coral-press);padding-left:8px;padding-right:8px}
.btn-ghost:hover{color:var(--ltl-coral)}
.btn-block{width:100%}

/* ---------- Cards ---------- */
.card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid #efe6da;padding:28px;position:relative;overflow:hidden}
.card--peach{background:var(--ltl-peach);border-color:transparent}
.card--plum{background:var(--ltl-plum);border-color:transparent;color:var(--ltl-cream)}
.card--plum .h2,.card--plum .h3{color:var(--ltl-cream)}
.card--pad-lg{padding:40px}
.card--pad-xl{padding:56px}
.card-hover{transition:transform .18s ease,box-shadow .18s ease}
.card-link:hover .card-hover{transform:translateY(-2px);box-shadow:var(--shadow-float)}
.bleed{position:absolute;border-radius:50%;pointer-events:none}

/* ---------- Tags / chips ---------- */
.tag{display:inline-flex;align-items:center;font-family:var(--font-body);font-weight:600;font-size:13px;border-radius:var(--radius-pill);padding:5px 13px;line-height:1.2}
.tag--cream{background:var(--ltl-cream);color:var(--ltl-ink)}
.tag--peach{background:var(--ltl-peach);color:var(--ltl-coral-press)}
.tag--sky{background:#E3F1F5;color:#2A6E7E}
.tag--sunshine{background:#FFF1D6;color:#B8841C}
.tag--muted{background:#F1ECE4;color:var(--ltl-muted)}
.tag--sm{font-size:12px;padding:4px 11px}

/* icon chips (rounded squares behind an svg) */
.chip{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;flex:none}
.chip-peach{background:var(--ltl-peach)}
.chip-sky{background:#E3F1F5}
.chip-sun{background:#FFF1D6}
.chip-plum{background:#ECE6F0}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,246,236,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--ltl-hairline)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:15px;padding-bottom:15px}
.brand{display:inline-flex;align-items:center;gap:11px}
.brand-badge{width:40px;height:40px;border-radius:12px;background:var(--ltl-coral);display:inline-flex;align-items:center;justify-content:center;flex:none}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.02em;color:var(--ltl-ink)}
.nav{display:flex;align-items:center;gap:28px}
.nav a{font-family:var(--font-body);font-weight:500;font-size:16px;color:var(--ltl-body);white-space:nowrap;padding-bottom:3px;border-bottom:2px solid transparent}
.nav a:hover{color:var(--ltl-ink);border-bottom-color:var(--ltl-coral)}
.nav a.nav-cta{border:none;padding:10px 18px;color:#fff}
.nav a.nav-cta:hover{border:none;color:#fff;transform:translateY(-1px)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ltl-plum);color:var(--ltl-cream);position:relative;overflow:hidden}
.site-footer .wrap{position:relative;display:flex;gap:48px;flex-wrap:wrap;justify-content:space-between;padding-top:56px;padding-bottom:40px}
.site-footer a{color:#e6dcef}
.site-footer a:hover{color:#fff}
.foot-tag{font-family:var(--font-body);font-weight:600;font-size:14px;color:var(--ltl-sunshine);margin-top:14px}
.foot-col-h{font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ltl-sky);margin-bottom:16px}
.foot-links{display:flex;flex-direction:column;gap:12px;font-size:15px}
.foot-bar{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;position:relative}
.foot-bar .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:#9a8fa6;padding-top:0;padding-bottom:0}

/* ---------- FAQ (native, no JS) ---------- */
.faq details{border-bottom:1px solid var(--ltl-hairline)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 4px;cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:-.01em;color:var(--ltl-ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-body);font-weight:400;font-size:26px;line-height:1;color:var(--ltl-coral);flex:none;transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ltl-body);margin:0;padding:0 4px 22px;max-width:620px}

/* ---------- Safety note ---------- */
.safety{background:#EAF4F7;border:1px solid #cfe6ec;border-left:4px solid var(--ltl-sky);border-radius:var(--radius-md);padding:22px 24px}
.safety-h{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:16px;color:#2A6E7E;margin-bottom:8px}
.safety p{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ltl-body);margin:0}

/* ---------- Kit form (branded overrides) ---------- */
.signup-form{max-width:440px;margin:26px auto 0}
.formkit-form[data-uid]{box-shadow:none!important;max-width:none!important;background:transparent!important;overflow:visible!important}
.signup-form .formkit-field{margin:0}
.signup-form .formkit-input{
  width:100%;font-family:var(--font-body);font-size:16px;
  padding:15px 18px;border-radius:var(--radius-pill);
  border:1.5px solid #e7d8c5;background:#fff;color:var(--ltl-ink);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.signup-form .formkit-input::placeholder{color:var(--ltl-muted);opacity:1}
.signup-form .formkit-input:focus{outline:none;border-color:var(--ltl-coral);box-shadow:var(--focus-ring)}
.signup-form .formkit-submit{
  width:100%;margin-top:12px;border:none;cursor:pointer;
  background:var(--ltl-coral);color:#fff;border-radius:var(--radius-pill);
  font-family:var(--font-body);font-weight:600;font-size:17px;
  padding:0;overflow:hidden;position:relative;transition:background .18s ease;
}
.signup-form .formkit-submit:hover{background:var(--ltl-coral-press)}
.signup-form .formkit-submit>span{display:block;padding:16px 24px}
.signup-form .formkit-alert{font-family:var(--font-body);font-size:14px;border-radius:var(--radius-sm);margin:0 0 12px;padding:10px 14px;list-style:none}
.signup-form .formkit-alert:empty{display:none;margin:0;padding:0}
.signup-form .formkit-alert-error{background:#fde8e2;color:#c0341a}
.signup-form .formkit-spinner{display:flex;height:0;width:0;margin:0 auto;position:absolute;top:0;left:0;right:0;overflow:hidden;transition:all .3s ease}
.signup-form .formkit-spinner>div{margin:auto;width:11px;height:11px;background:#fff;opacity:.35;border-radius:100%;display:inline-block;animation:ltl-bounce 1.4s infinite ease-in-out both}
.signup-form .formkit-spinner>div:nth-child(1){animation-delay:-.32s}
.signup-form .formkit-spinner>div:nth-child(2){animation-delay:-.16s}
.signup-form .formkit-submit[data-active] .formkit-spinner{opacity:1;height:100%;width:50px}
.signup-form .formkit-submit[data-active] .formkit-spinner~span{opacity:0}
@keyframes ltl-bounce{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}}
.form-fineprint{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;font-family:var(--font-body);font-size:13px;color:var(--ltl-muted)}
.card--plum .form-fineprint{color:#b7a8c2}
.card--plum .signup-form .formkit-input{border-color:transparent}

/* on-dark helpers */
.on-dark{color:var(--ltl-cream)}
.on-dark-soft{color:#cfc4d6}

/* ---------- Responsive ---------- */
@media (max-width:760px){
  .wrap,.wrap-mid,.wrap-narrow{padding-left:20px;padding-right:20px}
  .sec{padding-top:56px;padding-bottom:56px}
  .row{flex-direction:column;align-items:flex-start;gap:36px}
  .grid2,.grid3{grid-template-columns:1fr;gap:24px}
  .hero-h{font-size:34px}
  .h1{font-size:32px}
  .h2{font-size:27px}
  .lead{font-size:17px}
  .nav{display:none}
  .site-header .wrap{padding-top:12px;padding-bottom:12px}
}
