/* ===== LedgerReady — waitlist landing ===== */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
  color:#16263F;
  background:#F4EFE6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* ---- animations ---- */
@keyframes heroUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes cardIn{from{opacity:0;transform:translateY(22px) scale(.99)}to{opacity:1;transform:none}}
@keyframes ledgerRow{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@keyframes floatChip{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-9px) rotate(var(--r,0deg))}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important}}

/* ---- layout helpers ---- */
.wrap{max-width:1180px;margin:0 auto}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}

/* ===== HERO ===== */
.hero{max-width:1180px;margin:0 auto;padding:clamp(22px,3vw,34px) clamp(20px,5vw,56px) clamp(48px,7vw,96px)}
.brand{display:flex;align-items:center;gap:11px;margin-bottom:clamp(40px,7vw,82px);animation:heroUp .7s cubic-bezier(.2,.7,.2,1) both}
.brand-mark{width:30px;height:30px;border-radius:8px;background:#16263F;display:flex;align-items:center;justify-content:center;flex:none}
.brand-mark span{font-family:'Spectral',serif;font-weight:600;font-size:1.05rem;color:#DCA24E;line-height:1}
.brand-name{font-family:'Spectral',serif;font-weight:600;font-size:1.18rem;letter-spacing:-.01em}

.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:clamp(36px,5vw,72px);align-items:center}
.hero-copy{max-width:560px}
.hero-eyebrow{color:#B07A2E;margin-bottom:22px;animation:heroUp .7s cubic-bezier(.2,.7,.2,1) .06s both}
.hero h1{font-family:'Spectral',serif;font-weight:500;font-size:clamp(2.3rem,5.6vw,4rem);line-height:1.04;letter-spacing:-.018em;margin:0 0 22px;animation:heroUp .7s cubic-bezier(.2,.7,.2,1) .13s both}
.hero h1 em{font-style:italic}
.hero-sub{font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.5;color:#465468;margin:0 0 32px;max-width:480px;animation:heroUp .7s cubic-bezier(.2,.7,.2,1) .2s both}
.hero-form-zone{animation:heroUp .7s cubic-bezier(.2,.7,.2,1) .28s both}
.trust{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:15px 4px 0;font-size:.85rem;color:#6A7686}
.trust .dot{opacity:.4}

/* ===== WAITLIST FORM (used in hero + final CTA) ===== */
.waitlist-form{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  background:#fff;
  border:1px solid rgba(22,38,63,.1);
  border-radius:15px;
  padding:7px;
  max-width:520px;
  box-shadow:0 22px 44px -20px rgba(22,38,63,.42),0 2px 6px rgba(22,38,63,.06);
}
.waitlist-form input[type="email"]{
  flex:1 1 230px;
  min-width:0;
  border:none;
  outline:none;
  background:transparent;
  font-family:inherit;
  font-size:1.06rem;
  color:#16263F;
  padding:13px 14px;
}
.waitlist-form input[type="email"]::placeholder{color:#9AA2B0}
.waitlist-form button[type="submit"]{
  flex:1 1 168px;
  border:none;
  cursor:pointer;
  background:#DCA24E;
  color:#16263F;
  font-family:inherit;
  font-weight:600;
  font-size:1.02rem;
  letter-spacing:.005em;
  padding:14px 22px;
  border-radius:11px;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.waitlist-form button[type="submit"]:hover{
  background:#CB8C32;
  transform:translateY(-1px);
  box-shadow:0 10px 22px -8px rgba(203,140,50,.7);
}
.waitlist-form button[type="submit"]:active{transform:translateY(0)}
.waitlist-msg{
  flex-basis:100%;
  margin:5px 6px 4px;
  font-size:.95rem;
  line-height:1.4;
  color:#1C7A52;
  font-weight:500;
}
.waitlist-msg:empty{display:none}

/* ===== HERO VISUAL ===== */
.visual{position:relative;min-height:380px;display:flex;align-items:center;justify-content:center}
.chip{position:absolute;font-family:'IBM Plex Mono',monospace;color:#16263F;opacity:.1}
.chip-1{font-size:1.1rem;top:6%;left:2%;--r:-13deg;animation:floatChip 7s ease-in-out infinite}
.chip-2{font-size:.95rem;bottom:9%;right:1%;--r:9deg;animation:floatChip 8s ease-in-out infinite .8s}
.chip-3{font-size:.9rem;top:14%;right:6%;--r:6deg;animation:floatChip 6.5s ease-in-out infinite .4s}

.coa-card{
  position:relative;width:100%;max-width:430px;
  background:#FFFDF9;border:1px solid rgba(22,38,63,.09);border-radius:18px;
  padding:22px 22px 20px;
  box-shadow:0 36px 70px -30px rgba(22,38,63,.4),0 4px 12px rgba(22,38,63,.06);
  animation:cardIn .8s cubic-bezier(.2,.7,.2,1) .22s both;
}
.coa-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.coa-head .label{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8A93A2}
.coa-head .badge{font-size:.72rem;font-weight:600;color:#B07A2E;background:rgba(220,162,78,.14);padding:4px 9px;border-radius:6px}
.coa-rows{display:flex;flex-direction:column;gap:2px}
.coa-row{display:flex;align-items:center;justify-content:space-between;padding:9px 4px;border-bottom:1px solid rgba(22,38,63,.06)}
.coa-row:last-child{border-bottom:none}
.coa-row .left{display:flex;gap:11px;align-items:baseline}
.coa-row .num{font-family:'IBM Plex Mono',monospace;font-size:.82rem;color:#9AA2B0}
.coa-row .name{font-size:.95rem}
.coa-row .tag{font-size:.78rem;color:#6A7686;background:rgba(22,38,63,.05);padding:3px 8px;border-radius:5px}
.coa-row .tag.ok{color:#1C7A52;background:rgba(28,122,82,.1);font-weight:500}
.coa-row.r1{animation:ledgerRow .6s cubic-bezier(.2,.7,.2,1) .5s both}
.coa-row.r2{animation:ledgerRow .6s cubic-bezier(.2,.7,.2,1) .58s both}
.coa-row.r3{animation:ledgerRow .6s cubic-bezier(.2,.7,.2,1) .66s both}
.coa-row.r4{animation:ledgerRow .6s cubic-bezier(.2,.7,.2,1) .74s both}
.coa-foot{margin-top:18px;padding-top:15px;border-top:1px solid rgba(22,38,63,.08);display:flex;align-items:center;gap:10px;animation:ledgerRow .6s cubic-bezier(.2,.7,.2,1) .86s both}
.coa-foot .check{width:22px;height:22px;border-radius:50%;background:#1C7A52;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.72rem}
.coa-foot span.t{font-size:.86rem;color:#465468}

/* ===== PROBLEM (navy) ===== */
.problem{background:#16263F;color:#F4EFE6}
.problem .inner{max-width:1000px;margin:0 auto;padding:clamp(64px,9vw,118px) clamp(20px,5vw,56px)}
.problem .eyebrow{color:#DCA24E;margin-bottom:clamp(34px,5vw,52px)}
.problem .lines{display:flex;flex-direction:column}
.problem .line{font-family:'Spectral',serif;font-weight:400;font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.28;letter-spacing:-.01em;padding:clamp(22px,3vw,30px) 0;border-bottom:1px solid rgba(244,239,230,.13)}
.problem .line:last-child{border-bottom:none}
.problem .line em{font-style:italic;color:#fff}

/* ===== SOLUTION ===== */
.solution{max-width:1180px;margin:0 auto;padding:clamp(64px,9vw,120px) clamp(20px,5vw,56px)}
.solution-head{max-width:620px;margin-bottom:clamp(44px,6vw,68px)}
.solution-head .eyebrow{color:#B07A2E;margin-bottom:20px}
.solution-head h2{font-family:'Spectral',serif;font-weight:500;font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.1;letter-spacing:-.015em;margin:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:clamp(28px,4vw,48px)}
.card .step{font-family:'Spectral',serif;font-style:italic;font-size:2rem;color:#DCA24E;margin-bottom:16px;line-height:1}
.card h3{font-family:'Spectral',serif;font-weight:500;font-size:1.35rem;line-height:1.2;margin:0 0 12px;letter-spacing:-.01em}
.card p{font-size:1.02rem;line-height:1.55;color:#465468;margin:0}

/* ===== CREDIBILITY ===== */
.cred{border-top:1px solid rgba(22,38,63,.1);border-bottom:1px solid rgba(22,38,63,.1)}
.cred .inner{max-width:840px;margin:0 auto;padding:clamp(54px,7vw,86px) clamp(20px,5vw,56px);text-align:center}
.cred .avatar{width:50px;height:50px;border-radius:50%;background:#16263F;color:#DCA24E;font-family:'Spectral',serif;font-size:1.05rem;font-weight:600;display:flex;align-items:center;justify-content:center;margin:0 auto 26px}
.cred p{font-family:'Spectral',serif;font-weight:400;font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.32;letter-spacing:-.01em;margin:0;color:#16263F}
.cred p em{font-style:italic}

/* ===== FINAL CTA (navy) ===== */
.final{background:#16263F;color:#F4EFE6}
.final .inner{max-width:680px;margin:0 auto;padding:clamp(64px,9vw,116px) clamp(20px,5vw,56px);text-align:center}
.final h2{font-family:'Spectral',serif;font-weight:500;font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.08;letter-spacing:-.015em;margin:0 0 16px}
.final p.lead{font-size:clamp(1.02rem,1.6vw,1.18rem);line-height:1.5;color:#A9B6C7;margin:0 auto 36px;max-width:440px}
.final-form-wrap{max-width:520px;margin:0 auto;text-align:left}
.final .waitlist-form{box-shadow:0 26px 50px -22px rgba(0,0,0,.5);border-color:rgba(0,0,0,.06)}

/* ===== FOOTER ===== */
.footer{max-width:1180px;margin:0 auto;padding:30px clamp(20px,5vw,56px);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.footer .brand-mark{width:24px;height:24px;border-radius:6px}
.footer .brand-mark span{font-size:.85rem}
.footer .brand-name{font-size:1rem}
.footer .meta{font-size:.85rem;color:#6A7686}
