/* ============================================================
   THE FOUNDER'S ARCHITECT — stylesheet v2
   Matched to the Crois house style (see LT Business Solutions):
   rounded cards, light warm base, direct copy, numbered
   "why us" / "how it works" sections, pill CTAs.
   Font: Plus Jakarta Sans — rounded terminals, one clean family,
   distinctive without being ornate. IBM Plex Mono kept only for
   tiny badge/eyebrow labels, as a small nod to the ledger idea.
   ============================================================ */

:root{
  --bg:#faf6ee;
  --bg-alt:#f2e9d4;
  --card:#ffffff;
  --border:#e6d9bb;
  --ink:#1d160f;
  --ink-soft:#6b6152;
  --gold:#b8874a;
  --gold-dark:#8a6534;
  --gold-bg:#f4e6c9;
  --dark:#1d160f;

  --sans:'Plus Jakarta Sans', -apple-system, sans-serif;
  --mono:'IBM Plex Mono', 'Courier New', monospace;
}

*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
.wrap{max-width:1120px; margin:0 auto; padding:0 28px;}

/* ---------- nav ---------- */
.site-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 28px;
  background:var(--bg);
  position:sticky; top:0; z-index:100;
  border-bottom:1px solid var(--border);
}
.site-header .brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
.site-header .brand img{width:34px; height:34px; border-radius:50%; transition:transform .5s ease;}
.site-header .brand:hover img{transform:rotate(10deg);}
.site-header .brand span{font-family:var(--sans); font-weight:700; font-size:15px; color:var(--ink);}
.site-nav{display:flex; align-items:center; gap:6px;}
.site-nav a{
  font-size:14px; font-weight:500; text-decoration:none; color:var(--ink-soft);
  padding:9px 16px; border-radius:999px; transition:.2s ease;
}
.site-nav a:hover{color:var(--ink); background:var(--bg-alt);}
.site-nav a.active{color:var(--ink); background:var(--gold-bg);}
.nav-cta{display:flex; gap:10px; align-items:center;}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 22px; border-radius:999px;
  font-size:13.5px; font-weight:600; text-decoration:none;
  transition:.25s ease; white-space:nowrap;
}
.btn-primary{background:var(--gold); color:#fff;}
.btn-primary:hover{background:var(--gold-dark); transform:translateY(-1px);}
.btn-ghost{background:transparent; color:var(--ink); border:1.5px solid var(--border);}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold-dark);}
@media (max-width:860px){ .site-nav{display:none;} }

/* ---------- footer ---------- */
.site-footer{background:var(--dark); color:#cfc5b2; padding:60px 28px 28px;}
.footer-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px; max-width:1120px; margin:0 auto 40px;}
@media (max-width:700px){ .footer-grid{grid-template-columns:1fr;} }
.footer-grid .brand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.footer-grid .brand img{width:30px; height:30px; border-radius:50%;}
.footer-grid .brand span{font-weight:700; color:#fff; font-size:15px;}
.footer-grid p{font-size:13.5px; color:#a89a80; max-width:280px;}
.footer-col h4{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#8a7c63; margin-bottom:14px;}
.footer-col a{display:block; font-size:13.5px; color:#cfc5b2; text-decoration:none; margin-bottom:10px;}
.footer-col a:hover{color:var(--gold);}
.site-footer .bottom{max-width:1120px; margin:0 auto; padding-top:24px; border-top:1px solid #33291a; font-size:12px; color:#8a7c63;}

/* ---------- badges ---------- */
.badge-row{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:22px;}
.badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 14px; border-radius:999px; background:var(--gold-bg);
  font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--gold-dark); font-weight:500;
}
.badge::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--gold);}

/* ================= HOME HERO ================= */
.hero{padding:80px 28px 60px; text-align:center;}
.hero .eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dark); display:inline-block; margin-bottom:18px;}
.hero h1{font-family:var(--sans); font-weight:700; letter-spacing:-0.02em; font-size:clamp(2rem, 5vw, 3.4rem); line-height:1.15; max-width:780px; margin:0 auto; color:var(--ink);}
.hero p.lede{max-width:560px; margin:22px auto 0; font-size:16px; color:var(--ink-soft);}
.hero-ctas{display:flex; gap:14px; justify-content:center; margin-top:32px; flex-wrap:wrap;}

@keyframes fadeUp{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);}}
.hero .eyebrow{animation:fadeUp .7s ease both;}
.hero h1{animation:fadeUp .7s ease .1s both;}
.hero p.lede{animation:fadeUp .7s ease .2s both;}
.hero-ctas{animation:fadeUp .7s ease .3s both;}
.badge-row{animation:fadeUp .7s ease .4s both;}

/* ================= SECTION SHELL ================= */
.section{padding:90px 0;}
.section-alt{background:var(--bg-alt);}
.section-head{max-width:620px; margin:0 auto 56px; text-align:center;}
.section-head .eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dark); display:block; margin-bottom:12px;}
.section-head h2{font-size:clamp(1.7rem, 3.6vw, 2.4rem); font-weight:700; letter-spacing:-0.01em;}
.section-head p{margin-top:14px; color:var(--ink-soft); font-size:15px;}

.card-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;}
@media (max-width:900px){ .card-grid{grid-template-columns:repeat(2, 1fr);} }
@media (max-width:620px){ .card-grid{grid-template-columns:1fr;} }
.card{background:var(--card); border:1.5px solid var(--border); border-radius:20px; padding:30px 26px; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.card:hover{transform:translateY(-4px); box-shadow:0 14px 30px -14px rgba(90,70,30,.18); border-color:var(--gold);}
.card .icon{width:42px; height:42px; margin-bottom:18px;}
.card h3{font-size:1.15rem; font-weight:700; margin-bottom:10px;}
.card p{font-size:13.8px; color:var(--ink-soft); line-height:1.6;}

.numbered-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:32px;}
@media (max-width:820px){ .numbered-grid{grid-template-columns:1fr;} }
.numbered-item .num{width:40px; height:40px; border-radius:50%; background:var(--gold-bg); color:var(--gold-dark); display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-weight:600; font-size:14px; margin-bottom:18px;}
.numbered-item h4{font-size:1.05rem; font-weight:700; margin-bottom:8px;}
.numbered-item p{font-size:13.8px; color:var(--ink-soft);}

.steps-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:0; position:relative;}
@media (max-width:900px){ .steps-grid{grid-template-columns:repeat(2, 1fr); gap:32px;} }
@media (max-width:560px){ .steps-grid{grid-template-columns:1fr;} }
.step{padding:0 20px; position:relative;}
.step .step-num{font-family:var(--mono); font-size:13px; color:var(--gold); font-weight:600; border:1.5px solid var(--gold-bg); background:#fff; width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.step h4{font-size:1rem; font-weight:700; margin-bottom:8px;}
.step p{font-size:13.5px; color:var(--ink-soft);}

.stats-row{display:flex; flex-wrap:wrap; gap:0; border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.stat-cell{flex:1 1 200px; padding:32px 24px; border-left:1px solid var(--border); text-align:center;}
.stat-cell:first-child{border-left:none;}
.stat-cell .num{font-family:var(--sans); font-weight:700; font-size:2.2rem; color:var(--gold-dark); display:block;}
.stat-cell .lbl{font-size:12px; color:var(--ink-soft); margin-top:6px;}

.cta-band{background:var(--dark); border-radius:28px; padding:64px 40px; text-align:center; max-width:1120px; margin:0 auto;}
.cta-band h2{color:#fff; font-size:clamp(1.6rem,3.4vw,2.3rem); font-weight:700; max-width:520px; margin:0 auto 14px;}
.cta-band p{color:#a89a80; font-size:14.5px; max-width:440px; margin:0 auto 30px;}
.cta-band .hero-ctas{margin-top:0;}

.about-hero{padding:70px 28px 20px; text-align:center;}
.about-body{max-width:720px; margin:0 auto; padding:20px 28px 90px;}
.about-body p{font-size:15.5px; color:var(--ink-soft); margin-bottom:20px;}
.about-body h3{font-size:1.2rem; font-weight:700; margin:34px 0 12px;}

.contact-hero{padding:80px 28px 20px; text-align:center;}
.contact-panel{max-width:520px; margin:30px auto 100px; background:var(--card); border:1.5px solid var(--border); border-radius:24px; padding:8px 28px;}
.c-row{display:flex; justify-content:space-between; align-items:center; padding:20px 0; border-bottom:1px solid var(--border); font-size:14px;}
.c-row:last-child{border-bottom:none;}
.c-row .k{color:var(--ink-soft); font-size:12px; text-transform:uppercase; letter-spacing:.06em;}
.c-row .v a{color:var(--gold-dark); text-decoration:none; font-weight:600;}

.service-group{padding:60px 0; border-top:1px solid var(--border);}
.service-group:first-of-type{border-top:none;}
.service-group-head{max-width:640px; margin-bottom:36px;}
.service-group-head .eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-dark); display:block; margin-bottom:10px;}
.service-group-head h2{font-size:1.7rem; font-weight:700;}
.service-group-head p{margin-top:10px; color:var(--ink-soft); font-size:14.5px;}

.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}
.card-grid .card:nth-child(1){transition-delay:0s;}
.card-grid .card:nth-child(2){transition-delay:.08s;}
.card-grid .card:nth-child(3){transition-delay:.16s;}
.card-grid .card:nth-child(4){transition-delay:.24s;}
.card-grid .card:nth-child(5){transition-delay:.32s;}
.numbered-grid .numbered-item:nth-child(1){transition-delay:0s;}
.numbered-grid .numbered-item:nth-child(2){transition-delay:.1s;}
.numbered-grid .numbered-item:nth-child(3){transition-delay:.2s;}
.steps-grid .step:nth-child(1){transition-delay:0s;}
.steps-grid .step:nth-child(2){transition-delay:.1s;}
.steps-grid .step:nth-child(3){transition-delay:.2s;}
.steps-grid .step:nth-child(4){transition-delay:.3s;}
.stats-row .stat-cell:nth-child(1){transition-delay:0s;}
.stats-row .stat-cell:nth-child(2){transition-delay:.1s;}
.stats-row .stat-cell:nth-child(3){transition-delay:.2s;}
.stats-row .stat-cell:nth-child(4){transition-delay:.3s;}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1; transform:none; transition:none;}
  .hero .eyebrow, .hero h1, .hero p.lede, .hero-ctas, .badge-row{animation:none; opacity:1;}
}
