:root{
  --cream:#f7f2e7;
  --cream-2:#f1ead9;
  --navy:#152742;
  --navy-2:#1c3357;
  --gold:#c99a4f;
  --gold-dark:#b6873c;
  --ink:#2b2620;
  --muted:#7a7469;
  --line:#e4dcc9;
}
*{box-sizing:border-box;}
body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Playfair Display',serif;}
.eyebrow{
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.72rem;
  font-weight:600;
  color:var(--gold-dark);
}
.eyebrow-center{text-align:center;}
a{text-decoration:none;}
html{scroll-behavior:smooth;}
section[id]{scroll-margin-top:80px;}

/* NAVBAR */
.navbar-custom{
  background:var(--cream);
  padding:1.1rem 0;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:1030;
}
.brand{
  font-family:'Playfair Display',serif;
  font-weight:700;
  font-size:1.4rem;
  color:var(--navy);
}
.nav-link-custom{
  color:var(--ink);
  font-size:.92rem;
  font-weight:500;
  margin:0 .9rem;
  cursor:pointer;
}
.nav-link-custom:hover{color:var(--gold-dark);}
.navbar-toggler{
  border:1px solid var(--line);
}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(201,154,79,.35);}

.btn-gold{
  background:var(--gold);
  border:none;
  color:#fff;
  font-weight:600;
  padding:.55rem 1.3rem;
  border-radius:5px;
  font-size:.9rem;
  cursor:pointer;
}
.btn-gold:hover{background:var(--gold-dark); color:#fff;}
.btn-navy{
  background:var(--navy);
  border:none;
  color:#fff;
  font-weight:600;
  padding:.7rem 1.5rem;
  border-radius:5px;
  font-size:.95rem;
  cursor:pointer;
}
.btn-navy:hover{background:var(--navy-2); color:#fff;}
.btn-outline-navy{
  border:1.5px solid var(--navy);
  color:var(--navy);
  font-weight:600;
  padding:.7rem 1.5rem;
  border-radius:5px;
  font-size:.95rem;
  background:transparent;
  cursor:pointer;
}
.btn-outline-navy:hover{background:var(--navy); color:#fff;}

/* HERO */
.hero{padding:5rem 0 3rem;}
.hero h1{
  font-size:2.7rem;
  line-height:1.2;
  color:var(--navy);
  font-weight:700;
}
.hero h1 em{
  color:var(--gold-dark);
  font-style:italic;
  font-weight:500;
}
.hero p.lead{
  color:var(--muted);
  font-size:1.02rem;
  max-width:480px;
}
.stat-row{margin-top:2.2rem;}
.stat-num{
  font-family:'Playfair Display',serif;
  color:var(--navy);
  font-size:1.4rem;
  font-weight:700;
}
.stat-label{font-size:.8rem;color:var(--muted);}
.hero-image-wrap{position:relative;}
.hero-image-wrap img{
  width:100%;
  border-radius:10px;
  box-shadow:0 25px 50px rgba(21,39,66,.18);
}
.hero-card{
  position:absolute;
  bottom:-15%;
  left:-8%;
  background:rgba(21,39,66,.92);
  color:#fff;
  border-radius:10px;
  padding:1.1rem 1.3rem;
  width:230px;
  box-shadow:0 20px 40px rgba(0,0,0,.25);
}
.hero-card .live{
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold);
  display:flex;
  align-items:center;
  gap:.35rem;
  margin-bottom:.5rem;
}
.hero-card .dot{
  width:6px;height:6px;border-radius:50%;background:#4caf50;display:inline-block;
}
.hero-card .pair{display:flex; justify-content:space-between; margin-bottom:.3rem;}
.hero-card .val{font-weight:700; color:#7fd67f;}
.bars{display:flex; align-items:flex-end; gap:4px; height:34px; margin-top:.6rem;}
.bars span{flex:1; background:var(--gold); border-radius:2px 2px 0 0; opacity:.85;}

/* SECTION GENERAL */
section{padding:5rem 0;}
.section-title{
  color:var(--navy);
  font-weight:700;
  font-size:2.1rem;
  line-height:1.25;
}
.section-sub{color:var(--muted); font-size:1rem;}

/* REVENUE LEDGER CARD */
.ledger-card{
  background:#fff;
  border-radius:14px;
  border:1px solid var(--line);
  padding:2.2rem;
  box-shadow:0 20px 45px rgba(21,39,66,.06);
  height:100%;
}
.field-label{font-size:.85rem; font-weight:600; color:var(--ink); margin-bottom:.3rem;}
.field-row{display:flex; justify-content:space-between; align-items:baseline;}
.field-val{color:var(--gold-dark); font-weight:700;}
input[type=range]{
  width:100%;
  accent-color:var(--gold);
}
.slider-group{margin-bottom:1.6rem;}
.hint-box{
  background:var(--cream-2);
  border-radius:8px;
  padding:.9rem 1rem;
  font-size:.82rem;
  color:var(--muted);
  margin-top:1rem;
}
.ledger-right-title{
  font-size:.72rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--gold-dark);
  font-weight:700;
}
.ledger-line{
  display:flex;
  justify-content:space-between;
  padding:.65rem 0;
  border-bottom:1px solid var(--line);
  font-size:.92rem;
}
.ledger-line .amt{font-weight:700; color:var(--navy);}
.ledger-line.total .amt{color:var(--gold-dark); font-size:1.15rem;}
.bottom-line-box{
  background:var(--navy);
  color:#fff;
  border-radius:10px;
  padding:1.3rem 1.5rem;
  margin-top:1.3rem;
}
.bottom-line-box .tag{
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:700;
}
.bottom-line-box .msg{font-size:1rem; margin-top:.4rem;}
.bottom-line-box .msg strong{color:var(--gold);}
.calc-note{font-size:.78rem; color:var(--muted); margin-top:1.5rem;}

/* HOW IT WORKS */
.works-section{background:var(--cream-2);}
.step-num{
  font-family:'Playfair Display',serif;
  color:var(--gold-dark);
  font-size:1.3rem;
  font-weight:700;
}
.step-title{color:var(--navy); font-weight:700; font-size:1.15rem; margin-top:.2rem;}
.step-desc{color:var(--muted); font-size:.92rem;}
.step-dot{
  width:10px;height:10px;border-radius:50%;
  background:var(--gold);
  margin:0 auto;
}
.step-line-col{position:relative;}
.step-line-col::before{
  content:"";
  position:absolute;
  top:0; bottom:0; left:50%;
  border-left:1.5px dashed var(--line);
}

/* FEATURES */
.feature-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:1.6rem;
  height:100%;
}
.feature-card h3{
  font-family:'Inter',sans-serif;
  font-size:1rem;
  font-weight:700;
  color:var(--navy);
  margin-bottom:.4rem;
}
.feature-card p{font-size:.87rem; color:var(--muted); margin:0;}

/* ROI SECTION */
.roi-section{background:var(--navy); color:#fff;}
.roi-section .section-title{color:#fff;}
.roi-section .section-sub{color:#c9d2df;}
.roi-input{
  background:transparent;
  border:1px solid rgba(255,255,255,.3);
  color:#fff;
  border-radius:6px;
  padding:.6rem .8rem;
  font-size:.9rem;
  width:100%;
  margin-bottom:1rem;
}
.roi-input::placeholder{color:#c9d2df;}
.outcome-card{
  background:#fff;
  color:var(--ink);
  border-radius:12px;
  padding:2rem;
}
.outcome-title{
  font-size:.72rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--gold-dark);
  font-weight:700;
}
.outcome-line{
  display:flex; justify-content:space-between;
  padding:.6rem 0;
  border-bottom:1px solid var(--line);
  font-size:.92rem;
}
.outcome-line .amt{font-weight:700; color:var(--navy);}
.roi-callout{
  background:var(--navy);
  color:#fff;
  border-radius:8px;
  padding:1.1rem 1.3rem;
  margin-top:1.2rem;
}
.roi-callout .tag{
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;
}
.roi-callout .big{color:var(--gold); font-weight:700; font-size:1.3rem;}
.roi-callout .desc{font-size:.85rem; color:#c9d2df; margin-top:.3rem;}

/* COMPARISON */
.compare-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:1.8rem;
  height:100%;
}
.compare-card.highlight{
  border:2px solid var(--gold);
  box-shadow:0 20px 45px rgba(201,154,79,.18);
  transform:translateY(-8px);
}
.compare-name{font-weight:700; color:var(--navy); font-family:'Playfair Display',serif; font-size:1.2rem;}
.compare-row{
  display:flex; justify-content:space-between;
  padding:.55rem 0;
  border-bottom:1px solid var(--line);
  font-size:.85rem;
}
.compare-row .k{color:var(--muted); text-transform:uppercase; font-size:.7rem; letter-spacing:.08em;}
.compare-row .v{font-weight:600; color:var(--ink);}

/* CTA */
.cta-form input{
  border:1px solid var(--line);
  border-radius:6px;
  padding:.7rem .9rem;
  width:100%;
  margin-bottom:1rem;
  font-size:.9rem;
  background:#fff;
}

/* DEMO MODAL */
.modal-content{
  border-radius:14px;
  border:none;
}
.modal-header{
  background:var(--navy);
  color:#fff;
  border-radius:14px 14px 0 0;
  border-bottom:none;
}
.modal-header .btn-close{filter:invert(1);}
.modal-body input, .modal-body textarea{
  border:1px solid var(--line);
  border-radius:6px;
  padding:.7rem .9rem;
  width:100%;
  margin-bottom:1rem;
  font-size:.9rem;
}
.modal-body label{
  font-size:.82rem;
  font-weight:600;
  color:var(--ink);
  margin-bottom:.3rem;
  display:block;
}

/* FOOTER */
footer{background:var(--navy); color:#c9d2df; padding:3.5rem 0 1.5rem;}
footer .brand{color:#fff;}
footer h6{
  color:var(--gold);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:1rem;
}
footer a{color:#c9d2df; display:block; margin-bottom:.5rem; font-size:.88rem;}
footer a:hover{color:var(--gold);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:2rem;
  padding-top:1.2rem;
  font-size:.8rem;
  color:#8b96a8;
}

@media (max-width: 991px){
  .navbar-collapse{
    background:var(--cream);
    padding:1rem 0;
  }
  .nav-link-custom{
    margin:.4rem 0;
  }
  .hero-card{position:static; width:100%; margin-top:1.5rem;}
  .compare-card.highlight{transform:none;}
  .step-line-col::before{display:none;}
  .hero h1{font-size:2.1rem;}
  .section-title{font-size:1.6rem;}
}
