:root {
  --paper: #f6f1e8;
  --paper-deep: #eee5d8;
  --ink: #202b3b;
  --ink-soft: #34404c;
  --copper: #b36b43;
  --gold: #bd9c66;
  --white: #fffdf9;
  --muted: #766f66;
  --line: #d8cfc2;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Arial, Helvetica, sans-serif;
  --content: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 15px/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--copper); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 20; top: 8px; left: 8px; transform: translateY(-150%); background: var(--ink); color: white; padding: 10px 14px; font-size: 12px; }
.skip-link:focus { transform: translateY(0); }
.announcement { min-height: 34px; padding: 0 16px; background: var(--paper-deep); color: var(--ink); display: flex; align-items: center; justify-content: center; gap: 9px; border-bottom: 1px solid #bd9c6677; font-size: 10px; letter-spacing: .13em; line-height: 1.3; text-align: center; text-transform: uppercase; }
.announcement span { color: var(--copper); }
.site-header { width: 100%; height: 82px; max-width: none; margin: 0; padding: 0 clamp(28px, calc((100% - var(--content)) / 2 + 36px), 88px); display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 10; background: linear-gradient(110deg, #172231, #222f40 52%, #172231); border-bottom: 1px solid #bd9c6688; box-shadow: 0 9px 24px #11192538; }
.wordmark { display: flex; gap: 8px; align-items: center; color: var(--ink); font: 600 25px/.9 var(--serif); letter-spacing: .04em; }
.wordmark-logo { width: 138px; height: 64px; border: 0; border-radius: 0; box-shadow: none; object-fit: contain; object-position: center; }
.wordmark-star { font-size: 24px; color: var(--gold); align-self: flex-start; line-height: 1; }
.wordmark small { display: block; margin-top: 7px; font: 500 8px/1 var(--sans); letter-spacing: .28em; text-align: center; }
.primary-nav { margin-left: auto; display: flex; align-items: center; gap: clamp(15px, 1.55vw, 28px); font-size: 12px; letter-spacing: .035em; white-space: nowrap; }
.primary-nav > a:not(.nav-cta), .text-link { transition: color .2s; }
.primary-nav > a:hover, .text-link:hover, .back-link:hover { color: var(--copper); }
.site-header .primary-nav > a:not(.nav-cta) { color: #f3ece1; }
.site-header .primary-nav > a:not(.nav-cta):hover { color: #d9b878; }
.site-header .nav-cta { border-color: #bd9c66; color: #f3ece1; }
.site-header .nav-cta:hover { background: #bd9c66; color: #172231; }
.nav-cta { padding: 12px 16px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font: 11px var(--sans); cursor: pointer; transition: background .2s, color .2s; }
.nav-cta:hover { background: var(--ink); color: var(--paper); }
.header-socials { margin-left: 25px; display: flex; align-items: center; gap: 13px; }
.header-socials a { width: 19px; height: 19px; display: grid; place-items: center; color: #d9b878; transition: color .2s, transform .2s; }
.header-socials a:hover { color: var(--copper); transform: translateY(-1px); }
.header-socials .social-image-icon { width: 21px; height: 21px; object-fit: contain; }
.menu-wrap { position: relative; display: none; margin-left: 16px; }
.menu-toggle { width: 43px; height: 43px; padding: 10px; border: 1px solid #bd9c66; display: none; flex-direction: column; justify-content: center; gap: 5px; background: transparent; cursor: pointer; }
.menu-toggle span { width: 21px; height: 1px; display: block; background: #f3ece1; transition: transform .2s, opacity .2s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-6px) rotate(-45deg); }
.menu-panel { position: absolute; z-index: 12; top: calc(100% + 12px); right: 0; width: 190px; padding: 8px 18px; display: none; background: #202b3b; color: #f3ece1; box-shadow: 0 10px 26px #11192545; border: 1px solid #bd9c6688; }
.menu-panel.is-open { display: flex; flex-direction: column; }
.menu-panel a { padding: 11px 0; border-bottom: 1px solid #ffffff24; font-size: 12px; }
.menu-panel a:last-child { border-bottom: 0; }
.menu-panel a:hover { color: #d9b878; }
.hero { max-width: var(--content); margin: 0 auto; padding: 0 36px; display: grid; grid-template-columns: .88fr 1.12fr; min-height: 0; }
.hero-copy { padding: 30px 48px 15px 0; display: flex; flex-direction: column; align-items: flex-start; }
.eyebrow { margin: 0 0 17px; color: var(--copper); font-size: 9px; font-weight: 600; letter-spacing: .21em; line-height: 1.7; text-transform: uppercase; }
.eyebrow-rule { display: inline-block; width: 26px; height: 1px; margin-right: 8px; background: var(--copper); vertical-align: middle; }
.hero h1, .page-hero h1, .not-found h1 { max-width: 620px; margin: 0; color: var(--ink); font: 500 clamp(46px, 5.6vw, 78px)/1.08 var(--serif); letter-spacing: -.045em; }
.hero h1 { font-size: clamp(42px, 4.6vw, 62px); }
.hero h1 em, .page-hero h1 em, .section-intro h2 em, .story-copy h2 em, .values-heading h2 em, .social-copy h2 em, .final-cta h2 em, .article-header h1 em, .not-found h1 em { color: var(--copper); font-weight: 500; }
.hero-lede { max-width: 380px; margin: 16px 0 20px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.hero-actions, .cta-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.button { min-height: 48px; padding: 0 19px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 22px; cursor: pointer; font-size: 11px; font-weight: 600; letter-spacing: .045em; transition: background .2s, color .2s, transform .2s; }
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: var(--white); }
.button-dark:hover { background: #35475d; }
.button-outline { border-color: var(--ink); color: var(--ink); }
.button-outline:hover { background: var(--ink); color: var(--white); }
.button-cream { background: var(--paper); color: var(--ink); }
.button-cream:hover { background: #fff; }
.hero-footnote { display: flex; gap: 18px; margin-top: auto; color: var(--muted); font-size: 8px; letter-spacing: .16em; }
.hero-footnote span:first-child { color: var(--copper); }
.hero-image-wrap { position: relative; min-height: 0; aspect-ratio: 1.6; overflow: hidden; background: #080b12; }
.hero-image { position: absolute; inset: 0; object-fit: contain; object-position: center; }
.hero-caption { position: absolute; right: 0; bottom: 0; left: 0; padding: 16px 18px; display: flex; justify-content: space-between; background: linear-gradient(transparent, #181b1f99); color: white; font-size: 8px; letter-spacing: .17em; }
.hero-image-index { position: absolute; top: 18px; right: 20px; color: white; font-size: 25px; }
.trust-strip { min-height: 63px; padding: 10px 18px; display: flex; align-items: center; justify-content: center; gap: 39px; background: #ece3d7; color: var(--ink-soft); font-size: 8px; letter-spacing: .18em; }
.trust-strip i { color: var(--gold); font-size: 11px; font-style: normal; }
.section { max-width: var(--content); margin: auto; padding: 54px 36px; }
.section-intro { max-width: 570px; margin: 0 auto 38px; text-align: center; }
.section-intro h2, .reviews-head h2, .values-heading h2, .story-copy h2, .social-copy h2, .final-cta h2, .about-feature h2, .contact-note h2 { margin: 0; color: var(--ink); font: 500 clamp(34px, 4vw, 49px)/1.17 var(--serif); letter-spacing: -.035em; }
.section-intro > p:last-child { max-width: 470px; margin: 13px auto 0; color: var(--muted); font-size: 13px; }
.section-link { margin: -20px 0 22px; display: flex; justify-content: flex-end; }
.text-link { font-size: 11px; font-weight: 600; letter-spacing: .035em; }
.text-link span { margin-left: 7px; font-size: 16px; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.product-card { min-width: 0; }
.product-image { position: relative; display: block; overflow: hidden; aspect-ratio: .79; background: #e9dfd0; }
.product-image img, .journal-image img { transition: transform .45s; }
.product-image:hover img, .journal-image:hover img { transform: scale(1.045); }
.badge { position: absolute; top: 11px; left: 11px; padding: 7px 9px; background: var(--paper); color: var(--ink); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.badge-new { background: var(--ink); color: white; }
.image-arrow { position: absolute; right: 12px; bottom: 12px; width: 31px; height: 31px; border-radius: 50%; display: grid; place-items: center; background: var(--paper); font-size: 14px; transition: transform .2s; }
.product-image:hover .image-arrow { transform: rotate(45deg); }
.collection-hover-label { position: absolute; z-index: 1; right: 10px; bottom: 10px; left: 10px; padding: 10px 12px; background: #202b3be8; color: #fffdf9; font-size: 9px; letter-spacing: .12em; text-align: center; text-transform: uppercase; opacity: 0; transform: translateY(6px); transition: opacity .2s, transform .2s; pointer-events: none; }
.product-image:hover .collection-hover-label, .product-image:focus-visible .collection-hover-label { opacity: 1; transform: translateY(0); }
.product-meta { margin-top: 13px; display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.product-meta small { color: var(--copper); font-size: 8px; letter-spacing: 0; text-transform: none; }
.product-card h3 { margin: 5px 0; color: var(--ink); font: 500 19px/1.3 var(--serif); }
.product-card h3 a:hover, .journal-card h3 a:hover { color: var(--copper); }
.muted { margin: 0; color: var(--muted); font-size: 11px; }
.card-actions { margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.card-actions .text-link { font-size: 10px; }
.card-actions .button { min-height: 34px; padding: 0 10px; gap: 7px; font-size: 8px; }
.feature-story { height: clamp(460px, 34vw, 580px); min-height: 0; display: grid; grid-template-columns: 1fr 1fr; background: var(--ink); color: var(--paper); }
.story-image { min-height: 0; height: 100%; overflow: hidden; }
.story-image img { object-position: center 45%; }
.story-copy { position: relative; padding: 55px clamp(40px, 6vw, 90px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; overflow: hidden; }
.story-copy .eyebrow, .final-cta .eyebrow { color: #d5b782; }
.story-copy h2 { color: var(--paper); font-size: clamp(37px, 4.4vw, 58px); }
.story-copy h2 em, .final-cta h2 em { color: #d3ad72; }
.story-copy > p:not(.eyebrow) { max-width: 395px; margin: 20px 0 25px; color: #d6d0c8; font-size: 13px; line-height: 1.9; }
.story-copy .button { border-color: #d6c5ab; color: var(--paper); }
.story-copy .button:hover { background: var(--paper); color: var(--ink); }
.story-mark { position: absolute; right: -15px; bottom: -115px; color: #ffffff0b; font: 400 300px/1 var(--serif); }
.best-section { padding-bottom: 54px; }
.values-section { padding: 48px max(7vw, 36px); display: grid; grid-template-columns: .9fr 1.1fr; gap: 9vw; background: #ebe2d6; }
.values-heading h2 { font-size: 44px; }
.values-list article { padding: 17px 0; border-bottom: 1px solid #d0c4b5; display: grid; grid-template-columns: 42px 1fr; gap: 18px; }
.values-list article:first-child { padding-top: 0; }
.values-list article > span, .about-value-grid article > span { color: var(--copper); font: italic 15px var(--serif); }
.values-list h3, .about-value-grid h3 { margin: 0; font: 500 19px var(--serif); }
.values-list p, .about-value-grid p { max-width: 370px; margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.arrivals-section.section {
  max-width: none;
  padding: 54px max(36px, calc((100% - var(--content)) / 2 + 36px)) 58px;
  background: #eee5d8;
}
.arrivals-section > .section-intro,
.arrivals-section > .product-grid,
.journal-section > .section-intro,
.journal-section > .section-link,
.journal-section > .journal-grid { max-width: var(--content); margin-inline: auto; }
.arrivals-section > .product-grid { max-width: 760px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.journal-section.section {
  max-width: none;
  padding: 58px max(36px, calc((100% - var(--content)) / 2 + 36px)) 64px;
  border-top: 1px solid #d4dbe0;
  background: #e9edf0;
}
.journal-section > .section-intro { margin-bottom: 32px; }
.journal-section > .section-link { margin: -14px auto 22px; }
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.journal-image { display: block; overflow: hidden; aspect-ratio: 1.3; background: var(--paper-deep); }
.journal-card .eyebrow { margin: 14px 0 7px; font-size: 8px; }
.journal-card .eyebrow span { padding: 0 3px; color: var(--gold); }
.journal-card h3 { margin: 0 0 8px; font: 500 22px/1.27 var(--serif); }
.journal-card > p:not(.eyebrow) { margin: 0 0 13px; color: var(--muted); font-size: 12px; }
.reviews-section { padding: 48px max(7vw, 36px) 45px; background: #ece3d7; }
.reviews-head { max-width: var(--content); margin: 0 auto 27px; display: flex; align-items: flex-end; justify-content: space-between; }
.reviews-head h2 { font-size: 40px; }
.review-grid { max-width: var(--content); margin: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.review-card { padding: 18px 20px 16px; background: var(--paper); }
.stars { color: var(--copper); font-size: 12px; letter-spacing: .1em; }
.review-card blockquote { margin: 10px 0 13px; color: var(--ink-soft); font: italic 15px/1.5 var(--serif); }
.review-author { margin: 0; font-size: 10px; font-weight: 600; }
.review-author span { color: var(--muted); font-weight: 400; }
.sample-note { max-width: 750px; margin: 18px auto 0; color: #8a7162; font-size: 10px; text-align: center; }
.social-section { max-width: var(--content); margin: auto; padding: 52px 36px; display: grid; grid-template-columns: 1fr .86fr; align-items: center; gap: 9%; }
.social-image { max-height: 490px; aspect-ratio: 1.02; }
.social-image img { object-position: center 42%; }
.social-copy { padding: 25px 0; }
.social-copy h2 { font-size: clamp(38px, 4.4vw, 55px); }
.social-copy > p:not(.eyebrow) { max-width: 375px; margin: 17px 0 22px; color: var(--muted); font-size: 13px; }
.social-video { display: block; margin-top: 17px; }
.final-cta { padding: 30px 24px 32px; background: var(--ink); color: var(--paper); text-align: center; }
.final-cta h2 { color: var(--paper); font-size: clamp(32px, 3.8vw, 46px); }
.cta-actions { margin-top: 18px; justify-content: center; }
.final-cta .button { min-height: 44px; padding-inline: 16px; }
.final-cta .button-dark { border-color: #cfc2ad; background: transparent; color: var(--paper); }
.final-cta .button-dark:hover { background: var(--paper); color: var(--ink); }
.site-footer { padding: 58px max(5vw, 28px) 18px; background: #192330; color: #e8dfd1; }
.footer-main { max-width: var(--content); margin: auto; padding-bottom: 47px; display: grid; grid-template-columns: 1.25fr .65fr .8fr 1fr; gap: 35px; }
.footer-mark { width: max-content; color: var(--paper); }
.footer-copy { max-width: 210px; margin-top: 17px; color: #bdb6aa; font: italic 15px/1.55 var(--serif); }
.footer-column { display: flex; flex-direction: column; gap: 9px; color: #d0c8bb; font-size: 11px; }
.footer-column h2 { margin: 0 0 7px; color: #c3a16c; font-size: 9px; letter-spacing: .17em; text-transform: uppercase; }
.footer-column a:hover { color: #d3ad72; }
.footer-column .social-icon-link { display: inline-flex; align-items: center; gap: 8px; }
.social-icon-link .social-image-icon { width: 18px; height: 18px; flex: 0 0 18px; object-fit: contain; }
.footer-note { align-self: center; padding: 3px 0 3px 22px; border-left: 1px solid #43505d; }
.footer-note span { color: #d3ad72; font-size: 8px; letter-spacing: .18em; }
.footer-note p { margin: 9px 0 0; font: italic 19px/1.4 var(--serif); }
.footer-bottom { max-width: var(--content); margin: auto; padding-top: 15px; border-top: 1px solid #39434f; display: flex; justify-content: space-between; gap: 20px; color: #a9a399; font-size: 9px; }
.floating-whatsapp { position: fixed; z-index: 4; right: 20px; bottom: 18px; padding: 11px 14px; border: 1px solid #ffffff47; display: flex; align-items: center; gap: 8px; background: var(--ink); color: white; font-size: 10px; box-shadow: 0 6px 24px #17213138; }
.floating-whatsapp .whatsapp-icon { width: 17px; height: 17px; flex: 0 0 17px; object-fit: contain; }
.nav-cta .cart-count { min-width: 19px; height: 19px; padding: 0 5px; border-radius: 50px; display: inline-grid; place-items: center; background: var(--gold); color: var(--ink); font-size: 9px; }
.order-layer[hidden] { display: none !important; }
.order-layer { position: fixed; z-index: 15; inset: 0; }
.order-scrim { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #11192388; cursor: pointer; }
.order-drawer { position: absolute; top: 0; right: 0; bottom: 0; width: min(470px, 100vw); padding: 30px 26px 24px; display: flex; flex-direction: column; background: var(--paper); box-shadow: -12px 0 40px #1419222b; overflow-y: auto; }
.drawer-header { padding-bottom: 18px; border-bottom: 1px solid var(--line); display: flex; align-items: flex-start; justify-content: space-between; }
.drawer-header-actions { display: flex; align-items: center; gap: 9px; }
.clear-order { min-height: 40px; padding: 0 11px; border: 1px solid var(--line); background: transparent; color: var(--copper); font-size: 10px; cursor: pointer; }
.clear-order:disabled { opacity: .4; cursor: not-allowed; }
.drawer-header .eyebrow { margin-bottom: 4px; }
.drawer-header h2 { margin: 0; font: 500 35px/1.15 var(--serif); }
.drawer-close { width: 40px; height: 40px; border: 1px solid var(--line); background: transparent; color: var(--ink); font-size: 26px; line-height: 1; cursor: pointer; }
.drawer-items { flex: 1; }
.drawer-empty { margin: auto 0; color: var(--muted); font: 17px/1.7 var(--serif); text-align: center; }
.drawer-empty a { color: var(--copper); font: 600 11px var(--sans); }
.order-item { padding: 16px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 72px 1fr; gap: 14px; }
.order-item img { height: 88px; object-fit: cover; background: var(--paper-deep); }
.order-item-copy h3 { margin: 0; font: 500 17px/1.35 var(--serif); }
.order-item-copy p { margin: 4px 0 9px; color: var(--muted); font-size: 11px; }
.order-item-copy p small { color: var(--copper); }
.quantity-control { display: flex; align-items: center; gap: 10px; }
.quantity-control button { min-width: 26px; min-height: 26px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; }
.quantity-control span { min-width: 14px; text-align: center; font-size: 11px; }
.quantity-control .remove-item { margin-left: auto; padding: 0 7px; border: 0; color: var(--muted); font-size: 10px; }
.order-controls { display: flex; align-items: center; gap: 5px; }
.order-controls .add-to-order { flex: 1; white-space: nowrap; }
.quantity-decrease { min-width: 30px; min-height: 34px; padding: 0; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font-size: 15px; cursor: pointer; }
.quantity-decrease:hover { border-color: var(--copper); color: var(--copper); }
.drawer-footer { padding-top: 18px; border-top: 1px solid var(--line); }
.drawer-footer p { color: var(--muted); font-size: 10px; }
.drawer-footer .button { width: 100%; justify-content: space-between; }
.drawer-footer .button:disabled { opacity: .45; cursor: not-allowed; }
.card-actions .add-to-order { position: relative; }
.added-quantity { padding: 0 3px; color: var(--muted); font-size: 8px; white-space: nowrap; }
.product-detail-copy > .order-controls { width: 100%; }
.collection-filter { margin: 0 auto 22px; display: flex; justify-content: center; align-items: center; gap: 12px; }
.collection-filter label { color: var(--muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.collection-filter select { min-width: 200px; font: 500 13px var(--serif); }
.product-card[hidden] { display: none; }
.business-contact, .business-address { color: var(--muted); font-size: 10px; }
.footer-note .business-contact { color: #d0c8bb; line-height: 1.5; white-space: pre-line; }
.page-hero { max-width: var(--content); margin: auto; text-align: center; }
.page-hero-small { padding: 43px 24px 39px; background: var(--paper-deep); }
.page-hero h1 { max-width: 760px; margin: auto; font-size: clamp(44px, 5vw, 65px); }
.page-hero > p:last-child { max-width: 540px; margin: 16px auto 0; color: var(--muted); font-size: 14px; }
.shop-section { padding-top: 42px; }
.shop-toolbar { padding-bottom: 13px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; font-size: 11px; }
.shop-toolbar p { margin: 0; }
.shop-toolbar p span { color: var(--muted); }
.shop-toolbar label, .filter-row label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; }
select { padding: 6px 20px 6px 4px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); font-size: 10px; }
.filter-row { padding: 15px 0 24px; display: flex; align-items: center; gap: 21px; }
.filter-row select { min-width: 105px; }
.clear-filters { padding: 0; border: 0; background: none; color: var(--copper); }
.shop-grid { row-gap: 42px; }
.empty-state { padding: 50px; color: var(--muted); text-align: center; }
.about-feature { max-width: 1100px; margin: 42px auto; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 9%; }
.about-feature > div { aspect-ratio: .9; }
.about-feature article { padding: 20px 30px 20px 0; }
.about-feature h2 { font-size: 47px; }
.about-feature article > p:not(.eyebrow):not(.signature) { color: var(--muted); font-size: 13px; line-height: 1.9; }
.signature { margin-top: 26px; font: italic 15px var(--serif); }
.signature span { padding-left: 8px; color: var(--copper); font-size: 25px; }
.about-values { padding: 43px 8% 47px; background: var(--paper-deep); }
.about-value-grid { max-width: var(--content); margin: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
.about-value-grid article { padding: 20px 15px 0 0; border-top: 1px solid #cfc1af; }
.about-value-grid h3 { margin-top: 10px; }
.blog-listing { padding-top: 65px; }
.article-page { padding: 0 24px; }
.article-header { max-width: 760px; margin: auto; padding: 30px 0 20px; text-align: center; }
.back-link { display: inline-block; margin-bottom: 30px; color: var(--muted); font-size: 10px; }
.article-header .eyebrow { margin: 0 auto 15px; }
.article-header h1 { margin: 0; font: 500 clamp(38px, 5vw, 62px)/1.12 var(--serif); letter-spacing: -.035em; }
.article-deck { max-width: 560px; margin: 17px auto; color: var(--muted); font-size: 14px; }
.article-byline { color: var(--copper); font-size: 10px; }
.article-cover { max-width: 850px; height: min(65vw, 580px); margin: auto; background: var(--paper-deep); }
.article-content { max-width: 620px; margin: 48px auto 60px; }
.article-content > p { margin: 0 0 22px; color: #4d4d4a; font: 400 17px/1.9 var(--serif); }
.article-end { margin: 40px 0; color: var(--gold); text-align: center; }
.article-end span { font-size: 23px; }
.article-end p { color: var(--muted); font: italic 14px var(--serif); }
.article-related { max-width: 1000px; margin: 0 auto 90px; }
.article-related > .eyebrow { text-align: center; }
.article-related .journal-grid { max-width: 750px; margin: auto; grid-template-columns: repeat(2, 1fr); }
.reviews-list { padding-top: 66px; }
.reviews-list .review-card { border: 1px solid var(--line); }
.contact-layout { max-width: 1000px; margin: 38px auto 50px; padding: 0 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 12%; }
.contact-note h2 { font-size: 40px; }
.contact-note > p:not(.eyebrow):not(.contact-small) { max-width: 420px; margin: 17px 0 23px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.contact-small { color: var(--muted); font-size: 10px; }
.contact-form { display: flex; flex-direction: column; align-items: flex-start; }
.contact-form .eyebrow { margin-bottom: 19px; }
.contact-form label { margin: 14px 0 5px; font-size: 11px; }
.contact-form input, .contact-form textarea { width: 100%; padding: 11px; border: 1px solid var(--line); background: #faf7f1; color: var(--ink); }
.contact-form textarea { resize: vertical; }
.contact-form .contact-message-copy { margin-top: 12px; }
.contact-form button { margin-top: 17px; }
.form-hint { color: var(--muted); font-size: 9px; }
.product-detail { max-width: var(--content); margin: auto; padding: 44px 36px 80px; display: grid; grid-template-columns: 1.03fr .83fr; gap: 9%; }
.product-detail-main { aspect-ratio: .92; background: var(--paper-deep); }
.product-detail-main img { object-position: center 42%; }
.product-thumbs { margin-top: 11px; display: flex; gap: 10px; }
.product-thumb { width: 72px; height: 82px; padding: 0; border: 1px solid transparent; background: transparent; cursor: pointer; }
.product-thumb.active { border-color: var(--copper); }
.product-detail-copy { padding-top: 4px; }
.product-detail-copy .back-link { margin: 0 0 28px; }
.product-detail-copy > .eyebrow { margin-bottom: 12px; }
.product-detail-copy h1 { margin: 0; font: 500 clamp(36px, 4vw, 51px)/1.12 var(--serif); letter-spacing: -.035em; }
.detail-price { margin: 16px 0 9px; font: 500 19px var(--serif); }
.detail-price small { display: block; margin-top: 4px; color: var(--copper); font: 9px var(--sans); }
.detail-description { margin: 17px 0 23px; color: var(--muted); font-size: 13px; line-height: 1.85; }
.detail-fragrance { margin-bottom: 18px; padding: 13px 0; border-block: 1px solid var(--line); display: flex; align-items: center; gap: 24px; }
.detail-fragrance span { color: var(--muted); font-size: 8px; letter-spacing: .16em; }
.detail-fragrance strong { font: 500 15px var(--serif); }
.product-detail-copy > .button { width: 100%; justify-content: space-between; }
.availability { margin: 10px 0 21px; color: var(--muted); font-size: 9px; }
.product-detail-copy details { padding: 13px 0; border-top: 1px solid var(--line); }
.product-detail-copy details:last-of-type { border-bottom: 1px solid var(--line); }
.product-detail-copy summary { display: flex; justify-content: space-between; cursor: pointer; list-style: none; font: 500 16px var(--serif); }
.product-detail-copy summary::-webkit-details-marker { display: none; }
.product-detail-copy summary span { color: var(--copper); font: 14px var(--sans); }
.product-detail-copy dl { margin: 12px 0 0; }
.product-detail-copy dl div { padding: 5px 0; display: flex; justify-content: space-between; gap: 12px; font-size: 10px; }
.product-detail-copy dt { color: var(--muted); }
.product-detail-copy dd { margin: 0; text-align: right; }
.product-detail-copy details > p { color: var(--muted); font-size: 11px; line-height: 1.8; }
.product-detail-copy .sample-note { margin: 16px 0 0; text-align: left; }
.related-section { padding-top: 72px; border-top: 1px solid var(--line); }
.not-found { padding: 125px 20px 150px; text-align: center; }
.not-found .eyebrow { margin-bottom: 14px; }
.not-found h1 { margin: auto; font-size: 64px; }
.not-found > p:not(.eyebrow) { margin: 16px 0 22px; color: var(--muted); }
.not-found .button { margin: auto; }
@media (max-width: 1120px) {
  .site-header { height: 82px; padding-inline: 28px; }
  .primary-nav { gap: 0; }
  .primary-nav > a:not(.cart-open), .primary-nav > button:not(.cart-open) { display: none; }
  .header-socials { margin-left: auto; }
  .menu-wrap { display: block; margin-left: 15px; }
  .menu-toggle { display: flex; }
}
@media (max-width: 980px) {
  .site-header { padding-inline: 25px; }
  .header-socials { gap: 8px; }
  .menu-wrap { margin-left: 12px; }
  .hero { min-height: 0; padding-inline: 25px; grid-template-columns: .92fr 1.08fr; }
  .hero-copy { padding-top: 38px; padding-right: 28px; }
  .hero-image-wrap { min-height: 0; aspect-ratio: 1.5; }
  .hero h1 { font-size: clamp(40px, 5.3vw, 58px); }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 18px; }
  .product-image { aspect-ratio: .92; }
  .values-section { padding: 42px 7%; gap: 5vw; }
  .footer-main { grid-template-columns: 1fr 1fr; row-gap: 30px; }
  .footer-note { align-self: auto; }
  .product-detail { padding-inline: 25px; gap: 6%; }
  .about-feature { margin: 30px 5%; gap: 5%; }
}
@media (max-width: 700px) {
  .announcement { min-height: 36px; font-size: 8px; letter-spacing: .1em; }
  .site-header { height: 78px; padding-inline: 16px; }
  .wordmark { font-size: 22px; }
  .wordmark-logo { width: 110px; height: 54px; }
  .wordmark-star { font-size: 20px; }
  .primary-nav { position: static; margin-left: auto; padding: 0; display: flex; flex-direction: row; align-items: center; gap: 0; background: transparent; box-shadow: none; }
  .primary-nav .cart-open { width: 42px; min-width: 42px; height: 42px; padding: 0; display: grid; place-items: center; font-size: 0; }
  .primary-nav .cart-count { font-size: 9px; }
  .header-socials { margin-left: 9px; gap: 6px; }
  .header-socials a { width: 18px; height: 18px; }
  .header-socials .social-image-icon { width: 18px; height: 18px; }
  .menu-wrap { margin-left: 9px; }
  .menu-panel { position: absolute; top: calc(100% + 12px); right: -16px; width: min(280px, calc(100vw - 32px)); padding: 8px 22px; }
  .hero { min-height: 0; padding: 0; display: flex; flex-direction: column; }
  .hero-copy { min-height: 0; padding: 24px 22px 14px; }
  .hero h1 { max-width: 440px; font-size: clamp(34px, 7.2vw, 42px); }
  .hero-lede { max-width: 330px; margin: 9px 0 10px; font-size: 11px; line-height: 1.65; }
  .hero-actions { gap: 9px; }
  .button { min-height: 45px; padding-inline: 14px; gap: 13px; }
  .hero-footnote { margin-top: 12px; }
  .hero-image-wrap { min-height: 170px; height: 43vw; max-height: 245px; aspect-ratio: auto; }
  .hero-caption { padding: 13px; font-size: 7px; }
  .trust-strip { min-height: 56px; padding: 12px 15px; flex-wrap: wrap; gap: 11px; font-size: 7px; }
  .trust-strip span:nth-of-type(n+3), .trust-strip i:nth-of-type(n+2) { display: none; }
  .section { padding: 36px 20px; }
  .section-intro { margin-bottom: 28px; }
  .section-intro h2 { font-size: 36px; }
  .section-intro > p:last-child { font-size: 12px; }
  .section-link { margin: -12px 0 17px; }
  .product-grid { gap: 27px 12px; }
  .product-image { aspect-ratio: .78; }
  .badge { top: 7px; left: 7px; padding: 6px; font-size: 7px; }
  .product-meta { margin-top: 9px; font-size: 8px; }
  .product-card h3 { font-size: 16px; }
  .muted { font-size: 9px; }
  .card-actions { align-items: flex-start; flex-direction: column; }
  .card-actions .button { width: 100%; justify-content: center; }
  .card-actions .text-link { padding: 3px 0; }
  .feature-story { height: auto; min-height: 0; grid-template-columns: 1fr; }
  .story-image { min-height: 0; height: 55vw; max-height: 280px; }
  .story-copy { padding: 30px 25px 34px; }
  .story-copy h2 { font-size: 42px; }
  .story-copy > p:not(.eyebrow) { font-size: 12px; }
  .story-mark { bottom: -90px; font-size: 220px; }
  .values-section { padding: 34px 24px; display: block; }
  .values-heading { margin-bottom: 27px; }
  .values-heading h2 { font-size: 37px; }
  .values-list article { gap: 12px; }
  .arrivals-section.section, .journal-section.section { padding: 36px 20px; }
  .arrivals-section > .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .journal-grid { grid-template-columns: 1fr; gap: 27px; }
  .journal-image { aspect-ratio: 1.35; }
  .journal-card h3 { font-size: 21px; }
  .reviews-section { padding: 36px 20px; }
  .reviews-head h2 { font-size: 34px; }
  .review-grid { grid-template-columns: 1fr; gap: 11px; }
  .review-card { padding: 16px; }
  .review-card blockquote { font-size: 15px; }
  .social-section { padding: 36px 20px; grid-template-columns: 1fr; gap: 20px; }
  .social-image { height: 72vw; max-height: 330px; aspect-ratio: 1.03; }
  .social-copy { padding: 0; }
  .social-copy h2 { font-size: 43px; }
  .final-cta { padding: 26px 20px 28px; }
  .final-cta h2 { font-size: 32px; }
  .cta-actions { flex-direction: column; }
  .cta-actions .button { width: min(100%, 300px); }
  .site-footer { padding: 44px 22px 18px; }
  .footer-main { padding-bottom: 30px; grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  .footer-main > div:first-child { grid-column: 1 / -1; }
  .footer-note { padding-left: 13px; }
  .footer-note p { font-size: 16px; }
  .footer-bottom { flex-wrap: wrap; gap: 8px 15px; font-size: 8px; }
  .footer-bottom span:nth-child(2) { order: 3; width: 100%; }
  .floating-whatsapp { right: 12px; bottom: 12px; padding: 9px 11px; font-size: 9px; }
  .order-controls { width: 100%; }
  .page-hero-small { padding: 31px 20px 28px; }
  .page-hero h1 { font-size: 46px; }
  .page-hero > p:last-child { font-size: 12px; }
  .shop-section { padding-top: 25px; }
  .shop-toolbar { font-size: 9px; }
  .shop-toolbar label { gap: 3px; }
  .shop-toolbar select { max-width: 110px; }
  .filter-row { padding: 13px 0 20px; flex-wrap: wrap; gap: 8px; }
  .filter-row label { gap: 3px; font-size: 9px; }
  .filter-row select { min-width: 0; max-width: 108px; padding-right: 10px; font-size: 9px; }
  .clear-filters { font-size: 9px; }
  .shop-grid { row-gap: 30px; }
  .about-feature { margin: 0; grid-template-columns: 1fr; gap: 0; }
  .about-feature > div { height: 105vw; max-height: 470px; }
  .about-feature article { padding: 42px 24px 55px; }
  .about-feature h2 { font-size: 40px; }
  .about-feature article > p:not(.eyebrow):not(.signature) { font-size: 12px; }
  .about-values { padding: 32px 24px; }
  .about-value-grid { grid-template-columns: 1fr; gap: 22px; }
  .about-value-grid article { padding-top: 14px; }
  .blog-listing { padding-top: 43px; }
  .article-page { padding: 0 17px; }
  .article-header { padding: 22px 0 15px; }
  .article-header h1 { font-size: 42px; }
  .article-deck { font-size: 12px; }
  .article-cover { height: 78vw; max-height: 450px; }
  .article-content { margin: 32px auto 42px; }
  .article-content > p { font-size: 16px; }
  .article-related { margin-bottom: 60px; }
  .article-related .journal-grid { grid-template-columns: 1fr; }
  .reviews-list { padding-top: 40px; }
  .contact-layout { margin: 25px auto 34px; padding: 0 22px; grid-template-columns: 1fr; gap: 25px; }
  .contact-note h2 { font-size: 36px; }
  .contact-form { padding-top: 28px; border-top: 1px solid var(--line); }
  .product-detail { padding: 18px 20px 50px; grid-template-columns: 1fr; gap: 29px; }
  .product-detail-main { aspect-ratio: .93; }
  .product-detail-copy .back-link { margin-bottom: 20px; }
  .product-detail-copy h1 { font-size: 39px; }
  .detail-description { font-size: 12px; }
  .product-thumbs { gap: 8px; }
  .product-thumb { width: 60px; height: 68px; }
  .related-section { padding-top: 55px; }
  .not-found { padding: 95px 20px 110px; }
  .not-found h1 { font-size: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
