:root{
  --bg:#F7F3EC;
  --surface:#FFFFFF;
  --surface-alt:#EFE8DA;
  --ink:#211E1A;
  --ink-muted:#6E665A;
  --accent:#C1502E;
  --accent-text:#9C3F22;
  --accent-ink:#FFFFFF;
  --border:rgba(33,30,26,0.14);
  --border-strong:rgba(33,30,26,0.28);

  --font-display:'Lora', Georgia, serif;
  --font-body:'Source Sans 3', system-ui, sans-serif;

  --step-0:1rem;
  --step-1:1.25rem;
  --step-2:1.563rem;
  --step-3:1.953rem;
  --step-4:2.441rem;
  --step-5:3.052rem;
  --step-6:3.815rem;

  --space-xs:0.5rem;
  --space-sm:1rem;
  --space-md:2rem;
  --space-lg:4rem;
  --space-xl:6rem;

  --radius:2px;
  --measure:65ch;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:var(--step-0);
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  line-height:1.15;
  letter-spacing:-0.01em;
  font-weight:600;
  margin:0 0 var(--space-sm);
}
p{margin:0 0 var(--space-sm); max-width:var(--measure);}
a{color:inherit;}
.container{max-width:1080px; margin:0 auto; padding:0 var(--space-md);}
.label{
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:0.8rem;
  font-weight:600;
  color:var(--ink-muted);
}

header.site{
  background:var(--bg); border-bottom:1px solid var(--border);
  padding:var(--space-sm) 0;
}
header.site .row{display:flex; align-items:center; justify-content:space-between; gap:var(--space-md);}
.logo{font-family:var(--font-display); font-weight:700; font-size:var(--step-2); text-decoration:none; color:var(--ink);}
nav.site-nav{display:flex; align-items:center; gap:var(--space-md); font-size:0.95rem;}
nav.site-nav a{text-decoration:none; color:var(--ink);}
nav.site-nav a:hover{color:var(--accent);}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--accent); color:var(--accent-ink);
  border:none; padding:14px 26px; font-family:var(--font-body); font-weight:600;
  font-size:1rem; border-radius:var(--radius); cursor:pointer; text-decoration:none;
}
.btn:hover{background:#A8431F;}
.btn.ghost{background:transparent; color:var(--ink); border:1px solid var(--border-strong);}

footer.site{
  background:#211E1A; color:#D8D2C4; padding:var(--space-lg) 0 var(--space-md);
  margin-top:var(--space-xl);
}
footer.site .cols{display:flex; flex-wrap:wrap; gap:var(--space-lg); justify-content:space-between;}
footer.site h4{color:#F2C9B0; font-size:var(--step-1); font-family:var(--font-body); font-weight:700;}
footer.site a{color:#D8D2C4; text-decoration:none; display:block; margin-bottom:6px; font-size:0.95rem;}
footer.site a:hover{color:#F2C9B0;}
footer.site .fine{margin-top:var(--space-lg); font-size:0.8rem; color:#948C7B; border-top:1px solid rgba(255,255,255,0.1); padding-top:var(--space-sm);}

section.block{padding:var(--space-xl) 0;}
section.block.alt{background:var(--surface-alt);}

/* Hero */
.hero{padding:var(--space-xl) 0 var(--space-lg);}
.founder-byline{display:flex; align-items:center; gap:12px; margin-bottom:var(--space-sm); justify-content:center;}
.founder-avatar{width:44px; height:44px; border-radius:50%; object-fit:cover; border:1px solid var(--border-strong); flex-shrink:0;}
.hero h1{font-size:var(--step-6); max-width:20ch; margin-left:auto; margin-right:auto;}
.hero .sub{font-size:var(--step-1); color:var(--ink-muted); max-width:48ch; margin-left:auto; margin-right:auto;}
.price-line{font-size:var(--step-0); margin:var(--space-sm) auto var(--space-md); font-weight:600;}
.price-line span{color:var(--accent-text);}
.hero-solo{text-align:center; max-width:720px; margin:0 auto;}

.soon-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:var(--space-md) var(--space-lg); margin:var(--space-md) auto 0; max-width:560px;
  text-align:center;
}
.soon-card .label{margin-bottom:6px;}
.soon-card a.btn{margin-top:var(--space-sm);}

/* Pain points */
.pain-list{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md);}
@media (max-width:900px){.pain-list{grid-template-columns:1fr;}}
.pain-item{background:var(--surface); border:1px solid var(--border); padding:var(--space-md); border-radius:var(--radius);}
.pain-item p{font-family:var(--font-display); font-style:italic; font-size:var(--step-1); margin:0; max-width:none;}

/* How it works */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md);}
@media (max-width:860px){.steps{grid-template-columns:1fr;}}
.step{padding-top:var(--space-sm);}
.step .num{font-family:var(--font-display); font-size:var(--step-4); color:var(--accent-text); line-height:1;}

/* Formats */
.formats{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-md);}
@media (max-width:760px){.formats{grid-template-columns:1fr;}}
.format-card{background:var(--surface); border:1px solid var(--border); padding:var(--space-md); border-radius:var(--radius);}
.format-card.paid{border-color:var(--accent);}
.format-card h3{font-size:var(--step-2);}

/* Cases */
.case-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md);}
@media (max-width:860px){.case-grid{grid-template-columns:1fr;}}
.case-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;}
.case-card .thumb{height:140px; background:linear-gradient(135deg,#E9DFCB,#D8CBA9); display:flex; align-items:center; justify-content:center; color:var(--ink-muted); font-size:0.85rem;}
.case-card .body{padding:var(--space-sm) var(--space-md) var(--space-md);}
.case-card .niche{font-size:0.78rem; color:var(--accent-text); text-transform:uppercase; letter-spacing:0.06em; font-weight:600;}
.case-card h4{font-size:var(--step-1); margin:6px 0;}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border); padding:var(--space-sm) 0;}
.faq-item h4{font-size:var(--step-1); margin-bottom:4px;}
.faq-item p{color:var(--ink-muted);}

/* About page */
.about-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:var(--space-xl); align-items:start;}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;}}
.founder-photo{width:100%; border-radius:var(--radius); display:block;}
.founder-name{margin-top:var(--space-sm);}
.mark-badge{
  display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px;
  border-radius:50%; background:var(--surface); border:1px solid var(--border); margin-bottom:var(--space-sm);
  font-family:var(--font-display); font-weight:700; color:var(--accent-text); font-size:var(--step-1);
}

.placeholder-text{background:repeating-linear-gradient(45deg, rgba(193,80,46,0.06), rgba(193,80,46,0.06) 10px, rgba(193,80,46,0.12) 10px, rgba(193,80,46,0.12) 20px); border:1px dashed var(--accent); padding:var(--space-sm); border-radius:var(--radius); font-style:italic; color:var(--ink-muted);}
