/* Editorial typography. Fonts are served locally, with no third-party requests. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/cormorant-garamond.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400 700;font-display:swap;src:url("fonts/cormorant-garamond-italic.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/dm-sans.woff2") format("woff2")}

:root{--font-editorial:"Cormorant Garamond",Georgia,serif;--font-text:"DM Sans",Arial,sans-serif;--paper:#fcf8f0;--terra:#ad583f;--terra2:#94452f;--gold:#bb965d;--shadow:0 18px 50px #263d2b0c}
body{font-family:var(--font-text);font-weight:400;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,a{font-family:inherit}
strong,b{font-weight:650}
h1,h2,h3,.serif,.chapter-title{font-family:var(--font-editorial);font-weight:600;letter-spacing:-.018em;text-wrap:balance}
h1,h2,h3{line-height:1.09}
p{line-height:1.8}
.eyebrow,.tag{font-weight:650;letter-spacing:.17em;font-size:.72rem}
.section-heading{max-width:840px;margin-bottom:46px}
.section-heading h2{font-size:clamp(2.75rem,4.6vw,4.1rem);letter-spacing:-.025em;line-height:1.04;margin:15px 0 20px}
.section-heading p{font-size:1.04rem;line-height:1.8;max-width:720px;margin-inline:auto}
.section-heading::after{content:"";display:block;width:42px;height:1px;background:#ba975e;margin:27px auto 0}
.nav{background:#fffcf5f2;box-shadow:0 3px 18px #21372a07}
.brand strong{font-family:var(--font-editorial);font-weight:600;font-style:italic;font-size:35px;letter-spacing:-.025em}
.brand span{font-size:8px;letter-spacing:.28em;margin-top:7px}
.navlinks{font-size:.83rem;font-weight:500;gap:23px}
.topbar{font-size:.76rem;font-weight:500;background:#eee3cb}
.preview-notice{font-size:.7rem;letter-spacing:.06em}
.btn{font-weight:600;font-size:.93rem;letter-spacing:.015em;border-radius:10px;box-shadow:0 8px 22px #9850391a;padding:16px 24px}
.btn.small{font-size:.8rem;padding:12px 19px;border-radius:9px}
.btn.ghost{border-color:#bcc7b6;background:#fffcf3c4;box-shadow:none}
.pill{font-size:.73rem;font-weight:550;padding:7px 12px;background:#e9edde}
.hero{background:radial-gradient(ellipse at 93% 20%,#e0e6ce 0,transparent 42%),linear-gradient(135deg,#fffaf2 12%,#f0e5cf 100%)}
.hero-copy h1{font-size:clamp(3.1rem,5.7vw,5.1rem);font-weight:600;line-height:1.01;letter-spacing:-.032em;margin:22px 0 28px}
.hero-copy h1>br{display:none}
.hero-copy h1 em{display:block;text-wrap:balance;font-weight:500;color:#a07740}
.hero-copy h1 em>span{display:block}
.no-wrap{white-space:nowrap}
.hero-copy>p{font-size:1.025rem;line-height:1.82;max-width:560px}
.hero-checks{font-size:.89rem;line-height:1.7;margin:24px 0}
.hero-checks li{margin:11px 0}
.hero-checks strong{font-weight:600}
.hero-price{border-color:#daceb6;border-radius:12px;background:#fffaf0;box-shadow:0 5px 20px #68513505}
.hero-price>span{font-size:.84rem}
.hero-price>span:last-child{font-size:.79rem}
.hero-price strong{font-family:var(--font-editorial);font-size:3rem;font-weight:600;letter-spacing:-.035em}
.hero-features{margin-top:22px;gap:9px}
.bonus-bubble{border-radius:14px;font-weight:600;font-size:.8rem;box-shadow:0 12px 30px #48523c12}
.bonus-bubble b{font-family:var(--font-editorial);font-weight:600;font-size:1.75rem}
.stat b{font-family:var(--font-editorial);font-size:2.6rem;font-weight:500}
.stat span{font-size:.79rem;letter-spacing:.015em}
.stats-grid{padding:27px 0}
.chapter-grid{gap:18px}
.chapter-card{border-radius:15px;border-color:#e4dccd;background:#fffdf8;box-shadow:0 6px 20px #293a2510;padding:27px 25px}
.chapter-icon{background:#edf0e5;border-radius:50%;font-size:1.4rem}
.chapter-number{font-size:.68rem;letter-spacing:.12em;font-weight:600;color:#8a774f}
.chapter-title{font-size:1.75rem;font-weight:600;line-height:1.12;margin-top:7px}
.chapter-desc{font-size:.89rem;line-height:1.78;color:#5e6758;margin-top:12px}
.chapter-foot{font-size:.89rem;margin-top:34px}
.intro-band h2{font-family:var(--font-editorial);font-size:clamp(2.5rem,4.2vw,3.6rem);font-weight:500;line-height:1.12}
.intro-band p{font-size:1.02rem;line-height:1.85}
.book-copy h2{font-size:clamp(2.9rem,4.1vw,4rem);letter-spacing:-.025em;font-weight:600}
.book-copy h2 em{font-weight:500}
.book-copy>p,.checks{font-size:.98rem}
.theme-card{border-top-width:3px;border-radius:16px;padding:32px;background:#fffdf8;box-shadow:0 8px 25px #263d2b05}
.theme-card h3{font-size:2.05rem;font-weight:600;line-height:1.1;margin:14px 0 19px}
.theme-card p{font-size:.95rem;line-height:1.85}
.recipe-example{font-size:.87rem;line-height:1.6;font-weight:550;padding-top:20px}
.recipe-example span{font-size:.65rem;letter-spacing:.15em;font-weight:600}
.previewcard{border-radius:17px;box-shadow:0 12px 30px #293a250a}
.previewbody{padding:27px}
.previewbody h3{font-size:1.85rem;font-weight:600;line-height:1.12;margin:10px 0 14px}
.previewbody p{font-size:.9rem}
.previewbody button{font-size:.91rem;font-weight:600;text-underline-offset:6px}
.bonus{background:linear-gradient(135deg,#234d3a,#163d2e)}
.bonus h2{font-size:clamp(2.9rem,4.6vw,4.1rem);font-weight:500;line-height:1.05}
.gifts article{border-radius:18px;background:#fffaf0;padding:28px}
.gifts h3{font-size:1.95rem;font-weight:600;line-height:1.1;margin:17px 0 14px}
.gifts article p{font-size:.94rem;line-height:1.8}
.gifts article small{font-size:.77rem;font-weight:600;padding-top:8px}
.tradition-grid span{font-size:.67rem;letter-spacing:.11em;font-weight:600}
.tradition-grid h3{font-size:1.9rem;font-weight:600;line-height:1.13;margin:18px 0 15px}
.tradition-grid p{font-size:.93rem;line-height:1.82}
.tradition-footer{border-radius:12px;font-size:.91rem}
.balm-grid h2{font-size:clamp(2.7rem,4.2vw,3.8rem);font-weight:600;line-height:1.07;letter-spacing:-.025em}
.balm-grid h2 em{font-weight:500}
.balm-grid p{font-size:.97rem;line-height:1.85}
.balm-detail p{font-size:.89rem}
.author h2{font-size:clamp(2.9rem,4.6vw,4.2rem);font-weight:600;line-height:1.04;letter-spacing:-.025em}
.author-grid>div>p{font-size:1rem;line-height:1.85}
.quote{font-family:var(--font-editorial);font-weight:500;font-size:1.8rem;line-height:1.4;border-left-width:2px;padding-left:28px;margin:32px 0}
.author-photo{border-width:7px;box-shadow:0 18px 45px #253f2e0d}
.offer-shell{border-radius:20px;border-color:#dac7a1;box-shadow:0 20px 50px #263d2b0d}
.offer-copy h2{font-size:3rem;font-weight:600;letter-spacing:-.025em}
.offer-row{padding:16px 0;line-height:1.55}
.offer-row strong{font-size:.9rem;font-weight:600}
.offer-row>span{font-size:.74rem;font-weight:600;letter-spacing:.03em}
.price-box{border-radius:12px;background:#fcf5e8}
.price-box span{font-size:.68rem;letter-spacing:.13em;font-weight:600}
.price-box strong{font-family:var(--font-editorial);font-size:4.4rem;font-weight:600;line-height:1.15}
.price-box div{font-size:.85rem;line-height:1.6}
.offer-copy .btn{font-size:.95rem}
.offer-badge{font-size:.68rem;font-weight:650;letter-spacing:.1em}
.faq details{background:#f5efe3;border-color:#e4dac9;border-radius:12px;margin-bottom:14px}
.faq summary{font-size:1rem;font-weight:600;line-height:1.5;padding:24px 26px}
.faq details p{font-size:.94rem;line-height:1.85}
.faq summary::after{font-family:var(--font-editorial);font-size:1.9rem}
.modal h2{font-family:var(--font-editorial);font-weight:600;font-size:2.6rem;line-height:1.1}
.modal-actions button{font-weight:600;font-size:.87rem}
footer{padding-top:54px}
footer p{font-size:.83rem;line-height:1.85}
.policy-links{font-size:.8rem;letter-spacing:.02em}
.sticky-text{font-size:.82rem}
.sticky-text b{font-weight:600}
.sticky-offer .btn{font-size:.8rem}

/* Carry the same typography through the two information pages. */
.legal-page{font-family:var(--font-text);font-size:16px;line-height:1.85}
.legal-page .brand{font-family:var(--font-editorial);font-weight:600;font-size:33px;letter-spacing:-.025em}
.legal-page h1{font-size:clamp(3rem,6vw,4.7rem);font-weight:600;line-height:1.04}
.legal-page h2{font-size:2rem;font-weight:600;line-height:1.12}
.legal-page .page{max-width:830px}
.legal-page .kicker{font-size:.68rem;font-weight:600;letter-spacing:.16em}
.legal-page .status{font-size:.89rem;line-height:1.8}

@media(max-width:1050px){
  .brand strong{font-size:30px}.navlinks{gap:15px;font-size:.76rem}.btn.small{padding:11px 15px}
  .hero-copy h1{font-size:clamp(3rem,5.8vw,4rem)}
  .theme-card{padding:27px}.gifts article{padding:23px}.gifts h3{font-size:1.8rem}
}
@media(max-width:720px){
  body{font-size:16px}.brand strong{font-size:29px}.nav .brand strong{font-size:29px}.brand span{font-size:7px;letter-spacing:.22em}
  .nav .btn.small{font-size:.72rem;padding:10px 13px;min-height:41px}.navinner{gap:12px;height:72px}
  html{scroll-padding-top:92px}.preview-notice{font-size:.62rem;letter-spacing:.025em}.topbar{font-size:.71rem;line-height:1.65}
  .topbar>strong,.topbar>span{display:block}
  .section{padding:72px 0}.section-heading{margin-bottom:34px}.section-heading h2{font-size:clamp(2.5rem,10.7vw,3.4rem);line-height:1.08}.section-heading p{font-size:.98rem}
  .section-heading::after{margin-top:23px}.eyebrow,.tag{font-size:.67rem;letter-spacing:.14em}
  .hero-copy h1{font-size:clamp(2.9rem,12.3vw,3.8rem);line-height:1.04;letter-spacing:-.025em;margin:18px 0 24px}
  .hero-copy h1 em{font-size:.9em}
  .hero-copy>p{font-size:1rem;line-height:1.8}.hero-checks{font-size:.89rem}.hero-checks li{margin:12px 0}
  .hero-price{gap:7px 14px;padding:14px}.hero-price strong{font-size:3.1rem}.hero-price>span:last-child{font-size:.78rem}
  .hero-actions .btn{font-size:.85rem;min-height:52px}.hero-features{gap:8px}.pill{font-size:.69rem}
  .stat b{font-size:2.25rem}.stat span{font-size:.74rem}.stats-grid{padding:16px 0}
  .chapter-card{padding:24px 19px;gap:15px}.chapter-title{font-size:1.7rem;line-height:1.12}.chapter-number{font-size:.64rem}
  .chapter-desc{font-size:.88rem;line-height:1.8}.chapter-icon{width:40px;height:40px;font-size:1.25rem}.chapter-grid{gap:15px}
  .chapter-foot{font-size:.83rem;gap:14px}.intro-band h2{font-size:2.6rem}.intro-band p{font-size:.98rem}
  .book-copy h2{font-size:3rem}.theme-card{padding:27px 24px}.theme-card h3{font-size:2rem}.theme-card p{font-size:.94rem}
  .previewbody{padding:26px}.previewbody h3{font-size:1.9rem}.bonus h2{font-size:3rem}.gifts article{padding:28px}
  .gifts h3{font-size:2.05rem}.tradition-grid h3{font-size:1.95rem}.balm-grid h2{font-size:3rem;line-height:1.07}
  .author h2{font-size:3.1rem;line-height:1.04}.quote{font-size:1.7rem;padding-left:22px;line-height:1.4}
  .offer-copy h2{font-size:2.8rem}.offer-row strong{font-size:.86rem;max-width:68%}.offer-row>span{font-size:.67rem}
  .price-box strong{font-size:4rem}.offer-copy .btn{font-size:.9rem}.offer-badge{font-size:.64rem}
  .faq summary{font-size:.94rem;padding:22px 21px}.faq details p{font-size:.92rem;padding:0 21px 22px}
  .sticky-text{font-size:.77rem}.sticky-offer .btn{font-size:.75rem}.sticky-inner{gap:10px}
  .modal{padding:27px 22px}.modal h2{font-size:2.35rem}.modal-actions button{padding:10px 13px}
  .legal-page .brand{font-size:27px}.legal-page h1{font-size:3.25rem}.legal-page h2{font-size:1.95rem}
}
@media(max-width:360px){
  .nav .brand strong{font-size:26px}.nav .btn.small{padding:10px;font-size:.68rem}.navinner{gap:8px}
  .hero-copy h1{font-size:2.8rem}.hero-price{gap:7px 12px}.hero-price>span{font-size:.79rem}
  .chapter-title{font-size:1.55rem}.chapter-card{gap:12px;padding:22px 16px}.chapter-icon{width:34px;height:34px;font-size:1.1rem}
  .sticky-text{font-size:.71rem}.sticky-offer .btn{font-size:.7rem;padding:10px 12px}.sticky-inner{padding-left:14px;padding-right:14px}
  .legal-page header>div{gap:10px}.legal-page .brand{font-size:25px}.legal-page .back{font-size:.7rem}
}

/* Keep the opening portrait aligned with the headline, instead of centering it beside a long text column. */
.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.hero-visual{align-self:start;width:100%;height:auto;aspect-ratio:2/3;margin-top:62px}
.hero-portrait{top:0;right:0;width:96%;height:auto;aspect-ratio:4/5;object-position:center top;border-radius:160px 160px 24px 24px}
.hero-cover{width:49%;left:0;bottom:0}
.hero-leaf{top:15px;right:-35px;font-size:100px}
.bonus-bubble{bottom:16px;right:0}
@media(min-width:721px) and (max-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px}
  .hero-copy h1{font-size:clamp(2.8rem,5.8vw,3.3rem)}
  .hero-portrait{width:100%;border-radius:120px 120px 20px 20px}
  .hero-cover{width:52%}
  .bonus-bubble{padding:9px 12px;font-size:.68rem}
}
@media(max-width:720px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:34px;padding-bottom:36px}
  .hero-copy{display:contents}
  .hero-copy>.eyebrow{order:1}
  .hero-copy h1{order:2;margin:0}
  .hero-visual{order:3;width:min(100%,400px);aspect-ratio:4/5;margin:2px auto 12px;align-self:auto}
  .hero-portrait{display:block;width:91%;right:0;top:0;border-radius:115px 115px 20px 20px}
  .hero-visual .hero-cover{width:43%;left:0;bottom:0;transform:rotate(-6deg)}
  .hero-copy>p{order:4;margin:0;max-width:none}
  .hero-checks{order:5;margin:0}
  .hero-price{order:6;margin:0}
  .hero-actions{order:7;margin:0}
  .hero-features{order:8;margin:0}
  .hero-leaf,.hero-visual .bonus-bubble{display:none}
}

@media(max-width:720px){
  .nav .btn.small{min-height:44px}
  .modal-actions button{white-space:nowrap;font-size:.79rem;padding:11px 10px;min-height:44px;flex:1;max-width:145px}
  .close{width:44px;height:44px}
  .previewbody button{min-height:44px}
}
