@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&family=IBM+Plex+Mono:wght@500&display=swap');

:root{
  --ink:#16211D;
  --paper:#FAF9F5;
  --ochre:#C1811B;
  --ochre-dark:#8F5F13;
  --forest:#0A3D3D;
  --forest-light:#DCE9E7;
  --line:#DDD9CC;
  --muted:#6B6759;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Source Serif 4', serif;
  font-size:17px;
  line-height:1.6;
}

h1,h2,h3,.display{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  line-height:1.05;
  letter-spacing:-0.01em;
  margin:0;
}

.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:12.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ochre-dark);
  margin:0 0 12px;
}

a{color:inherit;}

.wrap{max-width:1080px;margin:0 auto;padding:0 32px;}

/* ---- Nav ---- */
.nav{
  border-bottom:none;
  position:sticky;top:0;background:var(--forest);z-index:50;
  box-shadow:0 1px 0 rgba(0,0,0,0.15);
}
.nav .wrap{
  display:flex;align-items:center;justify-content:space-between;
  height:76px;
}
.logo{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;font-size:20px;text-decoration:none;
  display:flex;align-items:center;gap:10px;color:var(--paper);
}
.logo-icon{height:30px;width:auto;display:block;filter:brightness(0) invert(1);}
.nav-links{display:flex;flex:1;justify-content:space-evenly;align-items:center;list-style:none;margin:0 40px;padding:0;}
.nav-links a{
  text-decoration:none;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:15px;
  color:rgba(250,249,245,0.62);white-space:nowrap;
  padding:6px 0;border-bottom:2px solid transparent;
  transition:color .2s ease, border-color .2s ease;
}
.nav-links a:hover,.nav-links a.active{color:var(--paper);border-color:var(--ochre);}
.nav-cta{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;
  background:var(--ochre);color:var(--ink);
  padding:11px 20px;border-radius:2px;text-decoration:none;white-space:nowrap;
  transition:background-color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.nav-cta:hover{background:#E09A2D;transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,0.25);}
.nav-cta:active{transform:translateY(0) scale(0.97);}

/* ---- Scroll reveal ---- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.6,.2,1), transform .8s cubic-bezier(.2,.6,.2,1);}
.rv.in{opacity:1;transform:none;}

/* ---- Hero ---- */
.hero{padding:96px 0 64px;border-bottom:1px solid var(--line);}
.hero h1{font-size:clamp(36px,4.6vw,56px);max-width:820px;}
.hero .lede{
  font-size:19px;color:var(--muted);max-width:560px;margin:24px 0 36px;
}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--ochre);color:var(--ink);
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:16px;
  padding:16px 28px;border-radius:2px;text-decoration:none;
  transition:background-color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.btn-primary:hover{background:var(--ochre-dark);color:var(--paper);transform:translateY(-2px);box-shadow:0 6px 16px rgba(22,33,29,0.16);}
.btn-primary:active{transform:translateY(0) scale(0.97);box-shadow:none;}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--ink);color:var(--ink);
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:16px;
  padding:15px 26px;border-radius:2px;text-decoration:none;
  transition:background-color .2s ease, color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.btn-ghost:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px);box-shadow:0 6px 16px rgba(22,33,29,0.14);}
.btn-ghost:active{transform:translateY(0) scale(0.97);box-shadow:none;}

/* ---- The Ledger (signature week-strip element) ---- */
.ledger{padding:40px 0;overflow-x:auto;}
.ledger-row{display:flex;align-items:flex-start;min-width:760px;position:relative;}
.ledger-row::before{
  content:'';position:absolute;top:7px;left:0;right:0;height:1px;background:var(--line);
}
.week{flex:1;text-align:center;position:relative;padding-top:0;}
.week .dot{
  width:15px;height:15px;border-radius:50%;background:var(--paper);
  border:1.5px solid var(--muted);margin:0 auto 12px;position:relative;z-index:2;
}
.week.filled .dot{background:var(--ochre);border-color:var(--ochre);}
.week .wk-label{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:0.04em;}
.week .wk-phase{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink);margin-top:4px;font-weight:500;}
.ledger-caption{
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);
  margin-top:8px;display:flex;gap:24px;
}
.ledger-caption span{display:flex;align-items:center;gap:6px;}
.ledger-caption .sw{width:9px;height:9px;border-radius:50%;display:inline-block;}

/* ---- Sections ---- */
.section{padding:72px 0;}
.section.bordered{border-top:1px solid var(--line);}
.section-head{max-width:640px;margin-bottom:48px;}
.section-head h2{font-size:34px;}
.section-head p{color:var(--muted);margin-top:14px;font-size:17px;}

/* ---- Segment cards ---- */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.seg-card{background:var(--paper);padding:28px 22px;transition:background-color .2s ease, box-shadow .2s ease;position:relative;}
.seg-card:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--ochre);}
.seg-card .num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ochre-dark);}
.seg-card h3{font-size:19px;margin:14px 0 10px;font-family:'Space Grotesk',sans-serif;}
.seg-card p{font-size:15px;color:var(--muted);margin:0 0 16px;line-height:1.55;}
.seg-card a{
  font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;
  letter-spacing:0.03em;text-decoration:none;border-bottom:1px solid var(--ink);
}

/* ---- Tiers ---- */
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.tier{border:1px solid var(--line);padding:36px;background:#fff;transition:transform .2s ease, box-shadow .2s ease;}
.tier:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(22,33,29,0.10);}
.tier.featured{border:2px solid var(--forest);position:relative;}
.tier .badge{
  position:absolute;top:-13px;left:32px;background:var(--forest);color:#fff;
  font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;
  letter-spacing:0.04em;padding:4px 12px;
}
.tier h3{font-size:22px;font-family:'Space Grotesk',sans-serif;margin-bottom:6px;}
.tier .price{font-family:'Space Grotesk',sans-serif;font-size:38px;font-weight:700;margin:14px 0 4px;}
.tier .price span{font-size:15px;font-weight:500;color:var(--muted);}
.tier ul{list-style:none;margin:24px 0;padding:0;}
.tier li{
  padding:10px 0;border-top:1px solid var(--line);font-size:15px;color:var(--muted);
  display:flex;gap:10px;
}
.tier li::before{content:'—';color:var(--ochre-dark);flex-shrink:0;}

/* ---- Quote / trust ---- */
.quote-block{
  border-left:2px solid var(--ochre);padding:8px 0 8px 28px;max-width:640px;
}
.quote-block p{font-size:21px;font-style:italic;margin:0 0 12px;}
.quote-block .who{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em;}
.placeholder-note{
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);
  border:1px dashed var(--line);padding:14px 18px;max-width:640px;
}

/* ---- Footer CTA ---- */
.cta-band{background:var(--forest);color:var(--paper);padding:72px 0;text-align:left;}
.cta-band h2{color:var(--paper);font-size:34px;max-width:520px;}
.cta-band p{color:var(--forest-light);margin:16px 0 28px;max-width:480px;}
.cta-band .btn-primary{background:var(--ochre);color:var(--ink);}

/* ---- Footer ---- */
footer{border-top:1px solid var(--line);padding:32px 0;}
footer .logo{color:var(--ink);}
footer .logo-icon{filter:none;}
footer .wrap{display:flex;flex-direction:column;gap:18px;}
footer .footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
footer .foot-links{display:flex;gap:24px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
footer .foot-links a{font-size:13px;color:var(--muted);text-decoration:none;font-family:'IBM Plex Mono',monospace;}
footer .foot-contact{font-size:13px;color:var(--muted);font-family:'IBM Plex Mono',monospace;line-height:1.8;}
footer .foot-contact a{color:var(--muted);text-decoration:none;}
footer .fine{font-size:11.5px;color:var(--muted);font-family:'IBM Plex Mono',monospace;border-top:1px solid var(--line);padding-top:14px;line-height:1.7;}

/* ---- Forms (book-a-call) ---- */
.form-card{border:1px solid var(--line);background:#fff;padding:40px;max-width:520px;}
.form-card label{
  display:block;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;
  letter-spacing:0.04em;color:var(--muted);margin:20px 0 8px;
}
.form-card label:first-child{margin-top:0;}
.form-card input,.form-card select,.form-card textarea{
  width:100%;border:1px solid var(--line);background:var(--paper);
  padding:12px 14px;font-family:'Source Serif 4',serif;font-size:15px;color:var(--ink);
  border-radius:2px;
}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{
  outline:none;border-color:var(--forest);
}
.form-card button{
  margin-top:28px;width:100%;
}
.two-col{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:start;}

/* ---- FAQ accordion ---- */
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{
  padding:20px 0;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-family:'IBM Plex Mono',monospace;font-size:20px;color:var(--ochre-dark);flex-shrink:0;}
.faq-item[open] summary::after{content:'\2212';}
.faq-item p{color:var(--muted);padding:0 0 22px;margin:0;max-width:680px;}

/* ---- Hero stats ---- */
.hero-stats{display:flex;gap:40px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line);max-width:560px;}
.hero-stat-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:26px;color:var(--ochre-dark);margin:0 0 6px;}
.hero-stat-label{font-size:13px;color:var(--muted);margin:0;line-height:1.5;max-width:150px;}

/* ---- Fix list (homepage problem section) ---- */
.fix-list{display:flex;flex-direction:column;gap:0;}
.fix-item{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-top:1px solid var(--line);}
.fix-item:first-child{border-top:none;}
.fix-num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ochre-dark);margin:0;flex-shrink:0;}
.fix-text{font-size:15px;color:var(--ink);margin:0;line-height:1.5;}

/* ---- Responsive ---- */
@media (prefers-reduced-motion:reduce){
  *{transition-duration:0.001ms !important;animation-duration:0.001ms !important;}
  .btn-primary:hover,.btn-ghost:hover,.tier:hover{transform:none;}
}
@media (max-width:860px){
  .hero h1{font-size:38px;}
  .grid-4,.grid-3{grid-template-columns:1fr 1fr;}
  .grid-2{grid-template-columns:1fr;}
  .tiers{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .ledger-row{min-width:620px;}
  .hero-stats{gap:24px;flex-wrap:wrap;}
}

@media (max-width:480px){
  .wrap{padding:0 20px;}
  .nav .wrap{height:64px;}
  .logo{font-size:16px;gap:8px;}
  .logo-icon{height:22px;}
  .nav-cta{font-size:11px;padding:8px 12px;}
  .hero{padding:56px 0 40px;}
  .hero h1{font-size:28px;}
  .hero .lede{font-size:16px;}
  .section{padding:48px 0;}
  .section-head h2{font-size:26px;}
  .grid-4,.grid-3{grid-template-columns:1fr;}
  .tier{padding:24px;}
  .cta-band{padding:48px 0;}
  .cta-band h2{font-size:26px;}
  .form-card{padding:24px;}
}
