/* Editorial finishes shared across the storefront. */
:root {
  --cream: #faf7f0;
  --paper: #fffdf8;
  --navy: #233e62;
  --line: #ded8cd;
  --blue: #edf1f5;
}
body { font-family: 'Avenir Next', 'Segoe UI', Arial, sans-serif; }
.section { padding-block: 112px; }
.eyebrow { font-size: 11px; letter-spacing: 2.5px; margin-bottom: 25px; }
h1, h2 { letter-spacing: -1.6px; }
h2 { line-height: 1.14; }
.topline { padding-block: 12px; font-size: 9px; letter-spacing: 2.6px; }
.header { padding-block: 29px; border-bottom-color: #ded8cd99; }
.wordmark { font-size: 38px; }
.wordmark span { font-size: 9px; letter-spacing: 3.5px; }
.header nav { gap: 31px; font-size: 13px; }
.button { min-height: 58px; border-radius: 4px; font-size: 14px; padding-inline: 29px; box-shadow: 0 3px 8px #5226140c; transition: background .2s, box-shadow .2s; }
.button:hover { box-shadow: 0 5px 14px #5226141a; }
.header-cta { min-height: 46px; background: transparent; border-color: var(--navy); color: var(--navy); font-size: 12px; padding-inline: 20px; box-shadow: none; }
.header-cta:hover { color: var(--paper); background: var(--navy); }
.text-link { padding-bottom: 5px; border-bottom-color: #a94d3570; text-underline-offset: 5px; }
.hero { padding-block: 88px 85px; gap: 66px; grid-template-columns: 1fr 1fr; }
.hero h1 { font-size: clamp(46px,4.6vw,68px); line-height: 1.06; }
.hero h1 em { font-size: .87em; white-space: nowrap; }
.hero .lead { font-size: 18px; line-height: 1.85; margin-top: 29px; max-width: 455px; }
.hero .actions { margin-top: 34px; }
.hero-note { font-size: 12px; line-height: 1.9; }
.hero-photo { transform: none; padding: 10px; background: var(--paper); border-color: #e2dbce; box-shadow: 0 18px 44px #233e6210; }
.hero-photo>img { height: 446px; object-position: 49% center; }
.hero-photo figcaption { padding: 24px 12px 19px; gap: 9px; }
.hero-photo .script { font-size: 28px; }
.hero-photo figcaption>span:last-child { font-size: 8px; letter-spacing: 2.4px; }
.values-strip { padding-block: 25px; background: #f3efe5; border-color: #ded8cd99; font-size: 17px; gap: 43px; }
.values-strip i { font-size: 8px; }
.problem { gap: 110px; }
.problem>div:last-child { font-size: 18px; line-height: 1.85; }
.problem .serif-note { padding-top: 7px; }
.cookbook { background: #f1ede3; border-color: #ded8cd80; }
.book-grid { gap: 105px; }
.book-copy>p:not(.eyebrow):not(.small) { font-size: 17px; line-height: 1.85; }
.benefits { margin-block: 27px; }
.benefits li { padding-block: 13px; font-size: 15px; }
.stage-caption { max-width: 310px; margin-inline: auto; font-size: 12px; line-height: 1.8; }
.section-top { margin-bottom: 50px; }
.sample-page { box-shadow: 0 9px 24px #233e6208; }
.sample-caption { font-size: 12px; line-height: 1.7; }
.inside { background: #203956; }
.inside-intro { font-size: 18px; line-height: 1.85; max-width: 690px; }
.category-grid { margin-top: 48px; column-gap: 50px; }
.category { padding-block: 30px; border-color: #ffffff30; }
.category>span { font-size: 12px; }
.category h3 { margin-top: 16px; }
.category p { line-height: 1.8; color: #e0e6ed; }
.inside-bottom { padding-top: 36px; border-color: #ffffff30; }
.delivery { gap: 46px 100px; }
.delivery-steps article { padding-block: 23px; gap: 24px; }
.delivery-steps article>span { width: 42px; height: 42px; line-height: 40px; border-color: #cbbcad; background: var(--paper); }
.delivery-steps p { line-height: 1.85; }
.delivery-status { text-align: center; letter-spacing: .3px; }
.meet-grid { gap: 100px; }
.meet figure { transform: none; padding: 10px; border-color: #d4dce4; box-shadow: 0 15px 35px #233e620d; }
.meet img { height: 440px; }
.meet figcaption { padding: 22px 8px 14px; font-size: 8px; letter-spacing: 1.8px; }
.meet p { line-height: 1.85; }
.signature { margin-top: 31px; }
.offer-panel { grid-template-columns: .85fr 1.15fr; max-width: 1040px; gap: 0; padding: 0; margin-top: 52px; border: 1px solid #d7cebf; border-radius: 5px; overflow: hidden; box-shadow: 0 20px 55px #233e6209; }
.offer-art { display: flex; align-items: center; justify-content: center; padding: 54px 48px; background: #efe9dd; border-right: 1px solid #ded8cd; }
.offer-details { min-width: 0; padding: 48px 45px; }
.offer-panel h3 { font-size: 34px; line-height: 1.15; }
.status-pill { background: none; border-radius: 0; padding: 0 0 13px; border-bottom: 1px solid #b38468; letter-spacing: 2px; font-size: 10px; }
.offer-panel dl { margin-block: 25px; font-size: 14px; }
.offer-panel dl>div { padding-block: 13px; }
.offer-panel .small { font-size: 13px; line-height: 1.8; }
.price-row dd { font-size: 40px; }
.offer-assurance { margin-top: 23px; font-size: 14px; }
.questions { padding-top: 18px; gap: 95px; }
.faq-list summary { padding-block: 25px; font-size: 22px; }
.faq-list details>p { line-height: 1.85; }
.faq-list details[open] { background: #f2eee5; padding-inline: 19px; }
.contact { background: #f1ede3; border-color: #ded8cd80; }
.contact-help { padding: 27px 30px; border: 1px solid var(--line); background: #faf7f0; }
.contact-help h3 { font-size: 26px; }
.final-cta { padding-block: 105px 112px; }
.final-cta h2 { font-size: clamp(36px,3.8vw,54px); margin: 23px 0 33px; }
footer { background: #1d344f; padding-block: 57px 27px; }
.footer-top>p { color: #e7dfd2; }
.footer-top>div { font-size: 13px; row-gap: 14px; }
.footer-top button { font-size: 13px; }
.footer-bottom { border-color: #ffffff25; padding-top: 24px; margin-top: 43px; line-height: 1.9; }
dialog { border-radius: 6px; box-shadow: 0 20px 70px #14263c40; }
@media(max-width:1100px) {
  .hero { gap: 40px; padding-block: 65px; }
  .hero h1 { font-size: 52px; }
  .hero-photo>img { height: 400px; }
  .header nav { gap: 20px; }
  .problem,.book-grid,.delivery,.meet-grid,.questions { column-gap: 55px; }
  .values-strip { gap: 25px; }
  .offer-art { padding: 40px 32px; }
  .offer-details { padding: 40px 32px; }
}
@media(max-width:800px) {
  .section { padding-block: 72px; }
  .header { padding: 24px; }
  .wordmark { font-size: 35px; }
  .header nav { font-size: 16px; }
  .hero { grid-template-columns: 1fr; padding-block: 48px 55px; gap: 40px; }
  .hero h1 { font-size: clamp(43px,8vw,62px); }
  .hero .lead { max-width: 540px; line-height: 1.8; }
  .hero-photo { max-width: 520px; }
  .hero-photo>img { height: 380px; }
  .values-strip { gap: 12px; font-size: 15px; padding: 22px 18px; }
  .problem,.book-grid,.delivery,.meet-grid,.questions { gap: 35px; }
  .book-grid { gap: 48px; }
  .section-top { margin-bottom: 35px; }
  .category-grid { column-gap: 28px; }
  .meet img { height: 390px; }
  .offer-panel { grid-template-columns: 1fr; max-width: 520px; margin-top: 35px; }
  .offer-art { padding: 40px; border-right: 0; border-bottom: 1px solid var(--line); }
  .offer-details { padding: 34px 30px; }
  .questions { padding-top: 8px; }
  .final-cta { padding-block: 75px; }
  .footer-top { gap: 28px; }
}
@media(max-width:420px) {
  .topline { font-size: 8px; letter-spacing: 1.3px; padding-inline: 15px; }
  .hero h1 { font-size: clamp(35px,11vw,45px); }
  .hero h1 em { font-size: .85em; }
  .hero-photo>img { height: 300px; }
  .hero-photo figcaption { padding: 20px 5px 15px; }
  .hero-photo .script { font-size: 25px; }
  .hero-note { font-size: 11px; }
  .meet img { height: 340px; }
  .meet figcaption { letter-spacing: 1.2px; }
  .offer-art { padding: 33px; }
  .offer-details { padding: 30px 22px; }
  .offer-panel h3 { font-size: 30px; }
  .offer-panel dl { font-size: 13px; }
  .offer-assurance { font-size: 13px; }
  .contact-help { padding: 25px; }
}
@media(prefers-reduced-motion:reduce) { .button { transition: none; } }
