:root {
  --ivory: #fbf7f3;
  --white: #fffdfb;
  --ink: #332523;
  --muted: #776966;
  --wine: #420d0e;
  --light: #ead8d8;
  --line: #e6dcd7;
  --taupe: #b9a49b;
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif
}

/* Conversion refinements: price clarity, paired mobile products and balanced covers */
.bundle-first-hero .hero-value {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
  line-height: 1.3
}

.hero-deal {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 18px;
  padding: 10px 13px;
  border: 1px solid #dbc5bd;
  background: #fffaf7
}

.hero-deal>span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em
}

.hero-deal del {
  color: var(--muted);
  font-size: 18px
}

.hero-deal strong {
  color: var(--wine);
  font-size: 24px;
  line-height: 1
}

.hero-deal em {
  border-radius: 99px;
  padding: 4px 9px;
  background: var(--wine);
  color: #fff;
  font: 700 10px/1.3 var(--sans);
  letter-spacing: .06em
}

.bundle-first-hero .buttons {
  margin-top: 14px
}

.bundle-first-hero .stack {
  gap: 12px
}

.bundle-first-hero .stack .product-cover {
  width: calc((100% - 24px) / 3);
  margin: 0
}

.product-sequence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px 22px
}

.product-pair {
  display: contents
}

.product-pair .chooser-card {
  grid-row: 1;
  margin: 0
}

.product-pair .card {
  grid-row: 2
}

.product-pair:nth-child(1)>.chooser-card,
.product-pair:nth-child(1)>.card {
  grid-column: 1
}

.product-pair:nth-child(2)>.chooser-card,
.product-pair:nth-child(2)>.card {
  grid-column: 2
}

.product-pair:nth-child(3)>.chooser-card,
.product-pair:nth-child(3)>.card {
  grid-column: 3
}

.card-art {
  position: relative
}

.card-confidence .card-art {
  background: #f0dbd7
}

.card-affirmations .card-art {
  background: #ede3d8
}

.save-badge {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 0;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  background: #c91526;
  color: #fff;
  font: 700 11px/1 var(--sans);
  letter-spacing: .06em;
  white-space: nowrap
}

.detail-price {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px
}

.detail-price .save-badge {
  position: static;
  margin-right: 4px
}

.home-bundle-panel h2 {
  margin-bottom: 8px
}

.home-bundle-panel>p:not(.final-reassurance) {
  margin-bottom: 20px
}

.final-purchase-row {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px
}

.final-deal {
  display: grid;
  grid-template-columns: auto auto;
  align-content: center;
  gap: 0 9px;
  min-height: 52px;
  padding: 7px 13px;
  border: 1px solid #cfb6ae;
  background: #fffaf7;
  text-align: left
}

.final-deal>span {
  grid-column: 1/-1;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em
}

.final-deal del {
  color: var(--muted);
  font-size: 18px
}

.final-deal strong {
  align-self: center;
  color: var(--wine);
  font-size: 11px;
  white-space: nowrap
}

@media(max-width:700px) {
  .product-sequence {
    display: block
  }

  .product-pair {
    display: block;
    margin-bottom: 30px
  }

  .product-pair:last-child {
    margin-bottom: 0
  }

  .product-pair .chooser-card {
    margin-bottom: 12px
  }

  .hero-deal {
    display: grid;
    grid-template-columns: 1fr auto auto;
    width: 100%
  }

  .hero-deal>span {
    grid-column: 1/-1
  }

  .hero-deal em {
    justify-self: end
  }

  .final-purchase-row,
  .final-purchase-row>.button {
    width: 100%
  }

  .final-deal {
    width: 100%;
    justify-content: center;
    text-align: center
  }
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.6
}

button,
a {
  font: inherit
}

a {
  text-decoration: none;
  color: inherit
}

button {
  cursor: pointer
}

img {
  max-width: 100%
}

.container {
  max-width: 1190px;
  margin: auto;
  padding: 0 28px
}

.announcement {
  background: var(--wine);
  color: white;
  text-align: center;
  padding: 9px 10px;
  letter-spacing: .09em;
  text-transform: uppercase;
  font-size: 10px
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 85px;
  gap: 24px
}

.logo {
  font: 600 21px/1.1 var(--serif);
  letter-spacing: -.035em;
  max-width: 210px
}

.logo span {
  display: block;
  font: 600 9px var(--sans);
  text-transform: uppercase;
  letter-spacing: .22em;
  margin-top: 7px
}

.navlinks {
  display: flex;
  gap: 30px;
  align-items: center;
  font-size: 12px;
  letter-spacing: .055em
}

.navlinks a:hover,
.footer a:hover {
  text-decoration: underline
}

.button {
  border: 1px solid var(--wine);
  background: var(--wine);
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 14px 23px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .045em;
  min-height: 46px;
  transition: .2s;
  text-align: center
}

.button:hover {
  background: #631a1d;
  border-color: #631a1d
}

.button.outline {
  background: transparent;
  color: var(--wine)
}

.button.outline:hover {
  background: #f4e8e8
}

.button.dark {
  background: var(--ink);
  border-color: var(--ink)
}

.small {
  padding: 10px 17px;
  min-height: 40px
}

.eyebrow {
  text-transform: uppercase;
  color: var(--wine);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: .21em
}

.hero {
  padding: 58px 0 94px;
  overflow: hidden
}

.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6%;
  align-items: center
}

.hero h1,
.section-heading h2,
.product-detail h1,
.statement h2 {
  font: 500 clamp(39px, 5.1vw, 76px)/1.14 var(--serif);
  letter-spacing: -.045em;
  margin: 20px 0 21px
}

.hero p {
  max-width: 485px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9
}

.buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px
}

.micro {
  font-size: 11px !important;
  margin-top: 21px;
  color: #897773 !important
}

.visual {
  min-height: 490px;
  background: radial-gradient(circle at 38% 38%, #f0e4dd 0 28%, #e7d2cc 69%, #dbc1b9 100%);
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden
}

.visual:before {
  content: '';
  width: 410px;
  height: 410px;
  border: 1px solid #ffffff91;
  border-radius: 50%;
  position: absolute
}

.book {
  width: 220px;
  height: 315px;
  background: linear-gradient(145deg, #5e1a1d, #420d0e);
  color: white;
  padding: 26px 21px;
  box-shadow: 13px 17px 26px #4e2e3040, inset -8px 0 12px #200b1536;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  text-align: center;
  border-left: 5px solid #290709;
  transform: rotate(-7deg)
}

.book:before {
  content: '';
  border: 1px solid #d4aea090;
  position: absolute;
  inset: 13px
}

.book .brand {
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  position: relative
}

.book .name {
  font: 500 29px/1.2 var(--serif);
  position: relative
}

.book .sub {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  position: relative
}

.book.confidence {
  background: linear-gradient(135deg, #e8c5ba, #c68c86);
  color: #482b32;
  border-left-color: #aa7573;
  transform: rotate(6deg)
}

.book.affirmations {
  background: linear-gradient(135deg, #ead9c7, #d2b7a8);
  color: #583c3c;
  border-left-color: #ac928a;
  transform: rotate(8deg)
}

.stack .book {
  position: absolute
}

.stack .book:nth-child(1) {
  transform: translate(-95px, 25px) rotate(-13deg);
  z-index: 1
}

.stack .book:nth-child(2) {
  transform: translate(28px, 5px) rotate(5deg);
  z-index: 2
}

.stack .book:nth-child(3) {
  transform: translate(135px, 43px) rotate(15deg);
  z-index: 0
}

.stack .book {
  width: 174px;
  height: 248px
}

.stack .book .name {
  font-size: 22px
}

.stack .book .sub {
  font-size: 8px
}

.section {
  padding: 86px 0
}

.section-white {
  background: var(--white)
}

.section-heading {
  text-align: center;
  max-width: 670px;
  margin: 0 auto 40px
}

.section-heading h2 {
  font-size: clamp(32px, 3.6vw, 49px);
  margin: 13px 0 15px
}

.section-heading p {
  color: var(--muted);
  margin: 0
}

.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px
}

.card {
  background: white;
  border: 1px solid var(--line);
  overflow: hidden;
  display: flex;
  flex-direction: column
}

.card-art {
  height: 330px;
  background: #f2e6e0;
  display: grid;
  place-items: center;
  overflow: hidden
}

.card:nth-child(2) .card-art {
  background: #f0dbd7
}

.card:nth-child(3) .card-art {
  background: #ede3d8
}

.card-art .book {
  transform: rotate(-5deg) scale(.77);
  box-shadow: 16px 18px 22px #4e2e3030
}

.card-body {
  padding: 25px;
  display: flex;
  flex-direction: column;
  flex: 1
}

.card-body .category {
  font-size: 10px;
  letter-spacing: .13em;
  color: var(--wine);
  text-transform: uppercase
}

.card h3 {
  font: 500 25px/1.25 var(--serif);
  margin: 10px 0
}

.card p {
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 18px
}

.card .price {
  font-size: 23px;
  font-weight: 600;
  margin-top: auto;
  margin-bottom: 13px
}

.card .button {
  width: 100%
}

.bundle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #efe0db;
  min-height: 465px
}

.bundle-copy {
  padding: 65px clamp(30px, 6vw, 90px);
  align-self: center
}

.bundle h2 {
  font: 500 clamp(33px, 4vw, 53px)/1.16 var(--serif);
  letter-spacing: -.03em;
  margin: 15px 0
}

.bundle p {
  color: #665354;
  max-width: 455px
}

.bundle-price {
  display: flex;
  gap: 15px;
  align-items: baseline;
  margin: 19px 0
}

.bundle-price strong {
  font-size: 40px
}

.bundle-price del {
  color: #998481
}

.bundle-art {
  display: grid;
  place-items: center;
  background: #e5cec5
}

.pill {
  display: inline-block;
  background: white;
  color: var(--wine);
  padding: 5px 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 10px;
  font-weight: 700
}

.three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  text-align: center
}

.step-no {
  font: italic 43px var(--serif);
  color: #a78285
}

.three h3 {
  font: 500 23px var(--serif);
  margin: 12px 0
}

.three p {
  color: var(--muted);
  font-size: 13px;
  max-width: 300px;
  margin: auto
}

.statement {
  background: var(--wine);
  color: white;
  text-align: center;
  padding: 100px 22px
}

.statement h2 {
  font-size: clamp(35px, 4vw, 54px);
  max-width: 880px;
  margin: 15px auto 23px
}

.statement p {
  max-width: 620px;
  margin: auto;
  color: #f3e5e5
}

.statement .button {
  background: white;
  color: var(--wine);
  border-color: white;
  margin-top: 25px
}

.preview {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 23px
}

.paper {
  background: #fff;
  padding: 36px 26px;
  min-height: 320px;
  box-shadow: 0 9px 32px #301b1710;
  border: 1px solid var(--line)
}

.paper .eyebrow {
  font-size: 9px
}

.paper h3 {
  font: 500 27px var(--serif);
  margin: 17px 0
}

.paper p,
.paper li {
  font-size: 13px;
  color: var(--muted)
}

.paper hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 21px 0
}

.paper .rule {
  border-bottom: 1px solid #d5c6be;
  height: 25px
}

.faq {
  max-width: 780px;
  margin: auto
}

.faq details {
  border-bottom: 1px solid var(--line);
  padding: 18px 0
}

.faq summary {
  font-weight: 600;
  cursor: pointer
}

.faq p {
  color: var(--muted);
  font-size: 13px
}

.footer {
  background: #312725;
  color: white;
  padding: 65px 0 26px
}

.footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 35px
}

.footer p,
.footer a {
  color: #d9cdca;
  font-size: 12px
}

.footer a {
  display: block;
  margin: 9px 0
}

.footer-bottom {
  border-top: 1px solid #645654;
  margin-top: 45px;
  padding-top: 20px;
  font-size: 11px;
  color: #c8b8b3
}

.product-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6%;
  padding: 65px 0 80px;
  align-items: center
}

.product-detail h1 {
  font-size: clamp(40px, 4vw, 59px)
}

.product-detail p {
  color: var(--muted)
}

.detail-list {
  padding-left: 19px;
  color: #665653;
  font-size: 14px
}

.detail-list li {
  margin: 8px 0
}

.detail-price {
  font-size: 36px;
  font-weight: 600
}

.detail-art {
  min-height: 520px
}

.detail-art .book {
  transform: rotate(-6deg) scale(1.13)
}

.detail-art.stack .book {
  transform: none
}

.note {
  background: #f4e9e4;
  border-left: 3px solid var(--wine);
  padding: 13px 16px;
  font-size: 12px;
  color: #6f5556;
  margin: 18px 0
}

.legal {
  max-width: 760px;
  margin: 75px auto;
  padding: 0 28px 70px
}

.legal h1 {
  font: 500 52px var(--serif)
}

.legal h2 {
  font: 500 25px var(--serif);
  margin-top: 30px
}

.legal p {
  color: var(--muted)
}

.mobile-menu {
  display: none
}

.modal {
  position: fixed;
  inset: 0;
  background: #201519a8;
  display: none;
  z-index: 20;
  place-items: center;
  padding: 18px
}

.modal.active {
  display: grid
}

.modal-content {
  background: white;
  width: min(100%, 470px);
  padding: 35px;
  position: relative
}

.modal-content h2 {
  font: 500 34px var(--serif)
}

.modal-close {
  position: absolute;
  right: 15px;
  top: 10px;
  background: none;
  border: 0;
  font-size: 27px
}

@media(max-width:800px) {
  .nav {
    min-height: 72px
  }

  .navlinks {
    display: none
  }

  .mobile-menu {
    display: block;
    background: none;
    border: 1px solid var(--line);
    padding: 8px 12px
  }

  .navlinks.open {
    display: flex;
    position: absolute;
    top: 102px;
    left: 0;
    right: 0;
    background: var(--ivory);
    z-index: 5;
    padding: 20px 28px;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    border-bottom: 1px solid var(--line)
  }

  .hero-grid,
  .bundle,
  .product-detail {
    grid-template-columns: 1fr
  }

  .hero {
    padding: 38px 0 58px
  }

  .hero h1 {
    font-size: 48px
  }

  .visual {
    min-height: 380px
  }

  .cards,
  .preview {
    grid-template-columns: 1fr 1fr
  }

  .bundle-copy {
    order: 2
  }

  .bundle-art {
    min-height: 360px
  }

  .product-detail {
    padding: 28px 0 65px
  }

  .detail-art {
    min-height: 420px;
    order: -1
  }

  .footer-inner {
    grid-template-columns: 1fr 1fr
  }

  .footer-inner>div:first-child {
    grid-column: 1/-1
  }
}

@media(max-width:560px) {
  .container {
    padding: 0 20px
  }

  .hero h1 {
    font-size: 42px
  }

  .section {
    padding: 60px 0
  }

  .cards,
  .preview,
  .three {
    grid-template-columns: 1fr
  }

  .card-art {
    height: 265px
  }

  .stack .book {
    width: 140px;
    height: 205px;
    padding: 19px 12px
  }

  .stack .book .name {
    font-size: 17px
  }

  .stack .book:nth-child(1) {
    transform: translate(-65px, 15px) rotate(-12deg)
  }

  .stack .book:nth-child(2) {
    transform: translate(20px, -5px) rotate(6deg)
  }

  .stack .book:nth-child(3) {
    transform: translate(85px, 26px) rotate(15deg)
  }

  .visual {
    min-height: 325px
  }

  .bundle-copy {
    padding: 48px 25px
  }

  .bundle-art {
    min-height: 320px
  }

  .footer-inner {
    grid-template-columns: 1fr
  }

  .footer-inner>div:first-child {
    grid-column: auto
  }

  .detail-art {
    min-height: 370px
  }

  .detail-art .book {
    transform: rotate(-6deg) scale(.92)
  }

  .buttons .button {
    width: 100%
  }
}

/* Conversion-focused revisions */
.announcement {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 9px 16px;
  letter-spacing: .03em;
  font-size: 11px
}

.currency-pick {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  text-transform: none
}

.currency-pick select {
  background: #fff;
  color: #420d0e;
  border: 0;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: 12px
}

.fx-note {
  font-size: 11px;
  text-align: center;
  background: #f5e9e6;
  color: #5e3334;
  padding: 3px 8px
}

.price del,
.detail-price del,
.bundle-price del {
  font-size: .58em;
  font-weight: 400;
  opacity: .6;
  margin-right: 8px
}

.price .fx-price,
.detail-price .fx-price {
  white-space: nowrap
}

.trustline {
  color: #66514f;
  font-size: 12px !important;
  margin: 9px 0 20px
}

.compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 960px;
  margin: auto
}

.compare-col {
  background: #f7eded;
  padding: 30px
}

.compare-col.after {
  background: #f0ece6
}

.compare-col p {
  border-bottom: 1px solid #d9c9c7;
  padding-bottom: 12px;
  font-size: 16px
}

.center-action {
  text-align: center;
  margin-top: 26px
}

.founder-grid {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 7%;
  align-items: center
}

.founder-grid h2,
.sample-banner h2 {
  font: 500 clamp(29px, 3.6vw, 48px)/1.18 var(--serif)
}

.founder-photo {
  position: relative
}

.founder-photo img {
  width: 100%;
  display: block;
  aspect-ratio: 4/4.5;
  object-fit: cover
}

.founder-photo span {
  display: block;
  font-size: 11px;
  color: #776966;
  padding: 8px 0
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px
}

.review {
  background: white;
  border: 1px solid var(--line);
  padding: 24px
}

.review p {
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.6
}

.draft-tag {
  font-size: 9px;
  letter-spacing: .07em;
  font-weight: 700;
  color: #835c60
}

.sample-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px
}

.sample-banner>div:first-child {
  max-width: 700px
}

.sample-banner button:disabled {
  opacity: .55;
  cursor: not-allowed
}

.sample-link {
  display: inline-block;
  color: var(--wine);
  text-decoration: underline;
  margin-top: 6px;
  font-weight: 700
}

@media(max-width:760px) {

  .compare,
  .founder-grid {
    grid-template-columns: 1fr
  }

  .reviews-grid {
    grid-template-columns: 1fr 1fr
  }

  .sample-banner {
    flex-direction: column;
    align-items: start
  }

  .announcement {
    gap: 8px
  }

  .currency-pick select {
    max-width: 105px
  }
}

@media(max-width:540px) {
  .reviews-grid {
    grid-template-columns: 1fr
  }

  .compare-col {
    padding: 20px
  }
}

/* Social proof and purchase detail refinements */
.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 13px;
  align-items: center;
  margin-bottom: 18px;
  font-size: 12px;
  color: var(--ink)
}

.hero-proof span {
  flex-basis: 100%;
  color: var(--muted);
  font-size: 12px
}

.review-stars {
  color: #a87529;
  letter-spacing: 2px;
  font-size: 17px;
  white-space: nowrap
}

.hero-proof .review-stars {
  font-size: 15px
}

.review-person {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap
}

.verified {
  font-size: 11px;
  color: #47644c;
  font-weight: 600
}

.purchase-terms {
  color: var(--muted);
  font-size: 12px
}

.checkout-info {
  text-align: center;
  margin-top: 36px
}

.about-photo {
  float: right;
  width: 230px;
  margin: 0 0 20px 28px
}

.about-photo img {
  display: block;
  width: 100%
}

.about-photo small {
  color: var(--muted);
  font-size: 11px
}

@media(max-width:550px) {
  .about-photo {
    float: none;
    width: 100%;
    max-width: 320px;
    margin: 0 0 22px
  }

  .hero-proof {
    gap: 3px 9px
  }
}

/* Oct 27 conversion and artwork refinements */
.logo {
  white-space: nowrap
}

.logo span {
  display: block;
  white-space: nowrap
}

.hero-proof {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 14px;
  width: 100%;
  white-space: nowrap
}

.hero-proof span {
  flex-basis: auto
}

.review {
  border-radius: 28px;
  background: #fffdfa;
  box-shadow: 0 3px 12px #33252308;
  display: flex;
  flex-direction: column;
  min-height: 300px;
  padding: 30px
}

.review h3 {
  font: 500 23px/1.4 var(--serif);
  color: #420d0e;
  margin: 14px 0 8px
}

.review p {
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.75;
  flex: 1
}

.review-person {
  border-top: 1px solid var(--line);
  padding-top: 15px;
  display: block;
  font-size: 13px
}

.review-person strong {
  font-weight: 600
}

.review-meta {
  font-size: 12px;
  color: var(--muted);
  margin-top: 5px
}

.verified {
  background: #f0e7da;
  color: #332523;
  border-radius: 99px;
  padding: 3px 10px;
  margin-left: 5px;
  font-size: 11px;
  font-weight: 400
}

.product-cover {
  width: 100%;
  height: 100%;
  max-height: 520px;
  object-fit: contain;
  display: block;
  box-shadow: 0 7px 28px #33252318
}

.stack {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center
}

.stack .product-cover {
  width: 31%;
  height: auto;
  max-height: 330px;
  object-fit: contain;
  box-shadow: 0 9px 20px #3325231c
}

.card-art .product-cover {
  height: 330px;
  object-fit: contain;
  box-shadow: none
}

.detail-art .product-cover {
  max-height: 650px;
  object-fit: contain
}

.bundle-comparison {
  display: inline-flex;
  flex-direction: column;
  gap: 0;
  vertical-align: middle
}

.bundle-comparison small {
  font-size: 11px;
  color: var(--muted);
  font-weight: 400
}

.sample-banner p:empty {
  display: none
}

#free-sample {
  padding-bottom: 35px
}

#free-sample+.section {
  padding-top: 40px
}

#sampleForm label {
  display: block;
  font-weight: 600;
  margin-top: 18px;
  font-size: 13px
}

#sampleForm input {
  display: block;
  width: 100%;
  border: 1px solid #d9c6bd;
  border-radius: 7px;
  padding: 13px;
  margin-top: 6px;
  font: inherit
}

#sampleForm .button {
  margin-top: 20px;
  width: 100%
}

#sampleModal .modal-content {
  max-width: 510px
}

.legal h2 {
  margin-top: 30px
}

.legal a {
  color: #420d0e;
  text-decoration: underline
}

@media(max-width:850px) {
  .hero-proof {
    flex-wrap: wrap;
    white-space: normal
  }

  .hero-proof span {
    flex-basis: 100%
  }

  .logo {
    white-space: normal
  }

  .stack .product-cover {
    max-height: 230px
  }
}


/* Refined top social-proof strip to better match reference */
.hero-proof {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 30px;
  padding: 11px 18px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  justify-content: center;
  align-items: center;
  gap: 18px;
  background: rgba(255, 253, 251, .55);
  color: var(--ink);
  font-size: 12px;
  white-space: nowrap;
  text-align: center;
}

.hero-proof .review-stars {
  color: #d0b36d;
  font-size: 13px;
  letter-spacing: 6px;
  line-height: 1;
}

.hero-proof strong {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
  font-weight: 700;
}

.hero-proof span {
  flex-basis: auto;
  color: #6b5856;
  font-size: 12px;
  font-style: italic;
}

@media (max-width: 900px) {
  .hero-proof {
    gap: 12px;
    padding: 10px 14px;
    white-space: normal
  }

  .hero-proof .review-stars {
    letter-spacing: 4px
  }
}

@media (max-width: 560px) {
  .hero-proof {
    font-size: 11px;
    gap: 8px;
    padding: 9px 12px
  }

  .hero-proof strong,
  .hero-proof span {
    font-size: 11px
  }
}

/* Mobile-first conversion, reassurance and accessibility pass */
:root {
  --focus: #bd6b36
}

.micro {
  font-size: 13px !important;
  color: #66514f !important;
  line-height: 1.55
}

.eyebrow {
  font-size: 11px
}

.purchase-terms {
  font-size: 13px;
  line-height: 1.6
}

a:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
  border-radius: 2px
}

.button .fx-price {
  color: inherit
}

.hero-copy {
  min-width: 0
}

.hero-copy>.hero-proof {
  grid-column: 1/-1
}

.trustline {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  font-size: 13px !important;
  line-height: 1.5;
  margin: 15px 0 0 !important;
  color: #5f4b49 !important
}

.trustline span {
  white-space: nowrap
}

.best-for {
  background: #f7eeea;
  border-left: 3px solid var(--wine);
  padding: 11px 13px;
  color: #5c4846 !important;
  font-size: 13px !important
}

.chooser-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 0 0 30px
}

.chooser-card {
  background: #f5eae6;
  border: 1px solid #e0ccc5;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  transition: .2s
}

.chooser-card:hover {
  transform: translateY(-2px);
  border-color: var(--wine)
}

.chooser-card span {
  font-size: 10px;
  letter-spacing: .16em;
  color: var(--wine);
  font-weight: 700
}

.chooser-card strong {
  font: 500 23px/1.25 var(--serif)
}

.chooser-card small {
  color: var(--muted);
  font-size: 13px
}

.bundle-decision-section {
  border-bottom: 1px solid var(--line)
}

.bundle-decision {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 980px;
  margin: 0 auto
}

.bundle-decision article {
  border: 1px solid var(--line);
  background: #fbf7f3;
  padding: 36px;
  display: flex;
  flex-direction: column;
  align-items: flex-start
}

.bundle-decision .decision-label {
  color: var(--wine);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 10px
}

.bundle-decision h3 {
  font: 500 29px/1.2 var(--serif);
  margin: 0 0 14px
}

.bundle-decision p {
  color: var(--muted);
  font-size: 15px;
  margin: 0 0 26px
}

.bundle-decision .button {
  margin-top: auto
}

.bundle-decision .recommended-choice {
  background: #2f2422;
  color: #fff;
  border-color: #2f2422
}

.bundle-decision .recommended-choice .decision-label,
.bundle-decision .recommended-choice p {
  color: #eadfdb
}

.bundle-decision .recommended-choice .pill {
  margin-bottom: 20px
}

#individual-guides {
  scroll-margin-top: 30px
}

.bundle-sample-callout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: center;
  background: #f5eae6;
  border: 1px solid #e0ccc5;
  margin: 42px 0 28px;
  padding: 34px
}

.bundle-sample-callout h2 {
  font: 500 clamp(28px, 3vw, 40px)/1.18 var(--serif);
  margin: 10px 0
}

.bundle-sample-callout p {
  color: var(--muted);
  margin: 0
}

.bundle-sample-callout .micro {
  font-size: 11px;
  margin-top: 8px;
  text-align: center
}

.sample-actions {
  display: grid;
  gap: 10px;
  min-width: min(100%, 300px)
}

.sample-actions .button {
  width: 100%
}

.why-paid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 8%;
  align-items: center
}

.why-paid h2 {
  font: 500 clamp(32px, 4vw, 50px)/1.18 var(--serif);
  letter-spacing: -.03em;
  margin: 15px 0
}

.why-paid p {
  font-size: 17px;
  color: var(--muted)
}

.check-list {
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px
}

.check-list li {
  padding-left: 28px;
  position: relative
}

.check-list li:before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--wine);
  font-weight: 700
}

.sample-preview {
  background: #f3e6e0
}

.sample-pages {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 430px));
  justify-content: center;
  gap: 28px
}

.sample-pages figure {
  margin: 0
}

.sample-pages img {
  width: 100%;
  height: auto;
  display: block;
  background: white;
  box-shadow: 0 14px 35px #3d23221a;
  border: 1px solid var(--line)
}

.sample-pages figcaption {
  text-align: center;
  font-size: 13px;
  color: var(--muted);
  margin-top: 10px
}

.founder-note {
  background: #2f2422;
  color: white;
  text-align: center
}

.founder-note-inner {
  max-width: 820px
}

.founder-note .eyebrow {
  color: #efcbd1
}

.founder-note h2 {
  font: 500 clamp(34px, 4vw, 52px)/1.2 var(--serif);
  margin: 15px 0
}

.founder-note p {
  font: 400 clamp(18px, 2vw, 23px)/1.7 var(--serif);
  color: #eee2de
}

.founder-note .button {
  border-color: white;
  color: white
}

.centered-buttons {
  justify-content: center
}

.bundle-path {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px
}

.bundle-path>div {
  background: #f5eae6;
  padding: 27px;
  border-top: 3px solid var(--wine)
}

.bundle-path span {
  font: italic 34px var(--serif);
  color: #a78285
}

.bundle-path h3 {
  font: 500 23px/1.3 var(--serif);
  margin: 8px 0
}

.bundle-path p {
  font-size: 14px;
  color: var(--muted)
}

.single-review {
  grid-template-columns: minmax(0, 620px);
  justify-content: center
}

.about-story {
  font-size: 17px
}

.about-lead {
  font: 500 28px/1.35 var(--serif);
  color: var(--wine) !important
}

.consent-check {
  display: grid !important;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  font-weight: 400 !important
}

.consent-check input {
  width: 18px !important;
  height: 18px;
  margin: 2px 0 0 !important
}

.modal-open {
  overflow: hidden
}

.modal {
  z-index: 100
}

.modal-content {
  max-height: min(90vh, 760px);
  overflow: auto;
  border-radius: 4px
}

.product-faq a,
.checkout-info a {
  color: var(--wine);
  text-decoration: underline
}

@media(max-width:800px) {

  .hero-grid,
  .product-detail {
    gap: 30px
  }

  .product-detail .product-copy {
    order: 1
  }

  .product-detail .detail-art,
  .bundle-detail>.stack {
    order: 2
  }

  .product-detail {
    padding-top: 35px
  }

  .product-detail h1 {
    font-size: clamp(38px, 10vw, 50px);
    margin-top: 13px
  }

  .detail-art {
    min-height: 340px
  }

  .detail-art .product-cover {
    max-height: 390px;
    width: auto;
    height: auto
  }

  .chooser-grid,
  .bundle-path {
    grid-template-columns: 1fr
  }

  .why-paid {
    grid-template-columns: 1fr;
    gap: 10px
  }

  .why-paid p {
    font-size: 16px
  }

  .bundle-copy {
    order: 1
  }

  .bundle-art {
    order: 2
  }

  .reviews-grid {
    grid-template-columns: 1fr 1fr
  }
}

@media(max-width:560px) {
  body {
    font-size: 16px
  }

  .announcement>span {
    font-size: 9px;
    line-height: 1.35;
    max-width: 230px
  }

  .hero {
    padding-top: 24px
  }

  .hero-grid {
    gap: 28px
  }

  .hero h1 {
    font-size: clamp(38px, 11vw, 45px);
    line-height: 1.1;
    margin: 14px 0 16px
  }

  .hero p {
    font-size: 16px;
    line-height: 1.7
  }

  .hero .visual {
    min-height: 270px
  }

  .hero .buttons {
    margin-top: 22px
  }

  .hero-proof {
    margin-bottom: 22px;
    padding: 10px 18px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 5px 10px;
    text-align: left
  }

  .hero-proof span {
    grid-column: 1/-1
  }

  .buttons .button {
    width: 100%;
    min-height: 52px
  }

  .trustline {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px 10px
  }

  .trustline span {
    white-space: normal;
    font-size: 12px
  }

  .chooser-card {
    padding: 18px
  }

  .cards {
    gap: 18px
  }

  .card-body {
    padding: 22px
  }

  .card h3 {
    font-size: 28px
  }

  .card p {
    font-size: 14px
  }

  .sample-pages {
    grid-template-columns: 1fr;
    gap: 20px
  }

  .sample-pages figure:nth-child(2) {
    display: none
  }

  .sample-pages img {
    max-height: 520px;
    object-fit: contain
  }

  .reviews-grid {
    grid-template-columns: 1fr
  }

  .review {
    min-height: 0;
    padding: 24px;
    border-radius: 18px
  }

  .review p {
    font-size: 15px
  }

  .product-detail {
    padding-top: 28px
  }

  .product-detail .product-copy {
    order: 1
  }

  .product-detail .detail-art {
    order: 2;
    min-height: 300px;
    margin-top: 2px
  }

  .product-detail .detail-art .product-cover {
    max-height: 330px;
    width: auto;
    height: auto
  }

  .detail-price {
    font-size: 34px
  }

  .product-copy>.button {
    width: 100%;
    min-height: 52px
  }

  .bundle-detail>.stack {
    order: 2;
    min-height: 280px
  }

  .bundle-path>div {
    padding: 22px
  }

  .section-heading {
    margin-bottom: 30px
  }

  .section-heading h2 {
    font-size: 34px;
    line-height: 1.18
  }

  .founder-note p {
    font-size: 19px
  }

  .sample-banner .button {
    width: 100%
  }

  .modal-content {
    padding: 30px 22px
  }

  .modal-content h2 {
    font-size: 31px
  }

  .faq summary {
    font-size: 16px;
    padding-right: 20px
  }

  .faq p {
    font-size: 14px
  }

  .footer p,
  .footer a,
  .footer-bottom {
    font-size: 13px
  }
}

/* Checkout, product cutouts and post-purchase flow */
:focus-visible {
  outline: 3px solid #b44d56;
  outline-offset: 3px
}

.visual:before {
  z-index: 0;
  pointer-events: none
}

.visual .product-cover {
  position: relative;
  z-index: 1;
  background: transparent;
  box-shadow: none
}

.stack {
  isolation: isolate
}

.stack:before {
  z-index: 0
}

.stack .product-cover {
  z-index: 1;
  filter: drop-shadow(0 14px 14px #33252324)
}

.card-art .product-cover {
  max-width: 80%;
  padding: 13px;
  filter: drop-shadow(0 10px 10px #33252320)
}

.bundle-art .visual {
  width: 100%;
  background: transparent
}

.usd-note {
  font-size: 13px !important;
  font-weight: 700;
  color: var(--wine) !important;
  margin: 0 0 16px !important
}

.product-specs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 28px 0
}

.product-specs div {
  border: 1px solid var(--line);
  background: #fff;
  padding: 12px 9px
}

.product-specs b,
.product-specs span {
  display: block
}

.product-specs b {
  font-size: 13px
}

.product-specs span {
  font-size: 11px;
  color: var(--muted)
}

.sample-pages.single {
  grid-template-columns: minmax(0, 700px)
}

.sample-pages.single img {
  max-height: 900px;
  object-fit: contain
}

.founder-signoff {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: .04em
}

.checkout-page {
  padding: 65px 0 95px;
  background: #f7efeb
}

.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .72fr);
  gap: 7%;
  align-items: start
}

.checkout-layout>* {
  min-width: 0
}

.checkout-layout h1 {
  font: 500 clamp(42px, 5vw, 64px)/1.08 var(--serif);
  letter-spacing: -.04em;
  margin: 14px 0
}

.checkout-layout>section>p {
  color: var(--muted);
  max-width: 650px
}

.checkout-form {
  background: white;
  border: 1px solid var(--line);
  padding: 30px;
  margin-top: 28px
}

.checkout-form label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 20px
}

.checkout-form input[type=text],
.checkout-form input[type=email] {
  display: block;
  width: 100%;
  border: 1px solid #cdbdb6;
  border-radius: 3px;
  padding: 13px;
  margin-top: 7px;
  font: inherit
}

.checkout-form .consent-check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  font-weight: 400;
  line-height: 1.5
}

.checkout-form .consent-check input {
  margin-top: 4px
}

.payment-options {
  background: #fbf7f3;
  border: 1px solid var(--line);
  border-radius: 4px;
  margin: 2px 0 22px;
  padding: 16px
}

.payment-options strong {
  display: block;
  font: 600 16px/1.3 var(--serif);
  margin-bottom: 5px
}

.payment-options p,
.payment-options small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
  margin: 0
}

.payment-options ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  list-style: none;
  margin: 11px 0;
  padding: 0
}

.payment-options li {
  background: #fff;
  border: 1px solid #d8cac3;
  border-radius: 999px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px
}

.checkout-form a {
  text-decoration: underline
}

.checkout-submit {
  width: 100%;
  margin-top: 7px
}

.checkout-submit:disabled {
  opacity: .65;
  cursor: wait
}

.secure-note {
  font-size: 12px;
  color: var(--muted);
  margin: 16px 0 0
}

.delivery-help {
  background: #fbf7f3;
  border-left: 3px solid var(--wine);
  margin-top: 18px;
  padding: 14px 16px
}

.delivery-help strong {
  font-size: 13px
}

.delivery-help p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
  margin: 5px 0 0
}

.checkout-status {
  background: #fff1ef;
  border-left: 4px solid #9c2530;
  color: #5f1c22;
  padding: 14px 16px;
  margin-top: 18px;
  font-size: 13px
}

.checkout-status a {
  text-decoration: underline
}

.order-card {
  background: white;
  border: 1px solid var(--line);
  padding: 28px;
  position: sticky;
  top: 20px;
  overflow: hidden
}

.order-card>.product-cover {
  height: 240px;
  object-fit: contain;
  margin: 12px 0
}

.order-card>.stack {
  min-height: 240px;
  margin: 12px 0;
  width: 100%;
  min-width: 0;
  overflow: hidden
}

.order-card>.stack .product-cover {
  max-height: 160px;
  min-width: 0
}

.order-card h2 {
  font: 500 28px/1.2 var(--serif);
  overflow-wrap: anywhere
}

.order-total {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 18px 0;
  display: flex;
  justify-content: space-between;
  gap: 16px
}

.order-total strong {
  font-size: 20px;
  white-space: nowrap
}

.order-card p,
.order-card li {
  font-size: 12px;
  color: var(--muted)
}

.order-card ul {
  padding-left: 18px
}

.payment-state {
  margin-top: 22px;
  background: white;
  border: 1px solid var(--line);
  padding: 30px
}

.state-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #e6ded8;
  position: relative
}

.success .state-icon {
  background: #dceade
}

.success .state-icon:after {
  content: '✓';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #2f6238;
  font-size: 28px;
  font-weight: 700
}

.failed .state-icon {
  background: #f2dada
}

.failed .state-icon:after,
.cancelled .state-icon:after {
  content: '×';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #8a2229;
  font-size: 32px
}

.processing .state-icon {
  border: 4px solid #eaded8;
  border-top-color: var(--wine);
  background: transparent;
  animation: spin 1s linear infinite
}

@keyframes spin {
  to {
    transform: rotate(360deg)
  }
}

.mobile-buy-bar {
  display: none
}

@media(max-width:800px) {
  .checkout-layout {
    grid-template-columns: minmax(0, 1fr)
  }

  .order-card {
    position: static;
    order: -1
  }

  .product-specs {
    grid-template-columns: 1fr 1fr
  }

  .announcement>span {
    flex-basis: 100%
  }

  .mobile-buy-bar {
    display: none;
    position: fixed;
    z-index: 15;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    box-shadow: 0 -4px 22px #33252320;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    align-items: center;
    justify-content: space-between;
    gap: 10px
  }

  .mobile-buy-bar.visible {
    display: flex
  }

  .mobile-buy-bar>div {
    min-width: 0
  }

  .mobile-buy-bar strong,
  .mobile-buy-bar span {
    display: block
  }

  .mobile-buy-bar strong {
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 54vw
  }

  .mobile-buy-bar span {
    font-size: 11px;
    color: var(--muted)
  }

  .mobile-buy-bar .button {
    padding: 10px 16px;
    min-height: 44px
  }

  body:has(.mobile-buy-bar) {
    padding-bottom: calc(76px + env(safe-area-inset-bottom))
  }

  .hero .stack {
    order: 2
  }
}

@media(max-width:520px) {
  .checkout-page {
    padding-top: 32px
  }

  .checkout-form,
  .order-card {
    padding: 21px
  }

  .checkout-layout {
    gap: 24px
  }

  .product-specs {
    grid-template-columns: 1fr 1fr
  }

  .card-art .product-cover {
    max-width: 88%
  }
}

/* Homepage content and founder refinements */
.hero {
  padding-top: 0
}

.hero>.hero-proof {
  width: 100%;
  margin: 0 0 58px;
  padding: 12px 28px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--white);
  justify-content: center
}

.statement .eyebrow {
  color: #efcbd1
}

.statement-options {
  max-width: 1050px;
  margin: 30px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px
}

.statement-options .button {
  margin: 0;
  padding: 16px 18px;
  line-height: 1.35
}

.founder-note {
  text-align: left
}

.founder-note-inner {
  max-width: 1190px;
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  align-items: center;
  gap: 7%
}

.founder-portrait {
  margin: 0;
  align-self: stretch;
  min-height: 500px;
  overflow: hidden;
  background: #191515
}

.founder-portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 27%
}

.founder-copy {
  padding: 35px 0
}

.founder-copy h2 {
  max-width: 650px
}

.founder-copy p {
  max-width: 690px
}

.faq-more {
  text-align: center;
  margin-top: 30px
}

.home-bundle-cta {
  background: #fff;
  padding-top: 28px;
  padding-bottom: 88px
}

.home-bundle-panel {
  max-width: 940px;
  margin: 0 auto;
  padding: 62px clamp(24px, 7vw, 84px);
  text-align: center;
  background: #f5e9e5;
  border: 1px solid var(--line)
}

.home-bundle-panel h2 {
  max-width: 700px;
  margin: 14px auto 16px;
  font-size: clamp(35px, 4.7vw, 56px)
}

.home-bundle-panel>p {
  max-width: 650px;
  margin: 0 auto 28px;
  color: var(--muted)
}

.home-bundle-panel>.button {
  min-height: 52px
}

.home-bundle-panel .bundle-trust {
  justify-content: center
}

.home-bundle-cta.is-dark {
  padding-top: 0
}

.home-bundle-cta.is-dark .home-bundle-panel {
  color: #fff;
  background: #351719;
  border-color: #351719
}

.home-bundle-cta.is-dark .eyebrow,
.home-bundle-cta.is-dark .home-bundle-panel>p,
.home-bundle-cta.is-dark .bundle-trust {
  color: #f1dfe0
}

.home-bundle-cta.is-dark .button {
  color: var(--wine);
  background: #fff;
  border-color: #fff
}

.home-bundle-cta.is-dark .button:hover {
  background: #f5e9e5;
  border-color: #f5e9e5
}

.home-bundle-cta.is-final {
  padding-top: 10px
}

@media(max-width:800px) {
  .hero>.hero-proof {
    margin-bottom: 34px
  }

  .statement-options {
    grid-template-columns: 1fr;
    max-width: 560px
  }

  .founder-note-inner {
    grid-template-columns: 1fr;
    gap: 28px
  }

  .founder-portrait {
    min-height: 0;
    max-height: 620px;
    aspect-ratio: 4/5
  }

  .founder-copy {
    padding: 0;
    text-align: center
  }

  .founder-copy p {
    margin-left: auto;
    margin-right: auto
  }
}

@media(max-width:560px) {
  .home-bundle-cta {
    padding-top: 12px;
    padding-bottom: 58px
  }

  .home-bundle-panel {
    padding: 42px 20px
  }

  .home-bundle-panel>.button {
    width: 100%;
    padding-left: 12px;
    padding-right: 12px
  }

  .home-bundle-panel .bundle-trust {
    justify-content: initial;
    text-align: left
  }
}

@media(max-width:560px) {
  .hero>.hero-proof {
    margin-bottom: 24px;
    padding: 10px 20px
  }

  .statement {
    padding: 72px 20px
  }

  .statement-options {
    gap: 10px
  }

  .statement-options .button {
    width: 100%;
    min-height: 54px
  }

  .founder-portrait {
    aspect-ratio: 4/4.8
  }

  .founder-note {
    padding-top: 40px
  }

  .faq-more .button {
    width: 100%
  }
}

/* Keep payment-state buttons readable inside legal-page layouts. */
.legal a.button {
  color: #fff;
  text-decoration: none;
}

.legal a.button.outline {
  color: var(--wine);
}

/* Bundle-first conversion journey */
.site-header,
.nav {
  position: relative;
  z-index: 12
}

.hero-value {
  margin: -4px 0 10px !important;
  color: var(--wine) !important;
  font: 600 clamp(18px, 2vw, 24px)/1.35 var(--serif) !important
}

.bundle-first-hero .hero-copy {
  max-width: 570px
}

.bundle-first-hero .visual {
  min-height: 520px
}

.bundle-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 20px;
  color: var(--muted);
  font-size: 12px
}

.bundle-trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px
}

.bundle-trust span:before {
  content: '✓';
  color: var(--wine);
  font-weight: 700
}

.journey-section {
  background: var(--white)
}

.journey-heading {
  max-width: 790px
}

.journey-heading p {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto
}

.journey-card {
  border: 1px solid var(--line);
  background: #fff;
  display: flex;
  flex-direction: column;
  min-width: 0
}

.journey-cover {
  min-height: 280px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #f6ece8, #ead4cd)
}

.journey-card:nth-child(2) .journey-cover {
  background: linear-gradient(145deg, #f4e4e1, #e2c5c0)
}

.journey-card:nth-child(3) .journey-cover {
  background: linear-gradient(145deg, #f5eee7, #e8d9cb)
}

.journey-cover .product-cover {
  width: auto;
  height: 225px;
  max-width: 66%;
  filter: drop-shadow(0 16px 18px #33252329)
}

.journey-cover>span {
  position: absolute;
  left: 18px;
  top: 15px;
  color: #fff;
  font: italic 34px/1 var(--serif);
  text-shadow: 0 1px 8px #420d0e66
}

.journey-copy {
  padding: 26px;
  display: flex;
  flex-direction: column;
  flex: 1
}

.journey-duration {
  margin: 0 0 5px !important;
  color: var(--wine) !important;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 10px !important;
  font-weight: 700
}

.journey-copy h3 {
  margin: 0 0 5px;
  font: 500 27px/1.2 var(--serif)
}

.journey-copy>strong {
  font-size: 13px;
  color: var(--wine)
}

.journey-copy>p:last-of-type {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 22px
}

.journey-copy a {
  margin-top: auto;
  color: var(--wine);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em
}

.journey-copy a:hover {
  text-decoration: underline
}

.bundle-premium {
  background: #2f2422;
  color: #fff
}

.bundle-premium .bundle-copy {
  max-width: 680px;
  justify-self: end
}

.bundle-premium .eyebrow {
  color: #efcbd1
}

.bundle-premium p,
.bundle-premium .bundle-comparison small {
  color: #eadfdb
}

.bundle-premium .bundle-lead {
  color: #fff;
  font-size: 17px
}

.bundle-premium .bundle-price strong {
  font-size: 48px
}

.bundle-premium .bundle-price del {
  color: #d2bdb8
}

.bundle-includes {
  list-style: none;
  padding: 0;
  margin: 22px 0;
  display: grid;
  gap: 7px
}

.bundle-includes li:before {
  content: '✓';
  color: #efcbd1;
  font-weight: 700;
  margin-right: 10px
}

.bundle-premium .button {
  background: #fff;
  color: var(--wine);
  border-color: #fff;
  min-height: 52px
}

.bundle-premium .button:hover {
  background: #f5e8e4;
  border-color: #f5e8e4
}

.bundle-premium .bundle-trust {
  color: #eadfdb
}

.bundle-premium .bundle-trust span:before {
  color: #efcbd1
}

.bundle-premium .bundle-art {
  background: radial-gradient(circle at 50% 45%, #7d4144, #4d191b 70%, #350b0d)
}

.bundle-premium .bundle-art>div {
  width: min(88%, 650px);
  text-align: center
}

.bundle-premium .bundle-art .stack {
  margin: 30px auto 22px
}

.bundle-premium .bundle-art .product-cover {
  max-height: 350px
}

.bundle-art-caption {
  color: #f7eaea !important;
  margin: 0 auto !important;
  font-size: 12px;
  letter-spacing: .05em
}

.individual-section {
  border-bottom: 1px solid var(--line)
}

.bundle-page-hero .hero-value {
  margin-top: 0 !important
}

.bundle-page-hero .bundle-trust {
  max-width: 520px
}

.bundle-final-cta {
  margin: 52px auto 0;
  max-width: 820px;
  padding: 46px;
  background: #2f2422;
  color: #fff;
  text-align: center
}

.bundle-final-cta h2 {
  font: 500 clamp(30px, 4vw, 46px)/1.2 var(--serif);
  margin: 18px 0 24px
}

.bundle-final-cta .bundle-trust {
  justify-content: center;
  color: #eadfdb
}

.bundle-final-cta .bundle-trust span:before {
  color: #efcbd1
}

.mobile-menu {
  min-width: 46px;
  min-height: 46px;
  align-items: center;
  justify-content: center
}

.mobile-menu span {
  display: block;
  font-size: 22px;
  line-height: 1
}

@media(max-width:800px) {
  .site-header {
    z-index: 20
  }

  .mobile-menu {
    display: inline-flex
  }

  .navlinks.open {
    top: 100%;
    left: -28px;
    right: -28px;
    padding: 20px 28px 24px;
    box-shadow: 0 18px 30px #3325231f;
    max-height: calc(100vh - 110px);
    overflow-y: auto
  }

  .navlinks.open a:not(.button) {
    padding: 10px 2px;
    min-height: 44px;
    display: flex;
    align-items: center
  }

  .navlinks.open .button {
    min-height: 50px
  }

  body.menu-open {
    overflow: hidden
  }

  .bundle-first-hero .visual {
    min-height: 390px
  }

  .bundle-premium {
    grid-template-columns: 1fr
  }

  .bundle-premium .bundle-copy {
    max-width: none;
    justify-self: stretch;
    order: 1
  }

  .bundle-premium .bundle-art {
    order: 2;
    min-height: 430px;
    padding: 40px 20px
  }

  .checkout-layout .order-card {
    order: 2
  }

  .bundle-decision {
    grid-template-columns: 1fr
  }

  .bundle-sample-callout {
    grid-template-columns: 1fr;
    text-align: center
  }

  .bundle-sample-callout .button {
    width: 100%
  }
}

@media(max-width:560px) {
  .bundle-first-hero .hero-copy {
    max-width: none
  }

  .hero-value {
    font-size: 19px !important
  }

  .bundle-trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px
  }

  .bundle-trust span:first-child {
    grid-column: 1/-1
  }

  .journey-cover {
    min-height: 245px
  }

  .journey-cover .product-cover {
    height: 200px
  }

  .journey-copy {
    padding: 23px 21px
  }

  .bundle-premium .bundle-copy {
    padding: 50px 20px
  }

  .bundle-premium .bundle-art {
    min-height: 350px;
    padding: 32px 12px
  }

  .bundle-premium .bundle-art>div {
    width: 100%
  }

  .bundle-premium .bundle-price {
    align-items: flex-start
  }

  .bundle-primary,
  .bundle-final-cta .button {
    width: 100%
  }

  .bundle-final-cta {
    padding: 38px 20px
  }

  .bundle-decision article,
  .bundle-sample-callout {
    padding: 28px 20px
  }

  .bundle-decision .button {
    width: 100%
  }

  .bundle-final-cta .bundle-trust {
    text-align: left;
    justify-content: initial
  }

  .mobile-buy-bar strong {
    max-width: 46vw
  }
}

@media(max-width:360px) {
  .container {
    padding-left: 16px;
    padding-right: 16px
  }

  .hero h1 {
    font-size: 37px;
    line-height: 1.08
  }

  .hero>.hero-proof {
    padding-left: 16px;
    padding-right: 16px
  }

  .navlinks.open {
    left: -16px;
    right: -16px;
    padding-left: 16px;
    padding-right: 16px
  }

  .bundle-trust {
    grid-template-columns: 1fr
  }

  .bundle-trust span:first-child {
    grid-column: auto
  }

  .mobile-buy-bar .button {
    padding: 10px 12px
  }

  .bundle-first-hero .buttons .button:first-child {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 10.5px;
    letter-spacing: .02em
  }
}

/* Compact homepage hero, transparent bundle pricing and free sample capture */
.bundle-first-hero {
  padding: 38px 0 68px
}

.bundle-first-hero .hero-grid {
  max-width: 1280px;
  grid-template-columns: minmax(0, 53fr) minmax(0, 47fr);
  gap: 4%;
  align-items: center
}

.bundle-first-hero .hero-copy {
  max-width: 660px
}

.bundle-first-hero h1 {
  font-size: clamp(44px, 4.55vw, 68px);
  line-height: 1.08;
  margin: 14px 0 16px;
  text-wrap: balance
}

.bundle-first-hero .keep-hyphen {
  white-space: nowrap
}

.bundle-first-hero .hero-value {
  max-width: 610px;
  margin: 0 0 9px !important;
  font-size: clamp(18px, 1.75vw, 23px) !important
}

.bundle-first-hero .hero-copy>p:not(.hero-value) {
  max-width: 635px;
  line-height: 1.68;
  margin: 0
}

.bundle-first-hero .buttons {
  margin-top: 22px
}

.bundle-first-hero .bundle-trust {
  margin-top: 14px
}

.bundle-first-hero .visual {
  min-height: 470px
}

.bundle-first-hero .stack {
  gap: 0;
  padding: 16px
}

.bundle-first-hero .stack .product-cover {
  width: 38%;
  max-height: 410px;
  margin: 0 -2.5%
}

.bundle-price-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  margin: 24px 0 18px;
  max-width: 570px
}

.bundle-price-card>div {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid #ffffff2b;
  background: #ffffff0d
}

.bundle-price-card span,
.bundle-price-card del,
.bundle-price-card strong {
  display: block
}

.bundle-price-card span {
  color: #eadfdb;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase
}

.bundle-price-card del {
  margin-top: 5px;
  color: #d8c4bf;
  font-size: 25px
}

.bundle-price-card .price-today {
  border-color: #efcbd17a;
  background: #ffffff14
}

.bundle-price-card .price-today strong {
  margin-top: 2px;
  font-size: 43px;
  line-height: 1.1
}

.bundle-price-card .savings-callout {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #6c2024;
  border-color: #a75f63
}

.bundle-price-card .savings-callout strong {
  font-size: 15px;
  letter-spacing: .04em
}

.bundle-price-card .savings-callout span {
  padding: 5px 9px;
  color: var(--wine);
  background: #f3dfe0;
  border-radius: 999px
}

.bundle-page-hero .bundle-price-card>div {
  background: #f8efeb;
  border-color: var(--line)
}

.bundle-page-hero .bundle-price-card span,
.bundle-page-hero .bundle-price-card del {
  color: var(--muted)
}

.bundle-page-hero .bundle-price-card .savings-callout {
  color: #fff;
  background: var(--wine);
  border-color: var(--wine)
}

.bundle-page-hero .bundle-price-card .savings-callout span {
  color: var(--wine)
}

.free-samples-section {
  background: #f7efeb
}

.free-samples-heading {
  max-width: 850px
}

.free-sample-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 38px
}

.free-sample-grid article {
  padding: 18px 18px 20px;
  background: #fff;
  border: 1px solid var(--line)
}

.free-sample-preview {
  position: relative;
  display: grid;
  place-items: center;
  height: 280px;
  overflow: hidden;
  background: #ead7d0
}

.free-sample-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.free-sample-preview.reset-preview .product-cover {
  width: auto;
  height: 92%;
  filter: drop-shadow(0 10px 12px #33252329)
}

.free-sample-preview>span {
  position: absolute;
  left: 12px;
  top: 12px;
  padding: 6px 9px;
  color: #fff;
  background: var(--wine);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .09em
}

.free-sample-grid h3 {
  margin: 18px 0 7px;
  font: 500 25px/1.2 var(--serif)
}

.free-sample-grid p {
  min-height: 44px;
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 13px
}

.free-sample-grid label {
  display: flex;
  gap: 9px;
  align-items: center;
  color: var(--wine);
  font-size: 12px;
  font-weight: 700
}

.free-sample-grid input {
  width: 18px;
  height: 18px;
  accent-color: var(--wine)
}

.free-sample-form {
  display: grid;
  grid-template-columns: 1fr 1.35fr auto;
  align-items: end;
  gap: 12px;
  max-width: 940px;
  margin: 28px auto 0;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--line)
}

.free-sample-form label {
  display: block;
  margin-bottom: 7px;
  font-size: 12px;
  font-weight: 700
}

.free-sample-form input {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #d9c6bd;
  border-radius: 3px;
  font: inherit
}

.free-sample-form .button {
  min-height: 48px
}

.sample-privacy,
.sample-status {
  grid-column: 1/-1;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  text-align: center
}

.sample-privacy a {
  color: var(--wine);
  text-decoration: underline
}

.sample-status {
  color: var(--wine);
  font-size: 13px;
  font-weight: 700
}

.sample-downloads {
  max-width: 940px;
  margin: 18px auto 0;
  padding: 25px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--wine)
}

.sample-downloads h3 {
  margin: 0 0 15px;
  font: 500 28px/1.2 var(--serif)
}

.sample-downloads .button {
  margin: 5px
}

.final-reassurance {
  margin: 18px auto 0 !important;
  color: var(--muted);
  font-size: 12px
}

.payment-options li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 9px 6px 6px
}

.payment-icon {
  display: inline-grid;
  place-items: center;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  border-radius: 50%;
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: -.02em
}

.payment-icon.ec { background: #169447 }
.payment-icon.ib { background: #e97718 }
.payment-icon.om { background: #1265a8 }
.payment-icon.zs { background: #c4282f }
.payment-icon.visa { width: 35px; border-radius: 5px; background: #172b85; font-size: 9px }
.payment-icon.mc { position: relative; width: 35px; border-radius: 5px; background: #fff }
.payment-icon.mc:before,
.payment-icon.mc:after {
  content: '';
  position: absolute;
  width: 17px;
  height: 17px;
  border-radius: 50%
}
.payment-icon.mc:before { left: 4px; background: #e53935 }
.payment-icon.mc:after { right: 4px; background: #f9a825; opacity: .9 }

@media(max-width:800px) {
  .bundle-first-hero {
    padding: 28px 0 58px
  }

  .bundle-first-hero .hero-grid {
    grid-template-columns: 1fr;
    gap: 30px
  }

  .bundle-first-hero .hero-copy {
    max-width: 680px
  }

  .bundle-first-hero .visual {
    min-height: 420px
  }

  .bundle-first-hero .stack .product-cover {
    width: 38%;
    max-height: 330px
  }

  .free-sample-grid {
    grid-template-columns: 1fr 1fr
  }

  .free-sample-grid article:last-child {
    grid-column: 1/-1;
    max-width: calc(50% - 10px);
    width: 100%;
    justify-self: center
  }

  .free-sample-form {
    grid-template-columns: 1fr 1fr
  }

  .free-sample-form .button {
    grid-column: 1/-1
  }
}

@media(max-width:560px) {
  .bundle-first-hero h1 {
    font-size: clamp(38px, 11.7vw, 50px);
    line-height: 1.06;
    margin-top: 12px
  }

  .bundle-first-hero .hero-copy>p:not(.hero-value) {
    line-height: 1.62
  }

  .bundle-first-hero .buttons {
    margin-top: 18px
  }

  .bundle-first-hero .buttons .button {
    width: 100%
  }

  .bundle-first-hero .visual {
    min-height: 330px
  }

  .bundle-first-hero .stack .product-cover {
    width: 39%;
    max-height: 250px;
    margin: 0 -3%
  }

  .bundle-price-card {
    grid-template-columns: 1fr;
    gap: 8px
  }

  .bundle-price-card .savings-callout {
    grid-column: auto
  }

  .free-sample-grid {
    grid-template-columns: 1fr
  }

  .free-sample-grid article:last-child {
    grid-column: auto;
    max-width: none
  }

  .free-sample-preview {
    height: 300px
  }

  .free-sample-form {
    grid-template-columns: 1fr;
    padding: 20px
  }

  .free-sample-form .button {
    grid-column: auto;
    width: 100%
  }

  .sample-privacy,
  .sample-status {
    grid-column: auto
  }

  .sample-downloads .button {
    width: 100%;
    margin: 5px 0
  }
}

/* Keep conversion refinements authoritative over earlier component defaults. */
.bundle-first-hero .hero-value {
  font: italic 500 clamp(18px, 1.75vw, 23px)/1.3 var(--serif) !important
}

.bundle-first-hero .buttons {
  margin-top: 14px
}

.bundle-first-hero .stack {
  gap: 12px
}

.bundle-first-hero .stack .product-cover {
  width: calc((100% - 24px) / 3);
  margin: 0
}

.home-bundle-panel h2 {
  margin-bottom: 8px
}

.product-sequence .card-reset .card-art {
  background: #f2e6e0
}

.product-sequence .card-confidence .card-art {
  background: #f0dbd7
}

.product-sequence .card-affirmations .card-art {
  background: #ede3d8
}

.bundle-first-hero .buttons,
.bundle-first-hero .bundle-trust {
  justify-content: center;
  text-align: center
}

.bundle-first-hero .buttons {
  flex-direction: column;
  align-items: center
}

.currency-flag {
  width: 22px;
  height: 14px;
  object-fit: cover;
  border: 1px solid #ffffff80;
  border-radius: 1px
}

.payment-logo-list {
  align-items: center
}

.payment-logo-list li {
  min-width: 92px;
  min-height: 50px;
  justify-content: center;
  border-radius: 6px;
  padding: 6px 10px;
  overflow: hidden
}

.payment-logo {
  display: block;
  flex: 0 0 auto;
  background-repeat: no-repeat
}

.logo-visa,
.logo-mastercard,
.logo-zimswitch {
  background-image: url('/assets/pesepay-logos-cards.png');
  background-size: 380px 69px
}

.logo-visa {
  width: 72px;
  height: 34px;
  background-position: -55px -7px
}

.logo-mastercard {
  width: 80px;
  height: 40px;
  background-position: -170px -8px
}

.logo-zimswitch {
  width: 82px;
  height: 40px;
  background-position: -286px -8px
}

.logo-ecocash,
.logo-omari {
  background-image: url('/assets/pesepay-logos-wallets.png');
  background-size: 222px 71px
}

.logo-ecocash {
  width: 82px;
  height: 28px;
  background-position: -42px -17px
}

.logo-omari {
  width: 40px;
  height: 38px;
  background-position: -182px -12px
}

.logo-innbucks {
  width: 88px;
  height: 36px;
  background: url('/assets/pesepay-logo-innbucks.png') center/contain no-repeat
}

@media(max-width:560px) {
  .payment-logo-list li {
    min-width: calc(50% - 4px)
  }
}
