@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;0,900;1,600&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --cream:#FFF5EB;
  --paper:#FAF7F2;
  --ink:#1A1A1A;
  --ink-soft:#3A3530;
  --ink-mute:#7A7268;
  --accent:#CC785C;
  --accent-deep:#A65D45;
  --line:#E7DFD2;
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Inter', -apple-system, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--cream); color:var(--ink); font-family:var(--sans);
  font-size:16px; line-height:1.55;
}
a{color:var(--accent-deep)}
.wrap{max-width:820px; margin:0 auto; padding:0 24px;}

header.site{
  border-bottom:1px solid var(--line); padding:22px 0; margin-bottom:8px;
}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;}
.brand{font-family:var(--serif); font-weight:700; font-size:19px; color:var(--ink); text-decoration:none;}
.brand span{color:var(--accent);}
nav.site a{
  font-weight:600; font-size:14px; color:var(--ink-soft); text-decoration:none; margin-left:22px;
}
nav.site a:hover{color:var(--accent-deep)}

.hero{padding:56px 0 24px;}
.hero .kicker{
  display:inline-block; background:var(--accent); color:#fff; font-weight:700; font-size:12px;
  letter-spacing:.08em; text-transform:uppercase; padding:6px 14px; border-radius:20px; margin-bottom:18px;
}
.hero h1{font-family:var(--serif); font-weight:900; font-size:44px; line-height:1.08; margin:0 0 14px; letter-spacing:-.5px;}
.hero p.lead{font-size:18px; color:var(--ink-soft); max-width:640px; margin:0;}

.card-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; margin:32px 0;
}
.card{
  background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:22px;
}
.card h3{font-family:var(--serif); font-size:19px; margin:0 0 8px;}
.card p{font-size:14.5px; color:var(--ink-soft); margin:0 0 14px;}
.card a.btn, a.btn{
  display:inline-block; font-weight:700; font-size:13.5px; color:var(--accent-deep); text-decoration:none;
  border:1.5px solid var(--accent); border-radius:20px; padding:7px 16px;
}
.card a.btn:hover, a.btn:hover{background:var(--accent); color:#fff;}
.card .soon{font-size:12px; font-weight:700; color:var(--ink-mute); text-transform:uppercase; letter-spacing:.06em;}

.email-gate{
  background:var(--ink); color:#fff; border-radius:12px; padding:32px; margin:40px 0;
}
.email-gate h3{font-family:var(--serif); font-size:22px; margin:0 0 8px; color:#fff;}
.email-gate p{color:#D9D2C6; font-size:14.5px; margin:0 0 18px; max-width:520px;}
.email-gate form{display:flex; gap:10px; flex-wrap:wrap;}
.email-gate input[type=email]{
  flex:1; min-width:220px; padding:12px 14px; border-radius:8px; border:none; font-size:14.5px; font-family:var(--sans);
}
.email-gate button{
  background:var(--accent); color:#fff; border:none; border-radius:8px; padding:12px 22px;
  font-weight:700; font-size:14.5px; cursor:pointer; font-family:var(--sans);
}
.email-gate button:hover{background:var(--accent-deep)}
.email-gate .fallback{margin-top:12px; font-size:13px; color:#B8AFA0;}
.email-gate .fallback a{color:#EFC4B0;}

section.block{padding:20px 0;}
h2.section{font-family:var(--serif); font-weight:700; font-size:26px; border-bottom:1px solid var(--line); padding-bottom:10px; margin:0 0 18px;}

.prompt-book-title{
  font-family:var(--sans); font-weight:800; font-size:12.5px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--accent-deep); margin:36px 0 4px;
}
.prompt-card{
  background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:20px 22px; margin-bottom:16px;
}
.prompt-card .ph{display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.prompt-card h3{font-family:var(--serif); font-size:18.5px; margin:0;}
.prompt-card .num{color:var(--ink-mute); font-weight:700; font-size:13px; margin-right:6px;}
.prompt-card .problem{font-size:13.5px; color:var(--ink-soft); margin:4px 0 12px; font-style:italic;}
.prompt-card pre{
  background:#fff; border:1px solid var(--line); border-radius:6px; padding:14px 16px;
  font-family:'SF Mono',Menlo,Consolas,monospace; font-size:12.5px; line-height:1.55; white-space:pre-wrap; word-wrap:break-word;
  color:var(--ink-soft); margin:0;
}
button.copy{
  background:none; border:1.5px solid var(--accent); color:var(--accent-deep); border-radius:16px;
  padding:5px 14px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:var(--sans);
}
button.copy:hover{background:var(--accent); color:#fff;}
button.copy.copied{background:var(--ink); border-color:var(--ink); color:#fff;}

.log-entry{border-left:3px solid var(--accent); padding:4px 0 4px 18px; margin-bottom:22px;}
.log-entry .date{font-weight:700; font-size:13px; color:var(--accent-deep); text-transform:uppercase; letter-spacing:.05em;}
.log-entry h4{font-family:var(--serif); margin:4px 0 6px; font-size:18px;}
.log-entry p{margin:0; font-size:14.5px; color:var(--ink-soft);}

footer.site{border-top:1px solid var(--line); margin-top:60px; padding:26px 0; font-size:13px; color:var(--ink-mute);}

.people-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin:32px 0;}
.people-card{background:var(--paper); border-left:3px solid var(--accent); border-radius:8px; padding:24px;}
.people-card .p-name{font-family:var(--serif); font-weight:700; font-size:21px; margin:0;}
.people-card .p-role{
  font-weight:800; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--accent-deep); margin:4px 0 12px;
}
.people-card p.bio{font-size:14.5px; color:var(--ink-soft); margin:0;}

/* ---- Landing page ---- */
.lp-hero{
  display:grid; grid-template-columns:1.1fr .8fr; gap:44px; align-items:center;
  padding:48px 0 20px;
}
@media (max-width:760px){ .lp-hero{grid-template-columns:1fr; padding-top:28px;} .lp-hero .cover-wrap{order:-1; max-width:260px; margin:0 auto;} }
.lp-hero h1{font-family:var(--serif); font-weight:900; font-size:42px; line-height:1.08; margin:16px 0 14px; letter-spacing:-.5px;}
.lp-hero p.lead{font-size:17px; color:var(--ink-soft); margin:0 0 26px;}
.lp-hero .cover-wrap img{width:100%; max-width:320px; border-radius:4px; box-shadow:0 18px 40px -12px rgba(30,20,10,.35);}
.cta-row{display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
.cta-primary{
  display:inline-block; background:var(--accent); color:#fff; font-weight:700; font-size:15px;
  padding:14px 26px; border-radius:8px; text-decoration:none;
}
.cta-primary:hover{background:var(--accent-deep)}
.cta-secondary{font-size:14px; font-weight:600; color:var(--ink-soft); text-decoration:underline;}
.trust-line{margin-top:16px; font-size:12.5px; color:var(--ink-mute);}

.section-title{font-family:var(--serif); font-weight:700; font-size:28px; text-align:center; margin:0 0 8px;}
.section-sub{text-align:center; color:var(--ink-soft); font-size:15px; max-width:560px; margin:0 auto 34px;}

.book-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin:0 0 48px;}
.book-card{background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:22px;}
.book-card .b-num{
  display:inline-block; width:28px; height:28px; line-height:28px; text-align:center;
  background:var(--accent); color:#fff; border-radius:50%; font-weight:700; font-size:13px; margin-bottom:10px;
}
.book-card h3{font-family:var(--serif); font-size:17px; margin:0 0 6px;}
.book-card p{font-size:13.5px; color:var(--ink-soft); margin:0;}

.feature-list{list-style:none; margin:0 0 48px; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px;}
.feature-list li{display:flex; gap:12px; font-size:14.5px; color:var(--ink-soft); line-height:1.5;}
.feature-list li b{color:var(--ink)}
.feature-list .fc{flex:0 0 auto; color:var(--accent); font-weight:900; font-size:16px;}

.vault-teaser{
  background:var(--ink); color:#fff; border-radius:12px; padding:36px; margin:48px 0; text-align:center;
}
.vault-teaser h3{font-family:var(--serif); font-size:24px; margin:0 0 10px; color:#fff;}
.vault-teaser p{color:#D9D2C6; font-size:14.5px; max-width:520px; margin:0 auto 20px;}

.lang-switch{
  margin-left:22px; padding-left:22px; border-left:1px solid var(--line);
  font-size:13px; font-weight:700; letter-spacing:.03em;
}
.lang-switch a{color:var(--ink-mute); text-decoration:none;}
.lang-switch a.active{color:var(--accent-deep);}
.lang-switch span{color:var(--line); margin:0 4px;}
