/* Workbook and shop: the artwork introduces the product; the sample proves it. */
.offer-page { --offer-sage: #8fd29b; --offer-gold: #d4af37; letter-spacing: .01em; font-weight: 400; }
.offer-page p { color: #bdc8bf; }
.offer-page h1, .offer-page h2, .offer-page h3 { text-transform: none; letter-spacing: .01em; }
.offer-page h1 { font-size: clamp(2.4rem, 5.2vw, 4rem); line-height: 1.14; }
.offer-page h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.25; margin-bottom: 1rem; }
.offer-page h3 { font-size: 1.25rem; margin-bottom: .7rem; }
.offer-page p, .offer-page li { line-height: 1.8; }
.offer-page a:not(.btn):not(.offer-cover):not(.offer-page-preview) { color: var(--offer-sage); text-decoration: underline; text-underline-offset: .2em; }
.offer-page a:hover { color: var(--color-text); }
.offer-page :is(a, button, summary):focus-visible { outline: 3px solid var(--offer-gold); outline-offset: 5px; }
.offer-hero { padding: 108px 0 72px; }
.offer-hero .breadcrumb { display: flex; gap: .6rem; margin: 0 0 1.8rem; font-size: .8rem; line-height: 1.7; flex-wrap: wrap; }
.offer-layout { display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; max-width: 1080px; margin: 0 auto; }
.offer-cover { display: block; width: min(100%, 360px); margin: 0 auto; }
.offer-cover picture, .offer-cover img { width: 100%; display: block; }
.offer-cover img { aspect-ratio: 2/3; object-fit: cover; border: 1px solid #544b32; box-shadow: 0 12px 34px #0006; }
.offer-cover figcaption { color: #aeb8af; font-size: .76rem; text-align: center; margin-top: .8rem; }
.offer-copy { max-width: 60ch; min-width: 0; }
.offer-format { color: var(--offer-sage); font-size: .9rem; margin-bottom: .8rem; }
.offer-lede { font-size: 1.2rem; color: #e3e8e3; margin-top: 1.4rem; line-height: 1.65 !important; }
.offer-facts { display: flex; gap: 1rem 1.4rem; flex-wrap: wrap; padding: 1.1rem 0; margin: 1.6rem 0 .8rem; border-block: 1px solid #39443c; }
.offer-facts dt { font-size: .73rem; color: #aeb8af; }
.offer-facts dd { font-size: .84rem; color: var(--color-text); margin-top: .2rem; }
.offer-purchase { margin: 1.35rem 0 .8rem; }
.offer-purchase .btn { text-transform: none; letter-spacing: .015em; font-size: 1rem; width: auto; min-height: 52px; }
.offer-delivery, .offer-small { font-size: .82rem; color: #aeb8af; }
.offer-delivery { max-width: 53ch; margin-bottom: 1.3rem; }
.offer-preview-link { font-size: .86rem; }
.offer-preview-link span { color: #aeb8af; margin: 0 .3rem; }
.offer-status { padding: 1rem; margin-top: 1rem; border-left: 3px solid var(--offer-gold); background: #20241c; color: var(--color-text); font-size: .9rem; }
.offer-section { padding: 70px 0; border-top: 1px solid #29342c; }
.offer-inside { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2rem, 6vw, 6rem); }
.offer-inside > div { max-width: 53ch; }
.offer-contents { margin: 0; padding: 0; }
.offer-contents li { padding: 0 0 1.2rem; margin: 0 0 1.2rem; border-bottom: 1px solid #29342c; }
.offer-contents li:last-child { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.offer-contents strong { display: block; color: var(--color-text); font-weight: 500; }
.offer-contents span { display: block; color: #aeb8af; font-size: .9rem; margin-top: .35rem; }
.offer-section-heading { max-width: 70ch; margin: 0 0 2.5rem; }
.offer-sample { background: #121a16; scroll-margin-top: 90px; }
.offer-sample-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.offer-page-preview { display: block; max-width: 400px; margin-inline: auto; }
.offer-page-preview img { width: 100%; height: auto; border: 1px solid #e5e8e2; }
.offer-page-preview span { color: var(--offer-sage); display: block; font-size: .8rem; line-height: 1.6; text-decoration: underline; text-underline-offset: .2em; margin-top: .8rem; }
.offer-excerpt ul { list-style: disc; padding-left: 1.3rem; margin: 1.4rem 0; color: #d7dfd8; }
.offer-excerpt li { padding-left: .2rem; margin-bottom: .8rem; font-size: .95rem; }
.offer-action { padding: 1.3rem 0 0; border-top: 1px solid #546247; }
.offer-action h3 { color: #e5cf8b; }
.offer-sequence { list-style: decimal; padding-left: 1.3rem; }
.offer-sequence li { padding: 0 0 1.5rem .5rem; color: #aeb8af; }
.offer-sequence li::marker { color: var(--offer-gold); }
.offer-sequence strong { color: var(--color-text); font-weight: 500; }
.offer-narrow { max-width: 820px; }
.offer-questions details { border-bottom: 1px solid #39443c; padding: 1.2rem 0; }
.offer-questions summary { cursor: pointer; color: #e4eae4; line-height: 1.7; padding-right: .5rem; }
.offer-questions details p { margin: .8rem 1.2rem 0; font-size: .92rem; }
.offer-questions .offer-small { margin-top: 1.5rem; }
.offer-last { background: #121a16; text-align: center; }
.offer-last p { max-width: 55ch; margin-inline: auto; }
.shop-offer .offer-section-heading { max-width: 780px; margin: 0 auto 3rem; text-align: center; }
.shop-offer .offer-section-heading h1 { font-size: clamp(2rem, 4.7vw, 3.4rem); }
.shop-offer .offer-cover { max-width: 300px; }
.shop-offer-list { list-style: disc; padding-left: 1.2rem; color: #c8d1c9; font-size: .9rem; margin: 1.4rem 0; }
.shop-offer-price { color: var(--color-text); font-size: 1.5rem; }
.shop-offer-price span { display: inline-block; color: #aeb8af; font-size: .8rem; margin-left: .5rem; }
#launch-access { scroll-margin-top: 100px; }
@media (max-width: 760px) {
  .offer-hero { padding-top: 108px; padding-bottom: 48px; }
  .offer-layout { display: flow-root; }
  .offer-cover { width: 100px; float: right; margin: 0 0 1rem 1rem; }
  .offer-cover figcaption { display: none; }
  .offer-copy { margin-inline: auto; }
  .offer-copy .offer-format { font-size: .76rem; }
  .offer-copy h1 { font-size: clamp(1.6rem, 7vw, 2.5rem); }
  .offer-copy .offer-lede { clear: both; padding-top: 1rem; }
  .offer-inside, .offer-sample-layout { grid-template-columns: 1fr; gap: 2rem; }
  .offer-section { padding: 45px 0; }
  .offer-purchase .btn { width: 100%; padding-inline: 1rem; }
  .offer-preview-link a { display: inline-block; margin-block: .2rem; }
  .offer-facts { gap: .8rem 1rem; }
  .offer-page-preview { max-width: 330px; }
  .shop-offer .offer-section-heading { text-align: left; margin-bottom: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .offer-page *, .offer-page *::before, .offer-page *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
