:root {
  --navy: #10243e;
  --navy-soft: #193454;
  --gold: #f2b91d;
  --gold-light: #ffda60;
  --paper: #fffaf0;
  --cream: #f7efdf;
  --text: #17263a;
  --muted: #697383;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--text); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, a { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.announcement { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 7px max(24px, calc((100vw - 1220px)/2)); color: #fff6d8; background: var(--navy); font-size: 9px; font-weight: 600; text-align: center; }
.announcement-message { display: inline-flex; align-items: center; gap: 9px; letter-spacing: .12em; white-space: nowrap; }
.announcement-contact { display: flex; align-items: center; justify-content: flex-end; gap: clamp(10px, 2vw, 25px); color: #fff6d8; font-size: 9px; font-weight: 400; letter-spacing: 0; white-space: nowrap; }
.announcement-contact a { display: inline-flex; align-items: center; gap: 6px; transition: color .2s; }
.announcement-contact a:hover { color: var(--gold-light); }
.announcement-contact a span { color: var(--gold); }
.announcement-question { color: #e4d9bb; }
.announcement-star { color: var(--gold); font-size: 11px; }
.site-header { width: min(1220px, calc(100% - 72px)); height: 94px; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.account-site-header { width: min(1160px, calc(100% - 72px)); height: 78px; }
.account-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: clamp(16px, 3vw, 32px); color: var(--navy); font-size: 10px; font-weight: 700; }
.account-header-actions > a:not(.store-cart-link) { transition: color .2s; }
.account-header-actions > a:not(.store-cart-link):hover { color: #a47400; }
.account-header-actions .store-cart-link { padding: 7px 10px; }
.brand { width: 87px; height: 81px; display: inline-flex; align-items: center; justify-content: center; }
.brand img { width: 100%; height: 100%; display: block; object-fit: contain; }
.site-nav { display: flex; align-items: center; gap: 34px; color: var(--navy); font-size: 11px; font-weight: 600; }
.site-nav > a { transition: color .2s; }
.site-nav > a:hover { color: #a47400; }
.store-cart-link { min-width: 64px; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 11px; border: 1px solid #e9dfcb; border-radius: 24px; color: var(--navy); background: #fffdf8; box-shadow: 0 3px 10px #10243e0b; }
.store-cart-link svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.store-cart-label { font-size: 10px; font-weight: 700; }
.store-cart-count { min-width: 19px; height: 19px; display: inline-grid; place-items: center; border-radius: 50%; color: #fffaf0; background: #a87808; font-size: 9px; font-weight: 700; }
.store-cart-link:hover { border-color: #c7a24c; color: #805f09; box-shadow: 0 5px 14px #10243e16; }
.visually-hidden { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 0 23px; border: 1px solid var(--gold); border-radius: 3px; color: var(--navy); background: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .025em; transition: background .2s, transform .2s, box-shadow .2s; }
.button:hover { background: var(--gold-light); box-shadow: 0 7px 19px #f2b91d36; transform: translateY(-2px); }
.button span { font-size: 17px; }
.button-small { min-height: 42px; padding: 0 17px; font-size: 10px; }
.menu-toggle { display: none; }
.section-wrap { width: min(1160px, calc(100% - 72px)); margin: 0 auto; }
.hero { width: 100%; max-width: none; min-height: 650px; position: relative; overflow: hidden; display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 30px; margin: 0; padding: 60px max(36px, calc((100vw - 1160px)/2)); color: #fffaf0; background: var(--navy); }
.hero::before { content: ""; width: 620px; height: 620px; position: absolute; top: -370px; left: -150px; border: 1px solid #ffffff12; border-radius: 50%; box-shadow: 0 0 0 40px #ffffff08, 0 0 0 80px #ffffff05; }
.hero::after { content: ""; width: 430px; height: 430px; position: absolute; right: -180px; bottom: -260px; border: 1px solid #f2b91d35; border-radius: 50%; box-shadow: 0 0 0 34px #f2b91d0c, 0 0 0 70px #f2b91d09; }
.hero-copy { position: relative; z-index: 1; padding: 12px 0 24px; }
.eyebrow { margin: 0 0 23px; display: flex; align-items: center; gap: 9px; color: #dbbd71; font-size: 9px; font-weight: 700; letter-spacing: .14em; line-height: 1.6; }
.eyebrow-dot { width: 7px; height: 7px; display: inline-block; flex: 0 0 auto; border-radius: 50%; background: var(--gold); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 500; }
.hero h1 { max-width: 610px; margin-bottom: 19px; color: #fffaf0; font-size: clamp(44px, 5.3vw, 70px); line-height: 1.12; letter-spacing: -.045em; }
.hero h1 em { color: var(--gold); font-weight: 500; }
.hero-intro { max-width: 440px; margin-bottom: 26px; color: #d0d4da; font-size: 13px; line-height: 1.9; }
.hero-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.price-note { color: #d0d4da; font-size: 11px; }
.price-note strong { color: #fffaf0; font-size: 15px; }
.price-note > span { padding: 0 4px; color: var(--gold); }
.hero-proof { display: flex; align-items: center; gap: 10px; margin-top: 35px; color: #cdd2d8; }
.proof-star { color: var(--gold); font-size: 19px; }
.hero-proof p { margin: 0; font-size: 10px; line-height: 1.7; }
.hero-proof strong { color: white; font-weight: 500; }
.hero-art { min-height: 485px; position: relative; z-index: 1; display: grid; place-items: center; isolation: isolate; }
.cover-backdrop { width: 385px; height: 435px; position: absolute; z-index: -1; border: 1px solid #f7d26457; border-radius: 48% 48% 7px 7px; background: linear-gradient(155deg,#f2b91d 0%,#f5cd65 46%,#e9a72d 100%); transform: rotate(4deg); }
.book { width: min(370px, 76%); aspect-ratio: 1130 / 1600; position: relative; z-index: 1; overflow: hidden; border: 5px solid #fff9ea; border-radius: 2px 6px 6px 2px; background: #ffa900; box-shadow: 18px 24px 45px #050f1d69, inset 6px 0 8px #10243e30; transform: rotate(-3deg); }
.book::after { content: ""; width: 9px; position: absolute; top: 0; bottom: 0; left: 0; background: linear-gradient(90deg,#10243e35,#ffffff14); pointer-events: none; }
.book-cover-image { width: 100%; height: 100%; display: block; object-fit: contain; }
.book-shadow { width: 315px; height: 24px; position: absolute; bottom: 16px; left: 50%; border-radius: 50%; background: #020b1780; filter: blur(12px); transform: translateX(-50%) rotate(-3deg); }
.cover-sticker {
  width: 118px;
  height: 118px;
  position: absolute;
  z-index: 2;
  top: 38px;
  right: 1px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border: 1px solid #fff8df;
  border-radius: 50%;
  color: var(--navy);
  background: radial-gradient(circle at 34% 25%, #ffe9a0 0, #f2bd43 50%, #dc9b21 100%);
  box-shadow: 0 10px 24px #07152545, inset 0 0 0 4px #fff8df45, inset 0 0 0 6px #a9781438;
  text-align: center;
  transform: rotate(7deg);
}
.cover-sticker::before { content: ""; position: absolute; inset: 10px; border: 1px dashed #73540b8c; border-radius: 50%; pointer-events: none; }
.cover-sticker-top, .cover-sticker-bottom, .cover-sticker-star { position: relative; }
.cover-sticker-top { color: #66500f; font-size: 8px; font-weight: 700; letter-spacing: .2em; }
.cover-sticker-main { position: relative; color: var(--navy); font: 700 12px/1.1 var(--serif); letter-spacing: .035em; }
.cover-sticker-bottom { color: #66500f; font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.cover-sticker-star { color: #79590d; font-size: 13px; line-height: 1; }
.art-caption { position: absolute; z-index: 3; right: 3px; bottom: 23px; display: flex; align-items: center; gap: 11px; padding: 13px 16px; border: 1px solid #ffffff28; border-radius: 3px; color: #e1e4e9; background: #142b48; box-shadow: 0 8px 22px #07152530; font-size: 9px; line-height: 1.7; }
.art-caption strong { color: #fffaf0; font-weight: 600; }
.caption-icon { color: var(--gold); font-size: 20px; }
.hero-library-art .hero-book { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: min(330px, 68%); margin: 0; }
.hero-library-art .hero-book-0 { z-index: 3; transform: translate(-50%, -50%) rotate(-3deg); }
.hero-library-art .hero-book-1 { z-index: 2; transform: translate(-34%, -50%) rotate(8deg) scale(.9); }
.hero-library-art .hero-book-2 { z-index: 1; transform: translate(-66%, -49%) rotate(-11deg) scale(.82); }
.hero-library-art .hero-book:hover, .hero-library-art .hero-book:focus-visible { z-index: 4; transform: translate(-50%, -53%) rotate(0) scale(1.02); }
.hero-library-art .hero-book .book-cover-image { width: 100%; height: 100%; object-fit: contain; }
.hero-library-art .hero-book-title { display: grid; width: 100%; height: 100%; place-items: center; padding: 24px; color: var(--navy); background: linear-gradient(145deg, #fff9e9, #e8d6aa); font: 600 22px/1.3 var(--serif); text-align: center; }
.hero-library-art .hero-book-placeholder { z-index: 1; }
.hero-library-art .art-caption { z-index: 5; }
.trust-strip { min-height: 84px; display: flex; justify-content: center; align-items: center; gap: clamp(20px, 5vw, 75px); padding: 15px 24px; border-bottom: 1px solid #e9dfcb; color: var(--navy); background: var(--paper); font-size: 10px; font-weight: 600; }
.trust-strip span { white-space: nowrap; }
.trust-strip b { margin-right: 8px; color: #a27300; font: 600 9px var(--serif); }
.intro-section { padding-top: 115px; padding-bottom: 112px; }
.section-label { color: #81704b; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.section-label span { padding-left: 5px; color: #b48a16; }
.intro-content { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; margin-top: 23px; align-items: start; }
.intro-content h2, .section-heading h2, .ingredient-copy h2, .final-cta h2 { margin-bottom: 0; color: var(--navy); font-size: clamp(36px, 4vw, 50px); line-height: 1.22; letter-spacing: -.035em; }
.intro-content h2 em, .section-heading h2 em, .ingredient-copy h2 em { color: #a87808; }
.intro-text { padding-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.95; }
.intro-text p { margin-bottom: 15px; }
.signature { display: inline-block; margin-top: 3px; color: var(--navy); font-family: var(--serif); font-size: 17px; font-style: italic; }
.signature span { color: #bb8c18; font-family: var(--sans); font-style: normal; }
.inside-section { position: relative; padding: 92px 0 98px; background: #f5efdf; }
.inside-section::before { content: "✳"; position: absolute; top: 37px; right: max(32px, calc((100vw - 1190px)/2)); color: #e4d5b6; font-size: 42px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 35px; }
.section-heading .eyebrow { margin-bottom: 15px; color: #7e704f; }
.section-heading > p { max-width: 325px; margin: 0 4px 6px 0; color: #697383; font-size: 11px; line-height: 1.9; }
.feature-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.feature-card { min-height: 257px; position: relative; padding: 22px 20px 18px; border: 1px solid #e6dac0; border-radius: 3px; background: #fffdf8; transition: transform .2s, box-shadow .2s; }
.feature-card:hover { box-shadow: 0 13px 28px #30405912; transform: translateY(-4px); }
.feature-number { position: absolute; top: 24px; right: 19px; color: #a69778; font: 600 11px var(--serif); }
.feature-icon { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid #e5d4a8; border-radius: 50%; color: #7c5b07; background: #faf0d2; font-size: 21px; }
.icon-peach, .icon-sage, .icon-yellow, .icon-lilac { color: #7c5b07; background: #faf0d2; }
.feature-card h3 { margin: 19px 0 10px; color: var(--navy); font: 600 18px var(--serif); }
.feature-card p { min-height: 65px; margin-bottom: 12px; color: #697383; font-size: 10px; line-height: 1.8; }
.feature-foot { display: block; padding-top: 10px; border-top: 1px solid #eee7d7; color: #81630e; font-size: 8px; font-weight: 700; letter-spacing: .025em; }
.ingredients-section { min-height: 485px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 85px; padding-top: 62px; padding-bottom: 62px; }
.ingredient-art { width: 350px; height: 350px; position: relative; justify-self: center; display: grid; place-items: center; border: 1px solid #eadcbf; border-radius: 50%; background: #f7efdf; }
.ingredient-circle { width: 220px; height: 220px; display: grid; place-items: center; border: 1px solid #dec98e; border-radius: 50%; color: var(--navy); background: #ffdc68; box-shadow: 0 12px 33px #5e4c1917; }
.ingredient-circle span { font: 100px var(--serif); }
.ingredient-tag { position: absolute; padding: 9px 14px; border: 1px solid #e8dec9; border-radius: 2px; color: var(--navy); background: #fffdf8; box-shadow: 0 5px 16px #5c50300c; font-size: 9px; font-weight: 600; }
.tag-one { top: 29px; left: 104px; transform: rotate(-5deg); }
.tag-two { top: 112px; right: -21px; transform: rotate(5deg); }
.tag-three { bottom: 77px; left: -16px; transform: rotate(-4deg); }
.tag-four { right: 35px; bottom: 21px; transform: rotate(4deg); }
.ingredient-star { position: absolute; top: 68px; right: 63px; color: #a87808; font-size: 25px; }
.ingredient-copy { max-width: 450px; }
.ingredient-copy .eyebrow { margin-bottom: 17px; color: #81704b; }
.ingredient-copy h2 { margin-bottom: 20px; font-size: 42px; }
.ingredient-copy > p:not(.eyebrow) { margin-bottom: 21px; color: #697383; font-size: 11px; line-height: 1.95; }
.ingredient-note { display: flex; gap: 12px; align-items: flex-start; padding: 15px; border-left: 2px solid #d4a41e; background: #f5efdf; }
.ingredient-note span { color: #a87808; }
.ingredient-note p { margin: 0; color: #5d6777; font-size: 10px; line-height: 1.8; }
.testimonial-section { padding: 72px 0 76px; color: #fffaf0; background: var(--navy); text-align: center; }
.testimonial-inner { max-width: 760px; }
.testimonial-section .eyebrow { justify-content: center; margin-bottom: 14px; color: #e0c776; }
.testimonial-section .eyebrow-dot { background: var(--gold); }
.quote-mark { display: block; height: 45px; color: var(--gold); font: 74px/.9 var(--serif); }
.testimonial-section blockquote { max-width: 700px; margin: 0 auto 22px; color: #fffaf0; font: 500 clamp(22px, 3vw, 31px)/1.55 var(--serif); }
.testimonial-rating { margin-top: 14px; color: var(--gold); letter-spacing: .12em; }
.quote-author { display: inline-flex; align-items: center; gap: 10px; text-align: left; }
.quote-author .author-avatar { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #f2b91d78; border-radius: 50%; color: var(--navy); background: var(--gold); font: 600 11px var(--serif); }
.quote-author strong, .quote-author small { display: block; }
.quote-author strong { color: white; font-size: 10px; }
.quote-author small { margin-top: 3px; color: #c3cbd5; font-size: 9px; }
.quote-dots { display: flex; justify-content: center; gap: 6px; margin-top: 22px; }
.quote-dots span { width: 5px; height: 5px; border-radius: 50%; background: #8995a4; }
.quote-dots span:first-child { width: 15px; border-radius: 5px; background: var(--gold); }
.final-cta { min-height: 380px; position: relative; overflow: hidden; margin-top: 75px; margin-bottom: 75px; padding: 62px 24px 52px; border: 1px solid #ead9a9; border-radius: 3px; background: #f5efdf; text-align: center; }
.final-cta::before, .final-cta::after { content: "✳"; position: absolute; color: #e2d2aa; font-size: 90px; }
.final-cta::before { top: 25px; left: 6%; transform: rotate(-16deg); }
.final-cta::after { right: 6%; bottom: 5px; transform: rotate(15deg); }
.final-cta .eyebrow { justify-content: center; margin-bottom: 13px; color: #81704b; }
.final-cta h2 { font-size: 46px; }
.final-cta h2 em { color: #9b7009; }
.final-cta > p:not(.eyebrow) { max-width: 400px; margin: 14px auto 23px; color: #697383; font-size: 11px; line-height: 1.9; }
.button-light { color: var(--navy); }
.cta-small { display: block; margin-top: 12px; color: #697383; font-size: 9px; }
.site-footer { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px max(36px, calc((100% - 1160px)/2)); border-top: 1px solid #e8dfcf; background: #fffdf8; }
.footer-brand { width: 72px; height: 65px; }
.site-footer p, .copyright { margin: 0; color: #697383; font-size: 9px; }
.site-footer p span { color: #a87808; }
.modal-backdrop { position: fixed; z-index: 10; inset: 0; display: grid; place-items: center; overflow-y: auto; padding: 24px; background: #0a1727df; backdrop-filter: blur(5px); }
.modal-open { overflow: hidden; }
.modal-backdrop[hidden] { display: none; }
.checkout-modal { width: min(100%, 470px); max-height: calc(100vh - 48px); position: relative; overflow-y: auto; padding: 32px; border: 1px solid #ecdfc3; border-radius: 4px; background: var(--paper); box-shadow: 0 22px 70px #07152559; }
.modal-close { width: 35px; height: 35px; position: absolute; top: 16px; right: 16px; border: 1px solid #e7ddc8; border-radius: 50%; color: var(--navy); background: #f5efdf; font-size: 22px; line-height: 1; }
.checkout-modal .eyebrow { margin-bottom: 13px; color: #80651c; font-size: 8px; }
.checkout-modal h2 { margin-bottom: 7px; color: var(--navy); font-size: 31px; }
.checkout-description { margin-bottom: 18px; color: #697383; font-size: 10px; }
.checkout-item-summary { max-height: 112px; margin: -7px 0 16px; overflow-y: auto; color: #697383; font-size: 10px; line-height: 1.7; }
.checkout-reader-note { margin: 12px 0 16px; padding: 12px 14px; border-left: 3px solid #c99b21; border-radius: 4px; background: #f5efdf; color: #26364a; font-size: 13px; line-height: 1.6; }
.checkout-reader-note a { color: #0f766e; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.checkout-total { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; border-top: 1px solid #e9dfcb; border-bottom: 1px solid #e9dfcb; color: #697383; font-size: 10px; }
.checkout-total strong { color: var(--navy); font: 600 20px var(--serif); }
.checkout-registration[hidden], .checkout-payment[hidden] { display: none; }
.registration-form { margin-top: 18px; }
.registration-form > label { display: block; margin: 13px 0 6px; color: var(--navy); font-size: 10px; font-weight: 600; }
.registration-form > input, .phone-input-group input, .phone-input-group select { min-height: 43px; border: 1px solid #ded4bf; border-radius: 3px; color: var(--navy); background: #fffdf8; font: inherit; font-size: 12px; }
.registration-form > input { width: 100%; padding: 0 12px; }
.registration-form input:focus, .phone-input-group select:focus { border-color: #b58a25; outline: 2px solid #f2b91d40; }
.phone-input-group { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 7px; }
.phone-input-group select { width: 100%; padding: 0 5px; }
.phone-input-group input { width: 100%; min-width: 0; padding: 0 11px; }
.registration-form small { display: block; margin-top: 6px; color: #697383; font-size: 9px; line-height: 1.5; }
.registration-privacy { margin: 12px 0; color: #697383; font-size: 9px; line-height: 1.55; }
.registration-message { margin: 9px 0 0; color: #9c3027; font-size: 10px; line-height: 1.5; }
.registration-message:empty { display: none; }
.registration-form .verify-button { margin-top: 3px; }
.payment-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin: 18px 0 15px; padding: 4px; border-radius: 3px; background: #f2ecdf; }
.payment-tab { min-height: 38px; border: 0; border-radius: 2px; color: #697383; background: transparent; font-size: 10px; font-weight: 600; }
.payment-tab.is-active { color: var(--navy); background: #fffdf8; box-shadow: 0 2px 6px #263a3012; }
.payment-panel[hidden] { display: none; }
.panel-intro { margin-bottom: 12px; color: #697383; font-size: 10px; line-height: 1.7; }
.paybill-details { padding: 4px 13px; border: 1px solid #e7ddc9; border-radius: 3px; background: #fffdf8; }
.paybill-details > div { min-height: 39px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #efe9dc; }
.paybill-details > div:last-child { border-bottom: 0; }
.paybill-details span { flex: 1; color: #697383; font-size: 9px; }
.paybill-details strong { color: var(--navy); font-size: 10px; }
.copy-button { padding: 5px 8px; border: 1px solid #e7d69f; border-radius: 2px; color: #735600; background: #fff6d9; font-size: 8px; }
.pay-steps { padding-left: 17px; margin: 13px 0; color: #697383; font-size: 9px; line-height: 1.9; }
.pay-steps strong { color: var(--navy); }
.payment-note { margin: 10px 0 13px; padding: 9px 10px; border-left: 2px solid #c99b21; color: #697383; background: #f5efdf; font-size: 9px; line-height: 1.65; }
.verify-button { width: 100%; min-height: 45px; font-size: 10px; }
.card-placeholder { padding: 14px 8px 4px; text-align: center; }
.card-symbol { color: #a87808; font-size: 28px; }
.card-placeholder h3 { margin: 5px 0 7px; color: var(--navy); font: 600 18px var(--serif); }
.card-placeholder p { max-width: 315px; margin: 0 auto 12px; color: #697383; font-size: 10px; line-height: 1.7; }
.checkout-message { min-height: 0; margin: 10px 0 0; color: #805500; font-size: 9px; line-height: 1.6; }
.checkout-message:empty { display: none; }
.secure-note { display: flex; justify-content: center; gap: 6px; margin: 12px 0 0; padding-top: 11px; border-top: 1px solid #e9dfcb; color: #697383; font-size: 8px; text-align: center; }
.secure-note span { color: #a87808; }

@media (max-width: 900px) {
  .site-header, .section-wrap { width: min(100% - 44px, 720px); }
  .site-nav { gap: 20px; }
  .hero { width: 100%; min-height: 590px; grid-template-columns: 1.05fr .95fr; gap: 8px; padding: 48px 32px; }
  .hero-copy { padding-left: 0; }
  .hero h1 { font-size: 50px; }
  .hero-art { min-height: 405px; }
  .cover-backdrop { width: 300px; height: 360px; }
  .book { width: min(250px, 72%); }
  .cover-sticker { width: 98px; height: 98px; right: -5px; }
  .cover-sticker::before { inset: 8px; }
  .cover-sticker-top, .cover-sticker-bottom { font-size: 7px; }
  .cover-sticker-main { font-size: 10px; }
  .cover-sticker-star { font-size: 11px; }
  .art-caption { right: -6px; bottom: 2px; }
  .trust-strip { gap: 24px; font-size: 9px; }
  .feature-grid { grid-template-columns: repeat(2,1fr); }
  .feature-card { min-height: 225px; }
  .ingredients-section { gap: 45px; }
  .ingredient-art { width: 290px; height: 290px; }
  .ingredient-circle { width: 180px; height: 180px; }
  .ingredient-circle span { font-size: 78px; }
  .tag-two { right: -12px; }
  .tag-three { left: -10px; }
}
@media (max-width: 640px) {
  .announcement { min-height: 51px; justify-content: center; gap: 0; padding: 6px 8px; }
  .announcement-message { display: none; }
  .announcement-contact { width: 100%; flex-wrap: wrap; justify-content: center; gap: 3px 12px; font-size: 7px; }
  .announcement-question { display: block; flex-basis: 100%; padding-bottom: 3px; color: #e4d9bb; font-size: 8px; }
  .site-header { width: calc(100% - 36px); height: 80px; }
  .brand { width: 69px; height: 66px; }
  .menu-toggle { width: 40px; height: 40px; display: grid; align-content: center; gap: 6px; border: 1px solid #e9dfcb; border-radius: 2px; background: transparent; }
  .menu-toggle span { width: 17px; height: 1px; display: block; margin: 0 auto; background: var(--navy); }
  .site-nav { position: absolute; z-index: 5; top: 114px; right: 15px; left: 15px; display: none; align-items: stretch; gap: 0; padding: 10px 18px 16px; border: 1px solid #e9dfcb; border-radius: 3px; background: #fffdf8; box-shadow: 0 12px 25px #10243e1f; }
  .site-nav.is-open { display: flex; flex-direction: column; }
  .site-nav > a { padding: 13px 0; border-bottom: 1px solid #eee8dc; }
  .site-nav .button { align-self: flex-start; margin-top: 13px; }
  .section-wrap { width: calc(100% - 40px); }
  .hero { width: 100%; min-height: 0; grid-template-columns: 1fr; gap: 5px; padding: 52px 22px 35px; }
  .hero-copy { padding: 0; text-align: center; }
  .hero-copy .eyebrow, .hero-actions, .hero-proof { justify-content: center; }
  .hero-copy .eyebrow { max-width: 325px; margin: 0 auto 17px; font-size: 8px; }
  .hero h1 { max-width: 520px; margin: 0 auto 15px; font-size: clamp(42px, 11vw, 58px); }
  .hero-intro { max-width: 400px; margin: 0 auto 20px; font-size: 12px; }
  .hero-proof { margin-top: 17px; }
  .hero-art { min-height: 395px; margin-top: 0; }
  .cover-backdrop { width: 285px; height: 340px; }
  .book { width: min(228px, 68%); }
  .cover-sticker { width: 94px; height: 94px; top: 26px; right: max(5px, calc(50% - 151px)); }
  .cover-sticker::before { inset: 8px; }
  .cover-sticker-top, .cover-sticker-bottom { font-size: 6px; }
  .cover-sticker-main { font-size: 9px; }
  .cover-sticker-star { font-size: 10px; }
  .book-shadow { bottom: 17px; width: 255px; }
  .art-caption { right: max(0px, calc(50% - 177px)); bottom: -1px; padding: 10px 13px; }
  .trust-strip { min-height: 91px; display: grid; grid-template-columns: 1fr 1fr; justify-items: start; gap: 11px 14px; padding: 15px 21px; font-size: 8px; }
  .trust-strip span { white-space: normal; }
  .trust-strip b { margin-right: 5px; }
  .intro-section { padding-top: 71px; padding-bottom: 72px; }
  .intro-content { grid-template-columns: 1fr; gap: 17px; margin-top: 17px; }
  .intro-content h2, .section-heading h2 { font-size: 37px; }
  .intro-text { padding-top: 0; }
  .inside-section { padding: 68px 0 72px; }
  .section-heading { display: block; margin-bottom: 24px; }
  .section-heading > p { max-width: 400px; margin-top: 13px; }
  .feature-grid { gap: 9px; }
  .feature-card { min-height: 222px; padding: 17px 13px 13px; }
  .feature-number { top: 17px; right: 13px; }
  .feature-card h3 { margin-top: 14px; font-size: 15px; }
  .feature-card p { min-height: 69px; font-size: 9px; }
  .feature-foot { font-size: 7px; }
  .ingredients-section { grid-template-columns: 1fr; gap: 37px; padding-top: 67px; padding-bottom: 67px; }
  .ingredient-art { width: min(300px, 85vw); height: min(300px, 85vw); }
  .ingredient-copy h2 { font-size: 36px; }
  .testimonial-section { padding: 56px 0 61px; }
  .testimonial-section blockquote { font-size: 23px; }
  .home-ebooks-section, .home-articles-section { padding: 62px 0 67px; }
  .home-ebooks-section .section-heading, .home-articles-section .section-heading { margin-bottom: 22px; }
  .home-ebooks-section .section-heading h2, .home-articles-section .section-heading h2 { font-size: 36px; }
  .home-ebooks-section .section-heading > p, .home-articles-section .section-heading > p { margin-top: 12px; }
  .home-ebook-grid { gap: 10px; }
  .home-ebook-art { height: 190px; }
  .home-ebook-art img { padding: 12px; }
  .home-ebook-copy { padding: 13px 11px 12px; }
  .home-ebook-copy h3 { min-height: 0; font-size: 14px; }
  .home-ebook-author { min-height: 0; font-size: 8px; }
  .home-ebook-description { min-height: 0; margin-bottom: 10px; font-size: 8px; }
  .home-ebook-footer > strong, .home-ebook-footer > span { font-size: 11px; }
  .home-ebook-footer a { font-size: 8px; }
  .home-articles-section .home-article-grid { grid-template-columns: 1fr; }
  .wb-feature-grid.wb-feature-grid-books { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wb-feature-grid.wb-feature-grid-books .wb-feature-item { padding: 12px; }
  .wb-feature-grid.wb-feature-grid-books .wb-feature-item img { height: 190px; }
  .final-cta { width: calc(100% - 28px); min-height: 360px; margin-top: 43px; margin-bottom: 43px; padding: 56px 18px 43px; }
  .final-cta h2 { font-size: 38px; }
  .final-cta::before { top: 8px; left: 2%; font-size: 51px; }
  .final-cta::after { right: 2%; bottom: -4px; font-size: 54px; }
  .site-footer { flex-wrap: wrap; justify-content: space-between; padding: 20px; }
  .footer-brand { width: 62px; height: 58px; }
  .site-footer p { order: 3; width: 100%; }
  .copyright { font-size: 8px; }
  .checkout-modal { max-height: calc(100dvh - 32px); padding: 27px 20px 20px; }
}
.footer-contact a:hover { color: #94700e; }
.site-nav a[aria-current="page"] { color: #94700e; }
.footer-contact { display: flex; flex-direction: column; gap: 5px; color: #697383; font-size: 9px; }
.whatsapp-float { width: 58px; height: 58px; position: fixed; z-index: 8; right: 24px; bottom: 24px; display: grid; place-items: center; border: 3px solid #fffdf8; border-radius: 50%; background: #25d366; box-shadow: 0 5px 20px #10243e38; transition: transform .2s, box-shadow .2s; }
.whatsapp-float:hover { box-shadow: 0 8px 26px #10243e52; transform: translateY(-3px) scale(1.04); }
.whatsapp-float svg { width: 31px; height: 31px; fill: white; }
.editorial-hero { min-height: 332px; position: relative; overflow: hidden; display: grid; align-items: center; padding: 58px max(36px, calc((100vw - 1100px)/2)); color: #fffaf0; background: var(--navy); }
.editorial-hero::before { content: ""; width: 420px; height: 420px; position: absolute; top: -255px; right: 13%; border: 1px solid #f2b91d50; border-radius: 50%; box-shadow: 0 0 0 32px #f2b91d0d, 0 0 0 66px #f2b91d0a; }
.editorial-hero-inner { max-width: 740px; position: relative; z-index: 1; }
.editorial-hero .eyebrow { margin-bottom: 13px; }
.editorial-hero h1 { margin-bottom: 13px; color: #fffaf0; font-size: clamp(43px, 6vw, 66px); line-height: 1.12; letter-spacing: -.04em; }
.editorial-hero h1 em { color: var(--gold); }
.editorial-hero-inner > p:last-child { max-width: 570px; margin-bottom: 0; color: #d0d4da; font-size: 12px; line-height: 1.85; }
.editorial-flower { position: absolute; right: max(10%, calc((100vw - 1100px)/2)); bottom: 30px; color: #f2b91d; font: 100px var(--serif); opacity: .8; }
.articles-content { padding-top: 78px; padding-bottom: 88px; }
.articles-intro { max-width: 620px; margin-bottom: 28px; }
.articles-intro h2, .faq-intro h2 { margin: 12px 0 0; color: var(--navy); font: 500 clamp(32px, 4vw, 43px)/1.25 var(--serif); letter-spacing: -.035em; }
.articles-intro h2 em, .faq-intro h2 em { color: #a87808; }
.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.article-card { overflow: hidden; border: 1px solid #e9dfcb; border-radius: 3px; background: #fffdf8; transition: box-shadow .2s, transform .2s; }
.article-card:hover { box-shadow: 0 12px 28px #10243e13; transform: translateY(-3px); }
.article-art { height: 152px; position: relative; display: grid; place-items: center; overflow: hidden; background: #f4e8cb; }
.article-art::before, .article-art::after { content: ""; position: absolute; border: 1px solid #10243e18; border-radius: 50%; }
.article-art::before { width: 190px; height: 190px; }
.article-art::after { width: 142px; height: 142px; }
.article-art .article-cover-image { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.article-art span { position: absolute; top: 13px; left: 15px; color: #756333; font: 600 10px var(--serif); }
.article-art b { position: relative; z-index: 1; color: var(--navy); font: 58px var(--serif); }
.art-bowl { background: #f3e3c2; }
.art-plan { background: #e9ecdc; }
.art-support { background: #efe4d6; }
.article-card-copy { padding: 20px 19px 19px; }
.article-category { margin: 0 0 10px; color: #84640b; font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.article-category span { padding: 0 3px; color: #b08b29; }
.article-card h3 { margin: 0 0 9px; color: var(--navy); font: 600 19px/1.35 var(--serif); }
.article-card-copy > p:not(.article-category) { min-height: 59px; margin-bottom: 14px; color: #697383; font-size: 10px; line-height: 1.8; }
.article-art { color: inherit; text-decoration: none; }
.article-art > span { z-index: 1; padding: 5px 8px; border-radius: 20px; color: #fffaf0; background: #10243ebd; font: 600 9px var(--sans); letter-spacing: .06em; }
.article-card h3 a { transition: color .2s ease; }
.article-card h3 a:hover { color: #94700e; }
.article-card-copy .article-byline { min-height: 0; margin: 0 0 11px; color: #8b7860; font-size: 9px; line-height: 1.6; }
.article-card-copy .article-excerpt { min-height: 0; margin-bottom: 14px; color: #697383; font-size: 10px; line-height: 1.8; }
.articles-empty { grid-column: 1 / -1; padding: 52px 24px; border: 1px solid #e9dfcb; background: #fffdf8; text-align: center; }
.articles-empty > span { color: #a87808; font-size: 26px; }
.articles-empty h3 { margin: 12px 0 8px; color: var(--navy); font: 500 25px/1.35 var(--serif); }
.articles-empty p { margin: 0; color: #697383; font-size: 11px; line-height: 1.8; }
.blog-detail-page { padding-bottom: 72px; background: #fffdf8; }
.blog-detail-hero { position: relative; overflow: hidden; padding: 30px 24px 0; color: #fffaf0; background: radial-gradient(ellipse at 85% 5%, #2d4562 0, transparent 38%), var(--navy); }
.blog-detail-hero::before { content: ""; width: 440px; height: 440px; position: absolute; top: -280px; left: -150px; border: 1px solid #f2b91d38; border-radius: 50%; box-shadow: 0 0 0 34px #f2b91d0b, 0 0 0 70px #f2b91d07; pointer-events: none; }
.blog-detail-hero-inner { width: min(960px, 100%); position: relative; z-index: 1; margin: 0 auto; }
.blog-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: #e5d8b8; font-size: 10px; }
.blog-breadcrumb a { transition: color .2s ease; }
.blog-breadcrumb a:hover { color: var(--gold-light); }
.blog-breadcrumb > span { color: var(--gold); }
.blog-back-link { display: inline-flex; align-items: center; gap: 9px; color: #e5d8b8; font-size: 10px; font-weight: 600; transition: color .2s ease; }
.blog-back-link:hover { color: var(--gold-light); }
.blog-back-link span { color: var(--gold); font-size: 17px; }
.blog-detail-heading { max-width: 790px; margin: 35px 0 42px; }
.blog-detail-heading .eyebrow { margin-bottom: 17px; }
.blog-detail-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.blog-detail-tags span { padding: 6px 11px; border: 1px solid #e2b96358; border-radius: 30px; color: #f3d88f; background: #ffffff08; font-size: 9px; font-weight: 600; }
.blog-detail-heading h1 { max-width: 790px; margin: 0; color: #fffaf0; font: 500 clamp(37px, 5.2vw, 61px)/1.12 var(--serif); letter-spacing: -.04em; overflow-wrap: anywhere; }
.blog-detail-summary { max-width: 690px; margin: 20px 0 0; color: #d3dbe4; font-size: 13px; line-height: 1.9; }
.blog-detail-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 23px; color: #d4dce5; font-size: 10px; }
.blog-detail-meta strong { color: #fffaf0; font-weight: 600; }
.blog-detail-meta time { color: #e5ca84; }
.blog-author-mark { width: 30px; height: 30px; display: inline-grid; place-items: center; border: 1px solid #e2b96370; border-radius: 50%; color: var(--navy); background: var(--gold); font: 600 13px var(--serif); }
.blog-meta-separator { color: var(--gold); }
.blog-detail-cover { width: 100%; height: clamp(230px, 42vw, 440px); position: relative; overflow: hidden; margin: 0; border: 1px solid #f4d58166; border-bottom: 0; border-radius: 5px 5px 0 0; background: linear-gradient(135deg, #f4e8cb, #e9dfcf); box-shadow: 0 24px 48px #07152535; }
.blog-detail-cover img { width: 100%; height: 100%; display: block; object-fit: cover; }
.blog-detail-cover figcaption { position: absolute; right: 17px; bottom: 16px; max-width: calc(100% - 34px); padding: 8px 13px; border: 1px solid #ffffff38; border-radius: 30px; color: #fffaf0; background: #10243ec9; font-size: 9px; }
.blog-detail-content { width: min(960px, calc(100% - 48px)); display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: clamp(35px, 7vw, 82px); align-items: start; margin: 0 auto; padding: 60px 0 30px; }
.blog-story { min-width: 0; }
.blog-story-kicker { display: flex; align-items: center; gap: 9px; margin: 0 0 24px; color: #876919; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.blog-story-kicker span { color: #b78d25; font-size: 15px; }
.blog-prose { color: #4f5d6d; font-size: 14px; line-height: 2; overflow-wrap: anywhere; }
.blog-prose p { margin: 0 0 1.35em; }
.blog-prose h1, .blog-prose h2, .blog-prose h3, .blog-prose h4, .blog-prose h5, .blog-prose h6 { margin: 1.65em 0 .65em; color: var(--navy); font-family: var(--serif); font-weight: 600; line-height: 1.35; letter-spacing: -.02em; }
.blog-prose h1 { font-size: 1.8em; }
.blog-prose h2 { font-size: 1.65em; }
.blog-prose h3 { font-size: 1.4em; }
.blog-prose h4, .blog-prose h5, .blog-prose h6 { font-size: 1.2em; }
.blog-prose ul, .blog-prose ol { display: grid; gap: 9px; margin: 0 0 1.5em; padding-left: 1.65em; }
.blog-prose li { padding-left: .3em; }
.blog-prose li::marker { color: #a87808; font-weight: 700; }
.blog-prose blockquote { margin: 1.6em 0; padding: 17px 21px; border-left: 3px solid var(--gold); color: var(--navy); background: #f6f0e2; font: italic 17px/1.8 var(--serif); }
.blog-prose a { color: #84620e; text-decoration: underline; text-decoration-color: #d9c48d; text-underline-offset: 3px; }
.blog-prose strong, .blog-prose b { color: #26364a; font-weight: 700; }
.blog-prose hr { height: 1px; margin: 2em 0; border: 0; background: #e7dfd1; }
.blog-prose br + br { display: block; margin-top: .8em; content: ""; }
.blog-content-unavailable { color: #697383; font-size: 12px; line-height: 1.9; }
.blog-health-note { margin: 30px 0 0; padding: 16px 18px; border-left: 3px solid var(--gold); color: #727b87; background: #f6f0e2; font-size: 10px; line-height: 1.8; }
.blog-detail-aside { position: sticky; top: 24px; overflow: hidden; padding: 25px 22px 27px; border: 1px solid #e9dfcb; background: #f7f0e2; }
.blog-aside-flower { position: absolute; top: 7px; right: 13px; color: #b78d2525; font: 58px var(--serif); }
.blog-detail-aside .section-label { position: relative; margin-bottom: 13px; font-size: 8px; line-height: 1.7; }
.blog-detail-aside h2 { position: relative; margin: 0 0 11px; color: var(--navy); font: 500 25px/1.3 var(--serif); letter-spacing: -.025em; }
.blog-detail-aside > p:not(.section-label) { margin: 0 0 18px; color: #697383; font-size: 10px; line-height: 1.85; }
.blog-detail-aside .button { min-height: 42px; gap: 12px; padding: 0 13px; }
.blog-detail-footer-link { width: min(960px, calc(100% - 48px)); margin: 10px auto 0; padding-top: 25px; border-top: 1px solid #e9dfcb; }
.blog-missing { min-height: 410px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 65px 24px; text-align: center; }
.blog-missing > span { color: #a87808; font-size: 32px; }
.blog-missing .section-label { margin: 15px 0 11px; }
.blog-missing h1 { margin: 0 0 12px; color: var(--navy); font: 500 clamp(33px, 5vw, 46px)/1.2 var(--serif); }
.blog-missing > p:not(.section-label) { max-width: 440px; margin: 0 0 22px; color: #697383; font-size: 11px; line-height: 1.9; }
.article-link { display: inline-flex; gap: 9px; align-items: center; color: var(--navy); font-size: 9px; font-weight: 700; }
.article-link span { color: #94700e; font-size: 15px; transition: transform .2s; }
.article-link:hover span { transform: translateX(4px); }
.article-readings { max-width: 820px; margin: 67px auto 0; }
.reading-article { padding: 34px 0 37px; border-top: 1px solid #e9dfcb; scroll-margin-top: 25px; }
.reading-article .article-category { margin-bottom: 11px; }
.reading-article h2 { max-width: 700px; margin: 0 0 17px; color: var(--navy); font: 500 clamp(27px, 3vw, 36px)/1.3 var(--serif); }
.reading-article h3 { margin: 22px 0 8px; color: var(--navy); font: 600 18px var(--serif); }
.reading-article > p:not(.article-category), .reading-article li { color: #626e7e; font-size: 11px; line-height: 1.9; }
.reading-article > p:not(.article-category) { margin-bottom: 13px; }
.reading-article ul { padding-left: 20px; }
.reading-article li { margin-bottom: 7px; padding-left: 4px; }
.article-callout { margin-top: 20px; padding: 16px 19px; border-left: 3px solid var(--gold); color: var(--navy); background: #f5efdf; font: italic 15px/1.7 var(--serif); }
.editorial-disclaimer { margin: 18px 0 0; padding: 16px; border: 1px solid #e9dfcb; color: #737b86; font-size: 9px; line-height: 1.8; }
.editorial-cta { padding: 63px 24px 69px; color: #fffaf0; background: var(--navy); text-align: center; }
.editorial-cta .eyebrow { justify-content: center; margin-bottom: 12px; }
.editorial-cta h2 { margin-bottom: 11px; color: #fffaf0; font: 500 clamp(30px, 4vw, 42px)/1.25 var(--serif); }
.editorial-cta h2 em { color: var(--gold); }
.editorial-cta > p:not(.eyebrow) { max-width: 440px; margin: 0 auto 21px; color: #d0d4da; font-size: 11px; line-height: 1.8; }
.faq-hero { min-height: 320px; }
.faq-contact-link { display: inline-flex; gap: 10px; margin-top: 18px; color: var(--gold); font-size: 10px; font-weight: 600; }
.faq-contact-link span { font-size: 15px; }
.faq-content { display: grid; grid-template-columns: .8fr 1.2fr; gap: 78px; padding-top: 83px; padding-bottom: 100px; align-items: start; }
.faq-intro { position: sticky; top: 30px; }
.faq-intro > p:last-child { max-width: 290px; margin-top: 14px; color: #697383; font-size: 11px; line-height: 1.8; }
.faq-list { border-top: 1px solid #e8dfcf; }
.faq-item { border-bottom: 1px solid #e8dfcf; }
.faq-item summary { position: relative; padding: 20px 35px 20px 2px; color: var(--navy); cursor: pointer; font: 600 16px/1.5 var(--serif); list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; top: 17px; right: 4px; color: #94700e; font: 400 23px var(--sans); }
.faq-item[open] summary::after { content: "−"; }
.faq-item summary:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.faq-answer { padding: 0 35px 17px 2px; }
.faq-answer p { margin: 0 0 10px; color: #697383; font-size: 10px; line-height: 1.9; }
.faq-answer p:last-child { margin-bottom: 0; }
.faq-answer strong { color: var(--navy); }
.faq-answer a { color: #82610b; text-decoration: underline; text-underline-offset: 2px; }
.product-hero { position: relative; overflow: hidden; color: #fffaf0; background: var(--navy); }
.product-hero::before { content: ""; width: 570px; height: 570px; position: absolute; top: -355px; right: 7%; border: 1px solid #f2b91d40; border-radius: 50%; box-shadow: 0 0 0 38px #f2b91d0b, 0 0 0 78px #f2b91d08; }
.product-hero-inner { width: min(1080px, calc(100% - 72px)); min-height: 590px; position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(40px, 8vw, 120px); margin: 0 auto; padding: 55px 0 61px; }
.product-cover-stage { min-height: 480px; position: relative; display: grid; place-items: center; }
.product-cover-halo { width: 390px; height: 440px; position: absolute; border: 1px solid #f2b91d48; border-radius: 50% 50% 4px 4px; background: linear-gradient(145deg,#f2b91d,#f5d26c 68%,#d99826); transform: rotate(4deg); }
.product-cover { width: min(345px, 80%); max-height: 490px; position: relative; z-index: 1; display: block; border: 5px solid #fff9ea; background: #ffa900; box-shadow: 18px 25px 46px #050f1d75; transform: rotate(-3deg); }
.product-cover-note {
  width: 112px;
  height: 112px;
  position: absolute;
  z-index: 2;
  top: 38px;
  right: 2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border: 1px solid #fff8df;
  border-radius: 50%;
  color: var(--navy);
  background: radial-gradient(circle at 34% 25%, #ffe9a0 0, #f2bd43 50%, #dc9b21 100%);
  box-shadow: 0 10px 24px #07152545, inset 0 0 0 4px #fff8df45, inset 0 0 0 6px #a9781438;
  text-align: center;
  transform: rotate(7deg);
}
.product-cover-note::before { content: ""; position: absolute; inset: 10px; border: 1px dashed #73540b8c; border-radius: 50%; pointer-events: none; }
.product-cover-note-top { position: relative; color: #66500f; font-size: 7px; font-weight: 700; letter-spacing: .16em; }
.product-cover-note-main { position: relative; color: var(--navy); font: 700 14px/1.1 var(--serif); letter-spacing: .045em; }
.product-cover-note-star { position: relative; color: #79590d; font-size: 14px; line-height: 1; }
.product-copy { max-width: 550px; position: relative; z-index: 1; padding: 20px 0; }
.product-copy .eyebrow { margin-bottom: 18px; }
.product-copy h1 { margin: 0; color: #fffaf0; font-size: clamp(55px, 7vw, 83px); line-height: .99; letter-spacing: -.045em; }
.product-copy h1 em { color: var(--gold); font-weight: 500; }
.product-subtitle { margin: 16px 0 19px; color: #f1d989; font: 500 17px/1.5 var(--serif); }
.product-author { margin: -7px 0 14px; color: #e5d8b8; font-size: 10px; letter-spacing: .035em; }
.product-description { max-width: 470px; margin-bottom: 20px; color: #d0d4da; font-size: 11px; line-height: 1.95; }
.product-price { display: flex; align-items: baseline; gap: 12px; margin: 20px 0 16px; }
.product-price strong { color: #fffaf0; font: 600 27px var(--serif); }
.product-price span { color: #d0d4da; font-size: 9px; }
.product-buy-button { min-height: 53px; }
.product-delivery { display: flex; align-items: center; gap: 8px; margin: 13px 0 0; color: #e5d8b8; font-size: 9px; }
.product-delivery span { color: var(--gold); }
.product-details { padding-top: 91px; padding-bottom: 91px; }
.product-detail-intro { max-width: 670px; margin: 0 auto 35px; text-align: center; }
.product-detail-intro h2, .product-for h2 { margin: 12px 0 13px; color: var(--navy); font: 500 clamp(34px, 4vw, 46px)/1.25 var(--serif); letter-spacing: -.03em; }
.product-detail-intro h2 em { color: #a87808; }
.product-detail-intro > p:last-child { margin-bottom: 0; color: #697383; font-size: 11px; line-height: 1.9; }
.product-detail-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.product-detail-card { min-height: 195px; padding: 21px 17px; border: 1px solid #e8dfcf; background: #fffdf8; }
.product-detail-card > span { color: #9a7615; font: 600 12px var(--serif); }
.product-detail-card h3 { margin: 14px 0 8px; color: var(--navy); font: 600 17px/1.4 var(--serif); }
.product-detail-card p { margin: 0; color: #697383; font-size: 9px; line-height: 1.8; }
.product-for { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; margin-top: 76px; padding: 36px 40px; background: #f5efdf; }
.product-for h2 { max-width: 420px; margin-bottom: 0; font-size: 36px; }
.product-for ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.product-for li { position: relative; padding-left: 24px; color: #566477; font-size: 10px; line-height: 1.7; }
.product-for li::before { content: "✳"; position: absolute; left: 0; color: #94700e; }
.product-bottom-cta { padding: 65px 24px 70px; color: #fffaf0; background: var(--navy); text-align: center; }
.product-bottom-cta .eyebrow { justify-content: center; margin-bottom: 14px; }
.product-bottom-cta h2 { margin-bottom: 11px; color: #fffaf0; font: 500 clamp(31px, 4vw, 43px)/1.3 var(--serif); }
.product-bottom-cta > p:not(.eyebrow) { margin-bottom: 21px; color: #d0d4da; font-size: 11px; }
.product-bottom-note { display: block; margin-top: 12px; color: #c3cbd5; font-size: 8px; }
.home-ebooks-section { padding: 88px 0 92px; background: #f5efdf; }
.home-ebooks-section .section-heading, .home-articles-section .section-heading { align-items: end; margin-bottom: 31px; }
.home-ebooks-section .section-heading .eyebrow, .home-articles-section .section-heading .eyebrow { margin-bottom: 14px; color: #7e704f; }
.home-ebooks-section .section-heading h2, .home-articles-section .section-heading h2 { margin: 0; color: var(--navy); font: 500 clamp(34px, 4vw, 48px)/1.22 var(--serif); letter-spacing: -.035em; }
.home-ebooks-section .section-heading h2 em, .home-articles-section .section-heading h2 em { color: #a87808; }
.home-ebooks-section .section-heading > p, .home-articles-section .section-heading > p { max-width: 350px; margin: 0 0 5px; color: #697383; font-size: 11px; line-height: 1.9; }
.home-ebook-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.home-ebook-card { min-width: 0; position: relative; display: block; overflow: hidden; border: 1px solid #e6dac0; border-radius: 5px; background: #fffdf8; text-decoration: none; transition: box-shadow .2s, transform .2s; }
.home-ebook-card:hover, .home-ebook-card:focus-visible { box-shadow: 0 13px 28px #30405924; transform: translateY(-4px); }
.home-ebook-card:focus-visible { outline: 3px solid #a87808; outline-offset: 3px; }
.home-ebook-art { height: 340px; position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(ellipse at 50% 42%, #fffdf6 0, #eee2c5 80%); }
.home-ebook-card .home-ebook-art > img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: 100%; max-height: 100%; display: block; padding: 13px; object-fit: contain; }
.home-ebook-placeholder { color: #b48a16; font: 62px var(--serif); }
.home-ebook-copy { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 15px; color: #fffaf0; background: linear-gradient(180deg, #10243e00 20%, #10243e19 43%, #10243eed 100%); opacity: 0; transform: translateY(8px); transition: opacity .22s ease, transform .22s ease; }
.home-ebook-card:hover .home-ebook-copy, .home-ebook-card:focus-visible .home-ebook-copy { opacity: 1; transform: translateY(0); }
.home-ebook-number { align-self: flex-start; margin-bottom: auto; padding: 5px 8px; border: 1px solid #fffaf055; border-radius: 20px; color: #fffaf0; background: #10243e9c; font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.home-ebook-copy-content { display: flex; flex-direction: column; gap: 6px; }
.home-ebook-title { color: #fffaf0; font: 600 19px/1.35 var(--serif); }
.home-ebook-author { color: #f1dfb4; font-size: 9px; }
.home-ebook-description { color: #ece9e1; font-size: 9px; line-height: 1.65; }
.home-ebook-footer { min-height: 33px; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 5px; padding-top: 9px; border-top: 1px solid #fffaf04d; }
.home-ebook-footer > strong, .home-ebook-footer > span { color: var(--navy); font: 600 13px var(--serif); }
.home-ebook-footer > strong, .home-ebook-footer > span:first-child { color: #fffaf0; }
.home-ebook-footer > .home-ebook-explore { color: #f3d88f; font: 700 9px var(--sans); white-space: nowrap; }
.home-ebook-explore > span { padding-left: 4px; font-size: 14px; }
.text-link { color: #81620d; font-size: 9px; font-weight: 700; white-space: nowrap; }
.home-ebook-footer a span, .text-link span { padding-left: 4px; font-size: 14px; }
.text-link:hover { color: var(--navy); }
.home-ebooks-action, .home-articles-action { margin-top: 27px; text-align: center; }
.home-ebooks-action .button { min-height: 45px; font-size: 10px; }
.home-ebooks-empty { padding: 40px 20px; border: 1px solid #e6dac0; background: #fffdf8; text-align: center; }
.home-ebooks-empty > span { color: #b48a16; font-size: 25px; }
.home-ebooks-empty p { margin: 9px 0 0; color: #697383; font-size: 10px; }
.library-trust-strip { flex-wrap: wrap; }
.home-articles-section { padding: 87px 0 89px; background: #fffdf8; }
.home-article-grid .article-card { height: 100%; }
.home-article-grid .article-card-copy { display: flex; flex-direction: column; align-items: flex-start; }
.home-article-grid .article-excerpt { flex: 1; }
.home-article-grid .article-link { margin-top: auto; }
.book-detail-page { background: #fffdf8; }
.book-detail-hero { position: relative; overflow: hidden; padding: 29px 24px 76px; color: #fffaf0; background: radial-gradient(ellipse at 85% 10%, #2d4562 0, transparent 38%), var(--navy); }
.book-detail-hero::before { content: ""; width: 460px; height: 460px; position: absolute; top: -290px; left: -170px; border: 1px solid #f2b91d38; border-radius: 50%; box-shadow: 0 0 0 36px #f2b91d0b, 0 0 0 74px #f2b91d07; pointer-events: none; }
.book-detail-wrap { width: min(1050px, 100%); position: relative; z-index: 1; margin: 0 auto; }
.book-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: #e5d8b8; font-size: 10px; }
.book-breadcrumb a { transition: color .2s ease; }
.book-breadcrumb a:hover { color: var(--gold-light); }
.book-breadcrumb > span:not([aria-current]) { color: var(--gold); }
.book-breadcrumb [aria-current] { max-width: min(48vw, 420px); overflow: hidden; color: #fffaf0; text-overflow: ellipsis; white-space: nowrap; }
.book-detail-layout { display: grid; grid-template-columns: minmax(280px, .86fr) 1.14fr; gap: clamp(42px, 8vw, 105px); align-items: center; padding: 59px 30px 0; }
.book-detail-cover { min-height: 460px; position: relative; display: grid; place-items: center; overflow: hidden; padding: 28px; border: 1px solid #f3d88a45; border-radius: 5px; background: linear-gradient(145deg, #f7efd9, #e9dcc1); box-shadow: 0 28px 60px #07152545; }
.book-detail-cover img { width: 100%; height: 100%; position: absolute; inset: 0; z-index: 1; padding: 20px; object-fit: contain; }
.book-cover-glow { width: 72%; aspect-ratio: 1; position: absolute; top: 12%; border-radius: 50%; background: #fff8e9a6; filter: blur(35px); }
.book-detail-placeholder { position: relative; z-index: 1; color: #a87808; font: 90px var(--serif); }
.book-cover-caption { position: absolute; right: 16px; bottom: 15px; z-index: 2; padding: 8px 12px; border: 1px solid #ffffff38; border-radius: 30px; color: #fffaf0; background: #10243ec9; font-size: 8px; }
.book-detail-intro { max-width: 550px; }
.book-detail-intro > .eyebrow { margin-bottom: 17px; color: #e5d8b8; }
.book-detail-intro h1 { margin: 0; color: #fffaf0; font: 500 clamp(39px, 5.4vw, 64px)/1.12 var(--serif); letter-spacing: -.045em; overflow-wrap: anywhere; }
.book-detail-author { margin: 18px 0 0; color: #d1d9e2; font-size: 11px; }
.book-detail-author strong { color: #f3d88f; font-weight: 600; }
.book-detail-rule { display: flex; align-items: center; gap: 12px; margin: 25px 0; color: var(--gold); }
.book-detail-rule::after { width: 74px; height: 1px; content: ""; background: #f2b91d78; }
.book-detail-note { max-width: 475px; margin: 0; color: #d0d9e3; font-size: 12px; line-height: 1.95; }
.book-detail-buy { margin-top: 24px; }
.book-detail-back { display: inline-flex; align-items: center; gap: 10px; margin-top: 29px; color: #f3d88f; font-size: 10px; font-weight: 700; transition: color .2s ease; }
.book-detail-back:hover { color: #fffaf0; }
.book-detail-back > span { font-size: 17px; }
.book-description-section { padding: 77px 24px 88px; }
.book-description-wrap { width: min(790px, 100%); margin: 0 auto; }
.book-description-heading { margin-bottom: 29px; }
.book-description-heading .eyebrow { margin-bottom: 12px; }
.book-description-heading h2 { margin: 0; color: var(--navy); font: 500 clamp(31px, 4vw, 43px)/1.25 var(--serif); letter-spacing: -.035em; }
.book-description-heading h2 em { color: #a87808; }
.book-description-prose { color: #526071; font-size: 12px; line-height: 1.95; }
.book-description-prose > :first-child { margin-top: 0; }
.book-description-prose h2, .book-description-prose h3, .book-description-prose h4 { margin: 30px 0 10px; color: var(--navy); font: 600 23px/1.4 var(--serif); }
.book-description-prose p { margin: 0 0 18px; }
.book-description-prose ul, .book-description-prose ol { display: grid; gap: 9px; margin: 0 0 20px; padding-left: 24px; }
.book-description-prose li { padding-left: 4px; }
.book-description-prose blockquote { margin: 24px 0; padding: 15px 20px; border-left: 3px solid #b48a16; color: #697383; background: #f5efdf; font: italic 17px/1.7 var(--serif); }
.book-description-empty { color: #697383; font-size: 11px; line-height: 1.8; }
.book-description-cta { margin-top: 24px; }
.book-missing { min-height: 58vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 65px 24px; text-align: center; }
.book-missing > span { color: #a87808; font: 42px var(--serif); }
.book-missing .eyebrow { margin: 14px 0 10px; }
.book-missing h1 { max-width: 620px; margin: 0; color: var(--navy); font: 500 clamp(34px, 5vw, 50px)/1.2 var(--serif); }
.book-missing > p:not(.eyebrow) { max-width: 480px; margin: 14px 0 22px; color: #697383; font-size: 11px; line-height: 1.85; }
.storefront-page { min-height: 65vh; padding-bottom: 76px; background: #fffdf8; }
.storefront-hero { position: relative; overflow: hidden; padding: clamp(55px, 7vw, 86px) 24px 65px; color: #fffaf0; background: radial-gradient(ellipse at 82% 0%, #324b68 0, transparent 42%), var(--navy); text-align: center; }
.storefront-hero::after { content: "✳"; position: absolute; right: max(5%, calc((100% - 1100px)/2)); bottom: -54px; color: #f2b91d1c; font: 155px var(--serif); pointer-events: none; }
.storefront-hero > * { position: relative; z-index: 1; }
.storefront-hero .eyebrow { justify-content: center; margin-bottom: 14px; }
.storefront-hero h1 { margin: 0 auto 14px; color: #fffaf0; font: 500 clamp(41px, 6vw, 65px)/1.12 var(--serif); letter-spacing: -.04em; }
.storefront-hero h1 em { color: var(--gold); font-weight: 500; }
.storefront-hero > p:not(.eyebrow) { max-width: 650px; margin: 0 auto 23px; color: #d2dbe4; font-size: 12px; line-height: 1.9; }
.storefront-hero .button { min-height: 46px; }
.shop-content, .events-content, .cart-content { padding-top: 62px; }
.shop-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.shop-section-heading .section-label { margin-bottom: 9px; }
.shop-section-heading h2 { margin: 0; color: var(--navy); font: 500 clamp(30px, 4vw, 42px)/1.2 var(--serif); letter-spacing: -.03em; }
.shop-section-heading h2 em { color: #a87808; }
.shop-status { margin: 0 0 20px; padding: 12px 15px; border: 1px solid #d9e7d3; color: #375f35; background: #f1f8ee; font-size: 11px; }
.shop-status-error { border-color: #efd1cb; color: #8a3024; background: #fff5f3; }
.shop-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.shop-product-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #ebe3d4; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px #10243e08; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.shop-product-card:hover, .shop-product-card:focus-within { border-color: #d7c28e; box-shadow: 0 18px 38px #10243e13; transform: translateY(-4px); }
.shop-product-link { display: block; color: inherit; }
.shop-product-image { height: 285px; position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(ellipse at 50% 38%, #fffdf8 0, #f7f0e1 72%); }
.shop-product-image img { width: 100%; height: 100%; position: absolute; inset: 0; padding: 24px; object-fit: contain; transition: transform .35s ease; }
.shop-product-card:hover .shop-product-image img { transform: scale(1.045); }
.shop-product-placeholder { color: #a87808; font: 60px var(--serif); }
.shop-sale-badge { position: absolute; top: 12px; right: 12px; z-index: 1; padding: 6px 9px; border-radius: 20px; color: #fffaf0; background: var(--navy); font-size: 8px; font-weight: 700; }
.shop-product-copy { min-height: 113px; display: flex; flex-direction: column; align-items: flex-start; padding: 19px 20px 14px; }
.shop-product-kicker { margin-bottom: 8px; color: #a87808; font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.shop-product-title { color: var(--navy); font: 600 20px/1.3 var(--serif); }
.shop-product-details { display: inline-flex; align-items: center; gap: 6px; margin-top: 9px; color: #697383; font-size: 9px; font-weight: 600; }
.shop-product-details span { color: #a87808; font-size: 13px; transition: transform .2s ease; }
.shop-product-card:hover .shop-product-details span { transform: translate(2px, -2px); }
.shop-product-purchase { margin-top: auto; padding: 0 20px 19px; }
.shop-product-buy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 11px; padding-top: 14px; border-top: 1px solid #eee8dc; }
.shop-product-buy > strong { color: var(--navy); font: 600 15px var(--serif); }
.shop-product-buy form { display: flex; align-items: center; gap: 6px; }
.shop-product-buy input, .cart-quantity-form input { width: 48px; height: 37px; padding: 0 5px; border: 1px solid #ddd2bd; border-radius: 3px; color: var(--navy); background: #fffdf8; text-align: center; }
.shop-product-buy .button { min-height: 37px; gap: 8px; padding: 0 10px; font-size: 9px; }
.shop-product-buy .button span { font-size: 15px; }
.product-detail-page { padding-top: 28px; padding-bottom: 80px; }
.product-detail-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-bottom: 28px; color: #7a8491; font-size: 9px; }
.product-detail-breadcrumbs a:hover { color: #98720e; }
.product-detail-breadcrumbs [aria-current="page"] { color: var(--navy); font-weight: 600; }
.product-detail-layout { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(340px, .97fr); align-items: start; gap: clamp(38px, 6vw, 78px); }
.product-detail-gallery { min-width: 0; }
.product-detail-visual { height: clamp(390px, 47vw, 570px); position: relative; display: grid; place-items: center; overflow: hidden; border: 1px solid #ebe3d4; border-radius: 14px; background: radial-gradient(ellipse at 50% 40%, #fffdf8 0, #f4eddf 76%); }
.product-gallery-main { width: 100%; height: 100%; position: relative; display: grid; place-items: center; padding: 28px; border: 0; background: transparent; }
.product-gallery-main img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.product-gallery-main:hover img { transform: scale(1.035); }
.product-gallery-main > span { position: absolute; right: 18px; bottom: 18px; width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid #e8dfcf; border-radius: 50%; color: var(--navy); background: #fffdf8e8; font-size: 20px; }
.product-gallery-placeholder { color: #a87808; font: 85px var(--serif); }
.product-detail-thumbnails { display: flex; gap: 10px; overflow-x: auto; padding: 13px 1px 3px; }
.product-detail-thumbnails button { width: 75px; height: 75px; flex: 0 0 auto; overflow: hidden; padding: 5px; border: 1px solid #e8dfcf; border-radius: 7px; background: #fffdf8; }
.product-detail-thumbnails button.is-active { border-color: #a87808; box-shadow: 0 0 0 1px #a87808; }
.product-detail-thumbnails img { width: 100%; height: 100%; object-fit: contain; }
.product-detail-copy { padding: 16px 0 0; }
.product-detail-category { margin: 0 0 12px; color: #a87808; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.product-detail-copy h1, .product-detail-missing h1 { margin: 0; color: var(--navy); font: 500 clamp(36px, 4vw, 52px)/1.12 var(--serif); letter-spacing: -.035em; }
.product-detail-pricing { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px 14px; margin: 20px 0 7px; }
.product-detail-pricing strong { color: #96700e; font: 600 25px var(--serif); }
.product-detail-original-price { color: #89909a; font-size: 13px; text-decoration: line-through; }
.product-detail-discount { padding: 5px 9px; border-radius: 20px; color: #fffaf0; background: var(--navy); font-size: 8px; font-weight: 700; }
.product-detail-minimum { margin: 5px 0 16px; color: #747e8b; font-size: 9px; }
.product-detail-wholesale { display: grid; gap: 4px; margin: 15px 0; padding: 13px 15px; border-left: 3px solid var(--gold); color: #697383; background: #f8f2e5; font-size: 10px; line-height: 1.6; }
.product-detail-wholesale strong { color: var(--navy); font-size: 10px; }
.product-detail-description { margin: 20px 0 23px; color: #657083; font-size: 12px; line-height: 1.9; }
.product-detail-add { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 12px; padding: 19px 0; border-top: 1px solid #e8dfcf; border-bottom: 1px solid #e8dfcf; }
.product-detail-option, .product-detail-quantity { min-width: 0; display: grid; gap: 7px; color: var(--navy); font-size: 10px; font-weight: 700; }
.product-detail-option select { width: 100%; height: 44px; padding: 0 11px; border: 1px solid #ddd2bd; border-radius: 4px; color: var(--navy); background: #fffdf8; font: 500 11px var(--sans); }
.product-quantity-controls { display: flex; align-items: center; }
.product-quantity-controls button { width: 40px; height: 44px; border: 1px solid #ddd2bd; color: var(--navy); background: #fffdf8; font-size: 17px; }
.product-quantity-controls input { width: 58px; height: 44px; border: solid #ddd2bd; border-width: 1px 0; border-radius: 0; color: var(--navy); background: #fff; text-align: center; }
.product-detail-add-button { align-self: end; min-height: 44px; grid-column: 1 / -1; }
.product-detail-checkout-button { width: 100%; min-height: 44px; margin-top: 13px; justify-content: center; }
.product-detail-checkout-button span { margin-left: 4px; }
.product-detail-whatsapp { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: #486d4d; font-size: 10px; font-weight: 700; }
.product-detail-whatsapp:hover { color: #2f5938; text-decoration: underline; text-underline-offset: 3px; }
.product-detail-whatsapp span { font-size: 13px; }
.product-detail-note { display: flex; align-items: center; gap: 8px; margin: 16px 0 0; color: #778091; font-size: 9px; }
.product-detail-note span { color: #a87808; }
.product-detail-information { margin-top: 64px; border-top: 1px solid #e8dfcf; border-bottom: 1px solid #e8dfcf; }
.product-detail-tabs { display: flex; gap: 24px; border-bottom: 1px solid #e8dfcf; }
.product-detail-tabs button { padding: 17px 2px 13px; border: 0; border-bottom: 2px solid transparent; color: #737d8b; background: transparent; font-size: 10px; font-weight: 700; }
.product-detail-tabs button.is-active { border-bottom-color: #a87808; color: var(--navy); }
.product-detail-panel { display: none; margin: 0; padding: 23px 2px 26px; color: #657083; font-size: 11px; line-height: 1.9; }
.product-detail-panel.is-active { display: block; }
.product-detail-feature-list { padding-left: 22px; }
.product-detail-feature-list li + li { margin-top: 7px; }
.product-related { margin-top: 67px; }
.product-related-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 22px; }
.product-related-heading .section-label { margin-bottom: 8px; }
.product-related-heading h2 { margin: 0; color: var(--navy); font: 500 clamp(28px, 3vw, 37px)/1.2 var(--serif); }
.product-related-heading > a { color: #7a5c10; font-size: 10px; font-weight: 700; }
.product-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.product-related-card { min-width: 0; overflow: hidden; border: 1px solid #ebe3d4; border-radius: 9px; background: #fff; }
.product-related-card > a { display: block; }
.product-related-card img, .product-related-placeholder { width: 100%; height: 170px; display: grid; place-items: center; object-fit: contain; padding: 16px; background: #f7f0e1; }
.product-related-placeholder { color: #a87808; font: 35px var(--serif); }
.product-related-card > a > span:last-child { display: block; padding: 12px 13px 0; color: var(--navy); font: 600 14px/1.35 var(--serif); }
.product-related-card > p { margin: 8px 13px 14px; color: #96700e; font-size: 10px; font-weight: 700; }
.product-image-lightbox { position: fixed; z-index: 1000; inset: 0; display: grid; grid-template-columns: 60px minmax(0, 1fr) 60px; align-items: center; justify-items: center; gap: 12px; padding: 45px; background: #10243ef2; }
.product-image-lightbox[hidden] { display: none; }
.product-image-lightbox > img { width: min(100%, 920px); height: min(80vh, 760px); object-fit: contain; }
.product-image-lightbox > button { width: 44px; height: 44px; border: 1px solid #ffffff55; border-radius: 50%; color: #fffaf0; background: #ffffff12; font-size: 25px; }
.product-image-lightbox > button:first-child { position: absolute; top: 22px; right: 24px; }
.product-image-lightbox > span { position: absolute; bottom: 18px; color: #fffaf0; font-size: 10px; }
.product-detail-missing { min-height: 58vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 24px; text-align: center; }
.product-detail-missing .section-label { margin-bottom: 13px; }
.product-detail-missing > p:not(.section-label) { max-width: 440px; margin: 14px 0 22px; color: #697383; font-size: 11px; line-height: 1.8; }
.instant-checkout[hidden] { display: none; }
.instant-checkout { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; overflow-y: auto; padding: 22px; }
.instant-checkout-backdrop { position: fixed; inset: 0; width: 100%; height: 100%; border: 0; background: #10243eb8; cursor: default; }
.instant-checkout-panel { width: min(100%, 620px); position: relative; z-index: 1; max-height: min(90vh, 850px); overflow-y: auto; padding: clamp(22px, 4vw, 34px); border: 1px solid #e8dfcf; border-radius: 12px; background: #fffdf8; box-shadow: 0 24px 80px #07172b55; }
.instant-checkout-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 23px; }
.instant-checkout-heading .section-label { margin: 0 0 7px; }
.instant-checkout-heading h2 { margin: 0; color: var(--navy); font: 500 clamp(25px, 4vw, 34px)/1.2 var(--serif); }
.instant-checkout-close { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid #e8dfcf; border-radius: 50%; color: var(--navy); background: #fff; font-size: 24px; line-height: 1; }
.instant-customer-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.instant-customer-fields label, .instant-pickup-fields label, .instant-address-field { display: grid; gap: 7px; color: var(--navy); font-size: 10px; font-weight: 700; }
.instant-customer-fields input, .instant-pickup-fields input, .instant-pickup-fields select, .instant-address-field textarea { width: 100%; min-height: 43px; padding: 10px 11px; border: 1px solid #ddd2bd; border-radius: 4px; color: var(--navy); background: #fff; font: 400 12px var(--sans); }
.instant-address-field textarea { min-height: 78px; resize: vertical; }
.instant-delivery-method, .instant-zone-list { min-width: 0; margin: 20px 0 14px; padding: 0; border: 0; }
.instant-delivery-method legend, .instant-zone-list legend { margin-bottom: 10px; color: var(--navy); font-size: 10px; font-weight: 700; }
.instant-delivery-method { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.instant-delivery-method legend { width: 100%; }
.instant-delivery-method label { display: inline-flex; align-items: center; gap: 7px; color: #586576; font-size: 11px; }
.instant-zone-option { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid #e8dfcf; border-radius: 5px; background: #fff; cursor: pointer; }
.instant-zone-option + .instant-zone-option { margin-top: 7px; }
.instant-zone-option:has(input:checked) { border-color: #a87808; background: #fbf7ed; }
.instant-zone-option span { display: grid; gap: 4px; color: var(--navy); font-size: 10px; }
.instant-zone-option small { color: #737d8b; font-size: 9px; font-weight: 400; line-height: 1.5; }
.instant-zone-option > strong:last-child { color: #96700e; font-size: 10px; white-space: nowrap; }
.instant-address-field { margin-top: 13px; }
.instant-pickup-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin: 18px 0; }
.instant-checkout-total { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 22px 0 11px; padding-top: 15px; border-top: 1px solid #e8dfcf; color: #697383; font-size: 11px; }
.instant-checkout-total strong { color: var(--navy); font: 600 20px var(--serif); }
.instant-checkout-message { min-height: 0; margin: 0; font-size: 11px; line-height: 1.6; }
.instant-checkout-message:not(:empty) { margin: 10px 0; }
.instant-checkout-message.is-error { color: #9a352a; }
.instant-checkout-message.is-success { color: #315f3d; }
.instant-checkout-submit { width: 100%; min-height: 46px; justify-content: center; margin-top: 12px; }
.instant-checkout-submit:disabled { cursor: wait; opacity: .7; }
.shop-empty, .events-empty { padding: 55px 25px; border: 1px solid #e8dfcf; background: #fffdf8; text-align: center; }
.shop-empty > span, .events-empty > span { color: #a87808; font: 37px var(--serif); }
.shop-empty h2, .shop-empty h3, .events-empty h3 { margin: 12px 0 8px; color: var(--navy); font: 500 26px/1.3 var(--serif); }
.shop-empty p, .events-empty p { max-width: 510px; margin: 0 auto 19px; color: #697383; font-size: 11px; line-height: 1.8; }
.event-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.event-poster-card { min-width: 0; position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 4; border: 1px solid #e8dfcf; color: #fffaf0; background: linear-gradient(145deg, #f5efdf, #eadcb9); box-shadow: 0 8px 22px #10243e0a; isolation: isolate; }
.event-poster-image { width: 100%; height: 100%; display: block; object-fit: contain; transition: filter .28s ease; }
.event-poster-placeholder { height: 100%; display: grid; place-items: center; color: #a87808; font: 82px var(--serif); }
.event-poster-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(15px, 2vw, 22px); opacity: 0; background: linear-gradient(180deg, #10243e00 20%, #10243e38 48%, #10243ef2 100%); transition: opacity .22s ease; }
.event-poster-card:hover .event-poster-overlay, .event-poster-card:focus-visible .event-poster-overlay { opacity: 1; }
.event-poster-card:hover .event-poster-image, .event-poster-card:focus-visible .event-poster-image { filter: brightness(.78); }
.event-poster-card:focus-visible { outline: 3px solid #b48a16; outline-offset: 3px; }
.event-poster-category { margin-bottom: 7px; color: #f1d28a; font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.event-poster-overlay > strong { margin-bottom: 6px; color: #fffaf0; font: 600 clamp(17px, 1.8vw, 23px)/1.22 var(--serif); }
.event-poster-overlay time, .event-poster-meta { color: #f3eee3; font-size: 9px; line-height: 1.6; }
.event-poster-view { display: flex; align-items: center; justify-content: space-between; margin-top: 13px; padding-top: 10px; border-top: 1px solid #ffffff55; color: #f1d28a; font-size: 9px; font-weight: 700; letter-spacing: .04em; }
.event-status { display: inline-flex; margin: 0 0 13px; padding: 5px 10px; border-radius: 30px; font-size: 8px; font-weight: 700; }
.event-status-upcoming { color: #286335; background: #e8f5e9; }
.event-status-happening { color: #15518a; background: #e3f2fd; }
.event-status-past { color: #5f6268; background: #eeeeee; }
.event-past-note { display: inline-block; color: #697383; font-size: 10px; font-weight: 600; }
.event-detail-page { min-height: 70vh; padding: 28px 0 90px; background: radial-gradient(ellipse at 85% 0%, #f4ecd9 0, transparent 30%), #fffdf8; }
.event-detail-wrap { width: min(1120px, calc(100% - 48px)); margin: 0 auto; }
.event-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 27px; color: #8b806e; font-size: 9px; }
.event-breadcrumb a, .event-back-link { color: #84620e; text-decoration: none; }
.event-breadcrumb a:hover, .event-back-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.event-detail-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); overflow: hidden; border: 1px solid #e8dfcf; background: #fff; box-shadow: 0 18px 50px #10243e0e; }
.event-detail-poster { min-height: 520px; display: grid; align-content: center; justify-items: center; gap: 10px; padding: 24px; background: linear-gradient(145deg, #f5efdf, #eadcb9); }
.event-detail-poster > img { width: 100%; max-height: 630px; object-fit: contain; }
.event-detail-thumbnails { width: 100%; display: flex; justify-content: center; gap: 10px; }
.event-detail-thumbnails img { width: 75px; height: 85px; object-fit: contain; background: #fff9; }
.event-detail-placeholder { color: #a87808; font: 100px var(--serif); }
.event-detail-intro { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(32px, 6vw, 72px); }
.event-back-link { margin-bottom: 37px; font-size: 10px; font-weight: 700; }
.event-detail-eyebrow { margin: 0 0 13px; color: #8a6e2c; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.event-detail-eyebrow span { padding: 0 5px; color: #c6a453; }
.event-detail-intro h1 { margin: 0 0 16px; color: var(--navy); font: 500 clamp(34px, 5vw, 55px)/1.12 var(--serif); letter-spacing: -.035em; }
.event-detail-intro .event-status { font-size: 9px; }
.event-detail-summary { margin: 5px 0 24px; color: #657182; font-size: 11px; line-height: 1.9; }
.event-detail-price { width: 100%; display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin: 5px 0 22px; padding: 17px 0; border-top: 1px solid #eee8dc; border-bottom: 1px solid #eee8dc; }
.event-detail-price span { color: #95805c; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.event-detail-price strong { color: var(--navy); font: 600 22px var(--serif); }
.event-detail-register { min-height: 48px; gap: 16px; }
.event-detail-information { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: clamp(30px, 6vw, 75px); align-items: start; padding: 70px 4px 0; }
.event-detail-main-copy > .section-label, .event-detail-facts-card > .section-label { margin-bottom: 12px; }
.event-detail-main-copy h2, .event-detail-facts-card h2 { margin: 0 0 19px; color: var(--navy); font: 500 clamp(27px, 4vw, 38px)/1.2 var(--serif); }
.event-detail-main-copy h2 em { color: #a87808; }
.event-detail-description { color: #596779; font: 12px/2 var(--sans); }
.event-detail-description p { margin: 0 0 18px; }
.event-detail-facts-card { padding: 28px; border: 1px solid #e8dfcf; background: #fff; box-shadow: 0 12px 30px #10243e0a; }
.event-detail-facts-card h2 { margin-bottom: 25px; font-size: 25px; }
.event-detail-fact { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 15px 0; border-top: 1px solid #eee8dc; }
.event-detail-fact > span { color: #a87808; font-size: 19px; }
.event-detail-fact > div { display: grid; gap: 5px; }
.event-detail-fact small { color: #95805c; font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.event-detail-fact strong, .event-detail-fact time, .event-detail-fact a { color: var(--navy); font-size: 10px; font-weight: 600; line-height: 1.65; overflow-wrap: anywhere; }
.event-detail-fact a { color: #84620e; text-decoration: underline; text-underline-offset: 3px; }
.event-not-found { min-height: 55vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 70px 22px; text-align: center; }
.event-not-found h1 { margin: 5px 0 12px; color: var(--navy); font: 500 clamp(34px, 5vw, 50px)/1.2 var(--serif); }
.event-not-found > p:not(.eyebrow) { max-width: 490px; margin: 0 0 22px; color: #697383; font-size: 11px; line-height: 1.8; }
.event-registration-form { display: grid; gap: 12px; margin-top: 20px; padding: 19px; border: 1px solid #e8dfcf; background: #fff; }
.event-registration-form[hidden] { display: none; }
.event-registration-form h3 { margin: 0; color: var(--navy); font: 600 20px/1.3 var(--serif); }
.event-registration-note { margin: 0; color: #697383; font-size: 10px; line-height: 1.7; }
.event-external-registration { color: #84620e; font-size: 10px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.event-registration-form label { display: grid; gap: 6px; color: #526071; font-size: 10px; font-weight: 600; }
.event-registration-form input { min-height: 42px; padding: 9px 11px; border: 1px solid #ddd2bd; border-radius: 3px; color: var(--navy); background: #fffdf8; font: inherit; }
.event-registration-submit { opacity: .68; cursor: not-allowed; }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 325px; gap: 30px; align-items: start; }
.cart-items { display: grid; gap: 13px; }
.cart-item { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 17px; align-items: center; padding: 16px; border: 1px solid #e8dfcf; background: #fff; }
.cart-item-image { height: 116px; position: relative; display: grid; place-items: center; overflow: hidden; background: #f5efdf; }
.cart-item-image img { width: 100%; height: 100%; position: absolute; inset: 0; padding: 8px; object-fit: contain; }
.cart-item-image > span { color: #a87808; font: 34px var(--serif); }
.cart-item-copy h2 { margin: 0 0 5px; color: var(--navy); font: 600 18px/1.35 var(--serif); }
.cart-item-copy p { margin: 0 0 8px; color: #697383; font-size: 9px; }
.cart-item-copy > strong { color: #697383; font-size: 9px; font-weight: 500; }
.cart-item-controls { display: grid; justify-items: end; gap: 7px; }
.cart-quantity-form { display: flex; align-items: center; gap: 7px; }
.cart-quantity-form input { width: 54px; height: 33px; }
.cart-quantity-step { width: 32px; height: 33px; display: inline-grid; place-items: center; border: 1px solid #ddd2bd; color: var(--navy); background: #fffdf8; font-size: 16px; }
.cart-quantity-step:hover { border-color: #a87808; color: #84620e; }
.cart-update-button, .cart-remove-button { padding: 0; border: 0; color: #84620e; background: transparent; font-size: 9px; font-weight: 700; }
.cart-update-button:hover, .cart-remove-button:hover { color: var(--navy); text-decoration: underline; }
.cart-line-total { color: var(--navy); font: 600 13px var(--serif); }
.cart-summary { position: sticky; top: 20px; padding: 24px; border: 1px solid #e6dac0; background: #f7f0e2; }
.cart-summary .eyebrow { margin-bottom: 10px; color: #876919; font-size: 8px; }
.cart-summary h2 { margin: 0 0 7px; color: var(--navy); font: 500 25px var(--serif); }
.cart-summary-count { margin-bottom: 19px; color: #697383; font-size: 9px; }
.cart-summary-total { display: flex; justify-content: space-between; gap: 10px; padding: 14px 0; border-top: 1px solid #ded2ba; border-bottom: 1px solid #ded2ba; color: #697383; font-size: 10px; }
.cart-summary-total strong { color: var(--navy); font: 600 15px var(--serif); white-space: nowrap; }
.cart-order-note { margin: 14px 0; color: #697383; font-size: 9px; line-height: 1.8; }
.cart-order-button { width: 100%; min-height: 46px; gap: 10px; padding: 0 12px; }
.cart-checkout-button { color: #fffaf0; background: var(--navy); border-color: var(--navy); }
.cart-checkout-button:hover { color: #fffaf0; background: var(--navy-soft); border-color: var(--navy-soft); }
.cart-whatsapp-button { margin-top: 3px; color: #fff; background: #28734b; }
.cart-whatsapp-button:hover { color: #fff; background: #205d3d; }
.cart-continue-link { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; color: #675522; font-size: 10px; font-weight: 700; }
.cart-continue-link:hover { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
.cart-summary-footnote { margin: 10px 0 0; color: #81704b; font-size: 8px; text-align: center; }
.cart-live-status { margin: 12px 0 0; color: #426a45; font-size: 9px; line-height: 1.6; }
.cart-live-status.is-error { color: #9a352a; }
.cart-empty { max-width: 700px; margin: 0 auto; }
.cart-empty h2 { font: 500 26px/1.35 var(--serif); }
.account-page { min-height: 68vh; padding: clamp(42px, 7vw, 88px) 24px; background: radial-gradient(ellipse at 12% 8%, #f1e5c7 0, transparent 38%), var(--paper); }
.account-card { width: min(1040px, 100%); min-height: 590px; display: grid; grid-template-columns: .9fr 1.1fr; margin: 0 auto; overflow: hidden; border: 1px solid #e8dfcf; background: #fffdf8; box-shadow: 0 24px 65px #10243e12; }
.account-welcome { display: flex; flex-direction: column; justify-content: center; padding: clamp(32px, 5vw, 58px); color: #fffaf0; background: radial-gradient(circle at 90% 10%, #ffffff15, transparent 35%), var(--navy); }
.account-welcome .eyebrow { color: #e3c66d; }
.account-welcome h1, .confirmation-card h1 { margin: 0 0 15px; color: #fffaf0; font: 500 clamp(36px, 5vw, 54px)/1.1 var(--serif); letter-spacing: -.035em; }
.account-welcome h1 em { color: var(--gold); font-weight: 500; }
.account-welcome > p:not(.eyebrow) { max-width: 370px; margin: 0; color: #d5dbe2; font-size: 12px; line-height: 1.9; }
.account-promise { display: flex; align-items: flex-start; gap: 13px; margin-top: 44px; padding-top: 21px; border-top: 1px solid #ffffff24; color: #f6d676; }
.account-promise > span { font-size: 21px; }
.account-promise p { margin: 0; color: #d5dbe2; font-size: 10px; line-height: 1.8; }
.account-promise strong { color: #fffaf0; font-size: 11px; }
.account-form-wrap { align-self: center; padding: clamp(30px, 5vw, 58px); }
.account-form-wrap > .eyebrow { margin-bottom: 10px; color: #876919; font-size: 8px; }
.account-form-wrap h2 { margin: 0 0 8px; color: var(--navy); font: 500 34px/1.2 var(--serif); }
.account-form-intro { margin-bottom: 22px; color: var(--muted); font-size: 10px; line-height: 1.75; }
.account-form-wrap form { display: grid; gap: 15px; }
.account-form-wrap label, .checkout-fields label, .checkout-full-label { display: grid; gap: 7px; color: #36465b; font-size: 10px; font-weight: 700; }
.account-form-wrap label span { color: #8d8e8c; font-weight: 400; }
.account-form-wrap input, .checkout-fields input, .checkout-full-label input, .checkout-full-label select, .checkout-full-label textarea { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid #dcd3c2; border-radius: 3px; color: var(--navy); background: #fff; font: 500 11px var(--sans); }
.account-form-wrap input:focus, .checkout-fields input:focus, .checkout-full-label input:focus, .checkout-full-label select:focus, .checkout-full-label textarea:focus { outline: 2px solid #f2b91d80; border-color: #b58b1e; }
.account-submit { width: 100%; margin-top: 4px; justify-content: center; }
.account-switch { margin: 20px 0 0; color: var(--muted); font-size: 10px; text-align: center; }
.account-switch a, .account-back-link { color: #806414; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.account-back-link { display: block; margin-top: 19px; font-size: 10px; text-align: center; }
.account-alert, .checkout-error { padding: 12px 14px; border: 1px solid #e7c7c1; color: #8e332a; background: #fff5f2; font-size: 10px; line-height: 1.65; }
.account-success { padding: 12px 14px; border: 1px solid #c8dfc8; color: #315f3d; background: #f2faf1; font-size: 10px; line-height: 1.65; }
.account-fields, .checkout-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.account-field-wide { grid-column: 1 / -1; }
.checkout-page { width: min(1160px, 100%); margin: 0 auto; }
.account-heading { margin: 0 auto 32px; text-align: center; }
.account-heading .eyebrow { justify-content: center; margin-bottom: 11px; color: #80651c; }
.account-heading h1 { margin: 0 0 8px; color: var(--navy); font: 500 clamp(38px, 5vw, 55px)/1.15 var(--serif); }
.account-heading h1 em { color: #a87808; font-weight: 500; }
.account-heading > p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.checkout-steps { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 26px; color: #888b90; font-size: 9px; font-weight: 600; }
.checkout-steps > span, .checkout-steps > a, .checkout-steps > strong { display: inline-flex; align-items: center; gap: 7px; }
.checkout-steps span span, .checkout-steps > a span, .checkout-steps > strong span { width: 22px; height: 22px; display: inline-grid; place-items: center; border: 1px solid #d9d0bf; border-radius: 50%; color: #7b6b49; }
.checkout-steps strong { color: var(--navy); }
.checkout-steps strong span { border-color: var(--navy); color: #fff; background: var(--navy); }
.checkout-steps i { width: 45px; height: 1px; background: #ded4c0; }
.checkout-error { max-width: 1100px; margin: 0 auto 20px; }
.checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 355px; gap: 24px; align-items: start; }
.checkout-main { display: grid; gap: 18px; }
.checkout-panel, .checkout-summary { padding: clamp(20px, 3vw, 30px); border: 1px solid #e8dfcf; background: #fffdf8; }
.checkout-panel-heading { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
.checkout-panel-heading > span { color: #a87808; font: 500 16px var(--serif); }
.checkout-panel-heading .eyebrow { margin: 0 0 5px; color: #876919; font-size: 8px; }
.checkout-panel-heading h2, .checkout-summary h2 { margin: 0; color: var(--navy); font: 500 25px/1.25 var(--serif); }
.checkout-fields small { color: #777f89; font-size: 9px; font-weight: 400; }
.checkout-fulfilment { display: grid; gap: 10px; }
.checkout-choice { display: flex; align-items: center; gap: 13px; padding: 15px; border: 1px solid #e3dac8; color: var(--navy); background: #fff; cursor: pointer; }
.checkout-choice:has(input:checked) { border-color: #bc9428; background: #fffbef; box-shadow: inset 3px 0 #d6ad3a; }
.checkout-choice input { accent-color: #8b6a14; }
.checkout-choice > span { display: grid; gap: 4px; flex: 1; }
.checkout-choice strong { font-size: 11px; }
.checkout-choice small { color: var(--muted); font-size: 9px; }
.checkout-choice > b { color: #a87808; font-size: 17px; }
.checkout-choice-content { display: grid; gap: 14px; padding: 4px 14px 12px 40px; }
.checkout-choice-content[hidden] { display: none; }
.checkout-full-label textarea { min-height: 86px; resize: vertical; }
.checkout-pickup-fields { margin-top: 2px; }
.checkout-summary { position: sticky; top: 20px; background: #f7f0e2; }
.checkout-summary > .eyebrow { margin-bottom: 10px; color: #876919; font-size: 8px; }
.checkout-summary h2 { margin-bottom: 18px; }
.checkout-summary-items { display: grid; gap: 13px; max-height: 270px; margin-bottom: 18px; overflow: auto; }
.checkout-summary-item, .checkout-total-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; color: #697383; font-size: 9px; }
.checkout-summary-item > span { display: grid; gap: 5px; }
.checkout-summary-item strong { color: var(--navy); font-size: 9px; }
.checkout-summary-item small { color: #777f89; font-size: 8px; line-height: 1.5; }
.checkout-total-row { padding: 12px 0; border-top: 1px solid #ded2ba; }
.checkout-total-row strong { color: var(--navy); white-space: nowrap; }
.checkout-grand-total { align-items: center; border-bottom: 1px solid #ded2ba; font-size: 10px; }
.checkout-grand-total strong { font: 600 15px var(--serif); }
.checkout-payment-note { margin: 14px 0; color: #6b6f75; font-size: 9px; line-height: 1.7; }
.checkout-submit { width: 100%; min-height: 48px; justify-content: center; }
.checkout-back-link { display: block; margin-top: 14px; color: #6b5823; font-size: 9px; font-weight: 700; text-align: center; }
.confirmation-page { display: grid; place-items: center; align-content: center; }
.confirmation-card { width: min(680px, 100%); padding: clamp(28px, 6vw, 58px); border: 1px solid #e8dfcf; background: #fffdf8; box-shadow: 0 24px 65px #10243e12; text-align: center; }
.confirmation-continue-link { margin-top: 18px; color: #6b5823; font-size: 10px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.confirmation-continue-link span { margin-right: 5px; }
.confirmation-mark { width: 52px; height: 52px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: #fffaf0; background: #28734b; font-size: 26px; }
.confirmation-card .eyebrow { justify-content: center; margin-bottom: 10px; color: #80651c; }
.confirmation-card h1 { color: var(--navy); font-size: clamp(34px, 5vw, 48px); }
.confirmation-intro, .confirmation-contact { color: var(--muted); font-size: 11px; line-height: 1.8; }
.confirmation-reference { display: grid; gap: 5px; margin: 24px 0; padding: 15px; border: 1px dashed #c9b77e; background: #fffaf0; }
.confirmation-reference span { color: #80651c; font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.confirmation-reference strong { color: var(--navy); font: 600 18px var(--serif); }
.confirmation-details { display: grid; gap: 10px; margin: 0 0 18px; padding: 0 0 15px; border-bottom: 1px solid #e8dfcf; text-align: left; }
.confirmation-details > div { display: flex; justify-content: space-between; gap: 12px; color: #697383; font-size: 9px; }
.confirmation-details strong { color: var(--navy); white-space: nowrap; }
.confirmation-delivery { padding: 12px; color: #526071; background: #f7f0e2; font-size: 9px; line-height: 1.7; }
.confirmation-card .button { margin-top: 8px; }
.articles-empty { grid-column: 1 / -1; padding: 52px 24px; border: 1px solid #e9dfcb; background: #fffdf8; text-align: center; }
.articles-empty > span { color: #b48a16; font: 31px var(--serif); }
.articles-empty h3 { margin: 10px 0 6px; color: var(--navy); font: 600 21px var(--serif); }
.articles-empty p { margin: 0; color: #697383; font-size: 10px; }
.wb-feature-grid.wb-feature-grid-books { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wb-feature-grid.wb-feature-grid-books .wb-feature-item { display: flex; flex-direction: column; gap: 10px; }
.wb-feature-grid.wb-feature-grid-books .wb-feature-item img { height: 245px; max-height: none; object-fit: contain; background: #f5efdf; }
.wb-feature-grid.wb-feature-grid-books .wb-feature-item h3, .wb-feature-grid.wb-feature-grid-books .wb-feature-item p { margin: 0; }
@media (max-width: 900px) {
  .announcement { gap: 12px; padding-right: 18px; padding-left: 18px; }
  .announcement-message { font-size: 8px; }
  .announcement-contact { gap: 12px; font-size: 8px; }
  .announcement-question { display: none; }
  .site-nav { gap: 15px; }
  .faq-content { gap: 40px; }
  .article-card-copy { padding: 17px 14px; }
  .product-hero-inner { width: min(100% - 48px, 760px); min-height: 550px; gap: 38px; }
  .product-cover-halo { width: 300px; height: 365px; }
  .product-cover { width: min(270px, 83%); }
  .product-cover-note { right: -8px; }
  .product-detail-grid { grid-template-columns: repeat(2,1fr); }
  .product-for { gap: 28px; padding: 30px; }
  .home-ebook-grid, .wb-feature-grid.wb-feature-grid-books { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-library-art .hero-book { width: min(280px, 72%); }
}
@media (max-width: 640px) {
  .announcement { min-height: 51px; justify-content: center; gap: 0; padding: 6px 8px; }
  .announcement-message { display: none; }
  .announcement-contact { width: 100%; flex-wrap: wrap; justify-content: center; gap: 3px 12px; font-size: 7px; }
  .announcement-question { display: block; flex-basis: 100%; padding-bottom: 3px; color: #e4d9bb; font-size: 8px; }
  .site-header { position: relative; }
  .site-nav { top: calc(100% - 1px); right: 0; left: 0; }
  .footer-contact { order: 4; width: 100%; flex-direction: row; flex-wrap: wrap; gap: 8px 17px; }
  .whatsapp-float { width: 53px; height: 53px; right: 15px; bottom: 15px; }
  .whatsapp-float svg { width: 28px; height: 28px; }
  .editorial-hero { min-height: 300px; padding: 45px 22px; }
  .editorial-hero h1 { font-size: clamp(42px, 12vw, 55px); }
  .editorial-hero-inner > p:last-child { max-width: 440px; }
  .editorial-flower { right: 17px; bottom: 6px; font-size: 65px; opacity: .45; }
  .articles-content { padding-top: 57px; padding-bottom: 65px; }
  .article-grid { grid-template-columns: 1fr; gap: 13px; }
  .article-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); }
  .article-art { height: 100%; min-height: 185px; }
  .article-art::before { width: 120px; height: 120px; }
  .article-art::after { width: 83px; height: 83px; }
  .article-art b { font-size: 41px; }
  .article-art span { top: 10px; left: 10px; }
  .article-card-copy { padding: 14px 13px; }
  .article-category { font-size: 7px; line-height: 1.5; }
  .article-card h3 { font-size: 16px; }
  .article-card-copy > p:not(.article-category) { min-height: 0; margin-bottom: 10px; font-size: 9px; }
  .article-card-copy .article-byline { margin-bottom: 8px; font-size: 8px; }
  .article-card-copy .article-excerpt { margin-bottom: 9px; font-size: 9px; }
  .blog-detail-page { padding-bottom: 48px; }
  .blog-detail-hero { padding: 22px 20px 0; }
  .blog-detail-heading { margin: 37px 0 27px; }
  .blog-detail-heading h1 { font-size: clamp(35px, 9vw, 48px); }
  .blog-detail-summary { margin-top: 15px; font-size: 11px; }
  .blog-detail-meta { margin-top: 17px; font-size: 9px; }
  .blog-detail-cover { height: clamp(205px, 61vw, 340px); }
  .blog-detail-content { width: calc(100% - 40px); grid-template-columns: 1fr; gap: 30px; padding: 38px 0 24px; }
  .blog-prose { font-size: 12px; line-height: 1.9; }
  .blog-health-note { margin-top: 24px; }
  .blog-detail-aside { position: relative; top: auto; }
  .blog-detail-footer-link { width: calc(100% - 40px); margin-top: 5px; }
  .blog-missing { min-height: 360px; }
  .article-readings { margin-top: 48px; }
  .reading-article { padding: 27px 0 29px; }
  .reading-article > p:not(.article-category), .reading-article li { font-size: 10px; }
  .article-callout { padding: 13px 14px; font-size: 13px; }
  .editorial-cta { padding: 54px 21px 59px; }
  .faq-content { grid-template-columns: 1fr; gap: 28px; padding-top: 58px; padding-bottom: 70px; }
  .faq-intro { position: static; }
  .faq-item summary { padding-top: 17px; padding-bottom: 17px; font-size: 15px; }
  .product-hero-inner { width: calc(100% - 40px); grid-template-columns: 1fr; gap: 15px; padding: 28px 0 46px; }
  .product-cover-stage { min-height: 365px; order: 0; }
  .product-cover-halo { width: min(285px, 82vw); height: 330px; }
  .product-cover { width: min(228px, 65vw); max-height: 335px; }
  .product-cover-note { width: 92px; height: 92px; top: 22px; right: max(0px, calc(50% - 153px)); }
  .product-cover-note::before { inset: 8px; }
  .product-cover-note-top { font-size: 6px; }
  .product-cover-note-main { font-size: 12px; }
  .product-cover-note-star { font-size: 12px; }
  .product-copy { padding: 0 0 8px; text-align: center; }
  .product-copy .eyebrow { justify-content: center; font-size: 8px; }
  .product-copy h1 { font-size: clamp(57px, 16vw, 72px); }
  .product-subtitle { font-size: 15px; }
  .product-price { justify-content: center; }
  .product-delivery { justify-content: center; }
  .product-details { padding-top: 62px; padding-bottom: 65px; }
  .product-detail-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .product-detail-card { min-height: 190px; padding: 16px 13px; }
  .product-detail-card h3 { margin-top: 11px; font-size: 15px; }
  .product-for { grid-template-columns: 1fr; gap: 20px; margin-top: 45px; padding: 24px 20px; }
  .product-for h2 { font-size: 31px; }
  .product-bottom-cta { padding: 53px 19px 59px; }
}
@media (max-width: 900px) {
  .book-detail-layout { gap: 36px; padding-right: 10px; padding-left: 10px; }
  .book-detail-cover { min-height: 390px; }
}
@media (max-width: 640px) {
  .home-ebook-art { height: 235px; }
  .home-ebook-card .home-ebook-art > img { padding: 10px; }
  .home-ebook-copy { padding: 12px; }
  .home-ebook-title { font-size: 15px; }
  .home-ebook-description { font-size: 8px; }
  .book-detail-hero { padding: 23px 20px 53px; }
  .book-detail-layout { grid-template-columns: 1fr; gap: 33px; padding: 37px 0 0; }
  .book-detail-cover { width: min(100%, 390px); min-height: 370px; justify-self: center; }
  .book-detail-cover img { padding: 16px; }
  .book-detail-intro { max-width: none; }
  .book-detail-intro h1 { font-size: clamp(39px, 11vw, 54px); }
  .book-description-section { padding: 56px 21px 65px; }
  .hero-library-art { min-height: 395px; }
  .hero-library-art .hero-book { width: min(228px, 68%); }
  .hero-library-art .hero-book-1 { transform: translate(-30%, -50%) rotate(8deg) scale(.83); }
  .hero-library-art .hero-book-2 { transform: translate(-70%, -49%) rotate(-11deg) scale(.76); }
  .hero-library-art .art-caption { right: 0; bottom: 3px; }
}
@media (hover: none) {
  .home-ebook-copy { opacity: 1; transform: none; background: linear-gradient(180deg, #10243e00 15%, #10243e24 47%, #10243eed 100%); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Refined shared storefront header and homepage surfaces */
.site-header {
  position: sticky;
  top: 0;
  z-index: 9;
  width: 100%;
  max-width: none;
  height: 86px;
  margin: 0;
  padding-right: max(36px, calc((100vw - 1220px) / 2));
  padding-left: max(36px, calc((100vw - 1220px) / 2));
  background: rgb(255 250 240 / 96%);
  box-shadow: 0 1px 0 #e8dfcf, 0 8px 24px #10243e08;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.site-header.account-site-header {
  width: 100%;
  max-width: none;
  padding-right: max(36px, calc((100vw - 1160px) / 2));
  padding-left: max(36px, calc((100vw - 1160px) / 2));
}
.brand { width: 106px; height: 78px; }
.site-nav { gap: clamp(16px, 2.2vw, 29px); font-size: 12px; }
.site-nav > a:not(.button):not(.store-cart-link) {
  position: relative;
  padding: 10px 0;
  transition: color .2s ease;
}
.site-nav > a:not(.button):not(.store-cart-link)::after {
  height: 2px;
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  content: "";
  background: #bd901b;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
.site-nav > a:not(.button):not(.store-cart-link):hover::after,
.site-nav > a[aria-current="page"]::after { transform: scaleX(1); }
.site-nav > .site-nav-shop {
  padding: 11px 18px !important;
  border: 1px solid #e3b52d;
  border-radius: 999px;
  color: var(--navy);
  background: #f8cc4c;
  font-weight: 700;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.site-nav > .site-nav-shop::after { display: none; }
.site-nav > .site-nav-shop:hover {
  color: var(--navy);
  background: #ffda60;
  box-shadow: 0 6px 15px #b9871733;
  transform: translateY(-1px);
}
.store-cart-link {
  min-height: 42px;
  padding: 8px 12px;
  border-color: #e2d6be;
  border-radius: 999px;
  background: #fffdf8;
  box-shadow: none;
}
.store-cart-count { color: #fff; background: var(--navy); }
.button { border-radius: 999px; }
.hero {
  min-height: 620px;
  background-image: radial-gradient(ellipse at 7% 100%, #243d59 0, transparent 38%);
}
.trust-strip { border-top: 1px solid #e9dfcb; border-bottom: 1px solid #e9dfcb; }
.home-ebook-card, .feature-card, .article-card {
  border-radius: 10px;
  box-shadow: 0 4px 18px #10243e08;
}
.home-ebook-card:hover, .home-ebook-card:focus-visible {
  box-shadow: 0 16px 34px #10243e1c;
}
.feature-card { transition: transform .22s ease, box-shadow .22s ease; }
.article-art { border-radius: 9px 9px 0 0; }

@media (max-width: 900px) {
  .site-header { width: 100%; height: 82px; padding-right: 22px; padding-left: 22px; }
  .site-header.account-site-header { width: 100%; padding-right: 22px; padding-left: 22px; }
  .brand { width: 98px; height: 74px; }
  .site-nav { gap: 15px; font-size: 11px; }
}
@media (max-width: 640px) {
  .site-header { width: 100%; height: 76px; padding-right: 18px; padding-left: 18px; }
  .site-header.account-site-header { width: 100%; padding-right: 18px; padding-left: 18px; }
  .brand { width: 91px; height: 69px; }
  .menu-toggle {
    width: 44px;
    height: 44px;
    border-color: #e5d8bd;
    border-radius: 50%;
    background: #fffdf8;
    box-shadow: 0 3px 10px #10243e0c;
  }
  .menu-toggle span { width: 18px; height: 2px; border-radius: 2px; }
  .site-nav {
    top: calc(100% - 1px);
    padding: 10px 18px 18px;
    border-color: #e8dfcf;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 15px 28px #10243e1c;
  }
  .site-nav > a { padding: 14px 2px; font-size: 12px; }
  .site-nav > .site-nav-shop {
    align-self: stretch;
    margin-top: 10px;
    padding: 12px 16px !important;
    text-align: center;
  }
  .site-nav > .store-cart-link { align-self: flex-start; margin-top: 12px; }
  .hero { min-height: 0; }
  .home-ebook-card, .feature-card, .article-card { border-radius: 8px; }
}

/* Shared footer and policy-page styling */
.site-footer {
  min-height: 0;
  display: block;
  padding: 0 max(24px, calc((100% - 1160px)/2));
  border-top: 1px solid #d4b56b;
  color: #f7f1e4;
  background: radial-gradient(ellipse at 12% 0%, #203a58 0, transparent 37%), #10243e;
}
.footer-main {
  display: grid;
  grid-template-columns: 1.3fr .8fr 1fr 1fr;
  gap: clamp(26px, 4vw, 58px);
  padding: 58px 0 45px;
}
.footer-brand-column { max-width: 275px; }
.footer-brand { width: 104px; height: 78px; display: inline-flex; align-items: center; justify-content: flex-start; }
.footer-brand img { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.site-footer .footer-tagline { max-width: 260px; margin: 12px 0 17px; color: #f5e9cf; font: 500 19px/1.55 var(--serif); }
.site-footer .footer-made { margin: 0; color: #c2cbd5; font-size: 10px; line-height: 1.8; }
.footer-made span { color: var(--gold); }
.footer-links, .footer-social { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding-top: 12px; }
.footer-links h2, .footer-social h2 { margin: 0 0 7px; color: #f1d28a; font: 600 12px/1.4 var(--sans); letter-spacing: .09em; text-transform: uppercase; }
.footer-links a { color: #d4dbe3; font-size: 11px; line-height: 1.5; transition: color .2s ease, transform .2s ease; }
.footer-links a:hover { color: #fff; transform: translateX(3px); }
.footer-social > p { max-width: 245px; margin: 0 0 3px; color: #c2cbd5; font-size: 10px; line-height: 1.8; }
.footer-social-links { display: flex; flex-wrap: wrap; gap: 9px; }
.social-link { width: 39px; height: 39px; display: inline-grid; place-items: center; border: 1px solid #ffffff38; border-radius: 50%; color: #f7f1e4; background: #ffffff0b; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
a.social-link:hover { border-color: var(--gold); color: var(--navy); background: var(--gold); transform: translateY(-3px); }
.social-link-unavailable { color: #c1c8d1; opacity: .72; }
.social-link svg { width: 17px; height: 17px; fill: currentColor; }
.footer-social-note { margin: 0; color: #aab6c4; font-size: 9px; line-height: 1.6; }
.footer-bottom { min-height: 61px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #ffffff20; }
.copyright, .footer-note { color: #b8c2ce; font-size: 9px; line-height: 1.6; }

.policy-page { padding-bottom: 80px; }
.policy-hero { position: relative; overflow: hidden; padding: clamp(55px, 8vw, 94px) 24px 48px; color: #fffaf0; background: radial-gradient(ellipse at 80% 0%, #314866 0, transparent 42%), var(--navy); text-align: center; }
.policy-hero::after { content: "✳"; position: absolute; right: max(5%, calc((100% - 1060px)/2)); bottom: -42px; color: #f2b91d24; font-size: 145px; line-height: 1; transform: rotate(-14deg); pointer-events: none; }
.policy-hero .eyebrow { justify-content: center; margin-bottom: 15px; }
.policy-hero h1 { margin: 0 0 14px; color: #fffaf0; font: 500 clamp(38px, 6vw, 58px)/1.15 var(--serif); letter-spacing: -.035em; }
.policy-hero > p:not(.eyebrow) { max-width: 640px; margin: 0 auto; color: #d8dfe7; font-size: 12px; line-height: 1.9; }
.policy-updated { display: inline-block; margin-top: 18px; color: #e5ca84; font-size: 9px; letter-spacing: .04em; }
.policy-content { width: min(760px, calc(100% - 44px)); margin: 0 auto; padding: 35px 0 0; }
.policy-content section { padding: 25px 0 22px; border-bottom: 1px solid #e7dfd1; }
.policy-content h2 { margin: 0 0 10px; color: var(--navy); font: 600 20px/1.4 var(--serif); }
.policy-content p { margin: 0; color: #626f7e; font-size: 12px; line-height: 1.95; }
.policy-content a { color: #84620e; text-decoration: underline; text-decoration-color: #d9c48d; text-underline-offset: 3px; }
.policy-content .policy-contact { margin-top: 26px; padding: 19px 21px; border-left: 3px solid var(--gold); color: var(--navy); background: #f5efdf; }

@media (max-width: 900px) {
  .checkout-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; }
}
@media (max-width: 760px) {
  .account-page { padding: 38px 18px; }
  .account-card { grid-template-columns: 1fr; }
  .account-welcome { min-height: 300px; }
  .account-promise { margin-top: 28px; }
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-summary { position: static; }
  .account-site-header { width: calc(100% - 36px); height: 74px; }
  .account-header-actions { gap: 13px; font-size: 9px; }
}
@media (max-width: 640px) {
  .account-site-header .brand { width: 72px; height: 68px; }
  .account-header-actions { gap: 9px; font-size: 8px; }
  .account-header-actions .store-cart-link { min-width: 0; gap: 5px; padding: 6px 7px; }
  .account-header-actions .store-cart-link svg { width: 17px; height: 17px; }
  .account-header-actions .store-cart-count { min-width: 17px; height: 17px; font-size: 8px; }
  .account-fields, .checkout-fields { grid-template-columns: 1fr; }
  .checkout-choice-content { padding: 4px 2px 10px; }
  .checkout-steps { gap: 7px; font-size: 8px; }
  .checkout-steps i { width: 18px; }
}

@media (max-width: 900px) {
  .shop-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-detail-layout { grid-template-columns: 1fr; gap: 30px; }
  .product-detail-visual { height: min(75vw, 510px); }
  .product-detail-copy { padding: 0 12px; }
  .product-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cart-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; }
  .cart-item { grid-template-columns: 85px minmax(0, 1fr) auto; gap: 12px; padding: 12px; }
  .cart-item-image { height: 100px; }
  .event-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  .event-detail-poster { min-height: 430px; }
  .event-detail-intro { padding: 34px; }
  .event-detail-information { gap: 28px; }
}
@media (max-width: 900px) {
  .footer-main { grid-template-columns: 1.2fr 1fr 1fr; gap: 28px; }
  .footer-brand-column { grid-column: 1 / -1; max-width: 450px; }
}
@media (max-width: 640px) {
  .shop-content, .events-content, .cart-content { padding-top: 42px; }
  .shop-section-heading { align-items: flex-start; flex-direction: column; gap: 13px; margin-bottom: 21px; }
  .shop-product-grid { grid-template-columns: 1fr; gap: 13px; }
  .shop-product-image { height: min(78vw, 330px); }
  .shop-product-copy { min-height: 102px; }
  .event-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
  .event-poster-overlay { padding: 13px; }
  .event-poster-overlay > strong { font-size: 17px; }
  .event-poster-overlay time, .event-poster-meta { font-size: 8px; }
  .event-detail-wrap { width: calc(100% - 32px); }
  .event-detail-page { padding-top: 20px; }
  .event-detail-hero { grid-template-columns: 1fr; }
  .event-detail-poster { min-height: 320px; padding: 16px; }
  .event-detail-poster > img { max-height: 460px; }
  .event-detail-intro { padding: 28px 23px 31px; }
  .event-back-link { margin-bottom: 25px; }
  .event-detail-intro h1 { font-size: clamp(32px, 9vw, 44px); }
  .event-detail-information { grid-template-columns: 1fr; gap: 28px; padding-top: 43px; }
  .event-detail-facts-card { padding: 23px; }
  .event-detail-registration-form { padding: 15px; }
  .cart-layout { grid-template-columns: 1fr; gap: 20px; }
  .cart-summary { position: static; }
  .cart-item { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding: 11px; }
  .cart-item-image { height: 88px; grid-row: span 2; }
  .cart-item-controls { grid-column: 2; display: flex; align-items: center; justify-content: space-between; gap: 9px; }
  .cart-quantity-form { gap: 5px; }
  .cart-quantity-form input { width: 43px; }
  .cart-line-total { font-size: 11px; }
  .site-footer { padding: 0 22px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 23px 18px; padding: 38px 0 29px; }
  .footer-brand-column { grid-column: 1 / -1; max-width: 370px; }
  .product-detail-page { padding-top: 22px; padding-bottom: 55px; }
  .product-detail-breadcrumbs { margin-bottom: 20px; }
  .product-detail-layout { gap: 20px; }
  .product-detail-visual { height: min(95vw, 420px); }
  .product-gallery-main { padding: 18px; }
  .product-detail-copy { padding: 0; }
  .product-detail-copy h1 { font-size: clamp(34px, 10vw, 44px); }
  .product-detail-add { grid-template-columns: 1fr 1fr; gap: 13px 9px; }
  .product-detail-option select { height: 42px; }
  .product-quantity-controls button, .product-quantity-controls input { height: 42px; }
  .product-detail-add-button { min-height: 45px; }
  .instant-checkout { align-items: end; padding: 0; }
  .instant-checkout-panel { width: 100%; max-height: 92vh; padding: 23px 19px calc(22px + env(safe-area-inset-bottom)); border-radius: 14px 14px 0 0; }
  .instant-customer-fields, .instant-pickup-fields { grid-template-columns: 1fr; }
  .instant-zone-option { grid-template-columns: auto minmax(0, 1fr); }
  .instant-zone-option > strong:last-child { grid-column: 2; }
  .product-detail-information, .product-related { margin-top: 43px; }
  .product-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .product-related-card img, .product-related-placeholder { height: 135px; }
  .product-image-lightbox { grid-template-columns: 42px minmax(0, 1fr) 42px; gap: 6px; padding: 22px 12px; }
  .product-image-lightbox > button { width: 36px; height: 36px; }
  .site-footer .footer-tagline { max-width: 300px; font-size: 18px; }
  .footer-links, .footer-social { gap: 10px; padding-top: 3px; }
  .footer-links h2, .footer-social h2 { margin-bottom: 4px; font-size: 10px; }
  .footer-links a { font-size: 10px; overflow-wrap: anywhere; }
  .footer-social { grid-column: 1 / -1; }
  .footer-bottom { min-height: 0; align-items: flex-start; flex-direction: column; gap: 5px; padding: 15px 0 17px; }
  .copyright, .footer-note { font-size: 8px; }
  .policy-page { padding-bottom: 55px; }
  .policy-hero { padding: 55px 21px 39px; }
  .policy-hero::after { right: -10px; bottom: -27px; font-size: 100px; }
  .policy-content { width: calc(100% - 40px); padding-top: 21px; }
  .policy-content section { padding: 21px 0 18px; }
  .policy-content h2 { font-size: 18px; }
  .policy-content p { font-size: 11px; }
}
