:root {
  font-family: "DM Sans", sans-serif;
  color: #24211e;
  background: #f6f1e8;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --paper: #f6f1e8;
  --ink: #24211e;
  --pink: #f4a8b8;
  --green: #c8d96a;
  --blue: #a9c7e8;
  --yellow: #f2cf66;
  --line: 1.5px solid var(--ink);
  --shadow: 5px 5px 0 var(--ink);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 85px; }
body { margin: 0; min-width: min(320px, 100%); }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
::selection { color: var(--ink); background: var(--pink); }

.announcement {
  min-height: 36px; display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 5px 20px; background: var(--ink); color: var(--paper); font-size: 10px; letter-spacing: .07em;
}
.announcement p { margin: 0; }
.announcement a { margin-left: 9px; color: var(--green); font-weight: 700; }
.announcement__spark { color: var(--pink); font-size: 14px; }

.site-header {
  min-height: 74px; padding: 10px 5.2%; display: grid; grid-template-columns: 1fr auto 1fr;
  grid-template-rows: 1fr; align-items: center; border-bottom: var(--line); background: var(--paper);
  position: sticky; top: 0; z-index: 20;
}
.wordmark { display: inline-flex; align-items: center; justify-self: center; grid-column: 1 / -1; grid-row: 1; width: max-content; }
.wordmark__image { display: block; width: 200px; height: auto; }
.main-nav { grid-column: 1 / -1; grid-row: 1; display: flex; justify-content: center; align-items: center; gap: clamp(18px, 3vw, 46px); }
.main-nav a { position: relative; font-size: 12px; font-weight: 600; }
.main-nav a:hover, .main-nav__active { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 6px; }
.nav-new { position: absolute; top: -12px; right: -24px; padding: 2px 4px; background: var(--green); font: 8px "DM Mono", monospace; }
.header-actions { position: absolute; top: 50%; right: 5.2%; display: flex; justify-content: flex-end; align-items: center; gap: 18px; transform: translateY(-50%); }
.icon-button, .bag-button, .menu-toggle { background: none; border: 0; padding: 5px; cursor: pointer; }
.icon-button svg, .bag-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.account-link { display: inline-flex; align-items: center; gap: 7px; max-width: 190px; }
.account-link[data-signed-in="true"] { padding: 0; border: 0; border-radius: 0; background: transparent; }
.account-link__avatar { display: inline-flex; width: 28px; height: 28px; flex: 0 0 auto; overflow: hidden; border: 0; border-radius: 50%; background: #f0dfc8; }
.account-link__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.account-link__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 1px; }
.account-link [hidden] { display: none !important; }
.account-link__name { max-width: 105px; overflow: hidden; color: #422d28; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.account-link__status { color: #8d6a43; font: 8px "DM Mono", monospace; letter-spacing: .06em; text-transform: uppercase; }
.bag-button { display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 600; }
.bag-count { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--yellow); font: 10px "DM Mono", monospace; }
.menu-toggle { display: none; }

.hero {
  min-height: 618px; position: relative; display: grid; grid-template-columns: 48% 52%; padding: 48px 8.3% 71px;
  overflow: hidden; border-bottom: var(--line); background: #f6f1e8;
}
.hero__copy { position: relative; z-index: 2; padding-top: 35px; }
.hero-brand { width: min(100%, 520px); margin: 0 auto 18px; }
.hero-brand img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.eyebrow { margin: 0; display: flex; align-items: center; gap: 9px; font: 10px "DM Mono", monospace; letter-spacing: .11em; }
.eyebrow__line { display: inline-block; width: 24px; height: 1px; background: var(--ink); }
h1, h2 { margin: 0; font-family: "Playfair Display", serif; font-weight: 600; letter-spacing: -.055em; }
.hero h1 { margin-top: 27px; font-size: clamp(76px, 9.2vw, 132px); line-height: .87; }
h1 em, h2 em { color: #9c3e55; font-weight: 600; }
.hero__description { max-width: 360px; margin: 28px 0 25px; font-size: 14px; line-height: 1.7; }
.hero__actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.button {
  min-height: 49px; display: inline-flex; align-items: center; justify-content: center; gap: 19px;
  padding: 0 20px; border: 1.5px solid var(--ink); border-radius: 999px; font-size: 12px; font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover { transform: translate(-2px, -2px); box-shadow: var(--shadow); }
.button--primary { background: var(--green); }
.button--outline { background: transparent; }
.button__arrow { font-size: 18px; font-weight: 400; line-height: 1; }
.text-link { font-size: 11px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.text-link span { display: inline-block; margin-left: 5px; font-size: 16px; }
.hero__note { display: flex; align-items: center; gap: 12px; margin-top: 46px; font: 10px/1.5 "DM Mono", monospace; }
.hero__note-icon { color: #a43d57; font-size: 29px; }
.hero__scribble { position: absolute; left: 47%; bottom: -7px; color: #a43d57; font: italic 22px/1 "Playfair Display", serif; transform: rotate(-13deg); }
.hero__visual { position: relative; display: flex; align-items: center; justify-content: center; padding: 0 2% 5px 7%; }
.hero__image-frame { position: relative; width: min(100%, 440px); aspect-ratio: 1023 / 1537; border: var(--line); background: var(--pink); box-shadow: 8px 8px 0 var(--ink); transform: rotate(2deg); }
.hero__image { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.hero__image-caption { position: absolute; inset: auto 0 0; display: flex; justify-content: space-between; padding: 11px 13px; color: white; background: linear-gradient(transparent, #0009); font: 9px "DM Mono", monospace; letter-spacing: .1em; }
.hero-sticker { position: absolute; z-index: 2; top: 15px; right: 3%; width: 110px; height: 110px; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--yellow); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; font: 8px "DM Mono", monospace; text-align: center; transform: rotate(12deg); }
.hero-sticker__star { font-size: 26px; }
.hero__side-note { position: absolute; right: -25px; bottom: 112px; writing-mode: vertical-rl; font: 9px "DM Mono", monospace; letter-spacing: .16em; }
.hero__bottom { position: absolute; left: 8.3%; right: 8.3%; bottom: 21px; display: flex; justify-content: space-between; font: 9px "DM Mono", monospace; letter-spacing: .1em; }
.hero__bottom span span { color: #9c3e55; font-size: 14px; }

.section-pad { padding: 92px 8.3%; }
.category-section { background: #fbf8f2; border-bottom: var(--line); }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 35px; }
.section-heading h2, .story-section h2, .newsletter-section h2 { margin-top: 15px; font-size: clamp(38px, 4vw, 54px); line-height: 1.08; letter-spacing: -.04em; }
.section-heading h2 em { color: #9c3e55; }
.section-heading__link { margin: 0 5px 5px 0; }
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.category-card { min-height: 226px; position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 20px; border: var(--line); transition: transform .2s, box-shadow .2s; }
.category-card:hover { transform: translate(-3px, -3px); box-shadow: var(--shadow); }
.category-card--pink { background: var(--pink); }
.category-card--green { background: var(--green); }
.category-card--blue { background: var(--blue); }
.category-card--yellow { background: var(--yellow); }
.category-card__number { font: 10px "DM Mono", monospace; }
.category-card__flower { position: absolute; right: 13px; top: 11px; font-size: 36px; opacity: .8; }
.category-card__name { margin: auto 0; font: 26px/.99 "Playfair Display", serif; letter-spacing: -.03em; }
.category-card__foot { display: flex; justify-content: space-between; align-items: center; padding-top: 10px; border-top: 1px solid #24211e77; font: 8px "DM Mono", monospace; letter-spacing: .06em; }
.category-card__foot span { font-size: 16px; }

.products-section { background: var(--paper); }
.section-heading--products { align-items: flex-end; margin-bottom: 30px; }
.products-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.product-card { min-width: 0; overflow: hidden; border: 1px solid #dedbd5; border-radius: 4px; background: #fff; transition: box-shadow .2s, transform .2s; }
.product-card:hover { transform: translateY(-2px); box-shadow: 0 5px 16px #24211e18; }
.product-card__image-wrap { position: relative; overflow: hidden; aspect-ratio: .82; background: #eeeae4; }
.product-card__image-link { display: block; width: 100%; height: 100%; }
.product-card__image { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .3s ease; }
.product-card__tile-name {
  position: absolute;
  right: 10px;
  bottom: 10px;
  left: 10px;
  overflow: hidden;
  padding: 8px 10px;
  background: #f8efe2ed;
  box-shadow: 0 2px 5px #33231f1c;
  color: #4a3028;
  font: 600 13px/1.3 "Playfair Display", serif;
  text-overflow: ellipsis;
}
.product-card__image-placeholder { width: 100%; height: 100%; display: grid; place-items: center; padding: 18px; color: #746f68; background: repeating-linear-gradient(135deg, #f3efe8, #f3efe8 14px, #ebe6dd 14px, #ebe6dd 28px); font-size: 12px; text-align: center; }
.product-card:hover .product-card__image { transform: scale(1.025); }
.wishlist-button { position: absolute; right: 10px; top: 10px; z-index: 2; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #dedbd5; border-radius: 50%; background: #fff; font-size: 19px; cursor: pointer; }
.wishlist-button[aria-pressed="true"] { color: #a43d57; background: var(--pink); }
.product-card__body { padding: 12px 13px 14px; }
.product-card__detail { overflow: hidden; margin: 0 0 4px; color: #746f68; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.product-card__stock {
  display: inline-flex;
  width: max-content;
  align-items: center;
  margin-top: 8px;
  padding: 4px 7px;
  border-radius: 3px;
  background: #e9f1e5;
  color: #496143;
  font: 700 10px "DM Mono", monospace;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.product-card__stock--low_stock { background: #fbf0d7; color: #8a641d; }
.product-card__stock--out_of_stock { background: #f2e5e2; color: #8a3b45; }
.product-card__stars { color: #b38326; font-size: 10px; letter-spacing: .02em; }
.product-card__review-count { color: #6d6963; }
.product-card__price-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.product-card__price { font-size: 17px; font-weight: 700; }
.product-card__price-note { color: #77716a; font-size: 9px; }
.product-card__delivery { margin: 6px 0 10px; color: #57534d; font-size: 10px; }
.product-card__delivery span { padding: 0 3px; color: #9c3e55; }
.quick-add {
  width: 100%; min-height: 37px; display: flex; align-items: center; justify-content: center; gap: 7px;
  border: 1px solid var(--ink); border-radius: 3px; background: var(--yellow); font-size: 11px; font-weight: 700;
  cursor: pointer; transition: background .18s, box-shadow .18s;
}
.quick-add:hover { background: var(--green); }
.products-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin-top: 40px; }
.products-count, .products-footer__aside { font: 9px "DM Mono", monospace; letter-spacing: .08em; }
.products-footer__aside { text-align: right; }
.products-footer__aside span { font-size: 14px; color: #a43d57; }

.story-section { min-height: 520px; display: grid; grid-template-columns: 1fr 1fr; border-top: var(--line); border-bottom: var(--line); background: var(--pink); }
.story-section__visual { min-height: 520px; position: relative; padding: 44px 7% 44px 16%; }
.story-section__visual::before { content: ""; position: absolute; top: 61px; left: 14%; right: 7%; bottom: 31px; border: 1.5px solid var(--ink); transform: rotate(-3deg); }
.story-section__visual img { position: relative; width: 100%; aspect-ratio: 2 / 3; height: auto; display: block; object-fit: cover; border: var(--line); background: #e8d2ca; }
.story-section__stamp { position: absolute; right: 3%; bottom: 41px; width: 97px; height: 97px; display: grid; place-items: center; border: var(--line); border-radius: 50%; background: var(--yellow); text-align: center; font: 9px/1.4 "DM Mono", monospace; transform: rotate(8deg); }
.story-section__copy { position: relative; align-self: center; max-width: 530px; padding: 75px 13% 75px 8%; }
.story-section h2 { font-size: clamp(43px, 4.7vw, 66px); }
.story-section__copy > p:not(.eyebrow) { max-width: 425px; margin: 20px 0 25px; font-size: 13px; line-height: 1.8; }
.story-section__doodle { position: absolute; top: 20%; right: 11%; color: #a43d57; font-size: 55px; transform: rotate(15deg); }

.newsletter-section { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 7%; align-items: center; padding: 77px 13%; overflow: hidden; background: var(--blue); border-bottom: var(--line); }
.newsletter-section h2 { font-size: clamp(40px, 4.3vw, 58px); }
.newsletter-section h2 em { color: #9c3e55; }
.newsletter__copy > p:last-child { max-width: 320px; margin: 17px 0 0; font-size: 12px; line-height: 1.7; }
.newsletter__burst { position: absolute; top: 20px; right: 6%; color: var(--paper); font-size: 82px; }
.newsletter-form { position: relative; z-index: 1; margin-top: 23px; }
.newsletter-form label { display: block; margin-bottom: 10px; font: 9px "DM Mono", monospace; letter-spacing: .1em; }
.newsletter-form__row { display: flex; border-bottom: 1.5px solid var(--ink); }
.newsletter-form input { width: 100%; min-width: 0; padding: 14px 5px; border: 0; outline: 0; background: transparent; font-size: 12px; }
.newsletter-form input::placeholder { color: #5d6570; }
.newsletter-form .button { flex: 0 0 auto; margin: 0 0 8px 10px; min-height: 42px; }
.newsletter-form__message { display: block; margin-top: 10px; font: 9px "DM Mono", monospace; }

.site-footer { padding: 50px 8.3% 16px; background: var(--ink); color: var(--paper); }
.footer-main { display: grid; grid-template-columns: 1fr 2fr; gap: 10%; padding-bottom: 42px; }
.wordmark--footer { padding: 5px; background: #fff; }
.wordmark--footer .wordmark__image { width: 210px; }
.footer-brand { position: relative; }
.footer-brand > p { font: 14px/1.55 "Playfair Display", serif; }
.footer-brand__flower { position: absolute; bottom: 2px; left: 180px; color: var(--pink); font-size: 36px; }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.footer-links h3 { margin: 3px 0 17px; color: var(--green); font: 9px "DM Mono", monospace; letter-spacing: .08em; }
.footer-links a { display: block; width: max-content; max-width: 100%; margin: 10px 0; color: #f6f1e8c9; font-size: 10px; }
.footer-links a:hover { color: var(--pink); text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 15px; border-top: 1px solid #f6f1e844; color: #f6f1e8aa; font: 8px "DM Mono", monospace; letter-spacing: .06em; }
.footer-bottom span span { color: var(--pink); }
.app-dialog {
  width: min(680px, calc(100% - 28px)); max-width: 680px; max-height: min(82vh, 760px); padding: 28px;
  overflow: auto; border: 1.5px solid var(--ink); border-radius: 8px; background: var(--paper); color: var(--ink);
  box-shadow: 8px 8px 0 #24211e55;
}
.app-dialog::backdrop { background: #211d1bd1; }
.app-dialog__content { position: relative; }
.app-dialog__content h2 { margin: 0 42px 18px 0; font-size: clamp(29px, 5vw, 40px); line-height: 1.1; }
.app-dialog__content p { font-size: 13px; line-height: 1.65; }
.app-dialog__close {
  position: sticky; float: right; top: 0; z-index: 1; width: 36px; height: 36px; margin: -7px -7px 0 12px;
  border: 1px solid var(--ink); border-radius: 50%; background: #fff; font-size: 24px; line-height: 1; cursor: pointer;
}
.dialog-label { display: block; margin: 20px 0 7px; font-size: 11px; font-weight: 600; }
.dialog-input { width: 100%; min-height: 45px; padding: 10px 12px; border: 1px solid #a9a39a; border-radius: 4px; background: white; }
.profile-dialog { display: grid; gap: 22px; }
.profile-dialog__hero { display: flex; align-items: center; gap: 16px; padding: 4px 0 18px; border-bottom: 1px solid #ded5c9; }
.profile-dialog__avatar-wrap { display: grid; place-items: center; width: 72px; height: 72px; flex: 0 0 auto; overflow: hidden; border: 1px solid #b08a57; border-radius: 50%; background: #ead9cd; }
.profile-dialog__avatar { display: block; width: 100%; height: 100%; object-fit: cover; }
.profile-dialog__avatar-fallback { color: #70463f; font: 600 30px "Playfair Display", serif; }
.profile-dialog__signed-in { margin: 7px 0 0 !important; color: #70463f; font-size: 12px !important; }
.profile-dialog__email { margin: 3px 0 0 !important; color: #746b61; font-size: 10px !important; }
.profile-dialog__account-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border: 1px solid #ded5c9; border-radius: 4px; background: #fffdfa; }
.profile-dialog__provider { color: #496143; font: 9px "DM Mono", monospace; letter-spacing: .07em; text-transform: uppercase; }
.profile-dialog__workspace-link { color: #70463f; font-size: 10px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.profile-dialog__section { padding-top: 21px; border-top: 1px solid #ded5c9; }
.profile-dialog__section-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.profile-dialog__section-heading h3 { margin: 6px 0 0; font: 600 22px "Playfair Display", serif; }
.profile-dialog__count { color: #746b61; font: 9px "DM Mono", monospace; white-space: nowrap; }
.profile-dialog__form { margin-top: 14px; }
.profile-dialog__save-button { min-height: 39px; margin-top: 14px; padding: 0 14px; border-radius: 3px; font-size: 11px; }
.profile-dialog__message { min-height: 16px; margin: 8px 0 0 !important; color: #496143; font: 10px/1.5 "DM Sans", sans-serif; }
.profile-dialog__message--error { color: #8a3b45; }
.profile-dialog__add-button { min-height: 39px; margin-top: 15px; padding: 0 14px; border-radius: 3px; font-size: 11px; }
.profile-dialog__form-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.profile-dialog__cancel-button { border: 0; background: transparent; color: #70463f; font-size: 10px; font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.profile-dialog__textarea { min-height: 82px; resize: vertical; }
.profile-dialog__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.profile-dialog__empty { margin: 15px 0 0 !important; padding: 14px; border: 1px solid #e1d9cf; border-radius: 3px; background: #fffdfa; color: #71695f; font-size: 11px !important; }
.profile-addresses-list, .profile-orders-list { display: grid; gap: 10px; margin-top: 15px; }
.profile-address-card, .profile-orders-list .orders-empty, .profile-orders-list .order-card { padding: 14px; border: 1px solid #e1d9cf; border-radius: 3px; background: #fffdfa; }
.profile-address-card__heading { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.profile-address-card__heading strong { color: #70463f; }
.profile-address-card__heading span { color: #71695f; font-size: 10px; text-align: right; }
.profile-address-card p { margin: 8px 0 0 !important; color: #554e48; font-size: 11px !important; line-height: 1.55; }
.profile-orders-list .orders-empty { color: #71695f; font-size: 11px !important; line-height: 1.6; }
.profile-orders-list .order-card__top { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; font-weight: 700; }
.profile-orders-list .order-card__date { margin: 7px 0; color: #71695f; font-size: 10px; }
.profile-orders-list .order-card__items { margin: 0; color: #554e48; font-size: 10px; line-height: 1.55; }
.profile-orders-list .order-card__payment { margin: 8px 0 0; color: #71695f; font-size: 10px; }
.profile-orders-list .order-card__location { margin: 7px 0 0; color: #70463f; font-size: 10px; }
.profile-orders-list .order-card__location a, .profile-orders-list .order-card__tracking a { color: #8a3b45; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.profile-orders-list .order-card__status { margin-top: 9px; color: #70463f; font: 9px "DM Mono", monospace; text-transform: uppercase; }
.profile-orders-list .order-card__tracking { margin-top: 10px; padding: 9px 10px; border-left: 2px solid #70463f; background: #f8efe4; color: #554e48; font-size: 10px; line-height: 1.55; }
.profile-orders-list .order-card__tracking strong { color: #70463f; }
.profile-orders-list .order-card__charges { display: grid; gap: 4px; margin-top: 11px; padding-top: 10px; border-top: 1px solid #e1d9cf; color: #71695f; font-size: 10px; }
.profile-orders-list .order-card__charges strong { margin-top: 3px; color: #38251f; }
.profile-orders-list .order-card__message, .profile-orders-list .order-card__customer-note { margin: 11px 0 0; padding: 9px 10px; font-size: 10px; line-height: 1.55; }
.profile-orders-list .order-card__message { border-left: 2px solid #496143; background: #f2f6ec; color: #496143; }
.profile-orders-list .order-card__customer-note { border-left: 2px solid #b38326; background: #fbf4e5; color: #655d55; }
.profile-dialog__signout { justify-self: end; border: 0; background: transparent; color: #8a3b45; font-size: 10px; font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.profile-dialog--error { min-height: 180px; }
.checkout-intro { margin-top: -5px; }
.checkout-auth-state { padding: 15px; border: 1px solid #ded5c9; border-radius: 4px; background: #fffdfa; font-size: 12px; line-height: 1.65; }
.checkout-auth-state a { color: #70463f; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.checkout-form { margin-top: 20px; }
.checkout-review { margin-bottom: 22px; padding: 16px; border: 1px solid #ded5c9; border-radius: 6px; background: #fffdfa; }
.checkout-review h3 { margin: 0 0 10px; font: 10px "DM Mono", monospace; letter-spacing: .08em; }
.checkout-review__items { display: grid; gap: 10px; }
.checkout-review__item { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 11px; }
.checkout-review__image { width: 48px; height: 58px; border-radius: 3px; object-fit: cover; }
.checkout-review__name { min-width: 0; font-size: 11px; font-weight: 700; }
.checkout-review__name small { display: block; margin-top: 4px; color: #746b61; font-size: 10px; font-weight: 400; }
.checkout-review__item > strong { font-size: 11px; white-space: nowrap; }
.checkout-review__subtotal, .checkout-review__delivery { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; font-size: 11px; }
.checkout-review__subtotal { padding-top: 12px; border-top: 1px solid #ded5c9; }
.checkout-review__delivery { color: #496143; }
.checkout-fields { display: grid; grid-template-columns: 1fr; gap: 7px; margin: 0; padding: 0; border: 0; }
.checkout-fields legend { margin-bottom: 6px; font: 10px "DM Mono", monospace; letter-spacing: .08em; }
.checkout-fields .dialog-label { margin: 8px 0 0; font: 9px "DM Mono", monospace; letter-spacing: .08em; }
.checkout-fields .dialog-label span { color: #81776c; }
.checkout-fields .dialog-input { min-width: 0; min-height: 42px; font-size: 12px; }
.checkout-fields__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.checkout-fields__row > div { min-width: 0; display: grid; gap: 7px; }
.checkout-phone-wrap {
  display: flex;
  align-items: stretch;
  border: 1px solid #a9a39a;
  border-radius: 4px;
  background: #ffffff;
  overflow: hidden;
  transition: border-color var(--sutra-dur, 280ms) ease, box-shadow var(--sutra-dur, 280ms) ease;
}
.checkout-phone-wrap:focus-within {
  border-color: #70463f;
  box-shadow: 0 0 0 1px #70463f;
}
.checkout-required-field.checkout-field--invalid {
  border-color: #b3261e !important;
  background: #fff7f6 !important;
  box-shadow: 0 0 0 2px rgba(179, 38, 30, .16) !important;
}
.checkout-phone-wrap.checkout-field--invalid {
  border-color: #b3261e;
  box-shadow: 0 0 0 2px rgba(179, 38, 30, .16);
}
.checkout-phone-prefix {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  background: #f4ecdf;
  border-right: 1px solid #d5c9bc;
  color: #493933;
  font: 600 12px "DM Mono", monospace;
  letter-spacing: .06em;
  user-select: none;
}
.checkout-phone-input {
  flex: 1;
  min-width: 0;
  min-height: 42px !important;
  padding: 10px 12px !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  font-size: 13px !important;
  letter-spacing: .04em;
}
.checkout-phone-input:focus {
  outline: none;
}
.checkout-maps-section {
  margin: 10px 0 14px;
  padding: 14px;
  border: 1px solid #d5c9bc;
  border-radius: 6px;
  background: #fffdf9;
  display: grid;
  gap: 10px;
}
.checkout-maps-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}
.checkout-maps-tag {
  display: inline-block;
  font: 500 9px "DM Mono", monospace;
  letter-spacing: .09em;
  color: #8c6a5a;
  text-transform: uppercase;
  margin-bottom: 3px;
}
.checkout-maps-title {
  margin: 0 0 3px;
  font: 700 14px/1.3 "Playfair Display", Georgia, serif;
  color: #38251f;
}
.checkout-maps-hint {
  margin: 0;
  font-size: 11px !important;
  color: #746b61;
  line-height: 1.45;
}
.checkout-locate-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 13px;
  font-size: 11px;
  font-weight: 600;
  border: 1px solid #b7a08a;
  border-radius: 4px;
  background: #fbf5ec;
  color: #493933;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.checkout-locate-btn:hover {
  background: #f1e2cf;
  border-color: #8a6652;
}
.checkout-map-search-wrap {
  position: relative;
}
.checkout-map-search {
  width: 100%;
  min-height: 38px !important;
  font-size: 12px !important;
  padding: 8px 12px;
  border: 1px solid #cbbeaf;
  border-radius: 4px;
  background: #ffffff;
}
.checkout-map-container {
  position: relative;
  width: 100%;
  height: 240px;
  min-height: 240px;
  border: 1px solid #cbbeaf;
  border-radius: 4px;
  overflow: hidden;
  background: #f2e9dc;
}
.checkout-map-container .leaflet-container {
  width: 100%;
  height: 100%;
  font-family: "DM Sans", sans-serif;
}
.checkout-map-container .leaflet-control-attribution {
  font-size: 9px;
}
.checkout-map-preview-layer {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px;
  background: radial-gradient(circle at 50% 35%, #fffdfa, #f1e4d3);
  box-sizing: border-box;
}
.checkout-map-pin-pulse {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(155, 98, 96, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 8px;
  animation: sutraPinBounce 1.8s infinite ease-in-out;
}
@keyframes sutraPinBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
.checkout-map-preview-layer strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 13px;
  color: #38251f;
  margin-bottom: 4px;
}
.checkout-map-preview-layer p {
  margin: 2px 0 0;
  font-size: 11px !important;
  color: #6b544b;
  max-width: 440px;
  line-height: 1.45;
}
.checkout-map-preview-layer code {
  background: #e9dec9;
  padding: 1px 4px;
  border-radius: 3px;
  font-size: 10px;
  font-family: "DM Mono", monospace;
}
.checkout-location-status {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #e2d7c9;
  border-radius: 4px;
  background: #fbf7f0;
  font-size: 11px !important;
  color: #493933;
  line-height: 1.5;
}
.checkout-location-status strong {
  color: #70463f;
}
.checkout-location-status a {
  color: #8a3b45;
  text-decoration: underline;
  font-weight: 600;
  margin-left: 4px;
}
.checkout-address { min-height: 72px !important; resize: vertical; }
.checkout-pincode { max-width: 180px; }
.checkout-payment { display: grid; gap: 9px; margin: 21px 0; padding: 0; border: 0; }
.checkout-payment legend { margin-bottom: 10px; font: 9px "DM Mono", monospace; letter-spacing: .08em; }
.checkout-payment__option { min-height: 62px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; padding: 11px; border: 1px solid #d5c9bc; border-radius: 4px; background: #fffdfa; cursor: pointer; }
.checkout-payment__option:has(input:checked) { border-color: #70463f; box-shadow: 0 0 0 1px #70463f; }
.checkout-payment__option input { accent-color: #70463f; }
.checkout-payment__option strong, .checkout-payment__option small { display: block; }
.checkout-payment__option strong { font-size: 12px; }
.checkout-payment__option small { margin-top: 4px; color: #746b61; font-size: 10px; line-height: 1.4; }
.checkout-payment__badge { color: #70463f; font: 8px "DM Mono", monospace; text-align: right; }
.checkout-advance-option { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; padding: 11px; border: 1px dashed #b38326; border-radius: 4px; background: #fffaf3; cursor: pointer; }
.checkout-advance-option:has(input:checked) { border-style: solid; box-shadow: 0 0 0 1px #b38326; }
.checkout-advance-option input { margin-top: 2px; accent-color: #70463f; }
.checkout-advance-option strong, .checkout-advance-option small { display: block; }
.checkout-advance-option strong { color: #38251f; font-size: 11px; }
.checkout-advance-option small { margin-top: 4px; color: #746b61; font-size: 10px; line-height: 1.4; }
.checkout-cod-advance-methods { display: grid; gap: 10px; margin: -2px 0 4px; padding: 12px; border: 1px solid #d8c4ad; border-radius: 4px; background: #fffaf3; }
.checkout-payment__option--online { border-color: #b38326; }
.checkout-online-methods { display: grid; gap: 10px; margin: -2px 0 4px; padding: 12px; border: 1px solid #d8c4ad; border-radius: 4px; background: #fffaf3; }
.checkout-online-methods__title { margin: 0; color: #746b61; font: 9px "DM Mono", monospace; letter-spacing: .08em; }
.checkout-online-methods__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.checkout-online-method { display: flex; align-items: flex-start; gap: 8px; min-height: 54px; padding: 9px; border: 1px solid #d5c9bc; border-radius: 4px; background: #fffdfa; cursor: pointer; }
.checkout-online-method:has(input:checked) { border-color: #70463f; box-shadow: 0 0 0 1px #70463f; }
.checkout-online-method input { margin-top: 2px; accent-color: #70463f; }
.checkout-online-method strong, .checkout-online-method small { display: block; }
.checkout-online-method strong { color: #38251f; font-size: 11px; }
.checkout-online-method small { margin-top: 3px; color: #746b61; font-size: 9px; line-height: 1.35; }
.checkout-upi-preview { display: grid; grid-template-columns: 90px minmax(0, 1fr); align-items: center; gap: 12px; padding-top: 8px; border-top: 1px solid #e3d8cb; }
.checkout-upi-preview img { width: 90px; height: 90px; object-fit: contain; background: #fff; }
.checkout-upi-preview strong { color: #38251f; font-size: 11px; }
.checkout-upi-preview p { margin: 4px 0 0; color: #746b61; font-size: 9px; line-height: 1.45; }
.checkout-summary { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; border-top: 1px solid #ded5c9; font-size: 12px; }
.checkout-summary strong { font-size: 16px; }
.checkout-assurance { margin: -4px 0 12px; color: #746b61; font-size: 10px !important; }
.checkout-upi-payment {
  display: grid;
  grid-template-columns: minmax(180px, 250px) minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  margin: 22px 0;
  padding: 16px;
  border: 1px solid #d8c4ad;
  border-radius: 4px;
  background: #fffaf3;
}
.checkout-upi-payment__qr {
  display: block;
  width: 100%;
  max-width: 250px;
  aspect-ratio: 1;
  object-fit: contain;
  margin: 0 auto;
  background: #fff;
}
.checkout-upi-payment__details {
  display: grid;
  gap: 8px;
  color: #655d55;
  font-size: 12px;
  line-height: 1.55;
}
.checkout-upi-payment__details strong { color: #38251f; font: 600 18px "Playfair Display", serif; }
.checkout-upi-launch { display: inline-flex; width: fit-content; margin-top: 4px; }
.checkout-upi-fallback { width: fit-content; color: #70463f; font-size: 10px; text-decoration: underline; }
.checkout-upi-launch-status { margin: 0; color: #8d3434; font-size: 10px; line-height: 1.45; }
.checkout-upi-form { margin-top: 16px; }
.checkout-upi-note { margin: 10px 0; color: #746b61; font-size: 10px; line-height: 1.55; }
@media (max-width: 620px) {
  .checkout-online-methods__grid { grid-template-columns: 1fr; }
  .checkout-upi-payment { grid-template-columns: 1fr; }
  .checkout-upi-payment__qr { max-width: 230px; }
}
.checkout-message { color: #8d3434; font-size: 11px !important; }
.checkout-place-order, .checkout-back { width: 100%; margin-top: 8px; }
.checkout-back { min-height: 42px; font-size: 11px; }
.checkout-place-order:disabled { opacity: .6; cursor: not-allowed; }
.cart-row__controls button:disabled { border-color: #d7d1c9; color: #91897f; cursor: not-allowed; }
[hidden] { display: none !important; }
.search-results { display: grid; gap: 8px; margin-top: 15px; }
.search-result { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 12px; padding: 8px; border: 1px solid #dedbd5; border-radius: 4px; background: white; font-size: 12px; font-weight: 600; }
.search-result:hover { border-color: var(--ink); background: #fbf8f2; }
.search-result img, .cart-row > img, .cart-row__image-placeholder { width: 52px; height: 62px; border-radius: 3px; object-fit: cover; }
.search-result__image-placeholder, .cart-row__image-placeholder { display: grid; place-items: center; padding: 4px; background: #eeeae4; color: #746f68; font-size: 9px; text-align: center; }
.search-result small { display: block; margin-top: 4px; color: #746f68; font-size: 10px; font-weight: 400; }
.search-empty { padding: 12px; background: #fff; }
.product-detail { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); align-items: start; gap: 24px; }
.product-detail__gallery { width: 100%; }
.product-detail__viewer { position: relative; width: 100%; aspect-ratio: .76; overflow: hidden; border: 1px solid #dedbd5; border-radius: 4px; background: #eeeae4; }
.product-detail__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.product-detail__arrow {
  position: absolute; top: 50%; z-index: 1; display: grid; place-items: center; width: 38px; height: 38px;
  padding: 0 0 3px; transform: translateY(-50%); border: 1px solid var(--ink); border-radius: 50%;
  background: #fff; font: 28px/1 "DM Sans", sans-serif; cursor: pointer; transition: background .15s, color .15s;
}
.product-detail__arrow:hover:not(:disabled) { background: var(--green); }
.product-detail__arrow:disabled { border-color: #c9c4bb; background: #e6e2db; color: #aaa49a; cursor: not-allowed; }
.product-detail__arrow--previous { left: 10px; }
.product-detail__arrow--next { right: 10px; }
.product-detail__image-count {
  position: absolute; right: 10px; bottom: 10px; z-index: 1; padding: 5px 8px;
  border-radius: 99px; background: #24211ed9; color: white; font: 10px "DM Mono", monospace;
}
.product-detail__image-placeholder { min-height: 260px; display: grid; place-items: center; padding: 20px; border: 1px solid #dedbd5; border-radius: 4px; background: repeating-linear-gradient(135deg, #f3efe8, #f3efe8 14px, #ebe6dd 14px, #ebe6dd 28px); color: #746f68; text-align: center; }
.product-detail__copy { padding-top: 14px; }
.product-detail__copy .eyebrow { font-size: 9px; }
.product-detail__copy h2 { margin: 13px 0; }
.product-colors { margin: 0 0 17px; padding: 0; border: 0; }
.product-colors legend { margin-bottom: 9px; font-size: 11px; font-weight: 600; }
.product-colors__options { display: flex; flex-wrap: wrap; gap: 12px; }
.product-color { display: grid; justify-items: center; gap: 5px; padding: 2px; border: 0; background: transparent; font-size: 10px; cursor: pointer; }
.product-color__swatch { width: 30px; height: 30px; display: block; border: 1px solid #8e887f; border-radius: 50%; background: var(--swatch-color, #fff); }
.product-color[aria-pressed="true"] .product-color__swatch { outline: 2px solid var(--ink); outline-offset: 3px; }
.product-detail__stock {
  width: max-content;
  margin: 0 0 14px;
  padding: 5px 8px;
  border-radius: 3px;
  background: #e9f1e5;
  color: #496143;
  font: 700 10px "DM Mono", monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.product-detail__stock--low_stock { background: #fbf0d7; color: #8a641d; }
.product-detail__stock--out_of_stock { background: #f2e5e2; color: #8a3b45; }
.product-detail__price { font-size: 23px; font-weight: 700; }
.product-detail__copy > p { font-size: 12px; }
.dialog-add { margin-top: 12px; }
.cart-items, .wishlist-list { display: grid; gap: 12px; margin: 18px 0; }
.cart-row { display: grid; grid-template-columns: 65px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid #dedbd5; }
.cart-row > img { width: 65px; height: 78px; }
.cart-row__details { display: grid; align-content: start; gap: 6px; font-size: 12px; }
.cart-row__details > a { font-weight: 700; }
.cart-row__controls { display: flex; align-items: center; gap: 11px; margin-top: 4px; }
.cart-row__controls button { min-width: 27px; min-height: 27px; border: 1px solid #aaa49a; border-radius: 4px; background: white; cursor: pointer; }
.cart-row__controls .cart-row__remove { width: auto; padding: 0 8px; border: 0; color: #8f3047; text-decoration: underline; }
.wishlist-list .button { width: max-content; min-height: 35px; padding: 0 12px; font-size: 10px; }
.cart-total { display: flex; justify-content: space-between; padding-top: 15px; border-top: 1px solid #aaa49a; font-size: 14px; }
.cart-note { color: #746f68; font-size: 10px !important; }
.checkout-button { width: 100%; margin-top: 8px; }
.dialog-count { font: 14px "DM Mono", monospace; letter-spacing: 0; }
.toast { position: fixed; z-index: 50; left: 50%; bottom: 22px; max-width: calc(100% - 30px); padding: 13px 20px; border: 1.5px solid var(--ink); border-radius: 99px; background: var(--green); box-shadow: var(--shadow); font-size: 12px; font-weight: 700; opacity: 0; pointer-events: none; transform: translate(-50%, 15px); transition: opacity .2s, transform .2s; }
.toast--visible { opacity: 1; transform: translate(-50%, 0); }

@media (min-width: 1500px) {
  .hero { padding-left: max(8.3%, calc((100% - 1260px) / 2)); padding-right: max(8.3%, calc((100% - 1260px) / 2)); }
  .section-pad { padding-left: max(8.3%, calc((100% - 1260px) / 2)); padding-right: max(8.3%, calc((100% - 1260px) / 2)); }
}
@media (max-width: 1000px) {
  .site-header { padding-left: 4%; padding-right: 4%; }
  .hero { padding-left: 6%; padding-right: 6%; grid-template-columns: 47% 53%; }
  .hero__bottom { left: 6%; right: 6%; }
  .section-pad { padding: 75px 6%; }
  .category-grid, .products-grid { gap: 11px; }
  .category-card { padding: 15px; min-height: 205px; }
  .category-card__name { font-size: 23px; }
  .story-section__copy { padding-right: 8%; }
  .newsletter-section { padding-left: 9%; padding-right: 9%; }
}
@media (max-width: 720px) {
  .announcement { min-height: 34px; font-size: 8px; gap: 6px; }
  .announcement a { margin-left: 3px; }
  .site-header { min-height: 68px; padding: 4px 18px; grid-template-rows: 1fr; }
  .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 20px; border-bottom: var(--line); background: var(--paper); flex-direction: column; align-items: flex-start; gap: 20px; }
  .main-nav.main-nav--open { display: flex; }
  .menu-toggle { grid-column: 1; grid-row: 1; justify-self: start; display: flex; flex-direction: column; gap: 5px; padding: 8px; }
  .menu-toggle span { display: block; width: 19px; height: 1.5px; background: var(--ink); }
  .header-actions { top: 50%; right: 14px; gap: 7px; }
  .account-link { max-width: 125px; }
  .account-link[data-signed-in="true"] { padding-right: 5px; }
  .account-link__name { max-width: 64px; }
  .account-link__status { display: none; }
  .account-link__avatar { width: 25px; height: 25px; }
  .icon-button { padding: 4px; }
  .icon-button svg, .bag-button svg { width: 18px; height: 18px; }
  .bag-button { gap: 5px; padding: 4px; font-size: 10px; }
  .hero { min-height: unset; grid-template-columns: 1fr; padding: 38px 23px 65px; }
  .hero__copy { padding-top: 0; }
  .hero-brand { width: min(100%, 520px); margin-bottom: 12px; }
  .hero h1 { margin-top: 21px; font-size: clamp(77px, 19vw, 116px); }
  .hero__description { max-width: 350px; margin: 20px 0 20px; font-size: 13px; }
  .hero__note { display: none; }
  .hero__scribble { left: auto; right: 7px; bottom: -5px; font-size: 18px; }
  .hero__visual { margin: 36px 0 3px; padding: 0 13px 10px 0; }
  .hero__image-frame { width: min(100%, 430px); }
  .hero-sticker { right: 0; top: -16px; width: 91px; height: 91px; font-size: 7px; }
  .hero-sticker__star { font-size: 21px; }
  .hero__side-note { right: -8px; bottom: 58px; font-size: 7px; }
  .hero__bottom { left: 23px; right: 23px; bottom: 19px; font-size: 7px; }
  .hero__bottom span:last-child { display: none; }
  .section-pad { padding: 62px 20px; }
  .section-heading { align-items: flex-start; margin-bottom: 25px; }
  .section-heading h2 { font-size: clamp(35px, 8.6vw, 48px); }
  .section-heading__link { display: none; }
  .category-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .category-card { min-height: 181px; padding: 14px; }
  .category-card__name { font-size: 24px; }
  .category-card__flower { font-size: 30px; }
  .category-card__foot { font-size: 7px; }
  .section-heading--products { display: block; }
  .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
  .product-card__body { padding: 10px 9px 11px; }
  .product-card__name { font-size: 12px; }
  .product-card__price { font-size: 15px; }
  .product-card__price-note { font-size: 8px; }
  .product-card__delivery { font-size: 9px; }
  .quick-add { min-height: 35px; font-size: 10px; }
  .products-footer { grid-template-columns: 1fr auto; gap: 10px; margin-top: 30px; }
  .products-footer .button { min-height: 43px; padding: 0 15px; font-size: 10px; }
  .products-footer__aside { display: none; }
  .products-count { font-size: 8px; }
  .story-section { grid-template-columns: 1fr; }
  .story-section__visual { min-height: 360px; padding: 29px 11% 30px 9%; }
  .story-section__visual::before { top: 42px; left: 7%; right: 10%; bottom: 19px; }
  .story-section__stamp { right: 3%; bottom: 18px; width: 78px; height: 78px; font-size: 8px; }
  .story-section__copy { padding: 40px 25px 55px; }
  .story-section h2 { font-size: 47px; }
  .story-section__doodle { top: 21%; right: 8%; font-size: 40px; }
  .newsletter-section { grid-template-columns: 1fr; gap: 10px; padding: 53px 25px 57px; }
  .newsletter-section h2 { font-size: 48px; }
  .newsletter__burst { top: 16px; right: 6%; font-size: 56px; }
  .newsletter-form { margin-top: 14px; }
  .newsletter-form__row { align-items: center; }
  .newsletter-form .button { gap: 8px; padding: 0 13px; font-size: 10px; }
  .site-footer { padding: 38px 22px 14px; }
  .footer-main { grid-template-columns: 1fr; gap: 34px; padding-bottom: 25px; }
  .footer-brand__flower { left: 160px; }
  .footer-links { grid-template-columns: repeat(2, 1fr); row-gap: 22px; }
  .footer-links h3 { font-size: 8px; }
  .footer-links a { font-size: 9px; }
  .footer-bottom { font-size: 7px; }
  .app-dialog { padding: 21px; }
  .profile-dialog__hero { align-items: flex-start; }
  .profile-dialog__account-actions, .profile-dialog__section-heading { align-items: flex-start; flex-direction: column; }
  .profile-dialog__form-row { grid-template-columns: 1fr; gap: 0; }
  .profile-address-card__heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .profile-address-card__heading span { text-align: left; }
  .product-detail { grid-template-columns: 1fr; gap: 13px; }
  .product-detail__viewer { width: min(100%, 300px); margin: auto; }
  .product-detail__copy { padding-top: 0; }
}
@media (max-width: 540px) {
  .site-header { padding-right: 12px; padding-left: 12px; }
  .wordmark__image { width: 148px; }
  .header-actions { right: 9px; }
  .products-grid { grid-template-columns: 1fr; gap: 16px; }
  .product-card__image-wrap { aspect-ratio: .95; }
  .product-card__body { padding: 13px 14px 15px; }
  .product-card__detail { font-size: 11px; }
  .product-card__price { font-size: 18px; }
  .product-card__delivery { font-size: 10px; }
  .quick-add { min-height: 42px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

:root {
  --paper: #f7efe5;
  --ink: #33231f;
  --pink: #ead9cd;
  --green: #87937a;
  --blue: #c9b2a1;
  --yellow: #e6d3b8;
  --line: 1px solid #8a6652;
  --shadow: 4px 4px 0 #8a6652;
  --wine: #813e43;
  --sutra-paper: #F6EFE5;
  --sutra-paper-light: #FBF5EC;
  --sutra-ivory: #FFF9F0;
  --sutra-cream: #F1E5D7;
  --sutra-beige: #E9D8C5;
  --sutra-beige-deep: #DCC7AE;
  --sutra-blush: #EFD9D0;
  --sutra-rosewood: #9B6260;
  --sutra-rosewood-deep: #7E4B4A;
  --sutra-burgundy: #8A3B45;
  --sutra-terracotta: #A76D55;
  --sutra-gold: #B08A57;
  --sutra-gold-light: #E3C58F;
  --sutra-gold-text: #7D5F33;
  --sutra-sage: #92977C;
  --sutra-sage-text: #5E6648;
  --sutra-brown: #38251F;
  --sutra-brown-soft: #6B544B;
  --sutra-brown-muted: #8C7A6E;
  --sutra-choc: #2F1E19;
  --sutra-footer-text: #E9DCCB;
  --sutra-footer-muted: #BFAE9A;
  --sutra-line: 1px solid rgba(176, 138, 87, .35);
  --sutra-line-strong: 1px solid rgba(176, 138, 87, .7);
  --sutra-line-inner: 1px solid rgba(176, 138, 87, .4);
  --sutra-shadow-xs: 0 1px 2px rgba(56, 37, 31, .12);
  --sutra-shadow-sm: 0 6px 16px -8px rgba(56, 37, 31, .28);
  --sutra-shadow-md: 0 14px 30px -16px rgba(56, 37, 31, .35);
  --sutra-shadow-lg: 0 22px 44px -20px rgba(56, 37, 31, .4);
  --sutra-shadow-brass: drop-shadow(2px 6px 5px rgba(56, 37, 31, .22));
  --sutra-glass-bg: rgba(255, 249, 240, .62);
  --sutra-glass-bg-strong: rgba(255, 249, 240, .82);
  --sutra-glass-solid: #FBF3E8;
  --sutra-glass-border: 1px solid rgba(176, 138, 87, .28);
  --sutra-glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .75);
  --sutra-glass-lowlight: inset 0 -1px 0 rgba(176, 138, 87, .18);
  --sutra-glass-sheen: linear-gradient(135deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .12) 45%, rgba(255, 255, 255, .35));
  --sutra-glass-blur: 8px;
  --sutra-ease: cubic-bezier(.2, .7, .2, 1);
  --sutra-dur-fast: 160ms;
  --sutra-dur: 280ms;
  --sutra-dur-slow: 420ms;
  --paper: var(--sutra-paper);
  --ink: var(--sutra-brown);
  background: var(--sutra-paper);
  color: var(--sutra-brown);
}

body {
  background-color: var(--sutra-paper);
  background-image: radial-gradient(#8a66520b .7px, transparent .7px);
  background-size: 6px 6px;
  color: var(--sutra-brown);
}

.announcement { background: #422d28; }
.announcement a { color: #e5c28e; }
.announcement__spark { color: #dca7a1; }
.site-header { background: #f7efe5f2; border-bottom-color: #b7a08a; }
.main-nav a:hover, .main-nav__active { text-decoration-color: var(--wine); }
.nav-new { background: #e7cda7; }

.hero {
  min-height: 695px;
  grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr);
  padding: 46px max(8.3%, calc((100% - 1260px) / 2)) 68px;
  border-bottom-color: #b7a08a;
  background: transparent;
}
.hero__copy { padding-top: 6px; }
.hero .eyebrow { color: #785d4d; }
.eyebrow__line { background: #9c7658; }
.hero h1 {
  max-width: 570px;
  margin-top: 26px;
  color: #38241f;
  font-size: clamp(58px, 6.7vw, 94px);
  line-height: .96;
  letter-spacing: -.06em;
}
.hero__script {
  display: block;
  margin: -5px 0 -18px -5px;
  color: var(--wine);
  font: 400 clamp(76px, 9.3vw, 126px)/.95 "Allura", cursive;
  letter-spacing: -.025em;
}
.hero__subheading {
  margin: 20px 0 0 30px;
  font: 500 clamp(18px, 2vw, 27px)/1.2 "Playfair Display", serif;
  letter-spacing: .19em;
}
.hero__rule {
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(390px, 86%);
  margin: 15px 0 11px 26px;
  color: #9c7658;
}
.hero__rule::before, .hero__rule::after { content: ""; height: 1px; flex: 1; background: #b89a7b; }
.hero__motto {
  margin: 0 0 18px 30px;
  color: #654d42;
  font: italic 16px "Playfair Display", serif;
}
.hero__actions { margin: 0 0 18px 30px; }
.hero .button--primary { border-color: #6d3a38; background: #8d4a4b; color: #fffaf3; }
.hero__reasons { max-width: 360px; margin: 21px 0 0 30px; }
.hero__reasons > .eyebrow { margin-bottom: 11px; letter-spacing: .19em; }
.hero__reason { display: flex; align-items: center; gap: 12px; margin: 8px 0; }
.hero__reason > span {
  display: grid;
  flex: 0 0 39px;
  width: 39px;
  height: 39px;
  place-items: center;
  border-radius: 50%;
  background: #a76b68;
  color: #fff7ed;
  font-size: 19px;
}
.hero__reason p { margin: 0; color: #614d43; font: 11px/1.35 "Playfair Display", serif; }
.hero__reason strong { color: #362621; font-size: 12px; font-weight: 600; }
.hero__visual { padding: 0 5% 0 7%; }
.hero__image-frame {
  width: min(100%, 470px);
  aspect-ratio: .69;
  border: 1px solid #9a6d58;
  border-radius: 999px 999px 2px 2px;
  background: #d8c6b5;
  box-shadow: 0 0 0 7px #f7efe5, 0 0 0 8px #ae8b70;
  transform: none;
}
.hero__image { border-radius: inherit; object-position: center 28%; }
.hero__image-caption { padding: 13px 15px; font-size: 9px; }
.hero-sticker {
  top: auto;
  right: 2%;
  bottom: 26px;
  width: 132px;
  height: 132px;
  border-color: #a57c65;
  background: #f7efe5;
  color: #573a32;
  font: 10px/1.35 "Playfair Display", serif;
  letter-spacing: .08em;
  transform: rotate(7deg);
}
.hero-sticker__star { color: var(--wine); font-size: 17px; }
.hero__bottom {
  left: 8.3%;
  right: 8.3%;
  bottom: 22px;
  color: #765d4e;
  font-size: 8px;
  letter-spacing: .14em;
}
.hero__bottom span:last-child span { color: var(--wine); }

.category-section {
  padding-top: 68px;
  padding-bottom: 58px;
  border-bottom: 1px solid #b7a08a;
  background: #f1e7db;
}
.section-heading { margin-bottom: 24px; }
.section-heading h2, .story-section h2, .newsletter-section h2 { font-family: "Playfair Display", serif; }
.section-heading h2 em, .story-section h2 em, .newsletter-section h2 em { color: var(--wine); }
.category-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.category-card {
  min-height: 0;
  aspect-ratio: .72;
  overflow: hidden;
  display: block;
  padding: 0;
  border: 5px solid #fbf5eb;
  background: #e0d1c0;
  box-shadow: 0 2px 9px #49372b20;
  color: #352720;
}
.category-card:hover { transform: translateY(-4px); box-shadow: 0 7px 15px #49372b30; }
.category-card--pink, .category-card--green, .category-card--blue, .category-card--yellow, .category-card--gold { background: #d4c1af; }
.category-card__photo { position: absolute; inset: 0 0 21%; display: block; overflow: hidden; background: #d7c6b5; }
.category-card__photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 23%; transition: transform .35s ease; }
.category-card:hover .category-card__photo img { transform: scale(1.04); }
.category-card__number {
  position: absolute;
  z-index: 1;
  top: 8px;
  left: 8px;
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: #f7efe5e8;
  color: #593e33;
  font: 10px "DM Mono", monospace;
}
.category-card__flower { display: none; }
.category-card__name {
  position: absolute;
  z-index: 1;
  right: 6px;
  bottom: 16%;
  left: 6px;
  margin: 0 auto;
  width: max-content;
  max-width: calc(100% - 12px);
  padding: 8px 13px;
  background: #f8efe2ed;
  box-shadow: 0 2px 5px #33231f1c;
  color: #4a3028;
  font: 16px/1.05 "Playfair Display", serif;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
}
.category-card__foot {
  position: absolute;
  inset: auto 5px 3px;
  min-height: 18%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 4px 0;
  border: 0;
  color: #604d42;
  font: 10px/1.3 "Playfair Display", serif;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
}
.category-card__foot span { display: none; }
.category-quote {
  margin: 36px 0 0;
  color: #62473c;
  font: italic 18px/1.35 "Playfair Display", serif;
  text-align: center;
}
.category-quote > span { padding: 0 9px; color: #a56a5d; font-size: 26px; }
.category-quote em { color: var(--wine); font-weight: 700; }

.products-section { background: #f8f2e9; }
.product-card { border-color: #d9cabb; border-radius: 2px; background: #fffdf9; }
.product-card__image-wrap { background: #eee5da; }
.quick-add { border-color: #8a6652; border-radius: 2px; background: #e9d8c3; }
.quick-add:hover { background: #d8dfce; }
.story-section { background: #e9d6ce; border-color: #b7a08a; }
.story-section__stamp { border-color: #8a6652; background: #f7efe5; }
.newsletter-section { background: #e9dfd1; border-color: #b7a08a; }
.site-footer { background: #382823; }

@media (max-width: 1000px) {
  .hero { min-height: 650px; padding: 42px 6% 65px; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
  .hero h1 { font-size: clamp(55px, 7vw, 78px); }
  .hero__script { font-size: clamp(74px, 10vw, 102px); }
  .hero__visual { padding-left: 4%; padding-right: 5%; }
  .hero-sticker { width: 110px; height: 110px; font-size: 9px; }
  .category-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
  .category-card { min-height: 0; padding: 0; }
  .category-card__name { font-size: 13px; padding: 7px 8px; }
  .category-card__foot { font-size: 9px; }
}

@media (max-width: 720px) {
  .hero { grid-template-columns: 1fr; min-height: 0; padding: 35px 22px 65px; }
  .hero__copy { padding-top: 0; }
  .hero h1 { margin-top: 19px; font-size: clamp(58px, 14vw, 84px); }
  .hero__script { margin-top: -3px; margin-bottom: -12px; font-size: clamp(82px, 19vw, 112px); }
  .hero__subheading { margin-top: 13px; margin-left: 14px; font-size: 19px; }
  .hero__rule { margin-left: 12px; }
  .hero__motto { margin-left: 14px; font-size: 14px; }
  .hero__actions { margin-left: 14px; }
  .hero__reasons { max-width: none; margin: 20px 0 0 14px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; }
  .hero__reasons > .eyebrow { grid-column: 1 / -1; }
  .hero__reason { gap: 8px; margin: 6px 0; }
  .hero__reason > span { flex-basis: 33px; width: 33px; height: 33px; font-size: 16px; }
  .hero__reason p { font-size: 10px; }
  .hero__reason strong { font-size: 10px; }
  .hero__visual { margin: 28px 8px 4px; padding: 0 9px 10px 0; }
  .hero__image-frame { width: min(100%, 400px); }
  .hero-sticker { right: -3px; bottom: 18px; width: 98px; height: 98px; font-size: 8px; }
  .hero-sticker__star { font-size: 14px; }
  .hero__bottom { left: 22px; right: 22px; bottom: 18px; font-size: 6px; }
  .hero__bottom span:last-child { display: none; }
  .category-section { padding-top: 50px; padding-bottom: 44px; }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .category-card { min-height: 0; padding: 0; }
  .category-card__name { font-size: clamp(12px, 3.6vw, 16px); }
  .category-card__foot { font-size: 9px; }
  .category-grid .category-card:last-child { grid-column: 1 / -1; width: calc(50% - 6px); justify-self: center; }
  .category-quote { margin-top: 27px; font-size: 15px; }
}

body { background-color: var(--sutra-paper); }
.hero, .category-section {
  width: min(100%, 1120px);
  margin: 0 auto;
  background-color: transparent;
  border: 0;
}
.hero {
  min-height: 0;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  padding: clamp(38px, 6vw, 72px) clamp(28px, 5vw, 68px) 25px;
  overflow: hidden;
}
.hero__copy { padding-top: 30px; }
.hero__ornament {
  margin-left: 35%;
  color: #a77c53;
  font: 16px "Playfair Display", serif;
  letter-spacing: .12em;
}
.hero h1 {
  margin-top: 27px;
  color: #36241f;
  font-size: clamp(44px, 7.2vw, 86px);
  line-height: .96;
  letter-spacing: -.065em;
  white-space: nowrap;
}
.hero__script {
  position: relative;
  width: max-content;
  margin: -5px 0 -12px -5px;
  color: #914e51;
  font: 400 clamp(67px, 10.2vw, 116px)/.87 "Allura", cursive;
  letter-spacing: -.025em;
}
.hero__heart {
  position: absolute;
  top: 5px;
  right: -35px;
  font: 34px "Playfair Display", serif;
  transform: rotate(15deg);
}
.hero__subheading {
  margin: 18px 0 0 12%;
  font: 500 clamp(15px, 2.2vw, 24px)/1.2 "Playfair Display", serif;
  letter-spacing: .2em;
  white-space: nowrap;
}
.hero__rule {
  width: 78%;
  margin: 13px 0 11px 8%;
  color: #9c7858;
  font-size: 20px;
}
.hero__motto {
  margin: 0 0 30px 9%;
  color: #614d43;
  font: italic clamp(12px, 1.55vw, 16px) "Playfair Display", serif;
  white-space: nowrap;
}
.hero__reasons { max-width: 390px; margin: 0 0 0 8%; }
.hero__reasons > .eyebrow {
  margin: 0 0 11px;
  color: #634a3c;
  font: 10px "Playfair Display", serif;
  letter-spacing: .2em;
}
.hero__reason { gap: 12px; margin: 8px 0; }
.hero__reason > span {
  flex-basis: 40px;
  width: 40px;
  height: 40px;
  background: #a66a69;
  color: #fff8f0;
  font-size: 20px;
}
.hero__reason p { color: #59483f; font: 12px/1.26 "Playfair Display", serif; }
.hero__reason strong { color: #382a25; font: 13px "Playfair Display", serif; }
.hero__visual { min-width: 0; padding: 5px 3% 12px 8%; }
.hero__image-frame {
  width: min(100%, 425px);
  aspect-ratio: .64;
  overflow: hidden;
  border: 0;
  border-radius: 999px 999px 2px 2px;
  background: #d7c6b5;
  box-shadow: 0 0 0 1px #a37c63, 0 0 0 7px #f7efe5, 0 0 0 8px #ad8a70;
  transform: translateY(-12px);
}
.hero__image { border-radius: inherit; object-position: 50% 20%; }
.hero__image-caption { padding: 12px 14px; font: 9px "DM Mono", monospace; letter-spacing: .1em; }
.hero-sticker {
  right: 0;
  bottom: 20px;
  width: clamp(95px, 15vw, 130px);
  height: clamp(95px, 15vw, 130px);
  border-color: #ad8a70;
  background: #f5ebdf;
  color: #543b32;
  font: clamp(8px, 1.15vw, 10px)/1.35 "Playfair Display", serif;
  letter-spacing: .1em;
  transform: rotate(8deg);
}
.hero-sticker__star { color: #914e51; font-size: 15px; }
.poster-bloom {
  position: absolute;
  z-index: 0;
  width: clamp(85px, 14vw, 145px);
  overflow: visible;
  fill: none;
  stroke: #bca58b;
  stroke-width: 1.15;
  opacity: .7;
  pointer-events: none;
}
.poster-bloom--top { top: 8px; left: -12px; }
.poster-bloom--bottom { right: -12px; bottom: -7px; transform: scaleX(-1); }
.hero__copy, .hero__visual { z-index: 1; }
.category-section {
  position: relative;
  padding: 0 clamp(24px, 4vw, 48px) 32px;
  overflow: hidden;
}
.category-section .section-heading { justify-content: center; margin: 0 0 12px; }
.category-heading {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: 0;
  color: #523c31;
  font: 500 13px "Playfair Display", serif;
  letter-spacing: .23em;
  text-align: center;
}
.category-heading::before, .category-heading::after {
  content: "";
  width: clamp(28px, 11vw, 125px);
  height: 1px;
  background: #b29475;
}
.category-heading::before { box-shadow: 8px 0 #f7efe5, 10px 0 #b29475; }
.category-heading::after { box-shadow: -8px 0 #f7efe5, -10px 0 #b29475; }
.category-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.category-card {
  position: relative;
  display: grid;
  grid-template-rows: auto 63px;
  aspect-ratio: auto;
  min-height: 0;
  overflow: visible;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #392b25;
}
.category-card:hover { transform: translateY(-2px); box-shadow: none; }
.category-card__photo {
  position: relative;
  inset: auto;
  display: block;
  height: clamp(190px, 31vw, 315px);
  overflow: hidden;
  border: 5px solid #fffaf3;
  background: #d4c3b1;
  box-shadow: 0 2px 7px #48372c29;
}
.category-card__photo img { object-position: center 20%; }
.category-card__name {
  top: clamp(190px, 31vw, 315px);
  bottom: auto;
  left: 50%;
  z-index: 2;
  width: max-content;
  max-width: calc(100% - 4px);
  padding: 8px 10px 7px;
  transform: translate(-50%, -50%);
  background: #f5eadb;
  box-shadow: 0 2px 6px #382a252c;
  color: #443129;
  font: clamp(10px, 1.3vw, 13px)/1.15 "Playfair Display", serif;
  letter-spacing: .1em;
}
.category-card__foot {
  position: static;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 5px;
  padding: 18px 2px 0;
  color: #59483e;
  font: clamp(9px, 1.1vw, 11px)/1.3 "Playfair Display", serif;
  text-align: center;
}
.category-card__foot i { color: #b18b6e; font-size: 13px; font-style: normal; }
.category-card__number, .category-card__flower { display: none; }
.category-quote {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #503b31;
  font: italic clamp(15px, 2vw, 20px)/1.28 "Playfair Display", serif;
}
.category-quote > span:first-child { margin-right: 7px; font: 700 33px/0 "Playfair Display", serif; }
.category-quote > span:last-child { display: inline-block; margin-left: 7px; transform: rotate(12deg); }
.category-flourish {
  display: block;
  margin: 7px auto 0;
  color: #9c7858;
  font: 12px "Playfair Display", serif;
  letter-spacing: .17em;
  text-align: center;
}
.products-section { border-top: 1px solid #d5c2ad; }
.hero__ornament, .hero__copy > *, .hero__visual, .category-heading, .category-card, .category-quote, .category-flourish {
  animation: poster-arrive .7s both;
}
.hero__ornament { animation-delay: .04s; }
.hero__copy h1 { animation-delay: .1s; }
.hero__subheading { animation-delay: .16s; }
.hero__rule, .hero__motto { animation-delay: .2s; }
.hero__reasons { animation-delay: .25s; }
.hero__visual { animation-delay: .17s; }
.category-heading { animation-delay: .1s; }
.category-card:nth-child(2) { animation-delay: .08s; }
.category-card:nth-child(3) { animation-delay: .14s; }
.category-card:nth-child(4) { animation-delay: .2s; }
.category-card:nth-child(5) { animation-delay: .26s; }
.category-quote { animation-delay: .32s; }
.category-flourish { animation-delay: .38s; }
.category-card__photo img { transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.category-card:focus-visible { outline: 2px solid #814347; outline-offset: 4px; }
.hero__image-frame { transition: box-shadow .3s ease; }
.hero__image-frame:hover { box-shadow: 0 0 0 7px #f7efe5, 0 0 0 9px #ad8a70, 0 10px 24px #48372c20; }
@keyframes poster-arrive {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .hero__ornament, .hero__copy > *, .hero__visual, .category-heading, .category-card, .category-quote, .category-flourish {
    animation: none;
  }
}

@media (max-width: 540px) {
  .hero {
    grid-template-columns: minmax(0, 1.03fr) minmax(0, .97fr);
    padding: 27px 15px 19px;
  }
  .hero__copy { padding-top: 18px; }
  .hero__ornament { margin-left: 23%; font-size: 10px; }
  .hero h1 { margin-top: 22px; font-size: clamp(34px, 8.6vw, 47px); }
  .hero__script { margin-top: 0; margin-bottom: -5px; font-size: clamp(55px, 14vw, 75px); }
  .hero__heart { top: 3px; right: -20px; font-size: 20px; }
  .hero__subheading { margin-top: 12px; margin-left: 7%; font-size: clamp(10px, 2.7vw, 14px); }
  .hero__rule { width: 92%; margin: 10px 0 8px 2%; font-size: 14px; }
  .hero__motto { margin: 0 0 18px 3%; font-size: clamp(8px, 2vw, 11px); }
  .hero__reasons { margin-left: 2%; }
  .hero__reasons > .eyebrow { margin-bottom: 6px; font-size: 8px; }
  .hero__reason { gap: 6px; margin: 7px 0; }
  .hero__reason > span { flex-basis: 29px; width: 29px; height: 29px; font-size: 15px; }
  .hero__reason p { font-size: clamp(8px, 1.9vw, 10px); }
  .hero__reason strong { font-size: clamp(8px, 1.95vw, 10px); }
  .hero__visual { padding: 6px 4px 10px 7px; }
  .hero-sticker { right: -4px; bottom: 16px; }
  .poster-bloom--top { left: -28px; }
  .poster-bloom--bottom { right: -28px; }
  .category-section { padding: 0 13px 26px; }
  .category-section .section-heading { margin-bottom: 9px; }
  .category-heading { gap: 7px; font-size: clamp(8px, 2.1vw, 11px); letter-spacing: .13em; white-space: nowrap; }
  .category-heading::before, .category-heading::after { width: clamp(12px, 5vw, 28px); }
  .category-grid { gap: 5px; }
  .category-card { grid-template-rows: auto 59px; }
  .category-card__photo { height: clamp(100px, 30vw, 165px); border-width: 3px; }
  .category-card__name { top: clamp(100px, 30vw, 165px); max-width: calc(100% - 2px); padding: 6px 4px; font-size: clamp(7px, 1.7vw, 9px); letter-spacing: .06em; }
  .category-card__foot { gap: 3px; padding-top: 14px; font-size: clamp(7px, 1.7vw, 9px); }
  .category-card__foot i { font-size: 10px; }
  .category-quote { font-size: clamp(11px, 2.8vw, 15px); }
  .category-quote > span:first-child { font-size: 24px; }
  .category-flourish { margin-top: 4px; font-size: 9px; }
}

::selection {
  color: var(--sutra-brown);
  background: rgba(176, 138, 87, .3);
}

:focus-visible {
  outline: 2px solid var(--sutra-gold-text);
  outline-offset: 2px;
}

.site-footer :focus-visible {
  outline-color: var(--sutra-gold-light);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  :root {
    --sutra-glass-bg: var(--sutra-glass-solid);
    --sutra-glass-bg-strong: var(--sutra-glass-solid);
  }
}

@media (prefers-reduced-transparency: reduce) {
  :root {
    --sutra-glass-bg: var(--sutra-glass-solid);
    --sutra-glass-bg-strong: var(--sutra-glass-solid);
    --sutra-glass-blur: 0px;
  }
}

@media (prefers-contrast: more) {
  :root {
    --sutra-glass-bg: var(--sutra-glass-solid);
    --sutra-glass-bg-strong: var(--sutra-glass-solid);
    --sutra-glass-border: 2px solid var(--sutra-brown);
  }
  :focus-visible { outline-width: 3px; }
}

@media (forced-colors: active) {
  :root {
    --sutra-paper: Canvas;
    --sutra-paper-light: Canvas;
    --sutra-ivory: Canvas;
    --sutra-cream: Canvas;
    --sutra-beige: Canvas;
    --sutra-beige-deep: Canvas;
    --sutra-blush: Canvas;
    --sutra-rosewood: ButtonText;
    --sutra-rosewood-deep: ButtonText;
    --sutra-burgundy: LinkText;
    --sutra-terracotta: ButtonText;
    --sutra-gold: ButtonBorder;
    --sutra-gold-light: Highlight;
    --sutra-gold-text: CanvasText;
    --sutra-sage: CanvasText;
    --sutra-sage-text: CanvasText;
    --sutra-brown: CanvasText;
    --sutra-brown-soft: CanvasText;
    --sutra-brown-muted: GrayText;
    --sutra-choc: Canvas;
    --sutra-footer-text: CanvasText;
    --sutra-footer-muted: CanvasText;
    --sutra-line: 1px solid ButtonBorder;
    --sutra-line-strong: 1px solid ButtonText;
    --sutra-line-inner: 1px solid ButtonBorder;
    --sutra-shadow-xs: none;
    --sutra-shadow-sm: none;
    --sutra-shadow-md: none;
    --sutra-shadow-lg: none;
    --sutra-shadow-brass: none;
    --sutra-glass-bg: Canvas;
    --sutra-glass-bg-strong: Canvas;
    --sutra-glass-solid: Canvas;
    --sutra-glass-border: 1px solid ButtonBorder;
    --sutra-glass-highlight: none;
    --sutra-glass-lowlight: none;
    --sutra-glass-sheen: none;
    --sutra-glass-blur: 0px;
  }
  body {
    background: Canvas;
    color: CanvasText;
  }
  a { color: LinkText; }
  * { box-shadow: none; text-shadow: none; }
  :focus-visible { outline-color: Highlight; }
}

/* Painted storefront refinements; keep these treatments out of document flow. */
.announcement {
  background: linear-gradient(105deg, #38251f, #44302a);
  box-shadow: inset 0 -1px 0 rgba(227, 197, 143, .48);
  color: #f3e6d3;
}
.announcement a,
.announcement__spark { color: var(--sutra-gold-light); }
.announcement a:hover,
.announcement a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }

.site-header {
  background: rgba(251, 245, 236, .96);
  border-bottom-color: rgba(176, 138, 87, .52);
  box-shadow: inset 0 -1px 0 rgba(176, 138, 87, .36), inset 0 -4px 0 rgba(176, 138, 87, .1);
  -webkit-backdrop-filter: saturate(1.15) blur(var(--sutra-glass-blur));
  backdrop-filter: saturate(1.15) blur(var(--sutra-glass-blur));
}
.header-wordmark {
  position: absolute;
  top: 50%;
  left: 5.2%;
  display: none;
  align-items: center;
  justify-content: center;
  width: min(264px, 38.4vw);
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity var(--sutra-dur) var(--sutra-ease);
}
.header-wordmark img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}
.site-header--scrolled .header-wordmark {
  display: inline-flex;
  opacity: 1;
}
.site-header--scrolled .main-nav {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.main-nav a { color: var(--sutra-brown); }
.main-nav a::after {
  position: absolute;
  right: 0;
  bottom: -6px;
  left: 0;
  height: 1px;
  background: var(--sutra-gold-text);
  content: "";
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--sutra-dur-fast) var(--sutra-ease);
}
.main-nav a:hover::after,
.main-nav a:focus-visible::after,
.main-nav__active::after { transform: scaleX(1); }
.main-nav a:hover,
.main-nav__active { color: var(--sutra-rosewood-deep); text-decoration: none; }
.nav-new {
  background: var(--sutra-beige);
  color: var(--sutra-brown);
}
.icon-button,
.menu-toggle { position: relative; isolation: isolate; }
.icon-button::before,
.menu-toggle::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(176, 138, 87, .34);
  border-radius: 50%;
  background: rgba(255, 249, 240, .55);
  box-shadow: var(--sutra-glass-highlight), var(--sutra-shadow-xs);
  content: "";
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: background-color var(--sutra-dur-fast) var(--sutra-ease), border-color var(--sutra-dur-fast) var(--sutra-ease), box-shadow var(--sutra-dur-fast) var(--sutra-ease);
}
.icon-button::after,
.menu-toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 44px;
  height: 44px;
  content: "";
  pointer-events: auto;
  transform: translate(-50%, -50%);
}
.icon-button:hover::before,
.menu-toggle:hover::before,
.icon-button:focus-visible::before,
.menu-toggle:focus-visible::before {
  border-color: rgba(176, 138, 87, .7);
  background: var(--sutra-glass-bg-strong);
  box-shadow: var(--sutra-glass-highlight), var(--sutra-shadow-sm);
}
.search-toggle::before,
.account-link::before,
.search-toggle:hover::before,
.account-link:hover::before {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.search-toggle:focus-visible,
.account-link:focus-visible {
  outline: 2px solid var(--sutra-gold-text);
  outline-offset: 4px;
}
.bag-count {
  border: 1px solid rgba(176, 138, 87, .48);
  background: var(--sutra-beige);
  color: var(--sutra-brown);
}

.hero {
  isolation: isolate;
  --sutra-pot-a-width: clamp(60px, 5vw, 72px);
  --sutra-pot-b-width: clamp(48px, 3.9vw, 56px);
  background-color: var(--sutra-paper);
  background-image:
    radial-gradient(ellipse at 25% 15%, rgba(255, 249, 240, .82), transparent 58%),
    radial-gradient(ellipse at 100% 100%, rgba(239, 217, 208, .38), transparent 42%),
    linear-gradient(180deg, var(--sutra-paper) 65%, var(--sutra-cream)),
    url("assets/botanical-corner.svg");
  background-position: 25% 15%, 100% 100%, center, left bottom;
  background-repeat: no-repeat;
  background-size: auto, auto, 100% 100%, 150px 150px;
}
.hero::before,
.hero::after {
  position: absolute;
  z-index: 2;
  top: 0;
  aspect-ratio: 64 / 200;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  content: "";
  filter: var(--sutra-shadow-brass);
  pointer-events: none;
}
.hero::before {
  left: 53%;
  width: var(--sutra-pot-a-width);
  background-image: url("assets/pot-lantern.svg");
}
.hero::after {
  right: 0;
  width: var(--sutra-pot-b-width);
  aspect-ratio: 56 / 170;
  background-image: url("assets/pot-kalash.svg");
}
.hero__copy,
.hero__visual { z-index: 3; }
.hero__rule {
  color: transparent;
  background-image:
    url("assets/lotus.svg"),
    radial-gradient(ellipse at center, var(--sutra-paper) 0 10px, transparent 11px);
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: 24px 14px, 24px 14px;
}
.hero__rule::before,
.hero__rule::after {
  background: linear-gradient(90deg, transparent, rgba(176, 138, 87, .82) 12%, rgba(176, 138, 87, .82) 88%, transparent);
}
.hero__reason > span {
  background: linear-gradient(145deg, #a66e6b, #8f5856);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32), 0 0 0 1px rgba(176, 138, 87, .72);
}
.hero__reason p { color: var(--sutra-brown-soft); }
.hero__reason strong { color: var(--sutra-brown); }
.hero .eyebrow,
.hero__reasons > .eyebrow { color: var(--sutra-gold-text); }
.poster-bloom { stroke: rgba(176, 138, 87, .58); }
.hero__image-frame {
  border-color: rgba(176, 138, 87, .55);
  box-shadow: 0 0 0 1px rgba(176, 138, 87, .62), 0 0 0 7px var(--sutra-ivory), 0 0 0 8px rgba(176, 138, 87, .68), var(--sutra-shadow-md);
  transition: box-shadow var(--sutra-dur-slow) var(--sutra-ease);
}
.hero__image-frame:hover {
  box-shadow: 0 0 0 1px rgba(176, 138, 87, .7), 0 0 0 7px var(--sutra-ivory), 0 0 0 8px rgba(176, 138, 87, .72), var(--sutra-shadow-lg);
}
.hero__image-caption {
  border: 0;
  outline: 1px solid rgba(176, 138, 87, .44);
  outline-offset: -1px;
  background: rgba(255, 249, 240, .84);
  box-shadow: var(--sutra-glass-highlight), var(--sutra-shadow-sm);
  color: var(--sutra-brown);
  -webkit-backdrop-filter: saturate(1.15) blur(var(--sutra-glass-blur));
  backdrop-filter: saturate(1.15) blur(var(--sutra-glass-blur));
}
.hero-sticker {
  border-color: rgba(176, 138, 87, .72);
  background: radial-gradient(circle at 35% 25%, #fff9f0, #efd9d0 92%);
  box-shadow: inset 0 0 0 5px rgba(176, 138, 87, .23), var(--sutra-shadow-sm);
  color: var(--sutra-brown);
}
.hero-sticker::before {
  position: absolute;
  inset: 5px;
  border: 1px dotted rgba(176, 138, 87, .62);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.hero-sticker::after {
  position: absolute;
  right: -14px;
  bottom: -17px;
  width: 44px;
  height: 44px;
  background: url("assets/leaf-sprig.svg") center / contain no-repeat;
  content: "";
  pointer-events: none;
}
.hero-sticker__star { color: var(--sutra-rosewood-deep); }
.hero__bottom { color: var(--sutra-brown-soft); }
.hero__bottom span:last-child span { color: var(--sutra-rosewood-deep); }

.section-heading .eyebrow { color: var(--sutra-gold-text); }
.section-heading .eyebrow__line {
  background: linear-gradient(90deg, var(--sutra-gold-text), rgba(176, 138, 87, .06));
}
.section-heading h2,
.story-section h2,
.newsletter-section h2 { color: var(--sutra-brown); }
.section-heading h2 em,
.story-section h2 em,
.newsletter-section h2 em { color: var(--sutra-burgundy); }
.section-heading--products { position: relative; }
.section-heading--products::after {
  position: absolute;
  bottom: -17px;
  left: 0;
  width: 140px;
  height: 16px;
  background: url("assets/flourish.svg") center / contain no-repeat;
  content: "";
  pointer-events: none;
}
.products-section {
  border-top-color: rgba(176, 138, 87, .28);
  background: var(--sutra-paper);
  background-image: none;
}
.product-card {
  border-color: rgba(176, 138, 87, .38);
  background: var(--sutra-ivory);
}
.product-card__image-wrap {
  background: var(--sutra-cream);
  box-shadow: inset 0 0 0 1px rgba(176, 138, 87, .16);
}
.product-card__tile-name {
  outline: 1px solid rgba(176, 138, 87, .4);
  outline-offset: -1px;
  background: rgba(255, 249, 240, .84);
  box-shadow: var(--sutra-glass-highlight), var(--sutra-shadow-sm);
  color: var(--sutra-brown);
  -webkit-backdrop-filter: saturate(1.15) blur(var(--sutra-glass-blur));
  backdrop-filter: saturate(1.15) blur(var(--sutra-glass-blur));
}
.product-card__detail { color: var(--sutra-brown-soft); }
.product-card__stock {
  background: var(--sutra-sage-text);
  color: var(--sutra-ivory);
}
.product-card__stock--low_stock { background: #f3d994; color: #6d4d13; }
.product-card__stock--out_of_stock { background: #efd0cf; color: #7d3036; }
.product-card__price { color: var(--sutra-brown); }
.product-card__price-note { color: var(--sutra-brown-soft); }
.product-card__delivery { color: var(--sutra-brown-soft); }
.product-card__delivery span { color: var(--sutra-rosewood-deep); }
.product-card:hover {
  transform: none;
  box-shadow: none;
}
.product-card:hover .product-card__image { transform: none; }
.wishlist-button {
  border-color: rgba(176, 138, 87, .56);
  background: rgba(255, 249, 240, .9);
  box-shadow: var(--sutra-glass-highlight), var(--sutra-shadow-xs);
  color: var(--sutra-brown);
}
.wishlist-button::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  content: "";
  pointer-events: auto;
  transform: translate(-50%, -50%);
}
.wishlist-button[aria-pressed="true"] {
  background: var(--sutra-rosewood);
  color: var(--sutra-ivory);
  transform: scale(1.06);
  transition: transform 180ms var(--sutra-ease), color var(--sutra-dur-fast) var(--sutra-ease), background-color var(--sutra-dur-fast) var(--sutra-ease);
}
.quick-add {
  position: relative;
  border-color: rgba(176, 138, 87, .52);
  background: rgba(255, 249, 240, .9);
  color: var(--sutra-rosewood-deep);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.quick-add:hover {
  background: var(--sutra-rosewood-deep);
  color: var(--sutra-ivory);
}
.quick-add::after {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 44px;
  content: "";
  pointer-events: auto;
  transform: translateY(-50%);
}

.story-section {
  border-color: rgba(176, 138, 87, .38);
  background-color: var(--sutra-paper);
  background-image:
    radial-gradient(ellipse at 25% 20%, rgba(255, 249, 240, .7), transparent 58%),
    linear-gradient(135deg, var(--sutra-cream), var(--sutra-paper));
}
.story-section__visual {
  background: url("assets/botanical-corner.svg") left top / 160px 160px no-repeat;
}
.story-section__visual::before {
  border-color: rgba(176, 138, 87, .58);
}
.story-section__visual img {
  border-color: rgba(176, 138, 87, .46);
  outline: 1px solid rgba(176, 138, 87, .5);
  outline-offset: 6px;
  box-shadow: var(--sutra-shadow-md);
  z-index: 1;
}
.story-section__stamp {
  border-color: rgba(176, 138, 87, .66);
  background: radial-gradient(circle at 36% 26%, var(--sutra-ivory), var(--sutra-blush) 92%);
  box-shadow: inset 0 0 0 5px rgba(176, 138, 87, .2), var(--sutra-shadow-sm);
  color: var(--sutra-brown);
}
.story-section__copy > p:not(.eyebrow) { color: var(--sutra-brown-soft); }
.story-section__copy .eyebrow { color: var(--sutra-gold-text); }
.story-section__doodle { color: var(--sutra-rosewood); }

.newsletter-section {
  border-bottom-color: rgba(176, 138, 87, .5);
  background-color: var(--sutra-ivory);
  background-image:
    radial-gradient(ellipse at 88% 24%, rgba(239, 217, 208, .82), transparent 42%),
    linear-gradient(110deg, var(--sutra-ivory), var(--sutra-paper-light) 55%, var(--sutra-blush));
  box-shadow: inset 0 1px 0 rgba(176, 138, 87, .52), inset 0 -1px 0 rgba(176, 138, 87, .34);
}
.newsletter-section::before {
  position: absolute;
  top: -1px;
  left: 50%;
  z-index: 2;
  width: 24px;
  height: 14px;
  background-color: var(--sutra-gold);
  content: "";
  -webkit-mask: url("assets/lotus.svg") center / contain no-repeat;
  mask: url("assets/lotus.svg") center / contain no-repeat;
  pointer-events: none;
  transform: translateX(-50%);
}
.newsletter__burst { color: rgba(155, 98, 96, .18); }
.newsletter__copy > p:last-child { color: var(--sutra-brown-soft); }
.newsletter-form label { color: var(--sutra-gold-text); }
.newsletter-form__row { border-bottom-color: rgba(176, 138, 87, .55); }
.newsletter-form input {
  border: 0;
  background: rgba(255, 249, 240, .62);
  box-shadow: inset 0 0 0 1px rgba(176, 138, 87, .48), var(--sutra-glass-highlight);
  color: var(--sutra-brown);
}
.newsletter-form input::placeholder { color: var(--sutra-brown-soft); }
.newsletter-form input:focus-visible {
  outline: 2px solid var(--sutra-gold-text);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px var(--sutra-ivory), inset 0 0 0 1px var(--sutra-gold-text);
}
.newsletter-form .button--primary,
.story-section .button--primary {
  border-color: var(--sutra-rosewood-deep);
  background: linear-gradient(180deg, #a66e6b, var(--sutra-rosewood-deep));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), var(--sutra-shadow-xs);
  color: #fff9f0;
}
.newsletter-form .button--primary:hover,
.story-section .button--primary:hover {
  background: var(--sutra-rosewood-deep);
  box-shadow: inset 0 1px 2px rgba(47, 30, 25, .24);
}
.newsletter-form__message { color: var(--sutra-brown-soft); }

.site-footer {
  position: relative;
  background: linear-gradient(180deg, var(--sutra-brown), var(--sutra-choc));
  color: var(--sutra-footer-text);
}
.site-footer::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 12px;
  background-color: var(--sutra-gold-light);
  content: "";
  -webkit-mask: url("assets/border-motif.svg") left top / 24px 12px repeat-x;
  mask: url("assets/border-motif.svg") left top / 24px 12px repeat-x;
  pointer-events: none;
}
.wordmark--footer { background: var(--sutra-ivory); }
.footer-brand > p { color: var(--sutra-footer-text); }
.footer-brand__flower { color: var(--sutra-gold-light); }
.footer-links h3 { color: var(--sutra-gold-light); }
.footer-links a { color: var(--sutra-footer-text); }
.footer-links a:hover,
.footer-links a:focus-visible { color: var(--sutra-gold-light); text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom {
  border-top-color: rgba(227, 197, 143, .3);
  color: var(--sutra-footer-muted);
}
.footer-bottom span span { color: var(--sutra-gold-light); }

@media (hover: hover) {
  .product-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--sutra-shadow-lg);
  }
  .product-card:hover .product-card__image { transform: scale(1.03); }
}
@media (max-width: 1000px) {
  .hero {
    --sutra-pot-a-width: 48px;
    --sutra-pot-b-width: 38px;
  }
  .hero { background-size: auto, auto, 100% 100%, 135px 135px; }
}
@media (max-width: 720px) {
  .hero {
    --sutra-pot-a-width: 40px;
    --sutra-pot-b-width: 32px;
    background-size: auto, auto, 100% 100%, 110px 110px;
  }
  .header-wordmark {
    left: 58px;
    width: min(214px, 54vw);
  }
  .hero__image-caption,
  .product-card__tile-name { -webkit-backdrop-filter: saturate(1.15) blur(6px); backdrop-filter: saturate(1.15) blur(6px); }
  .story-section__visual { background-size: 110px 110px; }
}
@media (max-width: 540px) {
  .hero {
    --sutra-pot-a-width: clamp(28px, calc(15vw - 20px), 34px);
    --sutra-pot-b-width: clamp(0px, calc(70vw - 224px), 28px);
  }
}
@media (min-width: 481px) and (max-width: 540px) {
  .hero { --sutra-pot-a-width: 40px; --sutra-pot-b-width: 32px; }
}
@media (max-width: 359px) {
  .hero { --sutra-pot-a-width: 28px; --sutra-pot-b-width: 0px; }
  .hero::after { display: none; }
}
@media (min-width: 1500px) {
  .hero { background-size: auto, auto, 100% 100%, 160px 160px; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header { background: var(--sutra-paper-light); }
  .hero__image-caption,
  .product-card__tile-name { background: rgba(251, 243, 232, .96); }
}
@media (prefers-reduced-transparency: reduce) {
  .site-header { background: var(--sutra-paper-light); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .hero__image-caption,
  .product-card__tile-name { background: rgba(251, 243, 232, .96); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  .icon-button::before,
  .menu-toggle::before,
  .wishlist-button,
  .quick-add { border: 2px solid var(--sutra-brown); }
  .hero__image-caption,
  .product-card__tile-name { background: var(--sutra-glass-solid); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .newsletter-form input { background: var(--sutra-ivory); box-shadow: inset 0 0 0 2px var(--sutra-brown); }
}
@media (prefers-reduced-motion: reduce) {
  .main-nav a::after,
  .icon-button::before,
  .menu-toggle::before,
  .header-wordmark,
  .hero-collection-button,
  .hero__image-frame,
  .wishlist-button[aria-pressed="true"] { transition: none; }
  .product-card:hover,
  .product-card:hover .product-card__image,
  .wishlist-button[aria-pressed="true"] { transform: none; }
}
@media (forced-colors: active) {
  .announcement,
  .site-header,
  .products-section,
  .story-section,
  .newsletter-section,
  .site-footer { background: Canvas; color: CanvasText; }
  .announcement { border-bottom: 1px solid ButtonBorder; box-shadow: none; }
  .site-header { border-bottom: 1px solid ButtonBorder; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .announcement a,
  .announcement__spark,
  .main-nav a,
  .main-nav__active,
  .footer-links a,
  .footer-links h3 { color: LinkText; }
  .hero { background: Canvas; }
  .hero::before,
  .hero::after,
  .site-footer::before,
  .newsletter-section::before,
  .hero-sticker::after { display: none; }
  .hero__image-caption,
  .product-card__tile-name { background: Canvas; color: CanvasText; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .product-card { border-color: ButtonBorder; background: Canvas; }
  .newsletter-form .button--primary,
  .story-section .button--primary { border: 1px solid ButtonText; background: ButtonFace; color: ButtonText; }
  .icon-button::before,
  .menu-toggle::before { border-color: ButtonBorder; background: Canvas; box-shadow: none; }
  .icon-button::after,
  .menu-toggle::after,
  .wishlist-button::after,
  .quick-add::after { display: none; }
  * { box-shadow: none; }
}

/* Beige marble setting and original stone sculpture accents. */
body {
  background-color: #d9cbb9;
  background-image:
    linear-gradient(rgba(246, 239, 229, .18), rgba(229, 216, 199, .2)),
    url("assets/beige-marble-tiles.jpg");
  background-position: center top, center top;
  background-repeat: no-repeat, repeat-y;
  background-size: cover, max(100%, 1100px) auto;
  background-attachment: fixed, fixed;
}

.site-header {
  background: rgba(251, 245, 236, .86);
}

.hero {
  background:
    radial-gradient(ellipse at 30% 20%, rgba(255, 249, 240, .7), transparent 62%),
    linear-gradient(135deg, rgba(246, 239, 229, .32), rgba(239, 217, 208, .22));
}

.category-section,
.products-section,
.story-section,
.newsletter-section {
  background-color: rgba(246, 239, 229, .72);
  background-image: linear-gradient(135deg, rgba(255, 249, 240, .28), rgba(220, 199, 174, .18));
}

.hero__visual {
  isolation: isolate;
  flex-direction: column;
}

.hero__copy {
  padding-top: 0;
}
.hero-brand {
  width: min(100%, 500px);
  height: auto;
  margin: -18px 0 13px -12px;
}
.hero-collection-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  margin-top: 18px;
  padding: 0 16px;
  border: 1px solid var(--sutra-rosewood-deep);
  border-radius: 999px;
  background: linear-gradient(180deg, #a66e6b, var(--sutra-rosewood-deep));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), var(--sutra-shadow-xs);
  color: #fff9f0;
  font: 600 10px "DM Sans", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform var(--sutra-dur-fast) var(--sutra-ease), box-shadow var(--sutra-dur-fast) var(--sutra-ease), background-color var(--sutra-dur-fast) var(--sutra-ease);
}
.hero-collection-button:hover,
.hero-collection-button:focus-visible {
  background: var(--sutra-rosewood-deep);
  box-shadow: inset 0 1px 2px rgba(47, 30, 25, .24), var(--sutra-shadow-sm);
  transform: translateY(-1px);
}
.hero-collection-button span {
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
}

@media (max-width: 720px) {
  .hero-brand {
    width: min(100%, 330px);
    height: auto;
    margin: -8px 0 13px -5px;
  }
}

.hero__image-caption {
  z-index: 2;
}

@media (max-width: 720px) {
  body {
    background-size: cover, max(100%, 800px) auto;
  }
  .category-section,
  .products-section,
  .story-section,
  .newsletter-section {
    background-color: rgba(246, 239, 229, .8);
  }
}
