/* Kingdom Ledger Bookkeeping — shared stylesheet · v2 warm-autumn design system
   Palette: cream #FBF4E8 · warm paper #FFFDF8 · burnt orange #C2571B · terracotta #D97B4F
            caramel/gold #D9A441 · espresso #2C1E12 · muted taupe secondary text */
:root{
  --cream:#FBF4E8;
  --paper:#FFFDF8;
  --peach:#F7DFC4;
  --peach-tint:#FAEAD3;
  --peach-soft:#F6E7CF;
  --orange:#C2571B;
  --orange-dark:#A3450F;
  --terra:#D97B4F;
  --gold:#D9A441;
  --gold-soft:#EFDCBE;
  --espresso:#2C1E12;
  --espresso-deep:#1E130A;
  --ink-soft:#6B5B49;
  --ink-faint:#8A7660;
  --line:#EDDFC9;
  --line-dark:#E2CFA9;
  --r-lg:24px;
  --r-md:18px;
  --r-sm:12px;
  --shadow-sm:0 2px 10px rgba(44,30,18,.05),0 10px 30px rgba(44,30,18,.05);
  --shadow-md:0 4px 14px rgba(44,30,18,.06),0 18px 44px rgba(194,87,27,.10);
  --shadow-lg:0 8px 20px rgba(44,30,18,.08),0 28px 60px rgba(194,87,27,.14);
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-serif:Georgia,"Times New Roman",Times,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-sans);
  color:var(--espresso);
  background:var(--cream);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto}
a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--orange-dark)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:6px}
::selection{background:var(--gold-soft);color:var(--espresso)}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{
  font-family:var(--font-sans);color:var(--espresso);
  font-weight:800;letter-spacing:-.022em;line-height:1.14;
}
h1{font-size:clamp(2.15rem,4.8vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.45rem);margin-bottom:.5em}
h3{font-size:1.24rem;margin-bottom:.4em;letter-spacing:-.015em}
p{margin-bottom:1em}
.section{padding:88px 0}
.section-white{background:var(--paper)}
.section-peach{background:var(--peach-tint)}
.section-head{max-width:720px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:800;color:var(--orange);margin-bottom:16px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);border-radius:2px;flex-shrink:0}
.center .eyebrow::after{content:"";width:26px;height:2px;background:var(--gold);border-radius:2px;flex-shrink:0}
.lede{font-size:1.15rem;color:var(--ink-soft);max-width:44em;line-height:1.7}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}
.serif-accent{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:0}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(251,244,232,.86);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;gap:20px;padding:12px 0}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}
.brand img{width:48px;height:48px;border-radius:14px;border:1px solid var(--line-dark);background:var(--paper)}
.brand-text{line-height:1.16}
.brand-name{font-size:1.16rem;font-weight:800;letter-spacing:-.02em;color:var(--espresso);display:block}
.brand-tag{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:700;display:block;margin-top:2px}
.main-nav{margin-left:auto}
.main-nav ul{display:flex;gap:2px;list-style:none}
.main-nav a{
  color:var(--espresso);text-decoration:none;font-size:.94rem;font-weight:600;
  padding:9px 13px;border-radius:999px;display:block;transition:background .15s ease,color .15s ease;
}
.main-nav a:hover{background:var(--peach-soft);color:var(--orange-dark)}
.main-nav a[aria-current="page"]{background:var(--peach-soft);color:var(--orange)}
.header-actions{display:flex;align-items:center;gap:14px;margin-left:6px}
.header-phone{color:var(--espresso);text-decoration:none;font-weight:800;font-size:.97rem;white-space:nowrap;letter-spacing:-.01em}
.header-phone:hover{color:var(--orange)}
.nav-toggle{
  display:none;background:var(--paper);border:1.5px solid var(--line-dark);color:var(--espresso);
  border-radius:999px;padding:9px 18px;font-size:.95rem;cursor:pointer;font-weight:700;font-family:var(--font-sans);
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;text-decoration:none;font-weight:700;border-radius:999px;
  padding:15px 30px;font-size:1rem;line-height:1.25;letter-spacing:-.01em;
  border:2px solid transparent;text-align:center;cursor:pointer;
  transition:transform .15s ease,background .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.btn-primary{background:var(--orange);color:#FFF;box-shadow:0 10px 24px rgba(194,87,27,.28)}
.btn-primary:hover{background:var(--orange-dark);color:#FFF;transform:translateY(-2px);box-shadow:0 14px 30px rgba(194,87,27,.32)}
.btn-dark{background:var(--espresso);color:var(--cream)}
.btn-dark:hover{background:var(--espresso-deep);color:var(--gold-soft);transform:translateY(-2px)}
.btn-outline{border-color:var(--espresso);color:var(--espresso);background:transparent}
.btn-outline:hover{border-color:var(--orange);color:var(--orange);background:rgba(255,253,248,.6)}
.btn-sm{padding:11px 22px;font-size:.92rem}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(155deg,var(--cream) 0%,#F9E7CE 58%,var(--peach) 100%);
  padding:92px 0 84px;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(560px 380px at 88% -6%,rgba(217,164,65,.38),transparent 62%),
    radial-gradient(700px 500px at -10% 110%,rgba(217,123,79,.20),transparent 60%);
}
.hero .wrap{position:relative;z-index:1}
.hero h1 .accent{color:var(--orange)}
.hero .lede{margin-top:20px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 18px}
.hero-note{font-size:.93rem;color:var(--ink-faint);font-weight:600;margin-bottom:0}
.hero-split{display:grid;grid-template-columns:1.12fr .88fr;gap:52px;align-items:center}

/* Trust card (hero) */
.trust-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px 30px 26px;box-shadow:var(--shadow-lg);
}
.trust-card-top{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.trust-card-top img{width:64px;height:64px;border-radius:18px;border:1px solid var(--line-dark);background:#FFF}
.trust-card-name{font-weight:800;font-size:1.13rem;letter-spacing:-.02em;line-height:1.25}
.trust-card-sub{font-size:.88rem;color:var(--ink-faint);font-weight:600}
.trust-card-rating{padding:18px 0 4px;text-align:left}
.trust-card-rating .stars{font-size:1.45rem;margin-bottom:4px}
.trust-card-rating p{font-weight:700;font-size:1.02rem;margin-bottom:0}
.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:2px 22px;margin-top:14px}
.mini-stat{padding:11px 0;border-top:1px dashed var(--line-dark)}
.mini-stat b{display:block;font-size:1.04rem;font-weight:800;letter-spacing:-.015em;color:var(--espresso)}
.mini-stat span{font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}
.trust-card-tagline{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
  font-family:var(--font-serif);font-style:italic;font-size:1.02rem;color:var(--orange);
  text-align:center;
}

/* ---------- Stats band ---------- */
.stats-band{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-band .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:30px;padding-bottom:30px}
.stat{text-align:center;padding:0 10px}
.stat + .stat{border-left:1px solid var(--line)}
.stat b{display:block;font-size:1.85rem;font-weight:800;letter-spacing:-.03em;color:var(--espresso);line-height:1.1}
.stat b .star{color:var(--gold)}
.stat span{display:block;margin-top:5px;font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint)}

/* ---------- Cards & bento grids ---------- */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bento-feature .svc-card:first-child{grid-column:span 2}
.svc-card,.card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px;box-shadow:var(--shadow-sm);
  transition:transform .18s ease,box-shadow .18s ease;
}
.svc-card:hover,.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.svc-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.svc-icon{
  width:52px;height:52px;border-radius:16px;background:var(--peach-tint);
  display:flex;align-items:center;justify-content:center;color:var(--orange);flex-shrink:0;
}
.svc-icon svg{width:26px;height:26px}
.svc-num{font-size:1.55rem;font-weight:800;letter-spacing:-.02em;color:var(--gold-soft);line-height:1}
.svc-card h3,.card h3{color:var(--espresso)}
.svc-card p,.card p{color:var(--ink-soft);margin-bottom:0}
.card a,.svc-card a{font-weight:700}
.pain-list{list-style:none}
.pain-list li{
  background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--terra);
  border-radius:var(--r-md);padding:20px 24px;margin-bottom:14px;box-shadow:var(--shadow-sm);
  color:var(--ink-soft);
}
.pain-list strong{color:var(--espresso)}

/* ---------- Steps timeline ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative}
.step{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:34px 28px 30px;box-shadow:var(--shadow-sm);position:relative;
}
.step-num{
  width:54px;height:54px;border-radius:50%;background:var(--orange);color:#FFF;
  font-size:1.25rem;font-weight:800;letter-spacing:-.02em;
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  box-shadow:0 8px 18px rgba(194,87,27,.30);position:relative;z-index:1;
}
@media (min-width:861px){
  .steps::before{
    content:"";position:absolute;top:27px;left:15%;right:15%;
    border-top:2px dashed var(--line-dark);
  }
}
.step p{color:var(--ink-soft);margin-bottom:0}

/* ---------- Testimonials ---------- */
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.t-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:52px 28px 28px;box-shadow:var(--shadow-sm);position:relative;
  display:flex;flex-direction:column;
}
.t-card::before{
  content:"\201C";position:absolute;top:2px;left:24px;
  font-family:var(--font-serif);font-style:italic;font-size:4.6rem;line-height:1;color:var(--gold);
}
.t-card blockquote{font-size:1.01rem;color:#4A3826;margin-bottom:18px;line-height:1.7}
.t-card figcaption{margin-top:auto;font-weight:800;color:var(--espresso);letter-spacing:-.01em}
.t-card figcaption span{display:block;font-weight:600;color:var(--terra);font-size:.9rem;margin-top:2px}
.stars{color:var(--gold);letter-spacing:3px;margin-bottom:12px;font-size:1.05rem}
.google-card{
  background:var(--paper);border:1px solid var(--line-dark);border-radius:var(--r-lg);
  padding:36px 30px;box-shadow:var(--shadow-md);text-align:center;
  max-width:660px;margin:26px auto 0;
}
.google-card .stars{font-size:1.55rem;margin-bottom:8px}
.google-card p{color:var(--ink-soft)}

/* ---------- FAQ accordion ---------- */
.faq{max-width:840px;margin:0 auto}
.faq-item{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);
  margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow-sm);
}
.faq-q{
  width:100%;background:none;border:none;cursor:pointer;text-align:left;
  font-family:var(--font-sans);font-size:1.05rem;font-weight:700;color:var(--espresso);
  letter-spacing:-.01em;padding:20px 58px 20px 24px;position:relative;
}
.faq-q::after{
  content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
  font-size:1.55rem;color:var(--orange);font-weight:400;line-height:1;
}
.faq-q[aria-expanded="true"]::after{content:"–"}
.faq-a{padding:0 24px;max-height:0;overflow:hidden;transition:max-height .25s ease}
.faq-a p{padding-bottom:20px;color:var(--ink-soft);margin-bottom:0}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--espresso);color:#EDE3D0;padding:76px 0;text-align:center;
  position:relative;overflow:hidden;
}
.cta-band::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(620px 340px at 50% -30%,rgba(217,123,79,.35),transparent 65%);
}
.cta-band .wrap{position:relative;z-index:1}
.cta-band h2{color:var(--cream)}
.cta-band p{color:#DCCBAE;max-width:40em;margin:0 auto 28px}
.cta-band .hero-ctas{justify-content:center;margin:0}
.cta-band .btn-outline{border-color:rgba(251,244,232,.75);color:var(--cream);background:transparent}
.cta-band .btn-outline:hover{border-color:var(--gold);color:var(--gold-soft);background:rgba(251,244,232,.06)}

/* ---------- Pricing ---------- */
.price-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:34px 30px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
}
.price-card.featured{border:2px solid var(--orange);box-shadow:var(--shadow-lg)}
.price-card .svc-num{margin-bottom:14px}
.price-card ul{list-style:none;margin:16px 0 24px}
.price-card li{padding:7px 0 7px 28px;position:relative;color:var(--ink-soft)}
.price-card li::before{content:"✓";position:absolute;left:2px;color:var(--orange);font-weight:800}
.price-card .btn{margin-top:auto}
.price-note{
  background:var(--peach-tint);border-left:5px solid var(--gold);border-radius:var(--r-md);
  padding:20px 24px;font-size:.98rem;color:var(--espresso);
}

/* ---------- Contact / info blocks ---------- */
.info-list{list-style:none}
.info-list li{padding:13px 0;border-bottom:1px solid var(--line)}
.info-list li:last-child{border-bottom:none}
.info-list strong{color:var(--orange);display:block;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:3px}
.chip-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none}
.chip-list li{
  background:var(--paper);border:1px solid var(--line-dark);border-radius:999px;
  padding:8px 18px;font-weight:600;color:var(--espresso);font-size:.94rem;
}
.nap-block{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:32px;box-shadow:var(--shadow-sm);
}
.about-photo{border-radius:var(--r-lg);box-shadow:var(--shadow-md);border:1px solid var(--line-dark);background:var(--paper);padding:16px}
.mission{
  font-family:var(--font-serif);font-size:clamp(1.28rem,2.6vw,1.62rem);font-style:italic;
  color:var(--espresso);border-left:5px solid var(--gold);padding:6px 0 6px 26px;margin:28px 0;line-height:1.5;
}

/* ---------- Social buttons ---------- */
.socials{display:flex;gap:10px;align-items:center}
.social-btn{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(251,244,232,.07);border:1px solid rgba(251,244,232,.25);color:#F3E7D3;
  text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.social-btn:hover{background:var(--orange);border-color:var(--orange);color:#FFF;transform:translateY(-2px)}
.social-btn svg{width:20px;height:20px}
.footer-social{margin-top:20px}
.footer-social-label{
  display:block;font-size:.76rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);margin-bottom:10px;
}
.follow-block{text-align:center}
.follow-links{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:8px}
.follow-link{
  display:inline-flex;align-items:center;gap:11px;text-decoration:none;
  background:var(--paper);border:1px solid var(--line-dark);border-radius:999px;
  padding:12px 24px 12px 14px;font-weight:700;color:var(--espresso);
  box-shadow:var(--shadow-sm);transition:transform .15s ease,border-color .15s ease,color .15s ease;
}
.follow-link:hover{border-color:var(--orange);color:var(--orange-dark);transform:translateY(-2px)}
.follow-link .social-ic{
  width:34px;height:34px;border-radius:50%;background:var(--peach-tint);color:var(--orange);
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.follow-link .social-ic svg{width:18px;height:18px}
.follow-link small{display:block;font-weight:600;color:var(--ink-faint);font-size:.8rem;line-height:1.3}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--espresso-deep);color:#CDBFA8;padding:64px 0 32px;font-size:.96rem;
  border-top:4px solid var(--gold);
}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:40px;margin-bottom:40px}
.site-footer h3{color:var(--cream);font-size:1.04rem;margin-bottom:12px}
.site-footer a{color:#CDBFA8}
.site-footer a:hover{color:var(--gold-soft)}
.footer-brand{display:flex;gap:15px;align-items:flex-start}
.footer-brand img{width:58px;height:58px;border-radius:16px;border:1px solid rgba(251,244,232,.3);background:var(--cream)}
.footer-brand p{font-family:var(--font-serif);font-style:italic;color:var(--gold-soft)}
.footer-nav{list-style:none}
.footer-nav li{margin-bottom:9px}
.footer-bottom{
  border-top:1px solid rgba(251,244,232,.14);padding-top:24px;
  display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:space-between;
}
.footer-bottom p{margin-bottom:0}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .hero-split{grid-template-columns:1fr;gap:40px}
  .trust-card{max-width:560px}
  .bento{grid-template-columns:1fr 1fr}
  .bento-feature .svc-card:first-child{grid-column:span 2}
}
@media (max-width:860px){
  .grid-3,.t-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .stats-band .wrap{grid-template-columns:1fr 1fr;gap:26px 12px}
  .stat + .stat{border-left:none}
}
@media (max-width:720px){
  .section{padding:58px 0}
  .nav-toggle{display:block;margin-left:auto}
  .main-nav{display:none;width:100%;order:5;margin-left:0}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;padding:12px 0 16px;gap:4px}
  .main-nav a{background:var(--paper);border:1px solid var(--line)}
  .header-inner{flex-wrap:wrap}
  .header-actions{margin-left:0;width:100%}
  .header-actions .btn{flex:1}
  .header-phone{display:none}
  .grid-2,.grid-3,.t-grid,.bento{grid-template-columns:1fr}
  .bento-feature .svc-card:first-child{grid-column:span 1}
  .footer-grid{grid-template-columns:1fr}
  .hero{padding:58px 0 54px}
  .hero-ctas .btn{width:100%}
  .mini-stats{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
