:root {
  --ink: #11121a;
  --night: #090a10;
  --night-soft: #11131d;
  --paper: #f3f1eb;
  --paper-deep: #e9e5dc;
  --white: #fbfaf7;
  --muted: #767783;
  --lavender: #a4a1ce;
  --lavender-bright: #c6c1f3;
  --line: rgba(23, 24, 32, .16);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", "Manrope", Arial, sans-serif;
  --display: "Manrope", "DM Sans", Arial, sans-serif;
  --ease: cubic-bezier(.2,.75,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 14px; -webkit-font-smoothing: antialiased; }
body.lock-scroll { overflow: hidden; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
::selection { color: var(--night); background: var(--lavender-bright); }
:focus-visible { outline: 2px solid #817cbe; outline-offset: 4px; }
.skip-link, .visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { z-index: 9999; clip: auto; width: auto; height: auto; margin: 0; padding: 12px 18px; color: white; background: var(--night); }
[hidden] { display: none !important; }

.prototype-strip { min-height: 30px; display: flex; justify-content: center; align-items: center; gap: 12px; padding: 7px 20px; color: #dcd9e6; background: #11121a; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.prototype-strip .strip-star { color: var(--lavender-bright); font-size: 13px; }
.strip-divider { width: 1px; height: 11px; background: rgba(255,255,255,.24); }
.strip-beta { color: #a8a5bf; }
.prototype-strip a { margin-left: 9px; color: #fff; font-weight: 500; letter-spacing: .02em; border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 2px; }
.prototype-strip a span { margin-left: 5px; }

.site-header { position: sticky; top: 0; z-index: 40; background: rgba(243,241,235,.95); border-bottom: 1px solid rgba(17,18,26,.10); backdrop-filter: blur(16px); }
.header-main { width: min(100% - 76px, 1440px); min-height: 76px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; position: relative; }
.brand-mark { display: grid; place-items: center; width: 41px; height: 47px; color: var(--ink); }
.brand-mark svg { display: block; width: 100%; height: 100%; }
.brand-wordmark { display: flex; flex-direction: column; font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: -.095em; line-height: .92; }
.brand-wordmark span:last-child { letter-spacing: .035em; font-size: 12px; margin-top: 4px; }
.brand-est { align-self: flex-start; margin: 1px 0 0 1px; font-size: 7px; letter-spacing: .12em; color: #777783; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.8vw, 42px); margin-left: auto; }
.main-nav a { position: relative; padding: 10px 0; font-size: 11px; font-weight: 600; transition: color .2s ease; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 3px; height: 1px; background: currentColor; transition: right .25s var(--ease); }
.main-nav a:hover::after, .main-nav a:focus-visible::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 4px; margin-left: 14px; }
.icon-button { display: inline-grid; place-items: center; width: 39px; height: 39px; padding: 0; border: 1px solid transparent; border-radius: 50%; color: var(--ink); background: transparent; cursor: pointer; position: relative; transition: background .2s, border-color .2s, transform .2s; }
.icon-button:hover { background: rgba(17,18,26,.055); border-color: rgba(17,18,26,.08); }
.icon-button:active { transform: scale(.95); }
.icon-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.action-count { position: absolute; top: -1px; right: -1px; display: grid; min-width: 16px; height: 16px; place-items: center; padding: 0 4px; color: var(--white); background: var(--ink); border: 2px solid var(--paper); border-radius: 20px; font-size: 8px; font-weight: 700; }
.mobile-menu-trigger { display: none; }
.search-row { width: min(100% - 76px, 1440px); height: 55px; margin: 0 auto; display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--line); }
.search-row svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.search-row input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 13px; }
.search-row input::placeholder { color: #85848d; }
.text-button { border: 0; padding: 6px; background: transparent; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; font-size: 11px; }
.mobile-nav-panel { display: none; }

.hero { min-height: min(760px, calc(100svh - 105px)); min-height: clamp(620px, 44vw, 760px); position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(460px, .91fr) minmax(460px, 1.09fr); align-items: stretch; isolation: isolate; color: var(--white); background: var(--night); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 16% 36%, rgba(94,91,140,.2), transparent 36%), radial-gradient(ellipse at 77% 17%, rgba(102,96,147,.18), transparent 32%), linear-gradient(113deg, #0b0c13 0%, #0d0e16 45%, #11131d 100%); }
.hero-copy { position: relative; z-index: 3; align-self: center; padding: 70px 3vw 92px max(7.4vw, calc((100vw - 1440px)/2)); max-width: 800px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 25px; color: #c9c5dc; font-size: 9px; font-weight: 700; letter-spacing: .18em; line-height: 1.5; }
.eyebrow-line { display: inline-block; width: 24px; height: 1px; background: currentColor; }
.hero h1 { margin: 0; max-width: 600px; font-family: var(--display); font-size: clamp(58px, 6.6vw, 106px); font-weight: 600; line-height: .99; letter-spacing: -.085em; }
.hero h1 em, h2 em, .category-content em { font-family: var(--serif); font-weight: 400; letter-spacing: -.055em; }
.hero h1 em { color: var(--lavender-bright); }
.hero-description { max-width: 435px; margin: 27px 0 0; color: #b8b7c1; font-size: 13px; line-height: 1.9; }
.hero-cta-row { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 30px; }
.button { min-height: 47px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; border: 1px solid transparent; padding: 0 19px; font-size: 11px; font-weight: 700; letter-spacing: .015em; cursor: pointer; transition: transform .25s var(--ease), background .2s, color .2s, border-color .2s; }
.button span { font-size: 15px; line-height: 1; transition: transform .2s; }
.button:hover { transform: translateY(-2px); }
.button:hover span { transform: translate(2px,-2px); }
.button-light { color: var(--night); background: var(--white); }
.button-light:hover { background: var(--lavender-bright); }
.button-dark { color: var(--white); background: var(--night); }
.button-dark:hover { background: #292a3b; }
.button-outline-light { color: white; border-color: rgba(255,255,255,.45); background: transparent; }
.button-outline-light:hover { color: var(--night); background: white; }
.button-full { width: 100%; }
.hero-secondary { display: inline-flex; align-items: center; gap: 9px; color: #e5e2ec; font-size: 11px; }
.hero-secondary span { color: var(--lavender-bright); font-size: 17px; transition: transform .2s; }
.hero-secondary:hover span { transform: translateX(4px); }
.hero-footnote { display: flex; align-items: center; gap: 10px; margin-top: 62px; color: #858593; font-size: 8px; letter-spacing: .17em; font-weight: 700; }
.tiny-moon { color: var(--lavender-bright); font-size: 16px; }
.footnote-rule { display: inline-block; width: 33px; height: 1px; background: #484957; }
.hero-art-wrap { position: relative; min-height: 600px; overflow: hidden; margin: 24px 30px 43px 0; }
.hero-art-wrap::before { content: ""; position: absolute; inset: 7% 6% 8% 4%; border: 1px solid rgba(207,203,236,.25); border-radius: 48% 48% 0 0; z-index: 0; }
.hero-art-halo { position: absolute; width: 75%; aspect-ratio: 1; border-radius: 50%; left: 13%; top: 15%; background: radial-gradient(circle, rgba(126,123,180,.26) 0%, rgba(77,77,115,.13) 40%, transparent 71%); filter: blur(8px); }
.hero-photo { position: absolute; inset: 11% 7% 9% 9%; overflow: hidden; clip-path: polygon(12% 0, 88% 0, 100% 12%, 95% 100%, 0 100%, 0 14%); background: #292b35; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 34% 45%; filter: saturate(.7) contrast(1.04) brightness(.78); transform: scale(1.04); transition: transform 1.2s var(--ease); }
.hero:hover .hero-photo img { transform: scale(1.075); }
.hero-photo-gradient { position: absolute; inset: 11% 7% 9% 9%; pointer-events: none; background: linear-gradient(90deg, rgba(11,12,19,.28), transparent 28%, transparent 66%, rgba(9,10,16,.38)), linear-gradient(0deg, rgba(9,10,16,.8), transparent 29%, transparent 73%, rgba(9,10,16,.18)); clip-path: polygon(12% 0, 88% 0, 100% 12%, 95% 100%, 0 100%, 0 14%); }
.hero-stamp { position: absolute; right: 2%; top: 15%; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 106px; height: 106px; border: 1px solid rgba(216,213,239,.72); border-radius: 50%; color: #edebf8; font-size: 9px; font-weight: 700; letter-spacing: .16em; line-height: 1.5; background: rgba(9,10,16,.52); transform: rotate(11deg); }
.hero-stamp b { color: var(--lavender-bright); font-size: 20px; font-weight: 400; }
.hero-image-caption { position: absolute; left: 14%; right: 10%; bottom: 12%; display: flex; justify-content: space-between; color: #f0ecf8; font-size: 8px; letter-spacing: .16em; font-weight: 700; }
.vertical-note { position: absolute; right: 0; top: 49%; writing-mode: vertical-rl; transform: rotate(180deg); color: #88889b; font-size: 8px; letter-spacing: .18em; }
.hero-orbit { position: absolute; z-index: 0; border: 1px solid rgba(182,179,218,.15); border-radius: 50%; pointer-events: none; }
.orbit-one { width: 500px; height: 500px; left: -250px; top: -270px; }
.orbit-two { width: 700px; height: 700px; left: -350px; top: -370px; }
.hero-stars { position: absolute; inset: 0; pointer-events: none; color: rgba(203,198,235,.7); font-family: var(--serif); }
.hero-stars i { position: absolute; font-style: normal; }
.hero-stars i:nth-child(1) { top: 16%; left: 47%; font-size: 22px; }
.hero-stars i:nth-child(2) { top: 33%; left: 53%; font-size: 26px; opacity: .5; }
.hero-stars i:nth-child(3) { top: 73%; left: 5%; font-size: 13px; }
.hero-stars i:nth-child(4) { top: 84%; left: 55%; font-size: 15px; }
.hero-stars i:nth-child(5) { top: 12%; left: 74%; font-size: 12px; }
.hero-stars i:nth-child(6) { top: 61%; left: 92%; font-size: 17px; }
.hero-stars i:nth-child(7) { top: 45%; left: 42%; font-size: 12px; }
.hero-bottom-note { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; height: 42px; display: flex; gap: 14px; align-items: center; justify-content: center; color: #afadbc; border-top: 1px solid rgba(255,255,255,.12); background: rgba(9,10,16,.35); font-size: 8px; letter-spacing: .21em; }
.hero-bottom-note span { color: var(--lavender-bright); font-size: 12px; }

.ticker { overflow: hidden; padding: 17px 0 15px; color: #252633; background: var(--lavender-bright); border-bottom: 1px solid rgba(17,18,26,.09); }
.ticker-track { width: max-content; display: flex; align-items: center; gap: 35px; animation: tickerMove 35s linear infinite; font-size: 9px; font-weight: 800; letter-spacing: .19em; }
.ticker-track b { font-size: 16px; font-weight: 400; }
@keyframes tickerMove { to { transform: translateX(-50%); } }
.section { padding: 114px max(38px, calc((100% - 1320px)/2)); }
.collection-section { padding-bottom: 102px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 40px; }
.eyebrow-dark { margin-bottom: 15px; color: #737381; }
h2 { margin: 0; font-family: var(--display); font-size: clamp(35px, 4vw, 58px); font-weight: 600; line-height: 1.04; letter-spacing: -.075em; }
h2 em { color: #77739e; }
.section-intro { max-width: 360px; margin: 0 0 4px; color: #676875; font-size: 12px; line-height: 1.9; }
.category-grid { display: grid; grid-template-columns: 1.18fr .92fr .92fr; gap: 14px; }
.category-card { min-height: 330px; position: relative; display: block; overflow: hidden; isolation: isolate; color: white; background: #252630; }
.category-card-large { min-height: 400px; }
.category-card img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .8s var(--ease), filter .5s; filter: saturate(.66); }
.category-card-large img { object-position: 33% center; }
.category-card-orbit img { object-position: 50% 18%; }
.category-card-blue img { object-position: 50% 22%; }
.category-card:hover img { transform: scale(1.05); filter: saturate(.86); }
.category-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8,9,16,.26), transparent 40%, rgba(8,9,16,.84)); }
.category-card-orbit .category-shade { background: linear-gradient(180deg, rgba(10,18,49,.1), rgba(8,10,24,.2) 28%, rgba(8,10,24,.86)); }
.category-index { position: absolute; top: 20px; left: 20px; color: rgba(255,255,255,.82); font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.category-content { position: absolute; left: 25px; right: 24px; bottom: 23px; display: flex; flex-direction: column; gap: 23px; }
.category-content strong { font-family: var(--display); font-size: clamp(25px, 2.7vw, 40px); font-weight: 600; letter-spacing: -.065em; line-height: .97; }
.category-content em { color: #d6d3f5; }
.category-content > span { display: flex; align-items: center; justify-content: space-between; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.46); font-size: 10px; }
.category-content b { font-size: 17px; font-weight: 400; transition: transform .2s; }
.category-card:hover .category-content b { transform: translate(3px,-3px); }

.product-section { padding-top: 30px; background: #eae7df; }
.product-heading { margin-bottom: 32px; }
.underlined-link { display: inline-flex; align-items: center; gap: 20px; padding: 0 0 7px; border-bottom: 1px solid #9998a1; font-size: 11px; font-weight: 700; white-space: nowrap; }
.underlined-link span { font-size: 16px; }
.product-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 0; border-top: 1px solid rgba(17,18,26,.14); border-bottom: 1px solid rgba(17,18,26,.14); margin-bottom: 20px; }
.filter-tabs { display: flex; align-items: center; gap: 22px; }
.filter-tab { display: inline-flex; align-items: center; gap: 7px; border: 0; border-bottom: 1px solid transparent; padding: 5px 0; color: #777783; background: transparent; cursor: pointer; font-size: 11px; transition: color .2s, border-color .2s; }
.filter-tab.is-active, .filter-tab:hover { color: var(--ink); border-color: var(--ink); }
.filter-tab span { color: #8b8a95; font-size: 8px; }
.demo-caption { display: flex; align-items: center; gap: 7px; margin: 0; color: #898895; font-size: 8px; letter-spacing: .14em; font-weight: 600; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #9c8cbd; box-shadow: 0 0 0 3px rgba(156,140,189,.14); }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 34px 14px; }
.product-card { min-width: 0; position: relative; }
.product-visual { position: relative; overflow: hidden; aspect-ratio: .82; display: grid; place-items: center; background: #d8d6d3; isolation: isolate; }
.product-visual::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg, rgba(255,255,255,.05), transparent 44%, rgba(17,18,26,.07)); }
.product-visual.tone-ash { background: linear-gradient(145deg, #d2d0d5, #e7e4df); }
.product-visual.tone-violet { background: linear-gradient(145deg, #c9c7df, #e6e3e8); }
.product-visual.tone-night { background: linear-gradient(145deg, #292b39, #65657a); }
.product-visual.tone-mist { background: linear-gradient(145deg, #d8dbdc, #edebe7); }
.product-visual.tone-moss { background: linear-gradient(145deg, #c6c9bf, #e4e3d9); }
.product-visual.tone-dusk { background: linear-gradient(145deg, #b9b7ca, #dad8df); }
.product-photo { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: multiply; filter: saturate(.65) contrast(.95); transition: transform .7s var(--ease), opacity .35s; }
.product-card:hover .product-photo { transform: scale(1.045); }
.product-art { position: absolute; inset: 0; z-index: 0; display: grid; place-items: center; color: rgba(24,25,36,.88); }
.product-art svg { width: 76%; max-height: 72%; filter: drop-shadow(0 18px 15px rgba(10,10,17,.12)); }
.tone-night .product-art { color: #11121a; }
.tone-mist .product-art, .tone-violet .product-art { color: #292a39; }
.product-tag { position: absolute; z-index: 4; top: 13px; left: 13px; padding: 6px 8px; color: var(--ink); background: rgba(246,244,238,.92); font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.product-favorite { position: absolute; z-index: 5; top: 10px; right: 10px; width: 34px; height: 34px; border: 1px solid rgba(17,18,26,.14); border-radius: 50%; display: grid; place-items: center; color: #191a24; background: rgba(248,247,243,.86); cursor: pointer; transition: background .2s, transform .2s; }
.product-favorite:hover { transform: scale(1.06); }
.product-favorite svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.product-favorite.is-favorite { color: #fff; background: #272333; }
.product-favorite.is-favorite svg { fill: #b6addb; stroke: #b6addb; }
.product-quick { position: absolute; z-index: 5; left: 12px; right: 12px; bottom: 12px; display: flex; align-items: center; justify-content: space-between; min-height: 41px; padding: 0 13px; border: 0; color: var(--ink); background: rgba(248,247,243,.96); cursor: pointer; font-size: 10px; font-weight: 700; transform: translateY(12px); opacity: 0; transition: opacity .25s, transform .25s var(--ease), background .2s; }
.product-card:hover .product-quick, .product-quick:focus-visible { transform: translateY(0); opacity: 1; }
.product-quick span { font-size: 16px; }
.product-info { padding: 15px 1px 0; }
.product-name-row { display: flex; justify-content: space-between; align-items: start; gap: 10px; }
.product-name { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: -.02em; }
.product-code { flex: 0 0 auto; color: #9997a1; font-size: 8px; letter-spacing: .06em; }
.product-description { margin: 6px 0 11px; color: #787783; font-size: 10px; }
.product-price-row { display: flex; align-items: center; gap: 9px; }
.product-price { font-size: 11px; font-weight: 700; }
.product-old-price { color: #92909a; text-decoration: line-through; font-size: 10px; }
.product-discount { margin-left: auto; color: #6d678e; font-size: 8px; font-weight: 700; }
.products-bottom { display: flex; justify-content: center; align-items: center; gap: 24px; padding: 53px 0 12px; }
.hand-star { color: #8681b0; font-size: 35px; }
.products-bottom p { margin: 0; color: #696976; font-size: 12px; line-height: 1.7; }
.products-bottom em { color: #20212a; font-family: var(--serif); font-size: 14px; }

.universe-section { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(300px, .92fr) 1.08fr; min-height: 620px; color: #f4f1eb; background: #10111a; isolation: isolate; }
.universe-section::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .8; background: radial-gradient(ellipse at 74% 48%, rgba(93,89,143,.22), transparent 40%), linear-gradient(110deg, #10111a, #131522); }
.universe-art { position: relative; min-height: 620px; margin: 0 6% 0 11%; overflow: hidden; }
.universe-art::before { content: ""; position: absolute; z-index: 1; top: 9%; bottom: 7%; left: 9%; right: 9%; border: 1px solid rgba(196,192,227,.35); border-radius: 48% 48% 0 0; pointer-events: none; }
.universe-art img { position: absolute; inset: 8% 11% 5%; width: 78%; height: 87%; object-fit: cover; object-position: 50% 15%; filter: saturate(.75) contrast(1.03); mix-blend-mode: screen; opacity: .92; mask-image: linear-gradient(to bottom, #000 70%, transparent 100%); }
.universe-art-mark { position: absolute; z-index: 2; top: 14%; left: 13%; display: grid; place-items: center; width: 68px; height: 68px; border: 1px solid rgba(230,226,252,.6); border-radius: 50%; color: #e7e3f4; background: rgba(15,16,25,.5); font-family: var(--display); font-size: 10px; font-weight: 800; line-height: 1.3; letter-spacing: .12em; text-align: center; }
.universe-art-mark span { color: var(--lavender-bright); font-family: var(--serif); font-size: 17px; font-weight: 400; }
.universe-art-caption { position: absolute; left: 13%; bottom: 10%; color: #8b8b9b; font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.universe-copy { align-self: center; max-width: 630px; padding: 90px max(7vw, 35px) 90px 20px; }
.universe-copy .eyebrow { margin-bottom: 24px; }
.universe-copy h2 { font-size: clamp(42px, 4.5vw, 68px); line-height: 1.02; }
.universe-copy h2 em { display: inline-block; margin-top: 8px; color: var(--lavender-bright); }
.universe-copy > p:not(.eyebrow):not(.universe-small-note) { max-width: 470px; margin: 26px 0 0; color: #b8b7c6; font-size: 12px; line-height: 2; }
.universe-small-note { max-width: 410px; margin: 24px 0 30px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.16); color: #8b8b9d; font-size: 8px; font-weight: 700; line-height: 1.8; letter-spacing: .15em; }
.universe-corner { position: absolute; right: 45px; bottom: 35px; display: flex; flex-direction: column; gap: 8px; color: #9290b6; font-size: 17px; text-align: center; }

.delivery-section { display: grid; grid-template-columns: minmax(180px, .55fr) 1.45fr; gap: clamp(34px, 7vw, 100px); align-items: center; padding-top: 105px; padding-bottom: 105px; background: #f6f4ee; }
.delivery-symbol { width: min(100%, 235px); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid #d3d0df; border-radius: 50%; background: radial-gradient(circle at 42% 38%, #fefdf8, #e1ddec 70%, #d5d3df); box-shadow: inset 0 0 0 13px rgba(255,255,255,.45), 0 18px 50px rgba(26,24,43,.06); }
.delivery-symbol svg { width: 62%; height: 62%; fill: none; stroke: #77739e; stroke-width: .8; }
.delivery-symbol svg path:nth-of-type(1) { fill: rgba(139,132,178,.13); }
.delivery-copy { max-width: 650px; }
.delivery-copy h2 { font-size: clamp(42px, 4.4vw, 65px); }
.delivery-copy > p:not(.eyebrow):not(.form-hint) { max-width: 560px; margin: 21px 0 26px; color: #666673; font-size: 12px; line-height: 1.95; }
.cep-form { display: flex; gap: 8px; max-width: 500px; }
.cep-input-wrap { min-width: 0; flex: 1; height: 48px; display: flex; align-items: center; gap: 12px; padding: 0 15px; border: 1px solid #d0ced0; background: #fffefa; }
.cep-input-wrap svg { flex: 0 0 auto; width: 18px; height: 18px; fill: none; stroke: #727180; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.cep-input-wrap input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 12px; }
.cep-input-wrap input::placeholder { color: #9896a0; }
.cep-form .button { min-height: 48px; }
.form-hint { margin: 10px 0 0; color: #95939e; font-size: 9px; }
.cep-feedback { max-width: 500px; display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; padding: 15px 16px; border: 1px solid #cbc7dd; color: #393749; background: #eeebf6; font-size: 11px; line-height: 1.7; }
.cep-feedback::before { content: "✳"; color: #77739e; font-size: 15px; }

.newsletter-section { display: grid; grid-template-columns: auto 1fr minmax(300px, .95fr); align-items: center; gap: clamp(25px, 4vw, 60px); padding: 62px max(38px, calc((100% - 1320px)/2)); color: white; background: #76729a; }
.newsletter-star { display: grid; place-items: center; width: 66px; height: 66px; color: #e4e2f0; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; font-size: 35px; font-weight: 400; }
.newsletter-section .eyebrow { margin-bottom: 10px; color: #e4e1f2; font-size: 8px; }
.newsletter-section h2 { font-size: clamp(28px, 3.1vw, 43px); }
.newsletter-section h2 em { color: white; }
.newsletter-section p:not(.eyebrow) { margin: 12px 0 0; color: #e1deec; font-size: 11px; }
.newsletter-form { display: grid; grid-template-columns: 1fr auto; align-items: center; border-bottom: 1px solid rgba(255,255,255,.7); }
.newsletter-form input { min-width: 0; height: 48px; padding: 0 4px; border: 0; outline: 0; color: white; background: transparent; font-size: 11px; }
.newsletter-form input::placeholder { color: #dfddec; }
.newsletter-form button { display: flex; align-items: center; gap: 17px; border: 0; color: white; background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; }
.newsletter-form button b { font-size: 16px; font-weight: 400; }
.newsletter-form small { grid-column: 1 / -1; margin-top: 10px; color: #dfddec; font-size: 8px; }

.site-footer { padding: 70px max(38px, calc((100% - 1320px)/2)) 0; color: #efedf3; background: #090a10; }
.footer-main { display: grid; grid-template-columns: 1.35fr .72fr .95fr 1.15fr; gap: 45px; padding-bottom: 58px; }
.brand-footer { color: #f2efe8; }
.brand-footer .brand-mark { width: 35px; height: 42px; color: #f2efe8; }
.brand-footer .brand-wordmark { font-size: 14px; }
.brand-footer .brand-wordmark span:last-child { font-size: 11px; }
.footer-brand-col > p { margin: 22px 0 20px; color: #bab9c4; font-family: var(--serif); font-size: 21px; line-height: 1.4; }
.footer-est { color: #747381; font-size: 8px; letter-spacing: .16em; }
.footer-links, .footer-contact { display: flex; flex-direction: column; align-items: flex-start; }
.footer-links h3, .footer-contact h3 { margin: 6px 0 22px; font-size: 11px; font-weight: 700; }
.footer-links a, .footer-button { margin-bottom: 15px; padding: 0; border: 0; color: #aaa9b6; background: transparent; cursor: pointer; font-size: 10px; text-align: left; transition: color .2s; }
.footer-links a:hover, .footer-button:hover { color: white; }
.footer-contact p { max-width: 260px; margin: 0 0 17px; color: #aaa9b6; font-size: 10px; line-height: 1.7; }
.footer-phone { display: flex; align-items: center; gap: 10px; color: #f5f2ee; font-size: 14px; font-weight: 700; }
.footer-phone span { color: var(--lavender-bright); font-size: 16px; }
.footer-contact small { max-width: 235px; margin-top: 9px; color: #747381; font-size: 8px; line-height: 1.6; }
.footer-social { display: inline-flex; align-items: center; gap: 12px; margin-top: 25px; color: #c3c0d8; font-size: 10px; }
.footer-social span { font-size: 15px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 19px 0; border-top: 1px solid rgba(255,255,255,.13); color: #7f7e8d; font-size: 8px; letter-spacing: .09em; }
.footer-bottom b { margin-left: 8px; color: var(--lavender-bright); font-size: 13px; }
.footer-bottom a { color: #b8b6c3; letter-spacing: 0; }
.footer-disclaimer { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 -2px; padding: 15px 0 17px; border-top: 1px solid rgba(255,255,255,.08); color: #858493; font-size: 7px; line-height: 1.6; letter-spacing: .09em; text-align: center; }

/* Interactive drawers and dialogs */
.overlay, .modal-overlay { position: fixed; z-index: 80; inset: 0; background: rgba(8,9,15,.58); backdrop-filter: blur(4px); opacity: 0; transition: opacity .25s; }
.overlay.is-visible, .modal-overlay.is-visible { opacity: 1; }
.side-drawer { position: fixed; z-index: 81; top: 0; right: 0; bottom: 0; width: min(460px, 100%); display: flex; flex-direction: column; padding: 28px 28px 24px; color: var(--ink); background: #f5f3ee; box-shadow: -20px 0 70px rgba(0,0,0,.18); transform: translateX(105%); transition: transform .42s var(--ease); overflow: auto; }
.side-drawer.is-open { transform: translateX(0); }
.drawer-head { display: flex; align-items: start; justify-content: space-between; gap: 15px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.drawer-head .eyebrow { margin-bottom: 9px; font-size: 8px; }
.drawer-head h2 { font-size: 35px; }
.close-drawer { flex: 0 0 auto; }
.drawer-prototype-note { display: flex; gap: 10px; align-items: flex-start; margin: 18px 0 0; padding: 12px 13px; color: #6e6b82; background: #e9e6ef; font-size: 10px; line-height: 1.6; }
.drawer-prototype-note span { color: #827bab; font-size: 15px; }
.drawer-items { flex: 1; }
.drawer-item { display: grid; grid-template-columns: 90px 1fr auto; gap: 13px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.drawer-item-visual { width: 90px; height: 108px; display: grid; place-items: center; overflow: hidden; background: #dedbe4; }
.drawer-item-visual img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.drawer-item-copy { min-width: 0; padding: 4px 0; }
.drawer-item-copy h3 { margin: 0 0 5px; font-size: 12px; line-height: 1.4; }
.drawer-item-copy p { margin: 0 0 10px; color: #797784; font-size: 9px; }
.drawer-item-copy strong { font-size: 11px; }
.quantity-control { display: flex; align-items: center; gap: 11px; margin-top: 14px; }
.quantity-control button { width: 23px; height: 23px; border: 1px solid #d1ced3; background: transparent; cursor: pointer; }
.quantity-control span { min-width: 10px; text-align: center; font-size: 10px; }
.drawer-item-side { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; padding: 4px 0; }
.drawer-item-side button { border: 0; color: #8f8c98; background: transparent; cursor: pointer; font-size: 9px; text-decoration: underline; }
.drawer-empty { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; padding: 65px 12px; text-align: center; }
.drawer-empty > div { color: #8c87b0; font-family: var(--serif); font-size: 42px; }
.drawer-empty h3 { margin: 20px 0 8px; font-family: var(--display); font-size: 18px; letter-spacing: -.04em; }
.drawer-empty p { max-width: 260px; margin: 0 0 22px; color: #777681; font-size: 11px; line-height: 1.8; }
.drawer-empty .button { gap: 12px; }
.drawer-bottom { padding-top: 18px; border-top: 1px solid var(--line); }
.subtotal-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; }
.subtotal-row strong { font-size: 15px; }
.drawer-bottom > p { margin: 10px 0 17px; color: #81808c; font-size: 9px; line-height: 1.6; }
.drawer-bottom .button { gap: 15px; }
.favorites-drawer .drawer-head { margin-bottom: 5px; }

.modal-overlay { z-index: 90; }
.modal { position: fixed; z-index: 91; top: 50%; left: 50%; width: min(510px, calc(100vw - 30px)); max-height: min(89vh, 850px); overflow-y: auto; padding: 42px; color: var(--ink); background: var(--paper); box-shadow: 0 30px 100px rgba(0,0,0,.3); transform: translate(-50%, -46%) scale(.97); opacity: 0; visibility: hidden; transition: opacity .24s, transform .28s var(--ease), visibility .24s; }
.modal.is-open { opacity: 1; visibility: visible; transform: translate(-50%,-50%) scale(1); }
.modal-close { position: absolute; top: 14px; right: 14px; }
.modal-symbol { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 23px; color: #716b9b; border: 1px solid #cfcbdf; border-radius: 50%; font-family: var(--serif); font-size: 25px; }
.modal .eyebrow { margin-bottom: 9px; font-size: 8px; }
.modal h2 { font-size: 34px; }
.modal-intro { margin: 14px 0 22px; color: #777681; font-size: 11px; line-height: 1.8; }
.account-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; border-bottom: 1px solid #d4d1d2; }
.account-tab { padding: 12px 0; border: 0; border-bottom: 2px solid transparent; color: #8b8994; background: transparent; cursor: pointer; font-size: 11px; font-weight: 700; }
.account-tab.is-active { color: var(--ink); border-color: #77739e; }
.account-form { display: flex; flex-direction: column; gap: 13px; padding-top: 20px; }
.account-field { display: flex; flex-direction: column; gap: 7px; }
.account-field label { color: #686774; font-size: 10px; font-weight: 600; }
.account-field input { width: 100%; min-height: 44px; padding: 0 13px; border: 1px solid #d1cfd3; border-radius: 0; color: var(--ink); outline: 0; background: #fcfbf8; font-size: 11px; }
.account-field input:focus { border-color: #8580ac; }
.account-form .button { margin-top: 5px; gap: 14px; }
.account-form .account-aux { display: flex; justify-content: space-between; gap: 14px; border: 0; padding: 4px 0 0; color: #706d8d; background: transparent; cursor: pointer; font-size: 10px; text-decoration: underline; text-underline-offset: 3px; }
.account-form .account-aux.center { justify-content: center; }
.account-feedback { margin: 14px 0 0; padding: 13px; color: #48445e; background: #e9e6f1; font-size: 10px; line-height: 1.7; }
.modal-safe-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 21px; padding-top: 15px; border-top: 1px solid #d7d4d5; color: #8b8993; font-size: 9px; line-height: 1.6; }
.modal-safe-note svg { flex: 0 0 auto; width: 16px; height: 16px; fill: none; stroke: #817ba9; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.product-modal { width: min(780px, calc(100vw - 30px)); display: grid; grid-template-columns: .92fr 1.08fr; gap: 34px; padding: 31px; }
.product-modal-visual { position: relative; min-height: 420px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg, #d2d0df, #e7e3dc); }
.product-modal-visual .product-modal-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.product-modal-copy { align-self: center; padding: 24px 6px 22px 0; }
.product-modal-copy h2 { font-size: 35px; }
.product-modal-price { margin: 13px 0; font-size: 15px; font-weight: 700; }
.product-modal-description { color: #777681; font-size: 11px; line-height: 1.8; }
.size-picker { margin: 22px 0; }
.size-picker-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; font-size: 10px; font-weight: 700; }
.size-picker-head small { color: #8f8d98; font-size: 7px; font-weight: 600; letter-spacing: .08em; }
.size-options { display: flex; flex-wrap: wrap; gap: 7px; }
.size-option { min-width: 40px; height: 38px; border: 1px solid #d0cdd1; background: transparent; cursor: pointer; font-size: 10px; transition: background .18s, color .18s, border-color .18s; }
.size-option:hover, .size-option.is-selected { color: white; border-color: var(--ink); background: var(--ink); }
.size-error { color: #8a4766; font-size: 10px; }
.modal-prototype-footnote { margin: 13px 0 0; color: #9896a0; font-size: 8px; line-height: 1.7; }
.prototype-modal { text-align: center; }
.prototype-modal-orbit { display: grid; place-items: center; width: 73px; height: 73px; margin: 7px auto 28px; border: 1px solid #c7c3da; border-radius: 50%; color: #7f79a8; font-size: 32px; box-shadow: 0 0 0 9px rgba(190,185,218,.13), 0 0 0 18px rgba(190,185,218,.08); }
.prototype-modal .eyebrow { justify-content: center; }
.prototype-modal h2 { font-size: clamp(30px, 6vw, 40px); }
.prototype-modal > p:not(.eyebrow) { margin: 15px 0 24px; color: #777681; font-size: 11px; line-height: 1.9; }
.prototype-modal-checklist { display: flex; flex-direction: column; gap: 10px; margin: 0 0 25px; padding: 18px; text-align: left; background: #e9e6ee; }
.prototype-modal-checklist span { display: flex; gap: 11px; align-items: center; color: #5f5d6d; font-size: 10px; }
.prototype-modal-checklist i { color: #827ca7; font-size: 9px; font-style: normal; font-weight: 700; }
.prototype-modal .button { gap: 13px; }

.toast-region { position: fixed; z-index: 200; right: 22px; bottom: 24px; width: min(360px, calc(100vw - 44px)); display: flex; flex-direction: column; gap: 9px; pointer-events: none; }
.toast { display: flex; align-items: flex-start; gap: 11px; padding: 14px 16px; color: white; background: #171823; border: 1px solid rgba(203,199,231,.3); box-shadow: 0 14px 36px rgba(0,0,0,.22); font-size: 11px; line-height: 1.6; animation: toastIn .34s var(--ease) both; }
.toast::before { content: "✳"; color: var(--lavender-bright); font-size: 15px; }
.toast.is-leaving { opacity: 0; transform: translateY(9px); transition: opacity .25s, transform .25s; }
@keyframes toastIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.back-to-top { position: fixed; right: 24px; bottom: 22px; z-index: 35; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.24); color: var(--white); background: #12131d; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .25s, visibility .25s, transform .25s; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-revealed { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media (min-width: 1600px) {
  .hero { min-height: 760px; }
  .hero-copy { padding-left: calc((100vw - 1440px)/2); }
}
@media (max-width: 1180px) {
  .header-main, .search-row { width: calc(100% - 46px); }
  .main-nav { gap: 17px; }
  .header-actions { margin-left: 3px; }
  .hero { grid-template-columns: .94fr 1.06fr; min-height: 650px; }
  .hero-copy { padding-left: 5vw; padding-right: 12px; }
  .hero h1 { font-size: clamp(58px, 6.1vw, 81px); }
  .hero-art-wrap { margin-right: 24px; min-height: 550px; }
  .section { padding-left: 40px; padding-right: 40px; }
  .product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 30px 14px; }
  .product-quick { transform: none; opacity: 1; }
  .footer-main { gap: 28px; grid-template-columns: 1.1fr .7fr 1fr 1.1fr; }
  .newsletter-section { padding-left: 40px; padding-right: 40px; }
}
@media (max-width: 860px) {
  .prototype-strip { gap: 8px; font-size: 8px; letter-spacing: .08em; }
  .prototype-strip a { display: none; }
  .header-main { width: calc(100% - 32px); min-height: 68px; gap: 9px; }
  .mobile-menu-trigger { display: inline-grid; }
  .brand { margin-right: auto; }
  .brand-mark { width: 34px; height: 40px; }
  .brand-wordmark { font-size: 13px; }
  .brand-wordmark span:last-child { font-size: 10px; }
  .brand-est { display: none; }
  .main-nav { display: none; }
  .header-actions { gap: 0; margin-left: 0; }
  .icon-button { width: 36px; height: 36px; }
  .header-actions .icon-button { width: 34px; height: 36px; }
  .header-actions .icon-button svg { width: 17px; height: 17px; }
  .mobile-nav-panel { display: flex; flex-direction: column; padding: 6px 24px 17px; border-top: 1px solid var(--line); }
  .mobile-nav-panel a { padding: 13px 3px; border-bottom: 1px solid rgba(17,18,26,.08); font-size: 12px; }
  .search-row { width: calc(100% - 32px); }
  .hero { min-height: unset; grid-template-columns: 1fr; }
  .hero-copy { padding: 78px 8vw 40px; }
  .hero h1 { font-size: clamp(57px, 12vw, 90px); }
  .hero-description { max-width: 500px; margin-top: 23px; }
  .hero-footnote { margin-top: 42px; }
  .hero-art-wrap { min-height: 420px; margin: 0 8vw 62px; }
  .hero-photo { inset: 3% 8% 8% 6%; }
  .hero-photo-gradient { inset: 3% 8% 8% 6%; }
  .hero-art-wrap::before { inset: 0% 6% 6% 3%; }
  .hero-stamp { right: 1%; top: 7%; width: 82px; height: 82px; font-size: 8px; }
  .hero-image-caption { bottom: 11%; left: 12%; right: 11%; }
  .vertical-note { right: -14px; }
  .hero-bottom-note { height: 38px; font-size: 7px; }
  .section { padding: 80px 24px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 19px; margin-bottom: 28px; }
  .section-intro { max-width: 530px; }
  .category-grid { grid-template-columns: 1fr 1fr; }
  .category-card-large { grid-row: span 2; min-height: 515px; }
  .category-card { min-height: 250px; }
  .category-content { left: 18px; right: 17px; bottom: 19px; }
  .category-content strong { font-size: 30px; }
  .product-section { padding-top: 12px; }
  .product-heading { align-items: flex-end; flex-direction: row; }
  .product-heading .underlined-link { font-size: 10px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px 12px; }
  .product-visual { aspect-ratio: .84; }
  .product-quick { left: 8px; right: 8px; bottom: 8px; min-height: 37px; padding: 0 10px; font-size: 9px; }
  .product-info { padding-top: 12px; }
  .product-name { font-size: 11px; }
  .product-code { display: none; }
  .product-price-row { flex-wrap: wrap; gap: 7px; }
  .products-bottom { flex-wrap: wrap; gap: 14px; text-align: center; padding-top: 38px; }
  .products-bottom p { width: 100%; order: -1; }
  .universe-section { grid-template-columns: .78fr 1.22fr; min-height: 600px; }
  .universe-art { min-height: 600px; margin-left: 4%; margin-right: 0; }
  .universe-art img { left: 5%; right: 5%; width: 90%; }
  .universe-copy { padding: 70px 25px 70px 6px; }
  .universe-copy h2 { font-size: clamp(34px, 6vw, 52px); }
  .universe-copy .eyebrow { font-size: 7px; letter-spacing: .12em; }
  .universe-corner { right: 17px; bottom: 18px; }
  .delivery-section { grid-template-columns: 150px 1fr; gap: 30px; padding-top: 72px; padding-bottom: 72px; }
  .delivery-symbol { width: 145px; }
  .delivery-copy h2 { font-size: 43px; }
  .newsletter-section { grid-template-columns: auto 1fr; padding: 46px 24px; gap: 20px; }
  .newsletter-star { width: 55px; height: 55px; font-size: 27px; }
  .newsletter-form { grid-column: 1 / -1; margin-left: 0; }
  .site-footer { padding: 58px 24px 0; }
  .footer-main { grid-template-columns: 1.2fr 1fr 1fr; gap: 32px 24px; }
  .footer-brand-col { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 20px; }
  .footer-brand-col > p { margin: 0; font-size: 18px; }
  .footer-brand-col .footer-est { grid-column: 1 / -1; margin-top: 12px; }
  .footer-bottom { flex-wrap: wrap; gap: 15px; }
  .footer-bottom span:nth-child(2) { display: none; }
  .product-modal { gap: 20px; padding: 24px; }
  .product-modal-visual { min-height: 350px; }
}
@media (max-width: 580px) {
  .prototype-strip { min-height: 27px; flex-wrap: wrap; gap: 6px; padding: 6px 8px; font-size: 7px; }
  .prototype-strip .strip-star { font-size: 11px; }
  .strip-divider { height: 8px; }
  .strip-beta { letter-spacing: .06em; }
  .header-main { min-height: 62px; width: calc(100% - 20px); }
  .mobile-menu-trigger { width: 29px; }
  .mobile-menu-trigger svg { width: 18px; }
  .brand { gap: 5px; }
  .brand-mark { width: 29px; height: 34px; }
  .brand-wordmark { font-size: 11px; }
  .brand-wordmark span:last-child { font-size: 8px; margin-top: 3px; }
  .header-actions .icon-button { width: 31px; }
  .search-trigger { display: none; }
  .action-count { top: 0; right: -1px; min-width: 14px; height: 14px; font-size: 7px; }
  .search-row { width: calc(100% - 24px); height: 48px; }
  .search-row input { font-size: 11px; }
  .hero-copy { padding: 63px 24px 28px; }
  .hero .eyebrow { max-width: 270px; gap: 7px; font-size: 7px; letter-spacing: .12em; }
  .hero h1 { font-size: clamp(51px, 15vw, 78px); line-height: 1; }
  .hero-description { max-width: 365px; margin-top: 19px; font-size: 11px; line-height: 1.85; }
  .hero-cta-row { align-items: flex-start; flex-direction: column; gap: 17px; margin-top: 23px; }
  .hero-cta-row .button { width: min(100%, 270px); }
  .hero-secondary { font-size: 10px; }
  .hero-footnote { margin-top: 33px; font-size: 7px; letter-spacing: .1em; }
  .hero-art-wrap { min-height: 340px; margin: 0 16px 53px; }
  .hero-stamp { width: 68px; height: 68px; font-size: 7px; }
  .hero-stamp b { font-size: 15px; }
  .hero-image-caption { left: 13%; right: 12%; font-size: 6px; }
  .hero-bottom-note { gap: 9px; font-size: 6px; letter-spacing: .13em; }
  .ticker { padding: 14px 0 12px; }
  .ticker-track { gap: 22px; font-size: 8px; }
  .section { padding: 66px 16px; }
  .section-heading { margin-bottom: 25px; }
  h2 { font-size: 38px; }
  .eyebrow-dark { font-size: 8px; }
  .section-intro { font-size: 11px; }
  .category-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .category-card-large { min-height: 392px; }
  .category-card { min-height: 190px; }
  .category-index { top: 12px; left: 12px; font-size: 6px; }
  .category-content { left: 12px; right: 12px; bottom: 12px; gap: 13px; }
  .category-content strong { font-size: clamp(21px, 7vw, 28px); }
  .category-content > span { padding-top: 9px; font-size: 8px; }
  .category-content b { font-size: 13px; }
  .category-card-orbit img { object-position: 50% 22%; }
  .product-section { padding-top: 7px; }
  .product-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
  .product-heading h2 { font-size: 38px; }
  .underlined-link { font-size: 10px; }
  .product-toolbar { align-items: flex-start; flex-direction: column; gap: 10px; padding: 12px 0; }
  .filter-tabs { gap: 19px; }
  .filter-tab { font-size: 10px; }
  .demo-caption { font-size: 7px; }
  .product-grid { gap: 25px 9px; }
  .product-visual { aspect-ratio: .77; }
  .product-tag { top: 8px; left: 8px; font-size: 6px; padding: 5px 6px; }
  .product-favorite { top: 7px; right: 7px; width: 29px; height: 29px; }
  .product-favorite svg { width: 14px; height: 14px; }
  .product-quick { left: 6px; right: 6px; bottom: 6px; min-height: 33px; padding: 0 8px; font-size: 8px; }
  .product-quick span { font-size: 13px; }
  .product-info { padding-top: 10px; }
  .product-name { font-size: 10px; line-height: 1.4; }
  .product-description { font-size: 8px; margin: 5px 0 8px; }
  .product-price { font-size: 10px; }
  .product-old-price { font-size: 8px; }
  .product-discount { display: none; }
  .products-bottom .button { width: 100%; }
  .universe-section { display: flex; flex-direction: column; min-height: 0; }
  .universe-art { min-height: 360px; margin: 0 9% 0; }
  .universe-art img { inset: 5% 13% 3%; width: 74%; height: 92%; object-position: 50% 17%; }
  .universe-art::before { top: 4%; bottom: 3%; left: 12%; right: 12%; }
  .universe-art-mark { top: 9%; left: 12%; width: 53px; height: 53px; font-size: 8px; }
  .universe-art-mark span { font-size: 14px; }
  .universe-art-caption { left: 13%; bottom: 5%; font-size: 6px; }
  .universe-copy { padding: 28px 24px 68px; }
  .universe-copy .eyebrow { max-width: 300px; font-size: 7px; }
  .universe-copy h2 { font-size: clamp(39px, 12vw, 52px); }
  .universe-copy > p:not(.eyebrow):not(.universe-small-note) { margin-top: 19px; font-size: 11px; }
  .universe-small-note { font-size: 7px; }
  .universe-corner { right: 16px; bottom: 15px; font-size: 13px; }
  .delivery-section { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; padding-top: 63px; padding-bottom: 63px; }
  .delivery-symbol { width: 104px; align-self: center; margin-bottom: 2px; }
  .delivery-copy h2 { font-size: 42px; }
  .delivery-copy > p:not(.eyebrow):not(.form-hint) { margin-top: 17px; font-size: 11px; }
  .cep-form { flex-direction: column; }
  .cep-form .button { width: 100%; }
  .form-hint { font-size: 8px; }
  .newsletter-section { grid-template-columns: 1fr; gap: 17px; padding: 39px 19px; }
  .newsletter-star { width: 48px; height: 48px; font-size: 24px; }
  .newsletter-section h2 { font-size: 33px; }
  .newsletter-section .eyebrow { font-size: 7px; }
  .newsletter-section p:not(.eyebrow) { font-size: 10px; }
  .newsletter-form { margin-top: 3px; }
  .newsletter-form input { font-size: 10px; }
  .newsletter-form button { gap: 8px; font-size: 9px; }
  .site-footer { padding: 45px 19px 0; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding-bottom: 36px; }
  .footer-brand-col { grid-column: 1 / -1; grid-template-columns: 1fr; gap: 15px; }
  .footer-brand-col > p { font-size: 19px; }
  .footer-brand-col .footer-est { margin-top: 0; }
  .footer-links h3, .footer-contact h3 { margin-bottom: 15px; font-size: 10px; }
  .footer-links a, .footer-button { margin-bottom: 13px; font-size: 9px; }
  .footer-contact { grid-column: 1 / -1; }
  .footer-contact p { font-size: 10px; }
  .footer-phone { font-size: 13px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; padding: 17px 0; font-size: 7px; }
  .footer-disclaimer { align-items: flex-start; font-size: 6px; letter-spacing: .06em; text-align: left; }
  .footer-disclaimer .status-dot { flex: 0 0 auto; margin-top: 3px; }
  .side-drawer { padding: 20px 17px 18px; }
  .drawer-head h2 { font-size: 31px; }
  .drawer-item { grid-template-columns: 74px 1fr auto; gap: 10px; }
  .drawer-item-visual { width: 74px; height: 92px; }
  .drawer-item-copy h3 { font-size: 10px; }
  .drawer-item-copy p { font-size: 8px; }
  .drawer-item-copy strong { font-size: 10px; }
  .quantity-control { gap: 7px; }
  .quantity-control button { width: 21px; height: 21px; }
  .modal { padding: 34px 23px 24px; }
  .modal h2 { font-size: 30px; }
  .product-modal { display: flex; flex-direction: column; gap: 22px; padding: 17px; }
  .product-modal-visual { min-height: 260px; max-height: 350px; }
  .product-modal-copy { padding: 0 3px 6px; }
  .product-modal-copy h2 { font-size: 29px; }
  .product-modal-copy .eyebrow { margin-bottom: 8px; }
  .product-modal-description { margin: 10px 0; }
  .size-picker { margin: 16px 0; }
  .prototype-modal { padding-top: 35px; }
  .prototype-modal-orbit { width: 60px; height: 60px; margin-bottom: 24px; }
  .toast-region { right: 12px; bottom: 12px; width: calc(100vw - 24px); }
  .back-to-top { right: 14px; bottom: 14px; width: 36px; height: 36px; }
}

.no-results { grid-column: 1 / -1; min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 35px; text-align: center; border: 1px solid rgba(17,18,26,.14); }
.no-results > span { color: #817ba9; font-size: 28px; }
.no-results h3 { margin: 12px 0 4px; font-size: 18px; letter-spacing: -.04em; }
.no-results p { color: #777681; font-size: 11px; }
.no-results .button { gap: 14px; }
@media (max-width: 580px) { .search-trigger { display: inline-grid; } }
.drawer-item-visual { position: relative; }
.drawer-item-art { position: absolute; inset: 0; display: grid; place-items: center; color: #22232f; }
.drawer-item-art svg { width: 86%; height: 86%; }

/* Toca do Mago — visual pass: exact supplied mark, dreamcore still life, Y2K/goth catalog */
:root {
  --ink: #161215;
  --night: #08080a;
  --night-soft: #151116;
  --paper: #f2efea;
  --paper-deep: #e5dfd8;
  --white: #fbf7ef;
  --muted: #777177;
  --lavender: #7d2736;
  --lavender-bright: #e9dccb;
  --line: rgba(23, 18, 21, .16);
  --serif: "Grenze Gotisch", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --display: "Cinzel Decorative", "Cinzel", Georgia, serif;
}

body { font-family: var(--sans); }
.brand { gap: 8px; }
.brand-mark-image { display: block; flex: 0 0 auto; width: 43px; height: 49px; object-fit: contain; filter: brightness(0); }
.brand-wordmark-image { display: block; flex: 0 1 auto; width: 112px; height: 52px; object-fit: contain; }
.brand-est { display: none; }
.main-nav a { font-family: "Cinzel", Georgia, serif; font-size: 10px; letter-spacing: .045em; text-transform: uppercase; }
.prototype-strip { background: #171116; }
.hero { display: block; min-height: clamp(650px, 48vw, 820px); background: #070709; }
.hero::before { z-index: 0; background: radial-gradient(ellipse at 47% 45%, rgba(78,37,51,.2), transparent 48%); }
.hero-art-wrap { position: absolute; z-index: 2; inset: 0; min-height: 0; margin: 0; overflow: hidden; pointer-events: none; }
.hero-art-wrap::before { display: none; }
.hero-photo { position: absolute; inset: 0; clip-path: none; background: #070709; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 52%; filter: saturate(.74) contrast(1.08) brightness(.79); transform: scale(1.005); }
.hero-photo-gradient { position: absolute; z-index: 1; inset: 0; clip-path: none; background: linear-gradient(90deg, rgba(4,4,6,.04), rgba(4,4,6,.16) 30%, rgba(4,4,6,.62) 47%, rgba(4,4,6,.94) 100%), linear-gradient(0deg, rgba(4,4,6,.68), transparent 38%, rgba(4,4,6,.06)); }
.hero-primary-logo { position: absolute; z-index: 3; left: clamp(24px, 5.5vw, 92px); top: 47%; display: block; width: min(40vw, 530px); max-height: 88%; object-fit: contain; transform: translateY(-50%); filter: drop-shadow(0 18px 44px rgba(0,0,0,.58)); }
.hero-copy { position: relative; z-index: 4; width: min(47%, 690px); max-width: 690px; margin: 0 0 0 auto; padding: clamp(85px, 8.5vw, 136px) clamp(38px, 7.2vw, 116px) 96px 0; }
.hero .eyebrow { color: #e2d5c4; font-size: 9px; letter-spacing: .16em; }
.hero h1 { max-width: 620px; font-family: var(--display); font-size: clamp(47px, 5.1vw, 78px); font-weight: 700; line-height: 1.07; letter-spacing: -.025em; }
.hero h1 em { color: #e9dccb; font-family: var(--serif); font-style: normal; }
.hero-description { color: #c3bac0; max-width: 420px; font-size: 13px; line-height: 1.9; }
.hero-cta-row { gap: 18px; }
.button-light { color: #1a1215; background: #f0e5d8; }
.button-light:hover { color: #fff; background: #7d2736; }
.hero-secondary { color: #f2e8dc; font-size: 10px; }
.hero-secondary span, .hero-bottom-note span { color: #c17b86; }
.hero-footnote { flex-wrap: wrap; margin-top: 42px; color: #a69ba1; letter-spacing: .12em; }
.hero .tiny-moon { color: #e9dccb; }
.hero-bottom-note { z-index: 5; color: #e3d9d0; background: rgba(7,6,8,.64); border-top-color: rgba(242,226,212,.18); }
.hero-stars { z-index: 1; color: rgba(239,222,199,.7); }
.hero-orbit { border-color: rgba(239,222,199,.14); }
.hero-stamp, .vertical-note, .hero-image-caption { display: none !important; }
.ticker { color: #eee4d9; background: #1a1116; border-color: rgba(255,255,255,.1); }
.ticker-track b { color: #c7838c; }
.section-heading h2, h2 { font-family: var(--display); letter-spacing: -.025em; font-weight: 700; }
h2 em, .category-content em { color: #7d2736; font-family: var(--serif); font-style: normal; letter-spacing: .005em; }
.eyebrow-dark { color: #7e6068; }
.category-card { background: #161216; }
.category-card img { filter: saturate(.84) contrast(1.04) brightness(.82); mix-blend-mode: normal; }
.category-card-large img, .category-card-orbit img, .category-card-blue img { object-position: center; }
.category-shade { background: linear-gradient(180deg, rgba(8,7,9,.03) 15%, rgba(8,7,9,.12) 38%, rgba(8,7,9,.88) 100%); }
.category-card-orbit .category-shade { background: linear-gradient(180deg, rgba(8,7,9,.03), rgba(8,7,9,.18) 30%, rgba(8,7,9,.92)); }
.category-content strong { font-family: var(--display); letter-spacing: -.02em; }
.category-content em { color: #e8d7ca; }
.product-section { background: #f2efea; }
.product-heading h2 { font-size: clamp(35px, 4vw, 58px); }
.filter-tab.is-active, .filter-tab:hover { color: #7d2736; border-color: #7d2736; }
.product-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 34px 16px; }
.product-visual { background: #dedbd7; }
.product-visual.tone-ash, .product-visual.tone-violet, .product-visual.tone-mist, .product-visual.tone-moss, .product-visual.tone-dusk { background: #dedbd7; }
.product-visual.tone-night { background: #111014; }
.product-photo { mix-blend-mode: normal; filter: none; object-fit: contain; }
.product-tag { color: #fff8ee; background: #1a1217; }
.product-favorite { background: rgba(249,246,239,.95); }
.product-favorite.is-favorite { background: #7d2736; }
.product-favorite.is-favorite svg { fill: #f1e4d9; stroke: #f1e4d9; }
.product-quick { background: rgba(248,244,236,.97); }
.product-name { font-family: "Cinzel", Georgia, serif; font-size: 11px; letter-spacing: -.015em; }
.product-price { color: #201519; }
.product-discount { color: #7d2736; }
.products-bottom .hand-star { color: #7d2736; }
.products-bottom em { color: #7d2736; }
.universe-section { background: #0a080b; }
.universe-section::before { background: radial-gradient(ellipse at 31% 43%, rgba(87,39,51,.25), transparent 42%), linear-gradient(110deg, #0a080b, #121016); }
.universe-art > img { position: absolute; inset: 8% 11% 5%; width: 78%; height: 87%; object-fit: contain; object-position: center; filter: none; mix-blend-mode: normal; opacity: 1; mask-image: linear-gradient(to bottom, #000 80%, transparent 100%); }
.universe-art::before { border-color: rgba(229,210,191,.29); }
.universe-copy h2 em { color: #e9dccb; }
.newsletter-section { background: #64202d; }
.newsletter-star { color: #f1e5d6; }
.delivery-symbol { border-color: #cfc3bc; background: radial-gradient(circle at 42% 38%, #fffaf4, #e8dcd8 70%, #d7c8c8); }
.delivery-symbol svg { stroke: #7d2736; }
.delivery-symbol svg path:nth-of-type(1) { fill: rgba(125,39,54,.12); }
.cep-feedback { border-color: #d9b4b9; background: #f7e9e9; }
.cep-feedback::before { color: #7d2736; }
.site-footer { background: #08080a; }
.brand-footer { gap: 12px; color: #f2e9de; }
.brand-footer .brand-mark-image { width: 57px; height: 61px; filter: none; }
.brand-footer .brand-wordmark-image { width: 157px; height: 75px; }
.footer-phone span { color: #d59aa1; }
.footer-social { color: #e2c8ca; }
.prototype-modal-orbit { color: #7d2736; }
.modal-symbol { color: #7d2736; border-color: #d7c0c2; }

@media (max-width: 1180px) {
  .hero { min-height: 680px; }
  .hero-copy { width: 48%; padding: 80px 4.5vw 88px 0; }
  .hero-primary-logo { left: 2.5vw; width: min(42vw, 480px); }
  .main-nav { gap: 13px; }
  .product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .brand-mark-image { width: 37px; height: 42px; }
  .brand-wordmark-image { width: 94px; height: 45px; }
  .hero { min-height: 820px; display: block; }
  .hero::before { background: linear-gradient(180deg, rgba(5,5,7,.08) 0%, rgba(5,5,7,.10) 28%, rgba(5,5,7,.76) 44%, rgba(5,5,7,.97) 65%, #050507 100%); }
  .hero-photo img { object-position: 45% 39%; }
  .hero-photo-gradient { background: linear-gradient(180deg, rgba(5,5,7,.04) 0%, rgba(5,5,7,.08) 30%, rgba(5,5,7,.69) 47%, rgba(5,5,7,.96) 64%, #050507 100%); }
  .hero-primary-logo { width: min(58vw, 390px); max-height: 350px; top: 18px; left: 50%; transform: translateX(-50%); }
  .hero-copy { width: 100%; max-width: 680px; margin: 0; padding: 354px 8vw 58px; }
  .hero h1 { font-size: clamp(45px, 8vw, 70px); }
  .hero-description { max-width: 520px; }
  .hero-footnote { margin-top: 30px; }
  .hero-art-wrap { min-height: 0; margin: 0; }
  .hero-bottom-note { height: 38px; font-size: 7px; }
  .category-card-large { grid-row: span 2; }
  .category-card img { object-position: center; }
  .universe-art > img { object-fit: contain; }
}
@media (max-width: 580px) {
  .brand-mark-image { width: 30px; height: 35px; }
  .brand-wordmark-image { width: 82px; height: 40px; }
  .brand { gap: 4px; }
  .header-main { gap: 7px; }
  .hero { min-height: 790px; }
  .hero-primary-logo { width: min(69vw, 330px); max-height: 300px; top: 12px; }
  .hero-copy { padding: 303px 24px 54px; }
  .hero .eyebrow { max-width: 310px; font-size: 7px; }
  .hero h1 { max-width: 380px; font-size: clamp(40px, 11.5vw, 56px); line-height: 1.08; }
  .hero-description { font-size: 11px; line-height: 1.8; }
  .hero-cta-row { gap: 15px; }
  .hero-cta-row .button { width: min(100%, 265px); }
  .hero-footnote { font-size: 6px; letter-spacing: .075em; gap: 7px; }
  .hero-bottom-note { letter-spacing: .1em; }
  .category-grid { grid-template-columns: 1fr; }
  .category-card-large { grid-row: auto; min-height: 235px; }
  .category-card { min-height: 235px; }
  .category-content strong { font-size: clamp(19px, 6vw, 26px); }
  .filter-tabs { gap: 14px; flex-wrap: wrap; }
  .filter-tab { font-size: 9px; }
  .product-grid { gap: 26px 9px; }
  .product-photo { object-fit: contain; }
  .brand-footer .brand-mark-image { width: 45px; height: 49px; }
  .brand-footer .brand-wordmark-image { width: 129px; height: 62px; }
}

.delivery-symbol img { width: 62%; height: 62%; object-fit: contain; filter: brightness(0); }
.newsletter-star img { display: block; width: 76%; height: 76%; object-fit: contain; }

/* --- Toca do Mago / Refinamento editorial 02 --- */
:root {
  --serif: "Cinzel Decorative", "Cinzel", "Georgia", serif;
  --display: "Cinzel Decorative", "Cinzel", Georgia, serif;
  --ease: cubic-bezier(.22,.74,.18,1);
}

html { scroll-padding-top: 112px; }
body { font-feature-settings: "kern" 1; }
.button,
.product-quick,
.cep-input-wrap,
.cep-form .button,
.newsletter-form,
.acquisition-link { border-radius: 999px; }
.button { padding-inline: 22px; }
.button span { display: inline-flex; align-items: center; }
.arrow-icon { display: inline-block; flex: 0 0 auto; width: 15px; height: 15px; vertical-align: middle; transition: transform .22s var(--ease); }
a:hover > .arrow-icon,
button:hover > .arrow-icon,
.category-card:hover .inline-arrow .arrow-icon { transform: translate(2px,-2px); }
.category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(16px,2.2vw,30px); }
.category-card {
  min-width: 0;
  min-height: 368px;
  border-radius: 48% 48% 22px 22px / 24% 24% 22px 22px;
  background: #151014;
  box-shadow: 0 14px 40px rgba(30,14,18,.08);
  transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-radius .45s var(--ease);
}
.category-card:nth-child(2), .category-card:nth-child(5) { transform: translateY(16px); }
.category-card:nth-child(2):hover, .category-card:nth-child(5):hover { transform: translateY(8px); }
.category-card:hover { box-shadow: 0 22px 48px rgba(24,11,16,.2); }
.category-card img { object-fit: cover; border-radius: inherit; }
.category-card::after { content:""; position:absolute; inset:10px; border:1px solid rgba(246,233,222,.3); border-radius:inherit; pointer-events:none; z-index:1; opacity:.8; }
.category-card .category-index { z-index:2; top:23px; left:50%; transform:translateX(-50%); width:max-content; padding:7px 12px; border:1px solid rgba(255,246,238,.25); border-radius:999px; background:rgba(14,10,13,.36); backdrop-filter:blur(10px); }
.category-content { padding: 28px 26px 27px; }
.category-content strong { font-size: clamp(21px,2vw,31px); line-height:1.08; }
.category-content > span { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:9px; letter-spacing:.04em; }
.category-content b.inline-arrow { display:inline-flex; align-items:center; justify-content:center; flex:0 0 30px; width:30px; height:30px; border:1px solid rgba(255,255,255,.55); border-radius:50%; }
.category-content b.inline-arrow .arrow-icon { width:14px; height:14px; }
.section-heading { gap:36px; }
.section-heading h2, .delivery-copy h2, .universe-copy h2, .newsletter-section h2 { font-family:var(--display); font-weight:500; letter-spacing:-.035em; }
.section-heading h2 em, h2 em, .category-content em { font-family:var(--serif); font-weight:400; letter-spacing:-.015em; }
.product-toolbar { align-items:center; gap:22px; }
.filter-tabs { gap:clamp(12px,1.6vw,24px); flex-wrap:wrap; }
.filter-tab { border-radius:999px; border:1px solid transparent; padding:10px 13px; white-space:nowrap; }
.filter-tab.is-active, .filter-tab:hover { border-color:#7d2736; background:rgba(125,39,54,.055); }
.filter-tab span { display:inline-grid; place-items:center; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:rgba(125,39,54,.08); font-size:8px; }
.product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(24px,3vw,42px) clamp(12px,1.5vw,22px); }
.product-card { padding-bottom:8px; }
.product-visual { aspect-ratio:.89; border-radius:26px 26px 7px 26px; background:#e4e0dc; transition:transform .4s var(--ease); }
.product-visual::before { content:""; position:absolute; z-index:1; inset:10px; border:1px solid rgba(35,25,28,.055); border-radius:20px 20px 4px 20px; pointer-events:none; }
.product-visual::after { border-radius:inherit; }
.product-photo { object-fit:contain; mix-blend-mode:normal; filter:none; padding:7px; transition:transform .65s var(--ease), filter .4s; }
.product-card:hover .product-photo { transform:scale(1.035); filter:saturate(1.04); }
.product-tag { top:16px; left:16px; padding:7px 10px; border-radius:999px; font-size:7px; letter-spacing:.08em; }
.product-favorite { top:14px; right:14px; width:36px; height:36px; box-shadow:0 5px 18px rgba(20,12,14,.06); }
.product-quick { left:14px; right:14px; bottom:14px; border-radius:999px; padding-inline:17px; min-height:44px; transform:translateY(8px); }
.product-quick > .arrow-icon { width:16px; height:16px; }
.product-info { padding:17px 4px 0; }
.product-name-row { align-items:baseline; }
.product-name { font-family:"Cinzel",Georgia,serif; font-size:11px; line-height:1.5; letter-spacing:0; }
.product-description { min-height:28px; line-height:1.6; }
.products-bottom { position:relative; margin-top:18px; padding:38px 0 12px; }
.products-bottom::before { content:""; position:absolute; top:0; left:15%; right:15%; height:1px; background:linear-gradient(90deg,transparent,rgba(125,39,54,.28),transparent); }
.products-bottom .hand-star { font-size:0; width:28px; height:28px; position:relative; }
.products-bottom .hand-star::before { content:"✧"; position:absolute; inset:0; display:grid; place-items:center; color:#7d2736; font-size:25px; }
.universe-section { border-radius:56px 56px 0 0; }
.universe-art::before { border-radius:46% 46% 36% 36%; }
.delivery-symbol { border-radius:48% 52% 50% 50%; box-shadow:inset 0 0 0 10px rgba(255,255,255,.48), 0 22px 58px rgba(26,24,43,.08); }
.cep-input-wrap { min-height:50px; }
.cep-feedback { border-radius:18px 18px 5px 18px; }
.newsletter-section { position:relative; border-radius:44px 44px 0 0; }
.newsletter-star { border-radius:43% 57% 52% 48%; }
.newsletter-form { padding:0 0 0 16px; }
.site-footer { position:relative; }
.footer-main { align-items:start; }
.footer-disclaimer { font-size:8px; letter-spacing:.07em; }
.acquisition-note { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:26px clamp(22px,3vw,42px); margin:0 0 48px; border:1px solid rgba(236,222,216,.16); border-radius:28px 28px 8px 28px; background:radial-gradient(ellipse at 10% 0%,rgba(125,39,54,.24),transparent 50%),linear-gradient(110deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); }
.acquisition-note > div { min-width:0; }
.acquisition-note .eyebrow { margin:0 0 7px; color:#c5a6a8; font-size:8px; }
.acquisition-note > div > p:not(.eyebrow) { margin:0; color:#f4ece4; font-family:var(--serif); font-size:clamp(21px,2.5vw,32px); }
.acquisition-note > div > span { display:block; margin-top:7px; color:#a7a0a4; font-size:11px; line-height:1.7; }
.acquisition-link { display:inline-flex; align-items:center; justify-content:center; gap:18px; flex:0 0 auto; min-height:44px; padding:0 18px; border:1px solid rgba(239,225,218,.35); color:#f3e9df; font-size:10px; font-weight:700; transition:background .25s,border-color .25s; }
.acquisition-link:hover { background:rgba(255,255,255,.07); border-color:rgba(239,225,218,.65); }
.acquisition-link .inline-arrow { display:inline-flex; }
.acquisition-link .arrow-icon { width:15px; height:15px; }

@media (max-width: 1180px) {
  .main-nav { gap:clamp(8px,1vw,13px); }
  .main-nav a { font-size:9px; }
  .header-main { width:min(100% - 40px,1440px); gap:14px; }
  .brand-wordmark-image { width:95px; }
  .category-card { min-height:330px; }
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .category-card { min-height:300px; border-radius:44% 44% 18px 18px / 22% 22% 18px 18px; }
  .category-card:nth-child(2), .category-card:nth-child(5) { transform:none; }
  .main-nav { gap:9px; }
  .main-nav a { font-size:8px; letter-spacing:0; }
  .acquisition-note { margin-bottom:38px; }
}
@media (max-width: 580px) {
  .prototype-strip { gap:7px; padding-inline:10px; font-size:7px; letter-spacing:.075em; }
  .prototype-strip a { display:none; }
  .header-main { width:calc(100% - 24px); }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .category-card { min-height:290px; border-radius:42% 42% 16px 16px / 19% 19% 16px 16px; }
  .category-card::after { inset:7px; }
  .category-card .category-index { top:16px; font-size:6px; padding:6px 8px; letter-spacing:.09em; }
  .category-content { padding:20px 14px 17px; }
  .category-content strong { font-size:clamp(16px,4.8vw,23px); }
  .category-content > span { font-size:8px; }
  .category-content b.inline-arrow { flex-basis:25px; width:25px; height:25px; }
  .product-toolbar { align-items:flex-start; flex-direction:column; }
  .filter-tabs { gap:7px; }
  .filter-tab { padding:8px 10px; font-size:9px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 11px; }
  .product-visual { aspect-ratio:.78; border-radius:19px 19px 5px 19px; }
  .product-tag { top:9px; left:9px; max-width:calc(100% - 55px); padding:6px 8px; font-size:6px; }
  .product-favorite { top:8px; right:8px; width:31px; height:31px; }
  .product-quick { left:8px; right:8px; bottom:8px; min-height:37px; padding-inline:12px; opacity:1; transform:none; font-size:9px; }
  .product-name-row { display:block; }
  .product-code { display:block; margin-top:3px; }
  .product-name { font-size:10px; }
  .product-description { font-size:9px; min-height:28px; }
  .products-bottom { flex-wrap:wrap; gap:12px; text-align:center; }
  .products-bottom .button { width:100%; }
  .universe-section, .newsletter-section { border-radius:28px 28px 0 0; }
  .acquisition-note { align-items:flex-start; flex-direction:column; gap:18px; padding:23px 19px; border-radius:23px 23px 6px 23px; }
  .acquisition-link { width:100%; justify-content:space-between; }
  .newsletter-form { border-radius:0; padding-left:4px; }
  .site-footer { padding-top:52px; }
}
@media (prefers-reduced-motion: reduce) {
  .category-card, .category-card img, .product-photo, .arrow-icon { transition:none !important; }
  .category-card:nth-child(2), .category-card:nth-child(5) { transform:none; }
}

/* Catalogue controls stay editorial and compact, even with six filters. */
.toolbar-meta { display:flex; align-items:center; justify-content:flex-end; gap:18px; flex:0 0 auto; }
.sort-control { display:flex; align-items:center; gap:9px; color:#7d2736; font-size:9px; font-weight:700; letter-spacing:.06em; white-space:nowrap; }
.sort-control select { max-width:175px; border:1px solid rgba(125,39,54,.2); border-radius:999px; padding:9px 32px 9px 13px; color:#292025; background:#f8f5ef; font:inherit; font-weight:600; letter-spacing:0; cursor:pointer; }
.product-results-count { margin:8px 0 18px; color:#77717a; font-size:9px; letter-spacing:.06em; }
@media (max-width: 860px) {
  .product-toolbar { align-items:flex-start; flex-direction:column; }
  .toolbar-meta { width:100%; justify-content:space-between; }
  .filter-tabs { row-gap:6px; }
}
@media (max-width: 580px) {
  .toolbar-meta { align-items:flex-start; flex-direction:column; gap:10px; }
  .sort-control { width:100%; justify-content:space-between; }
  .sort-control select { width:65%; max-width:none; }
  .product-results-count { margin:6px 0 14px; }
}

/* Final polish: keep newly filtered product cards visible immediately and use tiny, local vector motion. */
.product-card { opacity: 1; transform: none; }
.product-photo { backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.product-favorite { transform-origin: center; }
.product-favorite.favorite-pop { animation: favoritePop .38s cubic-bezier(.18,.82,.25,1.28) both; }
@keyframes favoritePop {
  0% { transform: scale(1); }
  36% { transform: scale(1.18); }
  72% { transform: scale(.94); }
  100% { transform: scale(1); }
}
.favorite-fx {
  position: absolute;
  z-index: 8;
  width: 18px;
  height: 18px;
  display: block;
  pointer-events: none;
  color: #e9d5e8;
  animation: favoriteFxFloat .82s cubic-bezier(.2,.65,.2,1) var(--fx-delay, 0ms) both;
}
.favorite-fx-icon { display: block; width: 100%; height: 100%; overflow: visible; }
.favorite-fx-bats { color: #ddd5f2; width: 17px; height: 17px; }
.favorite-fx-skulls { color: #c88b91; width: 19px; height: 19px; }
.favorite-fx-snake { color: #bdc9a8; width: 28px; height: 28px; }
.favorite-fx-spirits { color: #e3d2df; width: 16px; height: 16px; }
@keyframes favoriteFxFloat {
  0% { opacity: 0; transform: translate(-50%,-35%) scale(.36) rotate(0deg); }
  20% { opacity: .95; transform: translate(-50%,-50%) scale(1.02) rotate(0deg); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--fx-x, 0px)), calc(-50% + var(--fx-y, -42px))) scale(.52) rotate(var(--fx-rotate, 0deg)); }
}
.entry-flight {
  position: fixed;
  z-index: 70;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  contain: layout paint;
}
.entry-bat {
  position: absolute;
  bottom: 0;
  display: block;
  opacity: 0;
  color: rgba(223, 211, 239, .92);
  filter: drop-shadow(0 0 7px rgba(175, 160, 211, .24));
  animation: entryBatFlight 1.95s cubic-bezier(.34,.01,.65,1) both;
  will-change: transform, opacity;
}
.entry-bat-icon { display: block; width: 100%; height: 100%; overflow: visible; }
@keyframes entryBatFlight {
  0% { opacity: 0; transform: translate(-50%, 10vh) scale(.45) rotate(var(--flight-tilt, 0deg)); }
  12% { opacity: .9; }
  38% { opacity: .78; transform: translate(calc(-50% + var(--flight-drift, 0px)), -28vh) scale(.82) rotate(calc(0deg - var(--flight-tilt, 0deg)); }
  72% { opacity: .65; transform: translate(calc(-50% - var(--flight-drift, 0px)), -70vh) scale(.65) rotate(var(--flight-tilt, 0deg)); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--flight-drift, 0px)), -112vh) scale(.42) rotate(0deg); }
}
@media (max-width: 640px) {
  .entry-bat:nth-child(n+4) { display: none; }
  .entry-bat { filter: none; }
  .favorite-fx { width: 14px; height: 14px; }
  .favorite-fx-snake { width: 22px; height: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .entry-flight { display: none !important; }
  .favorite-fx { display: none !important; animation: none !important; }
  .product-favorite.favorite-pop { animation: none !important; }
  .product-card, .product-photo { transition: none !important; }
}
