/* Элегант: quiet white, warm metal and a generous editorial rhythm. */
:root {
  --white: #fff;
  --paper: #fcfbf8;
  --ink: #171715;
  --muted: #66625b;
  --gold: #a78c59;
  --pale-gold: #e8d9bd;
  --line: #e4ded3;
  --refined-gold: #dfccaa;
  --refined-soft: #f5f1e9;
}

html { scroll-padding-top: 112px; }
body { background: #fff; font-size: 14px; line-height: 1.75; }
main { background: #fff; }
.section-shell { padding-inline: max(28px, calc((100% - 1280px) / 2)); }
.eyebrow { font-size: 11px; letter-spacing: 1.8px; font-weight: 600; }
.little-star { color: #9b7e48; }
.section-heading { margin-bottom: 36px; }
.section-heading h2 { font-size: clamp(42px, 4.4vw, 68px); letter-spacing: -1.2px; line-height: 1.06; margin-top: 14px; }
.text-link { font-size: 13px; gap: 16px; line-height: 1.5; }
.text-link:after { bottom: -5px; height: 1px; background: #b8a27a; }
.text-link:hover { color: #705d3b; }
.btn { min-height: 54px; padding: 16px 22px; font-size: 13px; font-weight: 500; line-height: 1.5; letter-spacing: 0; gap: 24px; transition: background .24s ease, border-color .24s ease, transform .3s var(--ease), box-shadow .3s ease; }
.btn-gold { background: var(--refined-gold); }
.btn-gold:before { display: none; }
.btn-gold:hover { background: #d6bf96; }
.btn-outline { border-color: #b6a07a; background: #ffffff80; }
.btn-outline:hover { background: #f4eee3; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 7px 20px #8b744315; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: #876b39; }

/* The header remains compact while every action stays easy to reach. */
.announcement { height: 38px; padding-inline: max(28px, calc((100% - 1280px) / 2)); background: #f2ede3; border-bottom: 1px solid #e7decf; }
.announcement-center { font-size: 10px; letter-spacing: 1.1px; gap: 16px; }
.store-trigger { min-height: 34px; font-size: 11px; letter-spacing: .1px; gap: 7px; }
.store-trigger svg { width: 15px; height: 15px; }
.announcement-delivery { font-size: 10px; letter-spacing: .6px; }
.site-header { height: 94px; padding-inline: max(28px, calc((100% - 1280px) / 2)); background: #fffffff5; border-bottom-color: #e9e4da; backdrop-filter: blur(20px); }
.site-header.is-scrolled { height: 78px; box-shadow: 0 5px 25px #17171506; }
.nav-left { gap: 26px; }
.nav-left a { font-size: 11px; letter-spacing: .55px; padding-block: 10px; }
.nav-left a:after { bottom: 2px; }
.wordmark { font-size: 46px; letter-spacing: .8px; }
.wordmark > span { font-size: 8px; margin-top: 8px; letter-spacing: 2.6px; }
.header-actions { gap: 12px; }
.icon-button { width: 40px; height: 40px; padding: 8px; }
.icon-button svg { width: 23px; height: 23px; }
.icon-button:hover { transform: translateY(-2px); }
.action-count { top: 1px; right: 0; min-width: 16px; height: 16px; font-size: 10px; background: #e9ddc7; }

/* The existing campaign image provides the main visual; no fake products. */
.hero { max-width: 1440px; min-height: 0; grid-template-columns: 1.04fr 1fr; gap: 6%; padding: 62px clamp(28px, 5.5vw, 80px) 72px; overflow: clip; }
.hero-copy { padding-top: 46px; padding-bottom: 16px; }
.hero-eyebrow { margin-bottom: 25px; font-size: 11px; letter-spacing: 1.8px; gap: 12px; }
.gold-rule { width: 36px; background: #a38958; }
.hero h1 { font-size: clamp(72px, 7.2vw, 112px); line-height: .98; letter-spacing: -2.5px; }
.hero h1 em { color: #25221b; }
.hero-flourish { left: 35px; top: 269px; width: 310px; height: 40px; opacity: .8; }
.hero-description { max-width: 405px; font-size: 15px; line-height: 1.85; margin-top: 31px; color: #514c43; }
.hero-intro-label { margin-top: 29px; color: #7b6948; font-size: 11px; line-height: 1.6; letter-spacing: 1.4px; text-transform: uppercase; }
.hero-intro-label + .hero-description { margin-top: 12px; }
.hero-cta { margin-top: 28px; gap: 27px; flex-wrap: wrap; }
.hero-cta .btn { min-width: 235px; }
.hero-cta .text-link { font-size: 13px; }
.hero-service-note { max-width: 415px; margin-top: 25px; padding-top: 18px; border-top: 1px solid #e4dccb; font-size: 12px; line-height: 1.75; color: #655c4e; }
.hero-scroll { font-size: 10px; letter-spacing: 1.2px; padding-top: 34px; }
.hero-visual { min-height: 0; }
.hero-image-wrap { height: 610px; aspect-ratio: 4 / 5; background: #e6ddce; }
.hero-media { object-position: center 26%; transition: scale 1.5s var(--ease); }
.hero-image-wrap:hover .hero-media { scale: 1.018; }
.hero-frame { inset: -10px 10px 10px -10px; border-color: #b5a17b; }
.vertical-note { right: -25px; font-size: 9px; letter-spacing: 1.3px; }
.hero-photo-caption { left: 18px; right: 18px; bottom: 18px; padding: 11px 14px; font-size: 10px; letter-spacing: 1.1px; background: #fffffff0; border: 1px solid #fff8; }
.hero-photo-caption > a { font-size: 23px; min-width: 30px; text-align: right; }
.editorial-seal { left: -39px; bottom: 78px; width: 98px; height: 98px; border-color: #b7a47f; background: #fcfaf5; box-shadow: 0 6px 24px #43352008; }
.editorial-seal > svg { width: 90px; height: 90px; animation-duration: 70s; }
.editorial-seal > span { font-size: 33px; }
.editorial-seal text { font-size: 7.5px; }
#cursor-glow { width: 98px; height: 98px; border-color: #ffffff70; }

.brand-service-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; max-width: 1280px; margin: 0 auto 38px; padding: 0; border-block: 1px solid #e4dccd; background: #fcfaf6; }
.brand-service-strip > :is(a, button, article, div) { display: block; min-width: 0; min-height: 158px; position: relative; padding: 26px 28px; border-left: 1px solid #e4dccd; font: inherit; text-align: left; transition: background .24s ease; }
.brand-service-strip > :first-child { border-left: 0; }
.brand-service-strip > :is(a, button):hover { background: #f4eee3; }
.brand-service-strip > :is(a, button) > div { min-width: 0; }
.brand-service-strip .service-number { display: block; margin-bottom: 12px; color: #8b713f; font: 600 11px/1.4 var(--sans); letter-spacing: 1.1px; }
.brand-service-strip .service-arrow { position: absolute; top: 21px; right: 25px; color: #937a49; font-size: 24px; line-height: 1; }
.brand-service-strip :is(h2, h3, strong) { display: block; font-family: var(--serif); font-size: 28px; font-weight: 400; line-height: 1.12; margin: 0 0 8px; }
.brand-service-strip p { font-size: 12px; line-height: 1.65; color: #645d51; margin: 0; }
.brand-service-strip .eyebrow { font-size: 10px; color: #826b42; margin-bottom: 11px; }
.brand-service-strip svg { width: 22px; height: 22px; color: #947848; margin-bottom: 12px; }
.marquee { padding: 15px 0; background: #f6f2ea; border-color: #e2d7c3; }
.marquee-track { gap: 56px; animation-duration: 65s; }
.marquee-track > span { font-size: 25px; letter-spacing: 1.9px; }
.marquee-track > i { font-size: 15px; }

/* A more even collection grid gives the photos and names equal weight. */
.collections { padding-top: 80px; padding-bottom: 84px; }
.collection-grid { grid-template-columns: 1.12fr 1fr 1fr; gap: 24px; align-items: start; }
.collection-card { height: 470px; background: #ede7dc; border: 1px solid #e7e0d5; }
.collection-main { height: 520px; }
.collection-evening { height: 480px; margin-top: 40px; }
.collection-detail { height: 450px; margin-top: 70px; }
.collection-card > img { transition: transform 1.3s var(--ease); }
.collection-card:hover > img { transform: scale(1.035); }
.collection-overlay { padding: 21px 22px 24px; background: #fffffff0; border-top: 1px solid #fff9; }
.collection-overlay p { font-size: 10px; line-height: 1.6; letter-spacing: 1px; margin-bottom: 9px; }
.collection-overlay h3 { max-width: calc(100% - 38px); font-size: 34px; line-height: 1.05; }
.circle-arrow { right: 18px; bottom: 24px; width: 34px; height: 34px; border-color: #bcaa89; }
.collection-card:hover .circle-arrow { transform: rotate(15deg); background: #e9ddc6; }

/* Catalogue controls are deliberately restrained and legible. */
.catalog { padding-top: 12px; padding-bottom: 78px; }
.catalog-season { font-size: 11px; letter-spacing: 1px; }
.catalog-search { max-width: 700px; margin-bottom: 28px; }
.catalog-search > label { font-size: 13px; margin-bottom: 10px; }
.catalog-search-field { min-height: 54px; border-color: #d9d0bf; background: #fff; padding-inline: 16px; }
.catalog-search-field input { font-size: 14px; padding-block: 15px; }
.catalog-search-field:focus-within { border-color: #967748; box-shadow: 0 0 0 1px #967748; }
.catalog-search > p { font-size: 12px; color: #71695b; }
.catalog-toolbar { gap: 22px; margin-bottom: 27px; }
.filter-tabs { gap: 25px; min-width: 0; }
.filter-tabs button { padding: 14px 0 17px; font-size: 13px; color: #6f6658; }
.filter-tabs button:after { height: 2px; }
.filter-tabs button sup { font-size: 11px; }
.sort-control { min-width: 130px; }
.sort-control select { min-height: 43px; font-size: 12px; }
.catalog-tools { margin-top: -10px; margin-bottom: 32px; padding: 21px 23px 17px; background: #faf8f3; border-color: #e4dccd; }
.catalog-tools-heading > p { font-size: 11px; letter-spacing: .9px; }
.catalog-tools .catalog-tools-reset { font-size: 12px; color: #7a6137; }
.catalog-tools-field, .catalog-tools-price legend { font-size: 12px; }
.catalog-tools select, .catalog-tools input[type="number"] { min-height: 46px; font-size: 13px; border-color: #dcd3c2; }
.catalog-tools-stock { font-size: 12px; }
.catalog-tools .catalog-tools-store-change { font-size: 12px; color: #7a6137; }
.catalog-tools-store-hint, .catalog-tools-count { font-size: 12px; }
.catalog-tools-chips > :is(button, span) { font-size: 12px; background: #f2eadc; border-color: #d3c09b; }
.catalog-tools-error { font-size: 12px; }
.product-grid { gap: 34px 23px; }
.product-image { background: #f0ece5; border: 1px solid #e9e3da; }
.product-card:hover .product-image > img { transform: scale(1.035); }
.product-tag { font-size: 10px; letter-spacing: .7px; padding: 5px 9px; background: #fffffff0; }
.favorite-btn { width: 34px; height: 34px; background: #fffffff0; }
.favorite-btn > svg { width: 17px; height: 17px; }
.product-image > .product-open { padding: 13px; font-size: 12px; background: #fffffff0; }
.product-info { padding-top: 15px; gap: 6px; }
.product-info h3, .product-info .product-title { font-size: 13px; line-height: 1.6; }
.product-price { font-size: 13px; font-weight: 600; }
.product-color { font-size: 12px; }
.catalog-footnote { margin-top: 38px; font-size: 24px; color: #5d564b; }
.empty-state { padding: 38px 25px; font-size: 14px; line-height: 1.8; border: 1px solid #e6ddcd; background: #fcfaf6; }
.empty-state .btn { font-size: 13px; }
.recent-products { margin-top: 52px; padding-top: 32px; }
.recent-heading h3 { font-size: 38px; }
.recent-privacy { font-size: 12px; }

.lookbook { grid-template-columns: 1.02fr 1fr; background: #f3eee4; }
.lookbook-image { height: 710px; }
.lookbook-image > img { object-position: center 30%; }
.lookbook-image-label { left: 26px; bottom: 26px; font-size: 10px; letter-spacing: 1.1px; background: #fffdf7ee; }
.lookbook-image-line { inset: 20px; border-color: #f2e5cd80; }
.lookbook-copy { padding: 65px 12% 55px; }
.lookbook-copy h2 { font-size: clamp(75px, 7.1vw, 110px); line-height: .95; margin: 27px 0; }
.lookbook-copy > p:not(.eyebrow) { max-width: 345px; font-size: 14px; line-height: 1.85; }
.lookbook-copy > .btn { margin-top: 27px; min-width: 240px; }
.lookbook-note { padding-top: 34px; }
.lookbook-note p { font-size: 25px; }
.brand-story { padding-top: 88px; padding-bottom: 84px; }
.story-title { font-size: clamp(49px, 6.5vw, 98px); line-height: 1.03; letter-spacing: -1.8px; margin-top: 28px; }
.story-bottom { margin: 58px auto 48px; gap: 45px; max-width: 1030px; }
.story-bottom > p { font-size: 14px; line-height: 1.85; }
.story-monogram { font-size: 110px; }
.brand-values { background: #fdfcf9; }
.brand-values > div { padding: 29px 28px 30px; }
.brand-values > div > span { font-size: 11px; color: #8c7348; }
.brand-values h3 { font-size: 32px; margin-top: 12px; }
.brand-values p { font-size: 13px; color: #655d50; }

/* Actual pickup locations get a quiet card treatment. */
.stores-section { padding-top: 72px; padding-bottom: 68px; background: #f6f2ea; border-block: 1px solid #e9dfce; }
.stores-intro { font-size: 14px; line-height: 1.75; color: #645c50; }
.stores-grid { gap: 24px; }
.store-card { padding: 35px 33px; border-color: #d9ccb3; background: #fffdf9; }
.store-card.selected { background: #faf4e9; border-color: #a48a59; box-shadow: inset 0 0 0 1px #a48a591a; }
.store-number { top: 26px; right: 29px; font-size: 52px; color: #b9a582; }
.store-card h3 { font-size: 46px; margin: 17px 0 14px; }
.store-address { font-size: 14px; }
.store-hours { font-size: 12px; margin-top: 8px; }
.store-card-actions { gap: 24px; margin-top: 29px; flex-wrap: wrap; }
.store-card-actions .btn { font-size: 12px; min-height: 48px; padding: 13px 18px; }
.store-card-actions .text-link { font-size: 12px; }
.store-help { font-size: 12px; margin-top: 25px; color: #6b6252; }
.newsletter { padding-top: 55px; padding-bottom: 58px; background: #fff; gap: 50px; }
.newsletter h2 { font-size: 66px; margin-block: 13px; }
.newsletter > div > p:last-child { font-size: 14px; }
.contact-actions { gap: 14px; }
.contact-actions > .btn { font-size: 13px; }
.site-footer { padding-top: 48px; padding-bottom: 25px; background: #faf8f3; border-top: 1px solid #e5ddcd; }
.footer-top { gap: 32px; padding-bottom: 37px; }
.footer-wordmark { font-size: 47px; }
.footer-links { gap: 12px; font-size: 13px; }
.footer-contact { font-size: 13px; color: #655d50; }
.footer-contact > .text-link { margin-top: 17px; color: var(--ink); font-size: 13px; }
.footer-legal { gap: 25px; font-size: 12px; flex-wrap: wrap; padding-bottom: 23px; }
.footer-legal a:hover { color: #7a6239; text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { padding-top: 19px; font-size: 11px; line-height: 1.7; }
.footer-bottom > a { font-size: 10px; letter-spacing: .8px; }

/* Dialogs retain every existing control and native order behaviour. */
dialog { background: #fffdfa; border: 1px solid #d8c7a6; box-shadow: 0 22px 85px #211b1530; }
dialog::backdrop { background: #1e1a155c; backdrop-filter: blur(5px); }
.dialog-close, .drawer-close { width: 40px; height: 40px; top: 14px; right: 14px; background: #fcfaf5f0; font-size: 30px; }
.product-dialog { width: 1000px; }
.modal-product-details { padding: 50px 34px 34px; }
.modal-product-details h2 { font-size: 49px; margin-top: 17px; }
.modal-price { font-size: 19px; margin-top: 17px; }
.modal-color, .modal-desc { font-size: 13px; line-height: 1.75; }
.modal-desc { margin-top: 20px; }
.size-picker { margin-top: 25px; }
.size-picker legend { font-size: 13px; margin-bottom: 12px; }
.size-picker button { min-width: 43px; min-height: 42px; padding: 9px 11px; font-size: 13px; border-color: #dcd2c0; }
.size-picker button.selected, .size-picker button[aria-pressed="true"] { border-color: #9a7a43; background: #eee3cf; }
.modal-product-details #size-guide { font-size: 12px; }
.size-error, .product-feedback { font-size: 12px; line-height: 1.6; }
.availability-note { font-size: 12px; line-height: 1.7; }
.modal-actions { gap: 12px; }
.modal-actions .modal-favorite { width: 43px; height: 43px; flex-basis: 43px; }
.product-fit-note, .product-measurement-note { background: #f7f2e8; border-left-color: #b49a68; }
.product-store-section > p { font-size: 12px; }
.product-store-row { background: #fff; border-color: #e3dac9; }
.product-store-row.is-selected { background: #fbf5e9; }
.wide-dialog { padding: 49px 38px; }
.wide-dialog h2 { font-size: 50px; }
.wide-dialog .search-field { font-size: 16px; }
.info-dialog { padding: 49px 38px; }
.info-dialog h2 { font-size: 46px; }
.info-dialog #info-body { font-size: 14px; line-height: 1.8; }
.info-dialog table { font-size: 12px; }
.store-dialog { padding: 47px 35px; }
.store-dialog h2 { font-size: 49px; }
.store-dialog-description { font-size: 13px; line-height: 1.8; }
.store-dialog-card { padding: 24px 21px; background: #fff; border-color: #dfd5c2; }
.store-dialog-card h3 { font-size: 35px; }
.store-dialog-card p { font-size: 13px; line-height: 1.7; }
.store-dialog-card .btn { font-size: 12px; min-height: 47px; }
.store-dialog-card.selected { background: #f8f0e1; }
.store-dialog-note { font-size: 12px; line-height: 1.7; }
.cart-drawer { width: 460px; padding: 38px 28px 26px; background: #fffdfa; border-left: 1px solid #e0d2b8; }
.drawer-header { padding-bottom: 22px; }
.drawer-header h2 { font-size: 44px; }
.cart-empty h3 { font-size: 32px; }
.cart-empty p { font-size: 13px; }
.cart-item h3 { font-size: 13px; }
.cart-item p { font-size: 12px; }
.cart-item .cart-item-price { font-size: 12px !important; }
.quantity-control { font-size: 12px; }
.quantity-control button { width: 28px; height: 28px; border-color: #d7cab3; }
.cart-total { font-size: 15px; }
.cart-footer > p { font-size: 11px; }
.cart-store-choice > p, .cart-store-choice > .text-link { font-size: 12px; }
.cart-stock-warning { font-size: 12px !important; }
.toast { font-size: 13px; line-height: 1.6; }

@media (min-width: 1600px) {
  .hero { padding-top: 68px; padding-bottom: 76px; }
  .hero-copy { padding-top: 48px; }
  .hero h1 { font-size: 112px; }
  .hero-flourish { top: 284px; left: 35px; width: 330px; }
  .hero-image-wrap { height: 640px; }
  .collection-main { height: 540px; }
  .collection-evening { height: 500px; margin-top: 40px; }
  .collection-detail { height: 470px; margin-top: 70px; }
}

@media (max-width: 1180px) {
  .hero { gap: 5%; padding-top: 49px; padding-bottom: 58px; }
  .hero-copy { padding-top: 34px; }
  .hero h1 { font-size: clamp(72px, 7.3vw, 96px); letter-spacing: -2px; }
  .hero-flourish { top: 231px; width: 270px; left: 24px; }
  .hero-image-wrap { height: 545px; }
  .hero-description { font-size: 14px; }
  .hero-cta { gap: 20px; }
  .hero-cta .btn { min-width: 220px; }
  .hero-photo-caption { font-size: 9px; }
  .collection-grid { gap: 19px; }
  .collection-main { height: 470px; }
  .collection-evening { height: 435px; margin-top: 35px; }
  .collection-detail { height: 415px; margin-top: 55px; }
  .collection-overlay { padding: 20px 18px 23px; }
  .collection-overlay h3 { font-size: 30px; }
  .lookbook-image { height: 675px; }
  .lookbook-copy { padding: 55px 9% 45px; }
  .lookbook-copy h2 { font-size: 84px; }
  .footer-top { grid-template-columns: 1.1fr .9fr 1fr 1.15fr; gap: 25px; }
  .footer-links, .footer-contact { font-size: 12px; }
}

@media (max-width: 980px) {
  .announcement-center { display: none; }
  .nav-left { gap: 18px; }
  .nav-left a { font-size: 10px; }
  .hero { gap: 4%; padding-inline: 35px; }
  .hero h1 { font-size: 73px; }
  .hero-flourish { top: 211px; width: 230px; }
  .hero-eyebrow { font-size: 10px; letter-spacing: 1.4px; }
  .hero-cta { gap: 22px; }
  .hero-image-wrap { height: 535px; }
  .hero-service-note { font-size: 12px; }
  .editorial-seal { width: 86px; height: 86px; left: -27px; bottom: 78px; }
  .editorial-seal > svg { width: 78px; height: 78px; }
  .editorial-seal > span { font-size: 29px; }
  .vertical-note { right: -19px; font-size: 8px; }
  .brand-service-strip { margin-inline: 28px; }
  .brand-service-strip > :is(a, button, article, div) { padding: 22px 20px; }
  .brand-service-strip .service-arrow { top: 19px; right: 19px; }
  .brand-service-strip :is(h2, h3, strong) { font-size: 26px; }
  .collection-overlay p { font-size: 9px; }
  .collection-overlay h3 { font-size: 27px; }
  .collection-main { height: 410px; }
  .collection-evening { height: 382px; margin-top: 28px; }
  .collection-detail { height: 364px; margin-top: 46px; }
  .filter-tabs { gap: 20px; }
  .filter-tabs button { font-size: 12px; }
  .catalog-toolbar { flex-wrap: wrap; gap: 2px 18px; }
  .catalog-tools { padding-inline: 19px; }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 29px 18px; }
  .product-info { grid-template-columns: 1fr; }
  .product-info .product-price { margin-top: 3px; }
  .lookbook-copy { padding-inline: 9%; }
  .lookbook-copy h2 { font-size: 76px; }
  .lookbook-image { height: 660px; }
  .story-bottom { gap: 29px; }
  .brand-values > div { padding: 25px 20px; }
  .brand-values h3 { font-size: 29px; }
  .brand-values p { font-size: 12px; }
  .newsletter { grid-template-columns: 1.1fr 1fr; gap: 28px; }
  .contact-actions { justify-content: flex-start; }
  .contact-actions > .btn { font-size: 12px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-wordmark { align-self: start; }
  .footer-contact { font-size: 13px; }
}

@media (max-width: 850px) {
  .site-header, .site-header.is-scrolled { height: 82px; }
  .nav-left { display: none; }
  .mobile-menu-trigger { display: block; }
  .mobile-menu { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 16px; padding: 24px 28px; background: #fffdf8; border-bottom: 1px solid #c6b18a; box-shadow: 0 15px 30px #17171510; font-size: 14px; }
  .mobile-menu[hidden] { display: none !important; }
  .mobile-menu button { align-self: flex-start; padding: 0; font-size: 14px; }
  .hero { grid-template-columns: 1fr; gap: 37px; padding: 43px 38px 47px; }
  .hero-copy { padding: 0; align-items: center; text-align: center; }
  .hero h1 { font-size: clamp(75px, 12vw, 100px); }
  .hero-eyebrow { margin-bottom: 23px; }
  .hero-flourish { top: 197px; left: calc(50% - 145px); width: 290px; }
  .hero-description { max-width: 420px; margin-top: 27px; font-size: 15px; }
  .hero-cta { justify-content: center; gap: 26px; margin-top: 25px; }
  .hero-service-note { max-width: 470px; margin-top: 23px; }
  .hero-scroll { display: none; }
  .hero-visual { max-width: 560px; width: 100%; justify-self: center; }
  .hero-image-wrap { height: auto; aspect-ratio: 5 / 5.4; }
  .hero-media { object-position: center 34%; }
  .hero-photo-caption { font-size: 10px; }
  .editorial-seal { bottom: 78px; }
  .hero-intro-label { margin-top: 24px; }
  .brand-service-strip { margin-bottom: 31px; }
  .brand-service-strip > :is(a, button, article, div) { padding: 21px 17px; }
  .brand-service-strip .service-arrow { top: 19px; right: 17px; }
  .brand-service-strip :is(h2, h3, strong) { font-size: 25px; }
  .brand-service-strip p { font-size: 12px; }
  .collections { padding-block: 61px; }
  .section-heading h2 { font-size: 45px; }
  .collection-grid { gap: 14px; }
  .collection-overlay { padding: 18px 15px 22px; }
  .collection-overlay h3 { font-size: 27px; max-width: 100%; }
  .circle-arrow { display: none; }
  .collection-main { height: 367px; }
  .collection-evening { height: 343px; margin-top: 24px; }
  .collection-detail { height: 325px; margin-top: 42px; }
  .section-heading > .text-link { flex-shrink: 0; }
  .lookbook { grid-template-columns: 1fr 1fr; }
  .lookbook-image { height: 620px; }
  .lookbook-copy { padding: 44px 27px 37px; }
  .lookbook-copy h2 { font-size: 69px; }
  .lookbook-copy > p:not(.eyebrow) { font-size: 13px; }
  .lookbook-copy > .btn { min-width: 0; width: 100%; gap: 16px; padding-inline: 18px; font-size: 12px; }
  .lookbook-note { gap: 14px; }
  .lookbook-note p { font-size: 22px; }
  .story-title { font-size: 66px; }
  .store-card { padding: 29px 24px; }
  .store-card h3 { font-size: 39px; }
  .store-number { font-size: 43px; right: 22px; }
  .store-card-actions { gap: 21px; }
  .store-card-actions .btn { width: 100%; justify-content: space-between; }
  .newsletter h2 { font-size: 56px; }
  .modal-product-details { padding: 44px 27px 30px; }
  .modal-product-details h2 { font-size: 43px; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 92px; }
  .section-shell { padding-inline: 23px; }
  .announcement { height: 36px; padding-inline: 19px; gap: 12px; }
  .store-trigger { font-size: 10px; gap: 6px; }
  .announcement-delivery { font-size: 9px; letter-spacing: .25px; white-space: nowrap; }
  .site-header, .site-header.is-scrolled { height: 79px; padding-inline: 16px; grid-template-columns: 1fr auto 1fr; }
  .wordmark { font-size: 37px; letter-spacing: .25px; }
  .wordmark > span { font-size: 7px; letter-spacing: 2px; margin-top: 7px; }
  .header-actions { gap: 2px; }
  .icon-button { width: 33px; height: 39px; padding: 7px; }
  .icon-button svg { width: 21px; height: 21px; }
  .header-actions > .icon-button:first-child { display: block; }
  .action-count { font-size: 9px; width: 14px; height: 14px; min-width: 14px; top: 2px; right: -1px; }
  .mobile-menu { padding: 24px 23px; }
  .hero { display: grid; padding: 34px 27px 40px; gap: 31px; }
  .hero-eyebrow { font-size: 10px; letter-spacing: 1.2px; gap: 9px; margin-bottom: 23px; }
  .gold-rule { width: 25px; }
  .hero h1 { font-size: clamp(58px, 15.3vw, 86px); letter-spacing: -1.5px; line-height: 1; }
  .hero-flourish { top: 147px; width: 240px; left: calc(50% - 116px); height: 34px; }
  .hero-description { margin-top: 25px; font-size: 13px; line-height: 1.85; }
  .hero-intro-label { font-size: 10px; letter-spacing: 1.1px; margin-top: 21px; }
  .hero-cta { gap: 23px; margin-top: 23px; width: 100%; }
  .hero-cta .btn { min-width: 236px; min-height: 51px; padding: 14px 20px; font-size: 13px; }
  .hero-cta .text-link { font-size: 12px; }
  .hero-service-note { font-size: 12px; line-height: 1.7; padding-top: 15px; margin-top: 22px; }
  .hero-visual { max-width: 440px; }
  .hero-image-wrap { aspect-ratio: 4 / 4.7; }
  .hero-frame { inset: -7px 7px 7px -7px; }
  .hero-media { object-position: center 32%; }
  .vertical-note { right: -18px; font-size: 8px; letter-spacing: 1px; }
  .hero-photo-caption { bottom: 12px; left: 12px; right: 12px; padding: 8px 10px; font-size: 8px; letter-spacing: .65px; }
  .hero-photo-caption > span:nth-child(2) { padding-left: 0; }
  .editorial-seal { width: 78px; height: 78px; left: -15px; bottom: 71px; }
  .editorial-seal > svg { width: 70px; height: 70px; }
  .editorial-seal > span { font-size: 26px; }
  #cursor-glow { display: none; }
  .brand-service-strip { grid-template-columns: 1fr; margin: 0 23px 28px; }
  .brand-service-strip > :is(a, button, article, div) { min-height: 142px; padding: 20px 21px; border-left: 0; border-top: 1px solid #e4dccd; }
  .brand-service-strip > :first-child { border-top: 0; }
  .brand-service-strip .service-number { margin-bottom: 10px; }
  .brand-service-strip .service-arrow { top: 18px; right: 20px; }
  .brand-service-strip :is(h2, h3, strong) { font-size: 27px; margin-bottom: 7px; }
  .brand-service-strip p { font-size: 12px; line-height: 1.7; }
  .brand-service-strip .eyebrow { margin-bottom: 9px; font-size: 10px; }
  .marquee { padding-block: 12px; }
  .marquee-track { gap: 33px; }
  .marquee-track > span { font-size: 23px; letter-spacing: 1.2px; }
  .marquee-track > i { font-size: 13px; }
  .eyebrow { font-size: 10px; letter-spacing: 1.15px; }
  .section-heading { display: block; margin-bottom: 27px; }
  .section-heading h2 { font-size: 39px; line-height: 1.08; letter-spacing: -.75px; margin-top: 14px; }
  .section-heading > .text-link { margin-top: 23px; font-size: 12px; }
  .collections { padding-top: 51px; padding-bottom: 55px; }
  .collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 13px; }
  .collection-main { grid-column: 1 / -1; height: 382px; }
  .collection-main > img { object-position: center 32%; }
  .collection-evening, .collection-detail { height: 290px; margin-top: 0; }
  .collection-overlay { padding: 17px 14px 19px; }
  .collection-overlay p { font-size: 9px; letter-spacing: .6px; line-height: 1.5; margin-bottom: 8px; }
  .collection-overlay h3 { font-size: 28px; max-width: 100%; overflow-wrap: anywhere; }
  .collection-main .collection-overlay h3 { font-size: 36px; }
  .collection-main .circle-arrow { display: grid; right: 18px; bottom: 22px; }
  .collection-main .collection-overlay h3 { max-width: calc(100% - 44px); }
  .catalog { padding-top: 0; padding-bottom: 52px; }
  .catalog-season { display: block; margin-top: 17px; font-size: 10px; letter-spacing: 1px; }
  .catalog-search { margin-bottom: 19px; }
  .catalog-search > label { font-size: 13px; }
  .catalog-search-field { padding-inline: 12px; min-height: 51px; gap: 10px; }
  .catalog-search-field input { font-size: 16px; padding-block: 13px; }
  .catalog-search > p { font-size: 11px; line-height: 1.65; }
  .catalog-toolbar { display: block; margin-bottom: 24px; }
  .filter-tabs { gap: 23px; overflow-x: auto; overflow-y: hidden; flex-wrap: nowrap; padding-bottom: 3px; scrollbar-width: thin; scrollbar-color: #c9b796 transparent; }
  .filter-tabs button { flex-shrink: 0; font-size: 12px; padding: 13px 0 16px; min-height: 46px; }
  .filter-tabs button:after { bottom: 0; }
  .filter-tabs button:focus-visible { outline-offset: -2px; }
  .sort-control { display: block; padding: 6px 0 10px; }
  .sort-control select { font-size: 12px; width: 100%; min-height: 42px; }
  .catalog-tools { margin-top: -8px; margin-bottom: 24px; padding: 17px 15px 15px; }
  .catalog-tools-heading { gap: 3px 12px; }
  .catalog-tools-heading > p { font-size: 10px; letter-spacing: .8px; }
  .catalog-tools .catalog-tools-reset { font-size: 12px; }
  .catalog-tools-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
  .catalog-tools-price { grid-column: 1 / -1; }
  .catalog-tools-field, .catalog-tools-price legend { font-size: 12px; }
  .catalog-tools select, .catalog-tools input[type="number"] { font-size: 16px; min-height: 46px; padding: 10px 9px; }
  .catalog-tools-store-row { gap: 0 14px; }
  .catalog-tools-stock { font-size: 12px; }
  .catalog-tools-store-hint { flex-basis: 100%; font-size: 11px; line-height: 1.7; }
  .catalog-tools-count { font-size: 11px; }
  .catalog-tools-status { gap: 10px; }
  .catalog-tools-chips { flex-basis: 100%; }
  .catalog-tools-chips > :is(button, span) { font-size: 11px; min-height: 37px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 13px; }
  .product-tag { left: 8px; top: 9px; font-size: 9px; padding: 4px 7px; letter-spacing: .4px; }
  .favorite-btn { width: 30px; height: 30px; top: 8px; right: 7px; }
  .favorite-btn > svg { width: 16px; height: 16px; }
  .product-image > .product-open { transform: none; font-size: 11px; padding: 10px 8px; }
  .product-info { padding-top: 12px; gap: 4px; }
  .product-info h3, .product-info .product-title { font-size: 12px; }
  .product-price { font-size: 12px; }
  .product-color { font-size: 11px; }
  .catalog-footnote { font-size: 21px; line-height: 1.3; margin-top: 31px; }
  .empty-state { padding: 27px 17px; font-size: 13px; line-height: 1.8; }
  .empty-state .btn { width: 100%; min-width: 0; gap: 12px; justify-content: center; }
  .recent-products { margin-top: 39px; padding-top: 26px; }
  .recent-heading h3 { font-size: 33px; }
  .recent-privacy { font-size: 11px; }
  .lookbook { grid-template-columns: 1fr; }
  .lookbook-image { height: 480px; }
  .lookbook-image > img { object-position: center 28%; }
  .lookbook-image-label { font-size: 9px; left: 21px; bottom: 22px; padding: 9px 12px; }
  .lookbook-image-line { inset: 16px; }
  .lookbook-copy { padding: 42px 29px 42px; }
  .lookbook-copy h2 { font-size: 82px; margin: 24px 0; }
  .lookbook-copy > p:not(.eyebrow) { font-size: 14px; max-width: 315px; }
  .lookbook-copy > .btn { width: auto; min-width: 241px; font-size: 13px; }
  .lookbook-note { padding-top: 27px; }
  .lookbook-note p { font-size: 24px; }
  .brand-story { padding-block: 62px; }
  .story-title { font-size: clamp(39px, 10.3vw, 58px); line-height: 1.07; letter-spacing: -1px; margin-top: 25px; }
  .story-title svg { bottom: -9px; }
  .story-bottom { grid-template-columns: 1fr; gap: 18px; margin: 40px auto 34px; }
  .story-monogram { grid-column: auto; font-size: 84px; margin-bottom: 9px; }
  .story-bottom > p { font-size: 13px; line-height: 1.85; }
  .brand-values { grid-template-columns: 1fr; }
  .brand-values > div, .brand-values > div:first-child { padding: 24px 20px; border-left: 0; border-top: 1px solid var(--line); }
  .brand-values > div:first-child { border-top: 0; }
  .brand-values > div > span { float: right; font-size: 11px; }
  .brand-values h3 { font-size: 30px; margin-top: 0; }
  .brand-values p { font-size: 12px; }
  .stores-section { padding-top: 52px; padding-bottom: 48px; }
  .stores-intro { margin-top: 21px; font-size: 13px; }
  .stores-grid { grid-template-columns: 1fr; gap: 17px; }
  .store-card { padding: 27px 23px; }
  .store-card h3 { font-size: 40px; }
  .store-number { right: 23px; top: 23px; font-size: 46px; }
  .store-address { font-size: 13px; }
  .store-hours { font-size: 12px; }
  .store-card-actions { gap: 23px; margin-top: 25px; }
  .store-card-actions .btn { width: auto; min-width: 212px; font-size: 12px; }
  .store-help { text-align: left; font-size: 12px; line-height: 1.8; margin-top: 22px; }
  .newsletter { grid-template-columns: 1fr; gap: 25px; padding-top: 43px; padding-bottom: 45px; }
  .newsletter h2 { font-size: 53px; }
  .newsletter > div > p:last-child { font-size: 13px; line-height: 1.8; }
  .contact-actions { justify-content: flex-start; gap: 12px; }
  .contact-actions > .btn { width: 100%; min-width: 0; justify-content: space-between; font-size: 13px; }
  .site-footer { padding-top: 39px; padding-bottom: 22px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 29px 19px; padding-bottom: 30px; }
  .footer-wordmark { grid-column: 1 / -1; font-size: 44px; }
  .footer-links { gap: 12px; font-size: 12px; line-height: 1.6; }
  .footer-contact { grid-column: 1 / -1; font-size: 13px; }
  .footer-contact > .text-link { font-size: 13px; }
  .footer-legal { font-size: 11px; gap: 10px 18px; padding-bottom: 20px; line-height: 1.7; }
  .footer-bottom { display: grid; grid-template-columns: 1fr auto; gap: 15px; font-size: 10px; }
  .footer-bottom p { grid-column: 1 / -1; grid-row: 2; text-align: left; }
  .footer-bottom > a { font-size: 9px; }
  .product-dialog { width: 480px; max-width: calc(100vw - 20px); }
  #product-modal-content { grid-template-columns: 1fr; }
  .modal-product-image { height: 370px; }
  .modal-product-image > img { object-position: center 30%; }
  .modal-product-details { padding: 30px 23px 27px; }
  .modal-product-details h2 { font-size: 42px; margin-top: 17px; }
  .modal-price { font-size: 18px; }
  .modal-color, .modal-desc { font-size: 13px; }
  .size-picker button { min-height: 42px; font-size: 13px; padding: 9px 12px; }
  .modal-actions { position: sticky; bottom: 0; z-index: 2; background: #fffdfa; padding: 11px 0; margin-top: 16px; box-shadow: 0 -8px 15px #fffdfa; }
  .modal-actions > .btn { min-height: 49px; font-size: 13px; gap: 12px; }
  .product-store-row strong { font-size: 13px; }
  .product-store-row span { font-size: 12px; }
  .product-store-row .text-link { font-size: 12px; }
  .wide-dialog { padding: 43px 22px 30px; max-width: calc(100vw - 20px); }
  .wide-dialog h2 { font-size: 41px; }
  .wide-dialog .search-field { font-size: 16px; }
  .wide-dialog .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px 12px; }
  .info-dialog { padding: 43px 24px 31px; max-width: calc(100vw - 24px); }
  .info-dialog h2 { font-size: 40px; }
  .info-dialog #info-body { font-size: 13px; }
  .info-dialog table { font-size: 11px; }
  .store-dialog { padding: 43px 23px 30px; max-width: calc(100vw - 22px); }
  .store-dialog h2 { font-size: 42px; }
  .store-dialog-description { font-size: 13px; margin-top: 19px; }
  .store-dialog-list { grid-template-columns: 1fr; gap: 14px; }
  .store-dialog-card { padding: 22px 20px; }
  .store-dialog-card h3 { font-size: 34px; }
  .store-dialog-card p { font-size: 13px; min-height: 0; }
  .store-dialog-card .btn { font-size: 12px; margin-top: 20px; }
  .store-dialog-note { font-size: 12px; }
  .cart-drawer { padding: 35px 22px 22px; width: 430px; }
  .drawer-header h2 { font-size: 41px; }
  .cart-empty h3 { font-size: 30px; }
  .cart-empty p { font-size: 13px; }
  .cart-item { grid-template-columns: 64px minmax(0, 1fr) 64px; gap: 10px; }
  .cart-item h3 { font-size: 12px; margin-right: 0; }
  .cart-item p { font-size: 11px; }
  .cart-item .cart-item-price { font-size: 11px !important; }
  .cart-item-image { width: 64px !important; height: 93px !important; }
  .quantity-control { gap: 10px; font-size: 12px; }
  .quantity-control button { width: 27px; height: 27px; }
  .cart-footer > .btn { min-width: 0; gap: 15px; font-size: 13px; }
  .cart-footer > p { font-size: 11px; }
  .cart-stock-warning { font-size: 11px !important; }
  .toast { font-size: 12px; padding: 13px 18px; }
}

@media (max-width: 360px) {
  .site-header, .site-header.is-scrolled { padding-inline: 12px; }
  .wordmark { font-size: 32px; }
  .wordmark > span { font-size: 6px; letter-spacing: 1.8px; }
  .icon-button { width: 31px; padding-inline: 5px; }
  .hero { padding-inline: 22px; }
  .hero h1 { font-size: 53px; }
  .hero-flourish { top: 139px; width: 215px; left: calc(50% - 105px); }
  .hero-cta .btn { min-width: 225px; }
  .section-shell { padding-inline: 19px; }
  .brand-service-strip { margin-inline: 19px; }
  .collection-main { height: 346px; }
  .collection-evening, .collection-detail { height: 267px; }
  .collection-overlay { padding-inline: 11px; }
  .collection-overlay h3 { font-size: 26px; }
  .store-card { padding-inline: 20px; }
  .store-card h3 { font-size: 36px; }
  .cart-item { grid-template-columns: 56px minmax(0, 1fr) 60px; gap: 8px; }
  .cart-item-image { width: 56px !important; height: 84px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-media { will-change: auto; }
  .hero-image-wrap:hover .hero-media { scale: 1; }
  .collection-card:hover > img, .product-card:hover .product-image > img { transform: none; }
  .btn:hover, .icon-button:hover { transform: none; }
  .editorial-seal > svg, .marquee-track { animation: none; }
}
