@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--plum:#3d253c;--ink:#302b31;--paper:#faf7f1;--gold:#edc77a;--muted:#6c626b;--line:#e1d8dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}.announcement{background:var(--plum);color:white;text-align:center;padding:10px 20px;font-size:14px;letter-spacing:.04em}.announcement span{margin:0 13px;color:var(--gold)}.announcement strong{color:var(--gold)}header{max-width:1320px;margin:auto;padding:25px 48px;display:flex;align-items:center;justify-content:space-between}.brand{font:600 27px 'Playfair Display',serif;letter-spacing:.13em;color:var(--plum)}.brand small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:.14em;margin-top:5px}nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-cta{border:1px solid var(--plum);padding:10px 18px;border-radius:4px}.hero{max-width:1320px;margin:auto;padding:30px 48px 65px;display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.17em;color:#866129;margin-bottom:18px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.12}h1{font-size:clamp(44px,4.6vw,68px);letter-spacing:-.035em;margin:0 0 23px}h1 em{color:var(--plum);font-weight:500}p{margin:0 0 22px}.lead{font-size:18px;max-width:480px;line-height:1.6}.hero-copy>p:not(.lead){max-width:455px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#302217;padding:17px 29px;border:0;border-radius:4px;font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px #442a2212;transition:transform .2s,background .2s}.button:hover{background:#f5d69e;transform:translateY(-2px)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b78332;outline-offset:5px}.cta-note{font-size:13px;color:var(--muted);margin-top:12px}.proof{display:flex;align-items:center;gap:16px;margin-top:30px}.proof strong{font-size:14px}.proof small{display:block;font-size:12px;color:var(--muted)}.faces{display:flex;padding-left:8px}.faces img{width:42px;height:42px;object-fit:cover;object-position:50% 30%;border-radius:50%;border:3px solid var(--paper);margin-left:-8px}.hero-art{position:relative;padding-bottom:32px}.portrait{width:100%;height:615px;object-fit:cover;object-position:center 44%;border-radius:180px 180px 8px 8px}.image-caption{position:absolute;top:28px;left:0;right:0;text-align:center;color:var(--plum);font:23px/1.4 'Playfair Display',serif}.hero-book{position:absolute;bottom:0;right:-20px;width:160px;transform:rotate(7deg);box-shadow:0 15px 40px #26172155;border-radius:2px}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:55px;padding:22px 25px;font-size:14px;color:var(--plum)}footer{max-width:1224px;margin:auto;padding:36px 24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}@media(max-width:800px){header{padding:20px 22px}nav>a:not(.nav-cta){display:none}.brand small{display:none}.hero{padding:28px 24px 48px;grid-template-columns:1fr;gap:40px}h1{font-size:48px}.hero-art{max-width:480px;width:100%;margin:auto}.portrait{height:550px}.hero-book{right:0;width:145px}.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:15px;text-align:center;font-size:13px}footer{gap:20px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep image space stable before lazy loads and allow grid items to shrink. */
img{height:auto}.hero>*,.section>*,.weeks>*,.reviews>*{min-width:0}.button{max-width:100%;text-align:center;line-height:1.45;min-height:48px}.brand,.faces{flex-shrink:0}.ribbon{flex-wrap:wrap;gap:18px 45px}.hero-book{right:0}h1,h2,h3{overflow-wrap:break-word}html{scroll-padding-top:24px;scroll-padding-bottom:100px}
@media(min-width:801px) and (max-width:1050px){header{padding-inline:28px}nav{gap:20px}.hero{padding-inline:28px;gap:32px}h1{font-size:clamp(40px,4.6vw,48px)}}
@media(max-width:800px){h1{font-size:clamp(36px,11.5vw,48px)}.portrait{height:clamp(430px,140vw,550px)}}
@media(max-width:370px){h1{font-size:clamp(34px,11.5vw,40px)}.proof{gap:10px}.proof strong{font-size:12px}}
html{scrollbar-gutter:stable}
.image-caption{top:auto;bottom:65px;left:20px;right:auto;background:#faf7f1ed;padding:10px 16px;border-radius:4px;text-align:left;font-size:20px}
