:root {
  --cream:#fbf7ed;
  --paper:#fffdf7;
  --forest:#173f2c;
  --forest-dark:#0f2f21;
  --gold:#b08b3e;
  --gold-light:#dfc383;
  --ink:#32473c;
  --muted:#6f7b74;
  --line:#ded2b9;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; }
img { display:block; max-width:100%; }
h1,h2,h3,p { overflow-wrap:anywhere; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; }

.hero { min-height:760px; background:var(--forest); color:#fff8e9; overflow:hidden; position:relative; }
.hero::before { content:""; position:absolute; width:650px; height:650px; border-radius:50%; right:-190px; top:-270px; border:1px solid rgba(231,214,173,.28); box-shadow:0 0 0 90px rgba(231,214,173,.035),0 0 0 180px rgba(231,214,173,.025); }
.heroInner { width:min(1180px,calc(100% - 40px)); margin:auto; padding:32px 0 90px; position:relative; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.topbar > a { color:#f3e8cf; font-size:13px; font-weight:700; text-decoration:none; border-bottom:1px solid rgba(223,195,131,.7); padding-bottom:4px; }
.brand { margin:0; color:var(--gold-light); font-size:13px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; }
.heroGrid { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:72px; padding-top:64px; }
.heroCopy { position:relative; z-index:2; }
.eyebrow { margin:0 0 16px; color:var(--gold-light); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow.dark { color:var(--gold); }
h1 { max-width:720px; margin:0; font-size:clamp(52px,6.5vw,84px); line-height:.98; letter-spacing:-.035em; }
.subtitle { max-width:650px; margin:25px 0 0; color:#eee1c3; font-family:Georgia,"Times New Roman",serif; font-size:21px; line-height:1.5; }
.priceLine { display:flex; align-items:center; gap:16px; margin-top:26px; }
.priceLine strong { color:#fff; font-family:Georgia,serif; font-size:30px; }
.priceLine span { color:#d9ccb0; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; border-radius:999px; padding:0 25px; text-decoration:none; font-size:14px; font-weight:700; text-align:center; transition:transform .2s ease,box-shadow .2s ease; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--gold); color:#fff; box-shadow:0 10px 30px rgba(0,0,0,.15); }
.button.secondary { border:1px solid rgba(255,248,233,.45); color:#fff8e9; }
.button.pending { background:#e3dac7; color:#776f60; cursor:not-allowed; }
.button.wide { width:100%; }
.microcopy { max-width:550px; margin:15px 0 0; color:#cfc4ac; font-size:12px; line-height:1.5; }

.bookScene { min-height:540px; position:relative; display:grid; place-items:center; }
.photoCard { position:absolute; width:320px; border:10px solid #fff8e9; background:#fff8e9; box-shadow:0 25px 60px rgba(0,0,0,.28); }
.photoCard img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.photoCardBack { right:-12px; top:42px; transform:rotate(9deg); opacity:.9; }
.bookMock { width:min(365px,100%); min-height:510px; margin-right:auto; padding:0 32px 34px; border:1px solid rgba(223,195,131,.65); background:linear-gradient(145deg,#1d4a36,#102f22); border-radius:5px 20px 20px 5px; box-shadow:-18px 24px 60px rgba(0,0,0,.32); position:relative; overflow:hidden; transform:rotate(-3deg); z-index:1; }
.bookMock::before { content:""; position:absolute; inset:12px; border:1px solid rgba(223,195,131,.42); pointer-events:none; }
.coverPhoto { margin:13px -19px 25px; height:155px; overflow:hidden; position:relative; }
.coverPhoto::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,47,33,.25),transparent 50%); }
.coverPhoto img { width:100%; height:100%; object-fit:cover; }
.bookBrand,.bookTitle,.bookSub,.bookRule,.seal { position:relative; }
.bookBrand { color:var(--gold-light); font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.bookTitle { margin-top:20px; color:#fff8e9; font-family:Georgia,serif; font-size:37px; line-height:1.04; }
.bookRule { width:72px; height:3px; margin:20px 0; background:var(--gold); }
.bookSub { max-width:230px; color:#eee1c3; font-family:Georgia,serif; font-size:14px; line-height:1.45; }
.seal { position:absolute; right:27px; bottom:25px; width:70px; height:70px; display:grid; place-items:center; border:1px solid var(--gold-light); border-radius:50%; color:#fff0ce; text-align:center; font-size:10px; line-height:1.35; font-weight:700; }

.content { width:min(1180px,calc(100% - 40px)); margin:auto; padding:0 0 92px; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); margin-top:-38px; border:1px solid #e1d7c0; border-radius:22px; background:var(--paper); box-shadow:0 15px 45px rgba(31,56,44,.11); position:relative; overflow:hidden; z-index:3; }
.stat { padding:26px 20px; text-align:center; }
.stat + .stat { border-left:1px solid #e5dcc9; }
.stat strong { display:block; color:var(--forest); font-family:Georgia,serif; font-size:28px; }
.stat span { display:block; margin-top:5px; color:#728078; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }

.problemSection { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:105px 0 95px; border-bottom:1px solid var(--line); }
.problemSection h2,.sectionHeading h2,.includedSection h2,.stepsSection h2,.faqSection h2 { margin:0; color:var(--forest); font-size:clamp(38px,5vw,58px); line-height:1.06; letter-spacing:-.025em; }
.problemCopy p { margin:0 0 18px; font-size:17px; line-height:1.72; }

.previewSection { padding:95px 0; }
.sectionHeading { max-width:760px; }
.sectionHeading > p:last-child { margin:20px 0 0; color:var(--muted); font-size:17px; line-height:1.65; }
.sectionHeading.centered { margin:0 auto; text-align:center; }
.recipeGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.recipeCard { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--paper); box-shadow:0 10px 28px rgba(25,55,39,.07); }
.recipeCard img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.recipeCard > div { padding:20px 21px 23px; }
.recipeCard span { display:inline-block; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.recipeCard h3 { margin:8px 0 0; color:var(--forest); font-family:Georgia,serif; font-size:21px; line-height:1.25; }
.galleryNote { margin:22px 0 0; color:var(--muted); font-size:13px; text-align:center; }

.includedSection { display:grid; grid-template-columns:.92fr 1.08fr; gap:80px; align-items:center; padding:92px 74px; border-radius:32px; background:#efe6d2; }
.includedVisual { position:relative; }
.includedVisual > img { width:100%; min-height:430px; object-fit:cover; border-radius:24px; box-shadow:0 22px 50px rgba(27,55,41,.16); }
.pageBadge { position:absolute; right:-25px; bottom:-25px; width:110px; height:110px; display:grid; place-content:center; border:7px solid #efe6d2; border-radius:50%; background:var(--forest); color:#fff; text-align:center; }
.pageBadge strong { font-family:Georgia,serif; font-size:34px; line-height:1; }
.pageBadge span { margin-top:5px; color:#dec791; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.benefitList { list-style:none; padding:0; margin:32px 0 0; }
.benefitList li { position:relative; padding:13px 0 13px 37px; border-bottom:1px solid rgba(87,91,72,.17); line-height:1.5; }
.benefitList li::before { content:"✓"; position:absolute; left:0; top:11px; width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:var(--forest); color:#fff; font-size:12px; font-weight:700; }

.stepsSection { padding:105px 0 90px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:45px; }
.steps > div { padding:34px; border:1px solid var(--line); border-radius:22px; background:var(--paper); }
.steps b { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--forest); color:#fff; font-family:Georgia,serif; font-size:20px; }
.steps h3 { margin:22px 0 9px; color:var(--forest); font-family:Georgia,serif; font-size:23px; }
.steps p { margin:0; color:var(--muted); line-height:1.6; }

.testimonial { max-width:900px; margin:0 auto 95px; padding:50px 70px; border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); text-align:center; }
.testimonial span { color:var(--gold); font-family:Georgia,serif; font-size:60px; line-height:.6; }
.testimonial p { margin:14px 0 0; color:var(--forest); font-family:Georgia,serif; font-size:27px; line-height:1.45; }

.finalCta { display:grid; grid-template-columns:1.2fr .8fr; gap:55px; align-items:center; padding:58px; border-radius:30px; background:var(--forest); color:#f5ead1; box-shadow:0 22px 55px rgba(23,63,44,.18); }
.finalCta h2 { margin:0; color:#fff; font-family:Georgia,serif; font-size:clamp(38px,5vw,58px); line-height:1.06; }
.finalCta > div > p:last-child { margin:20px 0 0; color:#d6c9ae; font-size:16px; line-height:1.6; }
.checkoutBox { padding:28px; border:1px solid rgba(223,195,131,.45); border-radius:22px; background:rgba(255,255,255,.06); }
.checkoutPrice { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-bottom:20px; }
.checkoutPrice span { color:#d7c9ac; font-size:12px; letter-spacing:.09em; text-transform:uppercase; }
.checkoutPrice strong { color:#fff; font-family:Georgia,serif; font-size:34px; }
.checkoutBox small { display:block; margin-top:13px; color:#c8bca3; text-align:center; line-height:1.4; }

.faqSection { padding:95px 0 20px; }
.faqGrid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:40px; }
details { border:1px solid var(--line); border-radius:16px; background:var(--paper); padding:20px 22px; }
summary { cursor:pointer; color:var(--forest); font-weight:700; line-height:1.4; }
details p { margin:15px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }

footer { display:flex; justify-content:space-between; gap:24px; padding:30px max(20px,calc((100% - 1180px)/2)); background:var(--forest-dark); color:#cdbf9f; font-size:12px; letter-spacing:.05em; }

@media (max-width:900px) {
  .hero { min-height:auto; }
  .heroGrid,.problemSection,.includedSection,.finalCta { grid-template-columns:1fr; }
  .heroGrid { gap:48px; padding-top:45px; }
  .bookScene { min-height:510px; }
  .bookMock { margin:0 auto; transform:none; }
  .photoCardBack { right:6%; }
  .recipeGrid { grid-template-columns:1fr 1fr; }
  .includedSection { gap:58px; padding:58px; }
  .includedVisual { max-width:600px; }
}

@media (max-width:620px) {
  .heroInner,.content { width:min(100% - 28px,1180px); }
  .heroInner { padding-top:25px; }
  h1 { font-size:48px; }
  .subtitle { font-size:18px; }
  .priceLine { align-items:flex-start; flex-direction:column; gap:5px; }
  .actions { flex-direction:column; }
  .button { width:100%; }
  .bookScene { min-height:470px; }
  .bookMock { min-height:465px; width:315px; }
  .bookTitle { font-size:31px; }
  .photoCardBack { display:none; }
  .stats { grid-template-columns:1fr 1fr; margin-top:-24px; }
  .stat:nth-child(3) { border-left:0; border-top:1px solid #e5dcc9; }
  .stat:nth-child(4) { border-top:1px solid #e5dcc9; }
  .problemSection { gap:35px; padding:75px 0; }
  .previewSection,.stepsSection,.faqSection { padding-top:75px; }
  .recipeGrid,.steps,.faqGrid { grid-template-columns:1fr; }
  .includedSection { padding:34px 25px; }
  .includedVisual > img { min-height:320px; }
  .pageBadge { right:-8px; bottom:-20px; }
  .testimonial { padding:40px 15px; }
  .testimonial p { font-size:22px; }
  .finalCta { padding:35px 25px; gap:35px; }
  footer { flex-direction:column; text-align:center; }
}
