:root { --ink:#293b48; --sage:#a9c6b8; --sage-dark:#718f80; --mist:#edf4ef; --sand:#f5f0e8; --cream:#fbfaf7; --line:#dbe2dd; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans", Arial, sans-serif; font-size:16px; line-height:1.65; }
.topbar { height:76px; max-width:1240px; padding:0 28px; margin:auto; display:flex; align-items:center; gap:30px; justify-content:flex-end; }
.brand { margin-right:auto; text-decoration:none; color:var(--ink); letter-spacing:.1em; font-size:12px; font-weight:700; }
.nav-link { color:var(--ink); font-size:14px; text-decoration:none; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:21px; border:1px solid var(--ink); background:var(--ink); color:white; min-height:54px; padding:0 23px; text-decoration:none; font-size:14px; font-weight:600; transition:transform .2s, background .2s; }
.button:hover { background:#3b5362; transform:translateY(-2px); }.button-small { min-height:40px; padding:0 16px; font-size:13px; }.button-wide { width:100%; margin-top:24px; }
.hero { max-width:1240px; min-height:640px; margin:0 auto; position:relative; overflow:hidden; display:flex; align-items:center; }.hero-image,.hero-overlay { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.hero-overlay { background:linear-gradient(90deg, rgba(250,248,243,.96) 0%, rgba(250,248,243,.85) 34%, rgba(250,248,243,.15) 70%, rgba(250,248,243,0) 100%); }.hero-content { position:relative; width:53%; padding:72px; z-index:1; }.eyebrow { font-size:11px; font-weight:700; letter-spacing:.16em; margin:0 0 17px; color:var(--sage-dark); }.hero h1,.section h2,.steps-title h2,.offer-card h2 { font:700 clamp(42px,5.4vw,74px)/.99 "Playfair Display", Georgia, serif; margin:0; letter-spacing:-.045em; }.hero h1 em { color:var(--sage-dark); font-style:italic; }.hero-copy { max-width:405px; font-size:18px; line-height:1.55; margin:28px 0 31px; }.hero-actions { display:flex; align-items:center; gap:20px; }.price-note { font-size:13px; color:#53636a; }
.section { max-width:1100px; padding:112px 26px; margin:auto; }.accent { color:var(--sage-dark); }.intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:110px; align-items:start; }.intro h2 { font-size:53px; }.intro-grid p { margin:0 0 17px; font-size:17px; }.product { display:grid; grid-template-columns:.92fr 1.08fr; gap:110px; align-items:center; background:var(--mist); max-width:none; padding-left:calc((100% - 1048px)/2); padding-right:calc((100% - 1048px)/2); }.product-visual { min-height:420px; position:relative; display:flex; align-items:center; justify-content:center; }.journal-cover { z-index:3; width:248px; height:348px; color:white; background:var(--ink); box-shadow:21px 23px 33px rgba(41,59,72,.18); display:flex; flex-direction:column; justify-content:space-between; padding:29px; }.journal-cover span { font-size:10px; letter-spacing:.15em; }.journal-cover strong { font:700 40px/.96 "Playfair Display",serif; letter-spacing:-.04em; }.journal-cover small { font-size:10px; letter-spacing:.08em; text-transform:uppercase; }.paper { position:absolute; width:251px; height:347px; background:var(--sand); box-shadow:12px 15px 25px rgba(41,59,72,.08); }.paper-one { transform:translate(40px,-14px) rotate(8deg); }.paper-two { transform:translate(64px,19px) rotate(14deg); background:#fff; }.product-copy h2 { font-size:52px; }.checklist { list-style:none; padding:23px 0 0; margin:0; }.checklist li { border-top:1px solid var(--line); padding:16px 0; display:flex; gap:19px; font-size:15px; }.checklist span { font-size:11px; color:var(--sage-dark); font-weight:700; padding-top:3px; }.text-link { color:var(--ink); display:inline-block; margin-top:23px; font-weight:700; text-decoration:none; border-bottom:1px solid var(--ink); }.text-link span { margin-left:8px; }
.audience { background:var(--sand); max-width:none; padding-left:calc((100% - 1048px)/2); padding-right:calc((100% - 1048px)/2); }.audience-grid { max-width:1048px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:105px; }.audience h2 { font-size:50px; }.audience-copy > p:first-child { margin-top:0; font-size:17px; }.audience-list { list-style:none; padding:0; margin:24px 0; }.audience-list li { border-top:1px solid #d8d0c3; padding:15px 0 15px 27px; position:relative; font-size:15px; }.audience-list li::before { content:"•"; position:absolute; left:5px; color:var(--sage-dark); font-size:21px; line-height:1.15; }.audience-note { color:var(--sage-dark); font-weight:700; font-size:15px; }
.bonus-note { margin:20px 0 0; padding:13px 15px; background:var(--sand); font-size:14px; line-height:1.5; }
.section-dark { background:var(--ink); color:white; }.steps-title { padding-bottom:44px; }.light { color:#c6dacd; }.steps-title h2 { font-size:52px; }.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding-top:16px; }.steps-grid article { min-height:215px; padding:27px 30px 0; border-left:1px solid rgba(255,255,255,.21); }.steps-grid article:first-child { border-left:0; }.steps-grid p { color:#c6dacd; margin:0 0 40px; font-size:13px; }.steps-grid h3 { font:700 29px/1 "Playfair Display",serif; margin:0 0 12px; }.steps-grid span { color:#dae1dc; font-size:15px; line-height:1.5; }
.quote-section { max-width:830px; padding-top:125px; padding-bottom:125px; text-align:center; }.quote-mark { font:700 87px/1 Georgia,serif; color:var(--sage); margin:0; }.quote-section blockquote { margin:0; font:700 38px/1.18 "Playfair Display",serif; letter-spacing:-.025em; }.quote-caption { font-size:10px; letter-spacing:.15em; color:var(--sage-dark); font-weight:700; margin-top:25px; }.offer { padding-top:40px; padding-bottom:116px; }.offer-card { background:var(--sand); text-align:center; padding:75px min(11vw,130px); }.offer-card h2 { font-size:53px; }.offer-card > p:not(.eyebrow) { max-width:530px; margin:20px auto 32px; }.offer-line { border-top:1px solid #d8d0c3; border-bottom:1px solid #d8d0c3; padding:15px 0; display:flex; justify-content:space-between; font-size:14px; }.offer-card small { display:block; margin-top:15px; color:#647077; font-size:12px; }
.faq { padding-top:92px; }.faq h2 { font-size:52px; margin-bottom:35px; }.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 55px; }.faq details { border-top:1px solid var(--line); padding:18px 0; }.faq summary { cursor:pointer; list-style:none; font-weight:700; padding-right:30px; position:relative; }.faq summary::after { content:"+"; position:absolute; right:0; color:var(--sage-dark); font-size:22px; top:-5px; }.faq details[open] summary::after { content:"−"; }.faq p { font-size:14px; margin:11px 0 0; color:#55636a; } footer { max-width:1240px; margin:auto; padding:34px 28px; border-top:1px solid var(--line); display:flex; align-items:center; gap:20px; font-size:12px; color:#67747a; } footer p { margin:0; } footer div { margin-left:auto; display:flex; gap:20px; } footer a { color:inherit; text-decoration:none; }
.legal-page { max-width:800px; min-height:70vh; }.legal-page h1 { font:700 clamp(45px,6vw,72px)/1 "Playfair Display", Georgia, serif; margin:0 0 50px; letter-spacing:-.045em; }.legal-page section { border-top:1px solid var(--line); padding:25px 0 9px; }.legal-page h2 { font:700 22px/1.2 "Playfair Display", Georgia, serif; margin:0 0 12px; }.legal-page p { color:#52616a; }.legal-page a { color:var(--ink); }.legal-note { margin-top:38px; font-size:13px; line-height:1.55; background:var(--mist); padding:16px 18px; }
.review-page { max-width:720px; min-height:75vh; }.review-page h1 { font:700 clamp(44px,6vw,68px)/1 "Playfair Display", Georgia, serif; margin:0; letter-spacing:-.045em; }.review-intro { max-width:570px; font-size:17px; margin:24px 0 38px; color:#52616a; }.review-form { background:var(--mist); padding:32px; }.review-form fieldset { padding:0 0 27px; margin:0 0 26px; border:0; border-bottom:1px solid var(--line); }.review-form legend,.form-label { display:block; font-weight:700; margin-bottom:15px; }.rating-options { display:flex; gap:12px; }.rating-options label { cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:2px; }.rating-options input { position:absolute; opacity:0; }.rating-options span { width:49px; height:49px; display:grid; place-items:center; background:var(--cream); border:1px solid var(--line); color:#9aaba1; font-size:25px; transition:.15s; }.rating-options input:checked + span,.rating-options label:hover span { background:var(--sage); color:var(--ink); border-color:var(--sage-dark); }.rating-options small { color:#718078; }.review-form textarea,.review-form input[type="text"] { width:100%; border:1px solid var(--line); padding:13px; margin:0 0 22px; font:15px/1.5 "DM Sans",Arial,sans-serif; color:var(--ink); background:var(--cream); }.form-label span { color:#718078; font-weight:400; }.consent { display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.45; margin:3px 0 5px; }.consent input { margin-top:4px; }.form-note { font-size:12px; line-height:1.5; color:#647077; margin:15px 0 0; }
@media (max-width:800px){.topbar { height:65px; padding:0 18px; }.nav-link { display:none; }.hero { min-height:640px; }.hero-overlay { background:linear-gradient(90deg,rgba(250,248,243,.97),rgba(250,248,243,.70)); }.hero-content { width:100%; padding:49px 28px; }.hero h1 { font-size:55px; }.hero-copy { font-size:16px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }.section { padding:70px 25px; }.intro-grid,.product,.faq-grid { grid-template-columns:1fr; gap:35px; }.intro h2,.product-copy h2,.steps-title h2,.offer-card h2,.faq h2 { font-size:42px; }.product { padding-left:25px; padding-right:25px; }.product-visual { min-height:340px; transform:scale(.84); }.steps-grid { grid-template-columns:1fr; padding-top:0; }.steps-grid article { min-height:auto; border-left:0; border-top:1px solid rgba(255,255,255,.21); padding:28px 0; }.steps-grid article:first-child { border-top:0; }.steps-grid p { margin-bottom:15px; }.quote-section blockquote { font-size:31px; }.offer { padding-top:0; padding-left:0; padding-right:0; }.offer-card { padding:55px 25px; }.faq-grid { gap:0; } footer { flex-wrap:wrap; } footer div { margin-left:0; width:100%; }.journal-cover { width:220px; height:310px; }.paper { width:221px; height:309px; }}
