/* ============================================================
   Instant Credit Lift — multi-page site · warm editorial light theme
   ============================================================ */
:root{
  --bg:#FBF7F0;
  --bg-soft:#F4EEE1;
  --card:#FFFFFF;
  --ink:#1F241F;
  --mut:#5D675D;
  --dim:#8A9289;
  --line:#E5DECB;
  --green:#1E6A4E;
  --green-deep:#10382A;
  --amber:#D97A1F;
  --amber-soft:#F7E8D3;
  --blue:#2A6F97;
  --plum:#7D4F9E;
  --coral:#C25B45;
  --teal:#1C7C74;
  --olive:#6E7D2B;
  --gold:#B98718;
  --rose:#B14A6B;
  --shadow:0 20px 44px -24px rgba(31,36,31,.28);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; }
a{ color:inherit; }
::selection{ background:var(--green); color:#FDFBF6; }

h1,h2,h3,h4,.display{
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight:600;
  line-height:1.15;
  margin:0;
  letter-spacing:-0.01em;
}
p{ margin:0; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:3px solid var(--amber);
  outline-offset:2px;
  border-radius:6px;
}

.container{ max-width:1160px; margin:0 auto; padding:0 22px; }

/* ---------- reveal ---------- */
.rv{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.rv.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .rv{ opacity:1 !important; transform:none !important; transition:none !important; }
  .marquee-track{ animation:none !important; }
  *{ transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(251,247,240,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{ display:flex; align-items:center; justify-content:space-between; height:74px; gap:16px; }
.brand{ display:inline-flex; align-items:center; gap:11px; text-decoration:none; }
.brand-mark{
  display:grid; place-items:center; width:42px; height:42px; border-radius:12px;
  background:var(--green-deep); color:#F3E9CF;
  font-family:'Fraunces', Georgia, serif; font-weight:700; font-size:.95rem; letter-spacing:.02em;
  border:2px solid var(--green-deep);
  box-shadow:3px 3px 0 var(--amber);
}
.brand-name{ font-family:'Fraunces', Georgia, serif; font-weight:700; font-size:1.22rem; letter-spacing:-.01em; }
.main-nav{ display:flex; align-items:center; gap:30px; }
.main-nav a{
  text-decoration:none; font-weight:600; font-size:.93rem; color:var(--mut);
  padding:6px 2px; position:relative; transition:color .25s;
}
.main-nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px; border-radius:3px;
  background:var(--amber); transform:scaleX(0); transform-origin:left; transition:transform .3s ease;
}
.main-nav a:hover{ color:var(--ink); }
.main-nav a:hover::after{ transform:scaleX(1); }
.main-nav a.active{ color:var(--ink); }
.main-nav a.active::after{ transform:scaleX(1); background:var(--green); }
.nav-cta{ display:inline-flex; }

.menu-btn{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:46px; height:46px; border-radius:12px; cursor:pointer;
  background:var(--card); border:1.5px solid var(--line); padding:0 12px;
}
.menu-btn span{ display:block; height:2px; border-radius:2px; background:var(--ink); transition:transform .3s, opacity .3s; }
body.nav-open .menu-btn span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.nav-open .menu-btn span:nth-child(2){ opacity:0; }
body.nav-open .menu-btn span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:860px){
  .menu-btn{ display:flex; }
  .main-nav{
    position:absolute; left:14px; right:14px; top:82px;
    flex-direction:column; align-items:stretch; gap:4px;
    background:var(--card); border:1.5px solid var(--line); border-radius:18px;
    padding:12px; box-shadow:var(--shadow);
    opacity:0; transform:translateY(-8px); pointer-events:none;
    transition:opacity .25s, transform .25s;
  }
  body.nav-open .main-nav{ opacity:1; transform:none; pointer-events:auto; }
  .main-nav a{ padding:12px 14px; border-radius:12px; font-size:1rem; }
  .main-nav a::after{ display:none; }
  .main-nav a.active{ background:var(--bg-soft); }
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:'Inter', sans-serif; font-weight:700; font-size:.95rem;
  padding:14px 26px; border-radius:999px; cursor:pointer; text-decoration:none;
  border:2px solid var(--green-deep);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--green); color:#FDFBF6; box-shadow:4px 4px 0 var(--amber); }
.btn-primary:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--amber); background:var(--green-deep); }
.btn-outline{ background:transparent; color:var(--ink); box-shadow:4px 4px 0 var(--line); }
.btn-outline:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--line); background:var(--card); }
.btn-coral{ background:var(--coral); color:#FDFBF6; border-color:#7E3A2C; box-shadow:4px 4px 0 var(--amber-soft); }
.btn-coral:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--amber-soft); }
.btn[disabled]{ opacity:.65; cursor:wait; transform:none; }
.btn-sm{ padding:10px 20px; font-size:.88rem; }
.btn-block{ width:100%; }

/* ---------- eyebrow + section headers ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:.72rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ac, var(--amber));
}
.eyebrow::before{
  content:""; width:22px; height:3px; border-radius:3px; background:var(--ac, var(--amber));
}
.sec-head{ max-width:720px; }
.sec-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.sec-head.center .eyebrow{ justify-content:center; }
.sec-head h1, .sec-head h2{ margin-top:16px; font-size:clamp(1.9rem, 4.4vw, 3.1rem); }
.sec-head .lead{ margin-top:16px; color:var(--mut); font-size:1.05rem; }
.hl{ color:var(--green); font-style:italic; }
.hl-amber{ color:var(--amber); font-style:italic; }

section{ padding:84px 0; }
section.tinted{ background:var(--bg-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

/* ---------- hero ---------- */
.hero{ padding:92px 0 64px; position:relative; overflow:hidden; }
.hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 88% 12%, rgba(217,122,31,.12), transparent 42%),
    radial-gradient(circle at 6% 86%, rgba(30,106,78,.10), transparent 40%);
}
.hero-grid{ position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.hero h1{ font-size:clamp(2.6rem, 6vw, 4.6rem); line-height:1.04; margin-top:20px; letter-spacing:-.02em; }
.hero .lead{ margin-top:22px; color:var(--mut); font-size:1.12rem; max-width:34rem; }
.hero-actions{ margin-top:34px; display:flex; flex-wrap:wrap; gap:16px; }
.stats{ margin:46px 0 0; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:0; list-style:none; max-width:620px; }
.stats .num{ font-family:'Fraunces', Georgia, serif; font-weight:700; font-size:1.9rem; display:block; color:var(--green-deep); }
.stats .num em{ font-style:normal; color:var(--amber); }
.stats .cap{ display:block; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); margin-top:4px; }

.hero-art{ position:relative; display:grid; gap:14px; }
.hero-tile{
  background:var(--card); border:1.5px solid var(--line); border-radius:18px;
  padding:18px 20px; display:flex; align-items:center; gap:14px;
  box-shadow:var(--shadow); font-weight:600; font-size:.95rem;
}
.hero-tile .dot{ width:38px; height:38px; flex:none; border-radius:11px; display:grid; place-items:center; font-size:1.05rem; }
.hero-tile:nth-child(odd){ transform:rotate(-1.2deg); margin-right:26px; }
.hero-tile:nth-child(even){ transform:rotate(1.1deg); margin-left:26px; }
@media (max-width:920px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-art{ display:none; }
  .stats{ grid-template-columns:repeat(2,1fr); }
}

/* ---------- marquee strip ---------- */
.marquee{ overflow:hidden; border-top:1.5px solid var(--green-deep); border-bottom:1.5px solid var(--green-deep); background:var(--green-deep); color:#F3E9CF; padding:13px 0; }
.marquee-track{ display:flex; width:max-content; animation:mq 34s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes mq{ to{ transform:translateX(-50%); } }
.mq-set{ display:flex; align-items:center; gap:28px; padding-right:28px; white-space:nowrap; font-family:'Fraunces', Georgia, serif; font-weight:600; font-size:.92rem; letter-spacing:.14em; text-transform:uppercase; }
.mq-set i{ font-style:normal; color:var(--amber); }

/* ---------- cards ---------- */
.card{
  background:var(--card); border:1.5px solid var(--line); border-radius:20px; padding:28px;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  position:relative;
}
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--ac, var(--green)); }
.card h3, .card h4{ font-size:1.22rem; margin-top:16px; }
.card p{ margin-top:10px; color:var(--mut); font-size:.93rem; }
.card .idx{
  position:absolute; top:24px; right:24px;
  font-family:'Fraunces', Georgia, serif; font-weight:700; font-size:.9rem; color:var(--dim);
}
.card:hover .idx{ color:var(--ac, var(--green)); }
.chip-ic{
  display:grid; place-items:center; width:50px; height:50px; border-radius:14px; font-size:1.3rem;
  background:color-mix(in srgb, var(--ac, var(--green)) 13%, white);
  border:1.5px solid color-mix(in srgb, var(--ac, var(--green)) 45%, white);
}
.card-link{
  display:inline-block; margin-top:16px; font-weight:700; font-size:.88rem; text-decoration:none;
  color:var(--ac, var(--green)); border-bottom:2px solid transparent; transition:border-color .25s;
}
.card-link:hover{ border-color:var(--ac, var(--green)); }

.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
@media (max-width:980px){ .grid-3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .grid-3,.grid-2{ grid-template-columns:1fr; } }

/* ---------- split layout ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:start; }
@media (max-width:920px){ .split{ grid-template-columns:1fr; } }

.badge-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.badge{
  display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700;
  padding:9px 16px; border-radius:999px; background:var(--card); border:1.5px solid var(--line);
}
.badge i{ font-style:normal; }

/* ---------- category blocks (services) ---------- */
.cat{ padding:76px 0; border-top:1px solid var(--line); }
.cat:nth-child(even){ background:var(--bg-soft); }
.cat-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:38px; flex-wrap:wrap; }
.cat-head h2{ font-size:clamp(1.6rem, 3.4vw, 2.4rem); margin-top:14px; }
.cat-head .lead{ margin-top:12px; color:var(--mut); max-width:40rem; }
.cat-count{ text-align:right; }
.cat-count b{ font-family:'Fraunces', Georgia, serif; font-size:3.4rem; font-weight:700; color:color-mix(in srgb, var(--ac) 30%, white); line-height:1; display:block; }
.cat-count span{ font-size:.68rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--dim); }

.jump-row{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:34px; }
.jump{
  text-decoration:none; font-size:.82rem; font-weight:700; padding:10px 18px; border-radius:999px;
  background:var(--card); border:1.5px solid var(--line); transition:transform .25s, border-color .25s, box-shadow .25s;
}
.jump:hover{ transform:translateY(-3px); border-color:var(--ac, var(--green)); box-shadow:var(--shadow); }

.tag{ display:inline-block; font-size:.72rem; font-weight:800; padding:6px 13px; border-radius:999px;
  background:color-mix(in srgb, var(--ac, var(--green)) 11%, white);
  border:1.5px solid color-mix(in srgb, var(--ac, var(--green)) 40%, white);
  color:color-mix(in srgb, var(--ac, var(--green)) 80%, black); margin:4px 6px 0 0; }

.kicker{ font-size:.68rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--ac, var(--green)); }

/* tilted payment cards — straighten on hover */
.rot-a{ transform:rotate(-1.3deg); } .rot-b{ transform:rotate(1.2deg); }
.rot-a:hover, .rot-b:hover{ transform:translateY(-6px) rotate(0deg); }

/* debt steps */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; position:relative; }
@media (max-width:860px){ .steps{ grid-template-columns:1fr; } }
.step{ text-align:center; padding:0 10px; }
.step-ball{
  width:92px; height:92px; margin:0 auto; border-radius:50%;
  display:grid; place-items:center; font-family:'Fraunces', Georgia, serif; font-weight:700; font-size:2rem;
  background:var(--card); border:2px solid var(--ac, var(--coral)); color:var(--ac, var(--coral));
  box-shadow:5px 5px 0 color-mix(in srgb, var(--ac, var(--coral)) 22%, white);
}
.step h3{ margin-top:22px; font-size:1.25rem; }
.step p{ margin-top:10px; color:var(--mut); font-size:.93rem; }

/* alternating coverage rows */
.cover-row{ display:grid; grid-template-columns:.85fr 1.15fr; gap:0; overflow:hidden; border:1.5px solid var(--line); border-radius:22px; background:var(--card); margin-top:22px; transition:box-shadow .3s, border-color .3s; }
.cover-row:hover{ box-shadow:var(--shadow); border-color:var(--ac, var(--teal)); }
.cover-visual{ display:grid; place-items:center; min-height:200px; font-size:3rem; background:color-mix(in srgb, var(--ac, var(--teal)) 10%, white); }
.cover-visual span{ width:92px; height:92px; display:grid; place-items:center; background:var(--card); border:1.5px solid color-mix(in srgb, var(--ac, var(--teal)) 45%, white); border-radius:24px; }
.cover-body{ padding:34px; }
.cover-body h3{ font-size:1.4rem; margin-top:8px; }
.cover-body p{ margin-top:12px; color:var(--mut); font-size:.93rem; }
.cover-row.flip .cover-visual{ order:2; }
@media (max-width:820px){ .cover-row, .cover-row.flip{ grid-template-columns:1fr; } .cover-row.flip .cover-visual{ order:0; } }

/* ---------- accordions ---------- */
.acc{ border:1.5px solid var(--line); border-radius:18px; background:var(--card); overflow:hidden; transition:border-color .3s, box-shadow .3s; }
.acc + .acc{ margin-top:14px; }
.acc:hover{ border-color:var(--ac, var(--green)); }
.acc.open{ border-color:var(--ac, var(--green)); box-shadow:var(--shadow); }
.acc-btn{
  width:100%; display:flex; align-items:center; gap:16px; text-align:left;
  background:none; border:0; cursor:pointer; padding:20px 22px;
  font-family:'Fraunces', Georgia, serif; font-weight:600; font-size:1.08rem; color:var(--ink);
}
.acc-btn .acc-num{ font-size:.95rem; color:var(--dim); font-weight:700; flex:none; }
.acc-btn .acc-title{ flex:1; }
.acc-btn .acc-plus{
  flex:none; width:34px; height:34px; border-radius:50%; display:grid; place-items:center;
  border:1.5px solid var(--line); font-family:'Inter',sans-serif; font-weight:700; font-size:1.1rem; color:var(--ac, var(--green));
  transition:transform .35s ease, background .3s;
}
.acc.open .acc-plus{ transform:rotate(45deg); background:color-mix(in srgb, var(--ac, var(--green)) 12%, white); }
.acc-panel{ display:none; padding:0 22px 22px; color:var(--mut); font-size:.93rem; }
.acc.open .acc-panel{ display:block; }

/* ---------- testimonials ---------- */
.tst-grid{ column-count:3; column-gap:20px; margin-top:44px; }
@media (max-width:980px){ .tst-grid{ column-count:2; } }
@media (max-width:640px){ .tst-grid{ column-count:1; } }
.tst{ break-inside:avoid; margin-bottom:20px; }
.tst .quote-mark{ font-family:'Fraunces', Georgia, serif; font-size:2.6rem; line-height:1; color:var(--ac, var(--amber)); }
.tst .stars{ color:var(--amber); letter-spacing:.14em; font-size:.95rem; margin-top:4px; }
.tst .stars .half{ opacity:.45; }
.tst blockquote{ margin:14px 0 0; font-family:'Fraunces', Georgia, serif; font-size:1.02rem; line-height:1.55; color:var(--ink); }
.tst .who{ display:flex; align-items:center; gap:13px; margin-top:20px; }
.tst .ava{
  width:46px; height:46px; flex:none; border-radius:50%; display:grid; place-items:center;
  color:#FDFBF6; font-weight:700; font-size:.85rem; font-family:'Inter',sans-serif;
}
.tst .who b{ display:block; font-size:.92rem; }
.tst .who span{ display:block; font-size:.8rem; color:var(--dim); }

/* ---------- contact / forms ---------- */
.info-card{ display:flex; gap:16px; align-items:center; }
.info-card + .info-card{ margin-top:16px; }
.info-card .cap{ font-size:.68rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--dim); }
.info-card .val{ font-family:'Fraunces', Georgia, serif; font-weight:600; font-size:1.08rem; margin-top:2px; }
.info-card p{ margin:0; }

.form-card{ padding:36px; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:640px){ .form-grid{ grid-template-columns:1fr; } .form-card{ padding:26px; } }
.fld{ display:block; }
.fld span{
  display:block; font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--mut); margin-bottom:8px;
}
.fld input, .fld textarea{
  width:100%; background:var(--bg); border:1.5px solid var(--line); border-radius:12px;
  padding:13px 15px; font:inherit; font-size:.95rem; color:var(--ink);
  transition:border-color .25s, box-shadow .25s;
}
.fld input:focus, .fld textarea:focus{
  outline:none; border-color:var(--green);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--green) 16%, transparent);
}
.fld textarea{ min-height:130px; resize:vertical; }
.fld.full{ grid-column:1 / -1; }
.check{ display:flex; gap:12px; align-items:flex-start; margin-top:22px; font-size:.9rem; color:var(--mut); cursor:pointer; }
.check input{ width:18px; height:18px; margin-top:3px; accent-color:var(--green); flex:none; }
.check a{ color:var(--green); font-weight:700; }
.form-note{ margin-top:18px; text-align:center; font-size:.8rem; color:var(--dim); }
.form-note a, .form-note .unsub-link{ color:var(--coral); font-weight:800; }

/* ---------- promise box ---------- */
.promise{
  margin-top:30px; padding:26px; border-radius:18px;
  background:color-mix(in srgb, var(--ac, var(--olive)) 9%, white);
  border:1.5px solid color-mix(in srgb, var(--ac, var(--olive)) 38%, white);
}
.promise b{ font-family:'Fraunces', Georgia, serif; font-size:1.05rem; }
.promise p{ margin-top:10px; color:var(--mut); font-size:.92rem; }

/* ---------- legal pages ---------- */
.legal-hero{ padding:72px 0 44px; background:var(--bg-soft); border-bottom:1px solid var(--line); }
.legal-body{ padding:56px 0 84px; }
.legal-body .inner{ max-width:800px; margin:0 auto; }
.legal-sec{ padding:26px 0; border-bottom:1px solid var(--line); }
.legal-sec h2{ font-size:1.25rem; display:flex; gap:12px; align-items:baseline; }
.legal-sec h2 .n{ color:var(--amber); font-size:1rem; flex:none; }
.legal-sec p{ margin-top:12px; color:var(--mut); font-size:.95rem; }

/* ---------- footer ---------- */
.site-footer{ background:var(--green-deep); color:#D8E2D4; margin-top:0; }
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px;
  padding:64px 0 44px;
}
@media (max-width:980px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-brand .brand-name{ color:#F3E9CF; }
.footer-brand .brand-mark{ background:var(--amber); color:#10382A; border-color:var(--amber); box-shadow:3px 3px 0 rgba(0,0,0,.35); }
.footer-blurb{ margin-top:18px; font-size:.9rem; color:#A8BCA6; max-width:20rem; }
.site-footer h3{
  font-family:'Inter',sans-serif; font-size:.7rem; font-weight:800; letter-spacing:.22em;
  text-transform:uppercase; color:#8FA78C; margin:0 0 18px;
}
.site-footer ul{ list-style:none; margin:0; padding:0; }
.site-footer li + li{ margin-top:11px; }
.site-footer ul a{ text-decoration:none; font-size:.9rem; color:#D8E2D4; border-bottom:1px solid transparent; transition:color .25s, border-color .25s; }
.site-footer ul a:hover{ color:#FDFBF6; border-color:var(--amber); }
.reach li{ font-size:.9rem; display:flex; gap:10px; align-items:flex-start; }
.reach i{ font-style:normal; color:var(--amber); flex:none; }
.footer-bottom{
  border-top:1px solid rgba(243,233,207,.14);
  padding:24px 0 30px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between;
  font-size:.8rem; color:#8FA78C;
}
.footer-legal{ display:flex; flex-wrap:wrap; gap:22px; }
.footer-legal a{ text-decoration:none; font-weight:700; color:#D8E2D4; border-bottom:1px solid transparent; transition:border-color .25s, color .25s; }
.footer-legal a:hover{ color:#FDFBF6; border-color:var(--amber); }

/* ---------- toasts ---------- */
.toast-box{
  position:fixed; right:18px; bottom:18px; z-index:200;
  display:flex; flex-direction:column; gap:12px; max-width:min(380px, calc(100vw - 36px));
}
.toast{
  display:flex; gap:13px; align-items:flex-start;
  background:var(--card); border:1.5px solid var(--line); border-left:6px solid var(--green);
  border-radius:16px; padding:16px 16px 16px 18px; box-shadow:0 24px 50px -18px rgba(16,56,42,.4);
  animation:toastIn .4s cubic-bezier(.22,1,.36,1) both;
}
.toast.error{ border-left-color:var(--coral); }
.toast.out{ animation:toastOut .3s ease forwards; }
@keyframes toastIn{ from{ opacity:0; transform:translateY(16px) scale(.97); } to{ opacity:1; transform:none; } }
@keyframes toastOut{ to{ opacity:0; transform:translateY(10px) scale(.97); } }
.toast-ic{
  flex:none; width:30px; height:30px; border-radius:50%; display:grid; place-items:center;
  background:var(--green); color:#FDFBF6; font-weight:800; font-size:.95rem;
}
.toast.error .toast-ic{ background:var(--coral); }
.toast-body strong{ display:block; font-family:'Fraunces', Georgia, serif; font-size:1.02rem; }
.toast-body p{ margin:4px 0 0; font-size:.85rem; color:var(--mut); }
.toast-x{
  flex:none; margin-left:auto; background:none; border:0; cursor:pointer;
  font-size:1.2rem; line-height:1; color:var(--dim); padding:2px 4px; border-radius:6px;
}
.toast-x:hover{ color:var(--ink); }

/* ---------- page hero (inner pages) ---------- */
.page-hero{ padding:72px 0 56px; background:var(--bg-soft); border-bottom:1px solid var(--line); }

/* ---------- misc ---------- */
.mt-8{ margin-top:8px; } .mt-16{ margin-top:16px; } .mt-24{ margin-top:24px; }
.mt-32{ margin-top:32px; } .mt-44{ margin-top:44px; } .mt-56{ margin-top:56px; }
.center{ text-align:center; }
