:root {
  --ink: #352a31;
  --plum: #3d2b37;
  --plum-soft: #715164;
  --rose: #ba8589;
  --rose-light: #f4e6e2;
  --cream: #fbf8f3;
  --paper: #fffdfa;
  --sand: #e9dcc9;
  --gold: #c59a64;
  --muted: #81777a;
  --line: #e9e1da;
  --shadow-soft: 0 18px 50px rgba(61, 43, 55, .09);
}

html { scroll-behavior: smooth; }
body.storefront { background: var(--cream); color: var(--ink); font-family: 'Manrope', 'Segoe UI', sans-serif; }
body.storefront h1, body.storefront h2, body.storefront h3, .brand-lockup__name { font-family: 'Cormorant Garamond', Georgia, serif; }
body.storefront a, body.storefront button, body.storefront input, body.storefront select { -webkit-tap-highlight-color: transparent; }
body.storefront a { transition: color .2s ease, background-color .2s ease, transform .25s ease, box-shadow .25s ease; }

.announcement-bar { min-height: 34px; display: flex; align-items: center; overflow: hidden; background: var(--plum); color: #fff9f1; font-size: 10px; letter-spacing: .045em; line-height: 1.4; }
.announcement-marquee { width: 100%; overflow: hidden; }
.announcement-track { display: flex; width: max-content; animation: announcement-marquee var(--announcement-duration, 30s) linear infinite; }
.announcement-group { width: max-content; min-width: 100vw; padding: 0 28px; box-sizing: border-box; display: flex; flex: none; align-items: center; justify-content: space-around; gap: 34px; }
.announcement-item { display: inline-flex; flex: none; align-items: center; gap: 10px; white-space: nowrap; }
.announcement-item strong { color: #fff9f1; font-weight: 700; }
.announcement-item__support { color: #f3e8ed; }
.announcement-item a { color: #e8cba3; }
.announcement-item a:hover { color: #fff; }
.announcement-item__separator { color: #d7b98e; font-size: 11px; }
.announcement-bar--single { justify-content: center; padding: 6px 16px; text-align: center; }
.announcement-bar:focus-within .announcement-track, .announcement-marquee:hover .announcement-track { animation-play-state: paused; }
@keyframes announcement-marquee { to { transform: translateX(-50%); } }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 253, 250, .97); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.site-header__main { max-width: 1380px; min-height: 83px; margin: auto; padding: 13px 36px; display: grid; grid-template-columns: minmax(180px, 1fr) minmax(220px, 440px) minmax(180px, 1fr); align-items: center; gap: 28px; }
.brand-lockup { width: max-content; display: flex; flex-direction: column; color: var(--plum); text-decoration: none; line-height: 1; }
.brand-lockup:hover { color: var(--plum-soft); }
.brand-lockup__name { font-size: 29px; font-weight: 700; letter-spacing: .045em; }
.brand-lockup__tagline { margin-top: 6px; font-size: 8px; letter-spacing: .22em; font-weight: 700; color: var(--muted); }
.brand-lockup--header { width: 214px; align-items: center; gap: 2px; }
.brand-lockup__logo { width: 214px; height: 78px; overflow: hidden; display: block; border: 1px solid rgba(100, 67, 70, .1); border-radius: 7px; background: #d9bcbf; box-shadow: 0 4px 12px rgba(61, 43, 55, .08); }
.brand-lockup__logo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; }
.brand-lockup--header .brand-lockup__tagline { margin-top: 2px; color: #76606a; font-size: 7px; letter-spacing: .2em; }
.site-search { min-width: 0; position: relative; height: 42px; display: flex; align-items: center; border: 1px solid #e7dfd8; border-radius: 99px; background: #fff; }
.site-search:focus-within { border-color: var(--rose); box-shadow: 0 0 0 3px rgba(186, 133, 137, .12); }
.site-search__icon { padding-left: 15px; font-size: 23px; line-height: 1; color: var(--plum-soft); }
.site-search input { min-width: 0; flex: 1; height: 100%; padding: 0 10px; border: 0; outline: none; background: transparent; color: var(--ink); font: inherit; font-size: 12px; }
.site-search input::placeholder, .mobile-search input::placeholder { color: #a49a99; }
.site-search button { height: 30px; margin-right: 6px; padding: 0 14px; border: 0; border-radius: 99px; background: var(--plum); color: #fff; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.site-search button:hover { background: var(--plum-soft); }
.search-suggestions { position: absolute; top: calc(100% + 9px); left: 0; right: 0; z-index: 60; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow-soft); }
.search-suggestion { display: flex; justify-content: space-between; gap: 16px; padding: 13px 16px; color: var(--ink); font-size: 12px; }
.search-suggestion + .search-suggestion { border-top: 1px solid var(--line); }
.search-suggestion span:last-child { color: var(--plum-soft); font-weight: 700; }
.search-suggestion:hover { background: var(--cream); }
.header-actions { display: flex; justify-content: flex-end; align-items: center; gap: 18px; }
.header-action { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); font-size: 11px; white-space: nowrap; }
.header-action span:first-child, .bag-button > span:first-child { font-size: 19px; color: var(--plum-soft); }
.header-action:hover { color: var(--rose); }
.bag-button { min-height: 39px; padding: 0 13px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--plum); border-radius: 99px; color: var(--plum); font-size: 11px; font-weight: 700; white-space: nowrap; }
.bag-button > span:first-child { font-size: 17px; }
.bag-button:hover { background: var(--plum); color: white; transform: translateY(-1px); }
.bag-button:hover > span:first-child { color: #f3d9b0; }
.bag-count { min-width: 19px; height: 19px; display: inline-grid; place-items: center; border-radius: 50%; background: var(--rose-light); color: var(--plum); font-size: 9px; }
.category-nav { min-height: 42px; display: flex; justify-content: center; align-items: center; gap: clamp(22px, 4vw, 52px); border-top: 1px solid #f0ebe6; }
.category-nav a { padding: 12px 0 11px; color: #51474c; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.category-nav a:hover { color: var(--rose); }
.mobile-search { display: none; }

.home-hero { position: relative; min-height: 550px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr); align-items: center; background: #f1e2db; isolation: isolate; }
.home-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 78% 35%, rgba(255,255,255,.78), transparent 35%), linear-gradient(104deg, #f8f0e9 0%, #f4e8e1 48%, #ead8d0 100%); }
.home-hero__copy { max-width: 650px; padding: 72px 5vw 76px max(36px, calc((100vw - 1290px) / 2)); animation: hero-rise .7s both; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--plum-soft); font-size: 10px; font-weight: 700; letter-spacing: .23em; text-transform: uppercase; }
.eyebrow::before { width: 27px; height: 1px; content: ''; background: var(--gold); }
.home-hero h1 { max-width: 620px; margin-top: 18px; color: var(--plum); font-size: clamp(48px, 6vw, 78px); font-weight: 600; line-height: .97; letter-spacing: -.025em; }
.home-hero__copy > p { max-width: 490px; margin-top: 21px; color: #65585e; font-size: 14px; line-height: 1.85; }
.hero-cta-row { margin-top: 30px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.button-primary { min-height: 47px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--plum); border-radius: 99px; background: var(--plum); color: white; font-size: 11px; font-weight: 700; letter-spacing: .03em; box-shadow: 0 8px 20px rgba(61, 43, 55, .12); }
.button-primary:hover { transform: translateY(-2px); background: var(--plum-soft); color: white; box-shadow: 0 12px 24px rgba(61, 43, 55, .18); }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--plum); font-size: 11px; font-weight: 700; }
.text-link:hover { gap: 11px; color: var(--rose); }
.home-hero__visual { min-height: 550px; position: relative; display: grid; place-items: center; overflow: hidden; }
.hero-campaign { width: min(88%, 510px); height: 500px; position: relative; overflow: hidden; border: 9px solid rgba(255,253,250,.8); border-radius: 250px 250px 12px 12px; background: #ead9ce; box-shadow: 0 28px 70px rgba(61,43,55,.18); }
.hero-campaign::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(180deg, transparent 0%, rgba(45,31,38,.48) 100%); pointer-events: none; }
.hero-campaign img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transition: transform .8s cubic-bezier(.2,.75,.25,1); }
.hero-campaign:hover img { transform: scale(1.035); }
.hero-campaign__caption { position: absolute; z-index: 1; left: 25px; right: 25px; bottom: 24px; color: white; text-shadow: 0 1px 12px rgba(45,31,38,.2); }
.hero-campaign__caption span { display: block; font-size: 8px; font-weight: 700; letter-spacing: .22em; }
.hero-campaign__caption strong { display: block; margin-top: 5px; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(22px, 2.5vw, 31px); font-weight: 600; }
.hero-sticker { position: absolute; z-index: 3; top: 5%; right: 1%; width: 88px; height: 88px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.85); border-radius: 50%; background: var(--paper); color: var(--plum); font-family: 'Cormorant Garamond', Georgia, serif; font-size: 15px; line-height: 1.05; text-align: center; transform: rotate(8deg); box-shadow: var(--shadow-soft); }

.benefit-strip { max-width: 1240px; margin: -1px auto 0; padding: 22px 32px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; border-bottom: 1px solid var(--line); background: var(--paper); }
.benefit-item { display: flex; justify-content: center; align-items: center; gap: 11px; color: var(--plum); font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.benefit-item span:first-child { color: var(--gold); font-size: 20px; }
.shop-section { max-width: 1320px; margin: auto; padding: 74px 34px; }
.shop-section--paper { max-width: none; background: var(--paper); }
.shop-section__inner { max-width: 1320px; margin: auto; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.section-heading h2 { margin-top: 7px; color: var(--plum); font-size: clamp(35px, 4vw, 48px); font-weight: 600; line-height: 1; }
.section-heading p { max-width: 530px; margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.product-grid { margin-top: 30px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.product-card { min-width: 0; position: relative; overflow: hidden; background: transparent; }
.product-card__visual { position: relative; overflow: hidden; aspect-ratio: .82; border-radius: 4px; background: #f0e8e1; }
.product-card__visual img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .55s cubic-bezier(.2,.75,.25,1); }
.product-card:hover .product-card__visual img { transform: scale(1.055); }
.product-card__badge { position: absolute; top: 13px; left: 13px; padding: 7px 10px; border-radius: 99px; background: rgba(255,253,250,.92); color: var(--plum); font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.product-card__heart { width: 34px; height: 34px; position: absolute; top: 10px; right: 10px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,253,250,.93); color: var(--plum); font-size: 18px; cursor: pointer; transition: transform .2s ease, color .2s ease; }
.product-card__heart:hover { color: var(--rose); transform: scale(1.08); }
.product-card__heart.is-saved, .js-wishlist-form.is-saved .product-card__heart { color: #c74358; }
.js-wishlist-form.is-animating .product-card__heart { animation: heart-pop .58s cubic-bezier(.18,.8,.35,1.2); }
.js-wishlist-form.is-animating .product-card__heart::after { content: '✦'; position: absolute; inset: -8px; color: #c59a64; font-size: 10px; animation: heart-glitter .65s ease-out both; }
.detail-wishlist.is-saved button { border-color: #c74358; color: #c74358; background: #fff7f7; }
.wishlist-toast { position: fixed; z-index: 100; right: 20px; bottom: 20px; max-width: min(90vw,360px); padding: 13px 18px; border: 1px solid #ead9d8; border-radius: 99px; background: #fffdfa; color: var(--plum); box-shadow: var(--shadow-soft); font-size: 12px; opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .2s ease,transform .2s ease; }
.wishlist-toast.is-visible { opacity: 1; transform: translateY(0); }
.product-card__quick { position: absolute; left: 12px; right: 12px; bottom: 12px; transform: translateY(12px); opacity: 0; transition: .25s ease; }
.product-card:hover .product-card__quick, .product-card:focus-within .product-card__quick { transform: translateY(0); opacity: 1; }
.product-card__quick button { width: 100%; min-height: 40px; border: 0; border-radius: 3px; background: rgba(255,253,250,.95); color: var(--plum); font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; backdrop-filter: blur(8px); }
.product-card__quick button:hover { background: var(--plum); color: white; }
.product-card__info { padding: 13px 1px 3px; }
.product-card__category { color: var(--muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.product-card__title { display: block; margin-top: 5px; color: var(--ink); font-family: 'Manrope', sans-serif !important; font-size: 12px; font-weight: 600; }
.product-card__title:hover { color: var(--plum-soft); }
.product-card__price { display: block; margin-top: 7px; color: var(--plum); font-size: 12px; font-weight: 700; }
.product-card__rating { margin-top: 6px; color: var(--gold); font-size: 10px; letter-spacing: .12em; }
.empty-state { padding: 55px 20px; border: 1px solid var(--line); background: var(--paper); text-align: center; }
.empty-state h2 { color: var(--plum); font-size: 35px; }

.story-band { position: relative; overflow: hidden; padding: 74px 24px; background: var(--plum); color: #fffaf5; text-align: center; }
.story-band::before, .story-band::after { content: ''; position: absolute; width: 280px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.story-band::before { left: -100px; top: -170px; box-shadow: 0 0 0 28px rgba(255,255,255,.025), 0 0 0 60px rgba(255,255,255,.02); }
.story-band::after { right: -80px; bottom: -190px; box-shadow: 0 0 0 32px rgba(255,255,255,.025), 0 0 0 68px rgba(255,255,255,.02); }
.story-band .eyebrow { color: #e2c39a; }
.story-band h2 { max-width: 650px; margin: 12px auto 0; font-size: clamp(36px, 4.5vw, 56px); line-height: 1; }
.story-band p { max-width: 580px; margin: 15px auto 0; color: #ded1d3; font-size: 12px; line-height: 1.8; }
.story-band .button-primary { margin-top: 23px; border-color: #e5ca9a; background: #e5ca9a; color: var(--plum); }

.site-footer { margin-top: 65px; background: #30252d; color: #eee4e2; }
.site-footer__main { max-width: 1320px; margin: auto; padding: 57px 34px 45px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.5fr; gap: 38px; }
.site-footer .brand-lockup { color: #fff9f1; }
.site-footer .brand-lockup__tagline { color: #c7b5bb; }
.site-footer__copy { max-width: 250px; margin-top: 15px; color: #bcb0b4; font-size: 11px; line-height: 1.8; }
.site-footer h2 { margin-bottom: 15px; color: #fff9f1; font-family: 'Manrope', sans-serif; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.site-footer__links { display: grid; gap: 11px; }
.site-footer__links a { color: #c8bbbf; font-size: 10px; }
.site-footer__links a:hover { color: #f0d4ac; }
.newsletter-copy { color: #bcb0b4; font-size: 10px; line-height: 1.7; }
.newsletter-form { margin-top: 15px; display: flex; border-bottom: 1px solid #81757b; }
.newsletter-form input { min-width: 0; flex: 1; padding: 11px 3px; border: 0; outline: 0; background: transparent; color: white; font: inherit; font-size: 10px; }
.newsletter-form button { padding: 0 4px 0 12px; border: 0; background: transparent; color: #efce9f; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.site-footer__bottom { max-width: 1320px; margin: auto; padding: 17px 34px; display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid rgba(255,255,255,.12); color: #a79ba0; font-size: 9px; }
.footer-promise { color: #d7c8cb; }
.footer-credit { color: #a79ba0; font-size: 9px; white-space: nowrap; }
.footer-credit a { color: #d7c8cb; text-decoration: none; }
.footer-credit a:hover { color: #f0d4ac; text-decoration: underline; }

.shop-page { max-width: 1320px; margin: auto; padding: 54px 34px 30px; }
.shop-page__intro { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.shop-page__intro h1 { margin-top: 6px; color: var(--plum); font-size: clamp(42px, 5vw, 62px); line-height: .95; }
.shop-page__intro p { max-width: 475px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.shop-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 35px; padding-top: 26px; }
.shop-filters { align-self: start; padding: 19px; border: 1px solid var(--line); background: var(--paper); }
.shop-filters h2 { margin-bottom: 18px; color: var(--plum); font-family: 'Manrope', sans-serif; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.shop-filters label { display: block; margin: 14px 0 6px; color: #62565c; font-size: 10px; font-weight: 700; }
.shop-filters input, .shop-filters select { width: 100%; min-height: 39px; padding: 0 10px; border: 1px solid var(--line); border-radius: 2px; background: white; color: var(--ink); font: inherit; font-size: 10px; }
.shop-filters button { width: 100%; min-height: 40px; margin-top: 18px; border: 0; background: var(--plum); color: white; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.shop-filters button:hover { background: var(--plum-soft); }
.shop-filters__clear { display: block; margin-top: 12px; color: var(--muted); font-size: 10px; text-align: center; }
.shop-results__top { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 10px; color: var(--muted); font-size: 10px; }
.shop-results__top strong { color: var(--ink); }
.shop-results .product-grid { margin-top: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.shop-results .product-card__visual { aspect-ratio: .86; }
.shop-results .product-card__quick { opacity: 1; transform: none; }
.shop-results .product-card__quick button { background: rgba(61,43,55,.91); color: white; }
.shop-results .product-card__quick button:hover { background: var(--plum-soft); }

.product-detail-page { max-width: 1250px; margin: auto; padding: 36px 34px 40px; }
.detail-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 25px; color: var(--muted); font-size: 9px; }
.detail-breadcrumb a:hover { color: var(--plum-soft); }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(310px, .9fr); align-items: start; gap: clamp(35px, 7vw, 90px); }
.detail-gallery { min-width: 0; }
.detail-image { aspect-ratio: .92; display: grid; place-items: center; overflow: hidden; background: #f0e8e1; }
.detail-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.detail-gallery__caption { margin-top: 10px; color: var(--muted); font-size: 9px; text-align: center; }
.detail-purchase { position: sticky; top: 150px; padding: 18px 0 25px; }
.detail-purchase h1 { margin-top: 12px; color: var(--plum); font-size: clamp(42px, 5vw, 59px); line-height: .95; }
.detail-rating { min-height: 25px; margin-top: 14px; display: flex; align-items: center; gap: 9px; color: var(--gold); font-size: 12px; letter-spacing: .08em; }
.detail-rating a { color: var(--muted); font-size: 9px; letter-spacing: 0; text-decoration: underline; text-underline-offset: 3px; }
.detail-rating__number { margin-left: 5px; color: var(--ink); font-size: 10px; letter-spacing: 0; }
.detail-rating__empty { color: var(--muted); font-size: 9px; letter-spacing: 0; }
.detail-price { margin-top: 17px; color: var(--plum); font-size: 19px; font-weight: 700; }
.detail-description { margin-top: 17px; color: #6f6467; font-size: 11px; line-height: 1.9; }
.detail-stock { margin-top: 21px; font-size: 10px; font-weight: 700; }
.detail-stock span { display: inline-grid; width: 19px; height: 19px; margin-right: 5px; place-items: center; border-radius: 50%; background: #e7efe5; color: #486d4b; }
.detail-stock.is-unavailable span { background: #f5e6e3; color: #a34f53; }
.detail-stock.is-unavailable { color: #a34f53; }
.detail-cart-form { margin-top: 15px; display: flex; gap: 10px; }
.detail-cart-form input { width: 62px; min-height: 47px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); text-align: center; font: inherit; font-size: 11px; }
.detail-cart-form .button-primary { flex: 1; cursor: pointer; }
.detail-wishlist { margin-top: 11px; }
.detail-wishlist button { width: 100%; min-height: 43px; border: 1px solid var(--line); background: transparent; color: var(--plum); font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.detail-wishlist button span { margin-right: 5px; color: var(--rose); font-size: 18px; vertical-align: -2px; }
.detail-wishlist button:hover { border-color: var(--plum); background: var(--paper); }
.detail-assurance { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--line); display: grid; gap: 9px; }
.detail-assurance p { color: #6f6467; font-size: 9px; }
.detail-assurance span { margin-right: 7px; color: var(--gold); }
.review-section { margin-top: 58px; padding-top: 35px; border-top: 1px solid var(--line); }
.review-summary { color: var(--ink); font-size: 11px; }
.review-summary span, .review-stars { color: var(--gold); letter-spacing: .13em; }
.review-form { max-width: 600px; margin-top: 24px; display: grid; grid-template-columns: 110px minmax(0,1fr); align-items: center; gap: 10px 14px; }
.review-form label { color: var(--muted); font-size: 10px; font-weight: 700; }
.review-form select, .review-form textarea { padding: 11px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font: inherit; font-size: 10px; }
.review-form textarea { min-height: 95px; resize: vertical; }
.review-form button { grid-column: 2; width: max-content; cursor: pointer; }
.review-hint, .review-empty { margin-top: 19px; color: var(--muted); font-size: 10px; line-height: 1.8; }
.review-hint a { color: var(--plum); text-decoration: underline; }
.review-list { max-width: 800px; margin-top: 24px; border-top: 1px solid var(--line); }
.review-item { padding: 18px 0; border-bottom: 1px solid var(--line); }
.review-item__top { display: flex; justify-content: space-between; gap: 18px; color: var(--ink); font-size: 10px; }
.review-item time { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; }
.review-item p { margin-top: 10px; color: #6f6467; font-size: 10px; line-height: 1.8; }

@keyframes hero-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes heart-pop { 0% { transform: scale(1); } 40% { transform: scale(1.5) rotate(-9deg); color: #c74358; } 70% { transform: scale(.92) rotate(5deg); } 100% { transform: scale(1); color: #c74358; } }
@keyframes heart-glitter { 0% { opacity: 0; transform: scale(.3) rotate(0); } 45% { opacity: 1; transform: scale(1.2) rotate(40deg); } 100% { opacity: 0; transform: scale(1.8) rotate(80deg); } }

@media (max-width: 1050px) {
  .site-header__main { grid-template-columns: 1fr minmax(190px, 1.2fr) 1fr; gap: 16px; padding-inline: 22px; }
  .brand-lockup--header, .brand-lockup__logo { width: 190px; }
  .brand-lockup__logo { height: 70px; }
  .header-actions { gap: 10px; }
  .category-nav { gap: 28px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-results .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .announcement-bar { min-height: 29px; font-size: 8px; }
  .announcement-group { gap: 20px; padding-inline: 18px; }
  .announcement-item { gap: 7px; }
  .site-header { position: relative; }
  .site-header__main { min-height: 67px; grid-template-columns: 1fr auto; gap: 8px; padding: 11px 16px; }
  .brand-lockup--header, .brand-lockup__logo { width: 150px; }
  .brand-lockup__logo { height: 58px; }
  .brand-lockup--header .brand-lockup__tagline { font-size: 6px; letter-spacing: .16em; }
  .site-search, .header-action span:last-child { display: none; }
  .header-actions { gap: 8px; }
  .header-action span:first-child { font-size: 20px; }
  .header-action--wishlist { display: inline-flex; }
  .bag-button { min-height: 35px; gap: 5px; padding: 0 10px; }
  .bag-button > span:first-child { font-size: 15px; }
  .mobile-search { height: 42px; margin: 0 15px 11px; padding: 0 12px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 3px; background: white; color: var(--plum-soft); }
  .mobile-search input { min-width: 0; flex: 1; height: 100%; border: 0; outline: none; background: transparent; color: var(--ink); font: inherit; font-size: 10px; }
  .category-nav { min-height: 40px; justify-content: flex-start; gap: 23px; overflow-x: auto; padding: 0 16px; scrollbar-width: none; }
  .category-nav::-webkit-scrollbar { display: none; }
  .category-nav a { flex: 0 0 auto; padding: 12px 0; font-size: 8px; }
  .home-hero { min-height: auto; grid-template-columns: 1fr; }
  .home-hero__copy { padding: 44px 24px 18px; }
  .home-hero h1 { max-width: 480px; font-size: clamp(46px, 12vw, 66px); }
  .home-hero__copy > p { max-width: 390px; margin-top: 16px; font-size: 12px; }
  .hero-cta-row { margin-top: 22px; }
  .home-hero__visual { min-height: 390px; margin-top: 0; }
  .hero-campaign { width: 88%; max-width: 420px; height: 360px; border-width: 7px; border-radius: 190px 190px 10px 10px; }
  .hero-campaign img { object-position: center; }
  .hero-campaign__caption { left: 18px; right: 18px; bottom: 18px; }
  .hero-campaign__caption strong { font-size: 25px; }
  .hero-sticker { width: 68px; height: 68px; top: 2%; right: 1%; font-size: 13px; }
  .benefit-strip { padding: 17px 18px; grid-template-columns: repeat(2, 1fr); gap: 14px 8px; }
  .benefit-item { justify-content: flex-start; font-size: 8px; }
  .benefit-item span:first-child { font-size: 16px; }
  .shop-section { padding: 52px 18px; }
  .section-heading h2 { font-size: 38px; }
  .section-heading > a { font-size: 9px; white-space: nowrap; }
  .product-grid { margin-top: 23px; gap: 18px 12px; }
  .product-card__visual { aspect-ratio: .78; }
  .product-card__info { padding-top: 10px; }
  .product-card__title { font-size: 10px; }
  .product-card__price { font-size: 11px; }
  .product-card__quick { left: 7px; right: 7px; bottom: 7px; opacity: 1; transform: none; }
  .product-card__quick button { min-height: 34px; font-size: 9px; }
  .product-card__badge { top: 8px; left: 8px; padding: 6px 8px; font-size: 7px; }
  .product-card__heart { width: 30px; height: 30px; top: 7px; right: 7px; }
  .story-band { padding: 56px 20px; }
  .story-band h2 { font-size: 42px; }
  .site-footer { margin-top: 34px; }
  .site-footer__main { padding: 42px 21px 34px; grid-template-columns: 1fr 1fr; gap: 31px 22px; }
  .site-footer__main > div:first-child, .site-footer__main > div:last-child { grid-column: 1 / -1; }
  .site-footer__bottom { padding: 15px 21px; flex-direction: column; gap: 6px; }
  .shop-page { padding: 37px 17px 20px; }
  .shop-page__intro { align-items: flex-start; flex-direction: column; gap: 9px; padding-bottom: 20px; }
  .shop-page__intro h1 { font-size: 47px; }
  .shop-layout { grid-template-columns: 1fr; gap: 19px; padding-top: 17px; }
  .shop-filters { padding: 14px; }
  .shop-filters form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
  .shop-filters h2, .shop-filters button, .shop-filters__clear { grid-column: 1 / -1; }
  .shop-filters label { margin-top: 8px; }
  .shop-results .product-grid { gap: 18px 12px; }
  .shop-results__top { font-size: 9px; }
  .product-detail-page { padding: 25px 17px 30px; }
  .detail-breadcrumb { margin-bottom: 16px; }
  .detail-layout { grid-template-columns: 1fr; gap: 20px; }
  .detail-image { aspect-ratio: 1; }
  .detail-purchase { position: static; padding: 4px 0 15px; }
  .detail-purchase h1 { font-size: 48px; }
  .review-section { margin-top: 30px; padding-top: 26px; }
  .review-form { grid-template-columns: 1fr; }
  .review-form button { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .announcement-bar { overflow: visible; }
  .announcement-marquee, .announcement-track { width: 100%; overflow: visible; animation: none !important; transform: none !important; }
  .announcement-group { width: 100%; min-width: 0; padding: 7px 14px; flex-wrap: wrap; justify-content: center; gap: 8px 18px; }
  .announcement-group--clone { display: none; }
  .announcement-item { white-space: normal; text-align: center; }
}

/* Product galleries, promotional pricing, and the signed-in account area. */
.detail-thumbnails { display:flex; gap:10px; overflow-x:auto; padding:12px 2px 4px; }
.detail-thumbnail { flex:0 0 76px; aspect-ratio:1; overflow:hidden; border:1px solid #e7dfe2; border-radius:12px; padding:3px; background:white; cursor:pointer; }
.detail-thumbnail img { display:block; width:100%; height:100%; border-radius:8px; object-fit:cover; }
.detail-thumbnail.is-active { border:2px solid #775467; box-shadow:0 0 0 2px #77546722; }
.product-card__price { display:flex; align-items:baseline; gap:9px; }
.product-card__price del, .detail-price del { color:#94878d; font-size:.86em; font-weight:500; }
.product-card__price strong, .detail-price strong { color:#9b3650; font-weight:700; }
.sale-badge { display:inline-flex; align-items:center; border-radius:999px; padding:5px 10px; background:#fbe9eb; color:#9b3650; font:700 10px/1 Manrope,sans-serif; letter-spacing:.09em; }
.account-page { width:min(1120px,calc(100% - 40px)); margin:0 auto; padding:48px 0 72px; }
.account-welcome { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:34px 38px; border:1px solid #eadfe2; border-radius:22px; background:linear-gradient(118deg,#fff 5%,#fbf3f4 100%); }
.account-welcome h1 { margin:7px 0 5px; color:#3d2b37; font:600 clamp(34px,5vw,52px)/1.05 "Cormorant Garamond",Georgia,serif; }
.account-welcome p { margin:0; color:#786b72; font-size:14px; }
.account-signout { display:inline-flex; align-items:center; gap:9px; padding:11px 16px; border:1px solid #d8cbd0; border-radius:999px; background:#fff; color:#553e4b; font-weight:650; cursor:pointer; }
.account-signout:hover { border-color:#775467; background:#775467; color:#fff; }
.account-stat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.account-stat-grid article { display:grid; gap:6px; padding:21px 24px; border:1px solid #eee5e8; border-radius:17px; background:#fff; }
.account-stat-grid article>span { color:#80747a; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.account-stat-grid strong { color:#3d2b37; font:600 32px "Cormorant Garamond",Georgia,serif; }
.account-stat-grid a,.account-panel-heading>a { color:#775467; font-size:13px; font-weight:700; text-decoration:none; }
.account-content-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr); align-items:start; gap:20px; }
.account-panel { padding:25px; border:1px solid #eee5e8; border-radius:18px; background:white; }
.account-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.account-panel h2 { margin:4px 0 0; color:#3d2b37; font:600 28px "Cormorant Garamond",Georgia,serif; }
.account-order-list { border-top:1px solid #f0e9eb; }
.account-order-row { display:grid; grid-template-columns:38px minmax(0,1fr) auto 18px; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid #f0e9eb; color:#3d2b37; text-decoration:none; }
.account-order-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#f8eff1; color:#775467; }
.account-order-row strong,.account-order-row small { display:block; }
.account-order-row strong { font-size:14px; }
.account-order-row small { margin-top:4px; color:#857980; font-size:11px; }
.account-order-row>b { font-size:13px; white-space:nowrap; }
.account-order-arrow { color:#a19198; }
.account-empty { display:grid; justify-items:center; gap:12px; padding:34px 12px 16px; text-align:center; color:#786b72; }
.account-empty>span { color:#a98292; font-size:34px; }
.account-empty p { margin:0 0 5px; }
.account-empty .button-primary { padding:12px 18px; border-radius:999px; text-decoration:none; }
.account-shortcuts>h2 { margin-bottom:14px; }
.account-shortcuts>a { display:grid; grid-template-columns:34px minmax(0,1fr) 16px; align-items:center; gap:11px; padding:13px 0; border-top:1px solid #f0e9eb; color:#3d2b37; text-decoration:none; }
.account-shortcuts>a>span:first-child { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:#f8eff1; color:#775467; }
.account-shortcuts>a strong,.account-shortcuts>a small { display:block; }
.account-shortcuts>a strong { font-size:13px; }
.account-shortcuts>a small { margin-top:3px; color:#857980; font-size:10px; }
.account-shortcuts>a>b { color:#a19198; }
@media(max-width:760px) { .account-page { width:min(100% - 28px,600px); padding:27px 0 44px; } .account-welcome { align-items:flex-start; flex-direction:column; padding:25px 22px; } .account-signout { align-self:flex-end; margin-top:-8px; } .account-stat-grid { gap:10px; } .account-stat-grid article { padding:17px; } .account-content-grid { grid-template-columns:1fr; gap:13px; } .account-panel { padding:19px; } }
/* Persistent, low-friction customer support chat */
.support-chat{position:fixed;z-index:80;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));font-family:Manrope,system-ui,sans-serif}.support-chat__launcher{display:flex;align-items:center;gap:.6rem;border:0;border-radius:999px;background:#3d2b37;color:#fff;padding:.85rem 1.15rem;box-shadow:0 10px 34px #3d2b3740;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.support-chat__launcher:hover{transform:translateY(-2px);box-shadow:0 14px 38px #3d2b3750}.support-chat__launcher>span:first-child{color:#e8cfae}.support-chat__dot{width:.5rem;height:.5rem;border-radius:50%;background:#a6d6ad}.support-chat__panel{position:absolute;right:0;bottom:4rem;width:min(23rem,calc(100vw - 2rem));height:min(34rem,calc(100dvh - 7rem));border:1px solid #e8e0dc;border-radius:1.2rem;background:#fff;box-shadow:0 20px 70px #24151f35;overflow:hidden;display:flex;flex-direction:column}.support-chat__panel[hidden]{display:none}.support-chat__panel>header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;background:#3d2b37;color:white}.support-chat__panel>header div{display:grid;gap:.25rem}.support-chat__panel>header strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.35rem}.support-chat__panel>header span{font-size:.7rem;color:#eadfe4}.support-chat__close{border:0;background:transparent;color:white;font-size:1.65rem;cursor:pointer}.support-chat__messages{display:flex;flex:1;flex-direction:column;gap:.65rem;padding:.9rem;overflow:auto;background:linear-gradient(145deg,#fdfaf8,#faf5f4)}.support-chat__welcome{max-width:90%;margin:.3rem 0;color:#675b61;font-size:.8rem}.support-chat__message{max-width:88%;padding:.65rem .8rem;border:1px solid #eee5e3;border-radius:1rem;background:#fff;box-shadow:0 2px 8px #3d2b3708}.support-chat__message.is-customer{align-self:flex-end;border-color:#ead4dc;background:#f8edf1}.support-chat__message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.82rem;line-height:1.5}.support-chat__message time{display:block;margin-top:.35rem;color:#8a7d83;font-size:.62rem}.support-chat__form{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.75rem;border-top:1px solid #eee7e4;background:white}.support-chat__form textarea{resize:none;border:1px solid #e6deda;border-radius:.75rem;padding:.65rem;font:inherit;font-size:.8rem;outline:none}.support-chat__form textarea:focus{border-color:#9a788b;box-shadow:0 0 0 3px #77546718}.support-chat__form button{align-self:end;border:0;border-radius:.7rem;background:#775467;color:white;padding:.67rem .8rem;font-size:.75rem;font-weight:700;cursor:pointer}.support-chat__form button:disabled{opacity:.55}.support-chat__error{grid-column:1/-1;margin:0;color:#a32636;font-size:.72rem}
@media(prefers-reduced-motion:reduce){.support-chat__launcher{transition:none}}
.support-chat__history{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid #f0e8e4;background:#fff}.support-chat__history select{min-width:0;flex:1;border:1px solid #e6deda;border-radius:.6rem;background:#fff;padding:.5rem;color:#51464b;font:inherit;font-size:.7rem}.support-chat__new{border:1px solid #d9c8cf;border-radius:.6rem;background:#fff;padding:.48rem .6rem;color:#65495a;font-size:.68rem;font-weight:700;white-space:nowrap;cursor:pointer}.support-chat__new[hidden]{display:none}.support-chat__form.is-closed textarea{background:#f5f2f0;color:#827a7c}

.support-chat__launcher{position:relative}.support-chat__unread:not([hidden]){position:absolute;right:-.2rem;top:-.35rem;min-width:1.2rem;height:1.2rem;padding:0 .25rem;display:grid;place-items:center;border-radius:999px;background:#b4233a;color:#fff;font-size:.62rem;font-weight:800;line-height:1;box-shadow:0 0 0 2px #fff}
.social-float{position:fixed;z-index:65;left:max(1rem,env(safe-area-inset-left));top:50%;transform:translateY(-50%);font-family:Manrope,system-ui,sans-serif}.social-float__launcher{min-height:46px;padding:.7rem .95rem;display:flex;align-items:center;gap:.55rem;border:1px solid #eadfda;border-radius:999px;background:#fffdfb;color:#4b3544;box-shadow:0 8px 26px #3d2b371c;font:700 .78rem Manrope,system-ui,sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s}.social-float__launcher:hover,.social-float__launcher[aria-expanded=true]{transform:translateX(3px);box-shadow:0 12px 30px #3d2b3728}.social-float__launcher span:first-child{color:#a78360;font-size:1.05rem}.social-float__panel{position:absolute;left:calc(100% + .7rem);top:50%;width:min(15rem,calc(100vw - 6rem));padding:.9rem;display:grid;gap:.55rem;transform:translateY(-50%);border:1px solid #eee4df;border-radius:1rem;background:#fffdfb;box-shadow:0 16px 44px #24151f24}.social-float__panel[hidden]{display:none}.social-float__panel>strong{color:#493644;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.12rem}.social-float__panel>span{margin-top:-.35rem;color:#84767b;font-size:.68rem}.social-float__panel>a{padding:.55rem .65rem;display:flex;align-items:center;justify-content:space-between;border-radius:.65rem;background:#faf5f3;color:#5a4352;font-size:.74rem;font-weight:700;text-decoration:none;transition:background .16s,color .16s}.social-float__panel>a:hover{background:#4b3544;color:#fff}.social-float__panel>a span{color:#a78360}.social-float__panel>a:hover span{color:#ead4b7}
@media(max-width:700px){.social-float{left:max(.65rem,env(safe-area-inset-left));top:auto;bottom:max(.75rem,env(safe-area-inset-bottom));transform:none}.social-float__launcher{min-height:42px;padding:.62rem .78rem;font-size:.7rem}.social-float__panel{left:0;top:auto;bottom:calc(100% + .6rem);width:min(14rem,calc(100vw - 5.5rem));transform:none}.social-float__launcher:hover,.social-float__launcher[aria-expanded=true]{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.social-float__launcher,.social-float__panel>a{transition:none}}

/* A warm, clear contact page with a focused message form. */
.contact-page { width: min(1220px, calc(100% - 56px)); margin: 0 auto; padding: 58px 0 76px; }
.contact-shell { position: relative; isolation: isolate; overflow: hidden; padding: clamp(30px, 5.2vw, 68px); border: 1px solid #eaded9; border-radius: 28px; background: radial-gradient(ellipse at 9% 8%, rgba(238, 218, 216, .72), transparent 37%), linear-gradient(135deg, #fbf5f0 0%, #fffdfa 54%, #f6eeeb 100%); box-shadow: 0 24px 65px rgba(61, 43, 55, .07); }
.contact-shell::before { position: absolute; z-index: -1; top: -125px; left: -120px; width: 310px; aspect-ratio: 1; border: 1px solid rgba(119, 84, 103, .1); border-radius: 50%; box-shadow: 0 0 0 28px rgba(119, 84, 103, .025), 0 0 0 58px rgba(119, 84, 103, .02); content: ''; }
.contact-shell__ornament { position: absolute; z-index: -1; right: 4.5%; bottom: 3%; color: rgba(197, 154, 100, .48); font-size: clamp(70px, 11vw, 150px); line-height: 1; }
.contact-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: center; gap: clamp(36px, 6vw, 82px); }
.contact-intro { max-width: 460px; }
.contact-intro h1 { margin: 18px 0 0; color: var(--plum); font-size: clamp(48px, 5.6vw, 72px); font-weight: 600; line-height: .98; letter-spacing: -.025em; }
.contact-intro > p:not(.contact-order-note) { max-width: 410px; margin: 18px 0 0; color: #6f6267; font-size: 14px; line-height: 1.9; }
.contact-promise { display: inline-flex; align-items: center; gap: 9px; margin-top: 22px; color: #715164; font-size: 11px; font-weight: 700; letter-spacing: .025em; }
.contact-promise span { color: var(--gold); font-size: 16px; }
.contact-details { margin-top: 31px; padding: 19px 21px; border: 1px solid rgba(232, 220, 215, .9); border-radius: 17px; background: rgba(255, 253, 250, .78); }
.contact-details__eyebrow { margin: 0 0 7px; color: #95858b; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.contact-detail { display: grid; grid-template-columns: 36px minmax(0, 1fr) 15px; align-items: center; gap: 11px; padding: 11px 0; color: var(--ink); text-decoration: none; }
.contact-detail + .contact-detail { border-top: 1px solid #f0e9e5; }
.contact-detail__icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #f7edeb; color: var(--plum-soft); font-size: 16px; }
.contact-detail > span:nth-child(2) { min-width: 0; }
.contact-detail small, .contact-detail strong { display: block; }
.contact-detail small { margin-bottom: 3px; color: #93858b; font-size: 9px; }
.contact-detail strong { overflow-wrap: anywhere; color: var(--plum); font-size: 11px; font-weight: 700; }
a.contact-detail:hover strong { color: #a45e72; }
.contact-detail__arrow { color: #ae9ba1; font-size: 13px; }
.contact-detail--static { cursor: default; }
.contact-order-note { max-width: 390px; display: flex; align-items: flex-start; gap: 9px; margin: 18px 0 0; color: #82757a; font-size: 10px; line-height: 1.7; }
.contact-order-note span { color: var(--rose); font-size: 15px; line-height: 1.2; }
.contact-form-card { padding: clamp(25px, 3.4vw, 39px); border: 1px solid rgba(231, 220, 216, .95); border-radius: 21px; background: rgba(255, 255, 255, .94); box-shadow: 0 17px 45px rgba(61, 43, 55, .08); }
.contact-form-heading > span { color: #a17a7f; font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.contact-form-heading h2 { margin: 7px 0 0; color: var(--plum); font-size: clamp(31px, 3.2vw, 41px); font-weight: 600; line-height: 1.05; }
.contact-form-heading p { margin: 8px 0 0; color: #83767b; font-size: 11px; line-height: 1.7; }
.contact-error { margin: 18px 0 0; padding: 11px 13px; border: 1px solid #f0d3d3; border-radius: 10px; background: #fff4f3; color: #9e3f48; font-size: 11px; line-height: 1.6; }
.contact-form { display: grid; gap: 16px; margin-top: 24px; }
.contact-form label { display: grid; gap: 7px; color: #51464b; font-size: 10px; font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; min-width: 0; border: 1px solid #e8dfdb; border-radius: 10px; background: #fffdfa; color: var(--ink); font: inherit; font-size: 11px; outline: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.contact-form input { min-height: 45px; padding: 0 13px; }
.contact-form textarea { min-height: 128px; padding: 12px 13px; resize: vertical; line-height: 1.7; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #b0a5a5; font-weight: 400; }
.contact-form input:focus, .contact-form textarea:focus { border-color: #b68c9c; background: white; box-shadow: 0 0 0 3px rgba(119, 84, 103, .1); }
.contact-form-hint { justify-self: end; margin-top: -3px; color: #a09498; font-size: 9px; font-weight: 400; }
.contact-submit { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid var(--plum); border-radius: 999px; background: var(--plum); color: white; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; box-shadow: 0 8px 20px rgba(61, 43, 55, .12); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.contact-submit span { color: #e8cba3; font-size: 15px; }
.contact-submit:hover { transform: translateY(-1px); background: var(--plum-soft); box-shadow: 0 12px 24px rgba(61, 43, 55, .16); }
.contact-privacy { margin: -5px 0 0; color: #9b9093; font-size: 9px; text-align: center; }
@media (max-width: 860px) { .contact-page { width: min(100% - 36px, 680px); padding: 37px 0 54px; } .contact-grid { grid-template-columns: 1fr; gap: 28px; } .contact-intro { max-width: 590px; } .contact-intro h1 { max-width: 520px; font-size: clamp(48px, 10vw, 64px); } .contact-details { max-width: 550px; } .contact-form-card { padding: 27px; } }
@media (max-width: 520px) { .contact-page { width: calc(100% - 24px); padding: 24px 0 38px; } .contact-shell { padding: 27px 17px 19px; border-radius: 20px; } .contact-grid { gap: 22px; } .contact-intro h1 { margin-top: 14px; font-size: 48px; } .contact-intro > p:not(.contact-order-note) { margin-top: 13px; font-size: 12px; line-height: 1.8; } .contact-promise { margin-top: 16px; font-size: 10px; } .contact-details { margin-top: 21px; padding: 15px; } .contact-form-card { padding: 22px 17px; border-radius: 16px; } .contact-form { gap: 13px; margin-top: 19px; } .contact-submit { min-height: 46px; } .contact-shell__ornament { right: 1%; bottom: 1%; font-size: 67px; } }
