:root { --paper:#f7f4ef; --ink:#27261f; --olive:#303e34; --muted:#786f62; --line:#dcd4c8; --soft:#ece6dc; --serif:Georgia,"Times New Roman",serif; --sans:Arial,"Segoe UI",sans-serif; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:30px; }
body { margin:0; background:var(--paper); color:var(--ink); font:15px/1.75 var(--sans); }
h1,h2,h3,p,figure { margin-top:0; }
h1,h2,h3 { font-weight:400; line-height:1.2; }
a { color:inherit; text-underline-offset:4px; text-decoration-thickness:1px; }
a,button,label,h1,h2,h3,p,li,dt,dd { overflow-wrap:anywhere; }
img { display:block; width:auto; max-width:100%; height:auto; }
svg { display:block; flex-shrink:0; width:20px; height:20px; }
button,input,select { font:inherit; min-width:0; }
button { cursor:pointer; }
input,select { max-width:100%; }
[hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--olive); outline-offset:4px; }
.container { width:min(calc(100% - 80px),1320px); min-width:0; margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip-path:inset(50%); overflow:hidden; border:0; white-space:nowrap; }
.skip-link { position:absolute; z-index:100; top:10px; left:10px; padding:10px 15px; color:white; background:var(--olive); transform:translateY(-200%); }
.skip-link:focus { transform:translateY(0); }
.site-header { position:relative; z-index:10; border-bottom:1px solid #e6dfd5; background:var(--paper); }
.header-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; min-height:78px; padding-block:10px; }
.brand { display:inline-block; flex-shrink:0; font-family:var(--serif); font-size:34px; font-weight:400; letter-spacing:-.055em; line-height:1.25; color:var(--olive); text-decoration:none; }
.brand span { color:#9b7f56; }
.main-nav { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 28px; margin-inline:auto; min-width:0; }
.main-nav a { padding-block:10px; font-size:13px; text-decoration:none; line-height:1.6; }
.main-nav a:hover,.main-nav a[aria-current=page] { text-decoration:underline; text-underline-offset:7px; color:var(--olive); }
.header-actions { display:flex; align-items:center; gap:8px; }
.icon-button { display:inline-flex; position:relative; flex-shrink:0; align-items:center; justify-content:center; width:44px; min-height:44px; padding:10px; border:0; border-radius:50%; color:var(--olive); background:transparent; text-decoration:none; }
.icon-button:hover { background:#e9e2d7; }
.icon-button svg { width:21px; height:21px; }
.menu-toggle { display:none; }
.favorite-count { position:absolute; top:1px; right:1px; display:grid; place-items:center; min-width:16px; height:16px; padding:2px; border-radius:50%; color:#fff; background:var(--olive); font-size:11px; line-height:1; }
.header-search { padding-block:22px; border-top:1px solid var(--line); background:#ece7df; }
.header-search form { display:flex; align-items:center; gap:14px; max-width:1000px; }
.header-search form>svg { color:var(--muted); }
.header-search input { flex:1 1 auto; width:100%; min-width:0; min-height:48px; padding:12px 15px; border:1px solid #cfc3b2; border-radius:3px; color:var(--ink); background:#fffdf9; font-size:14px; }
.header-search .button { flex-shrink:0; }
.eyebrow { display:block; color:#736147; font:400 11px/1.6 var(--sans); letter-spacing:.16em; text-transform:uppercase; margin:0 0 16px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-width:0; min-height:49px; max-width:100%; padding:12px 24px; border:1px solid var(--olive); border-radius:3px; background:var(--olive); color:#fffdf7; font-size:13px; font-weight:400; line-height:1.5; text-align:center; text-decoration:none; transition:background .2s,color .2s; }
.button:hover { background:#202c24; border-color:#202c24; }
.button svg { width:17px; height:17px; }
.button-light { color:var(--olive); background:transparent; border-color:#b5ad9c; }
.button-light:hover { color:var(--olive); background:#fff9; border-color:var(--olive); }
.text-link,.text-button { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding-block:8px; color:var(--olive); font-size:13px; line-height:1.6; text-decoration:none; }
.text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.text-link svg { width:18px; height:18px; }
.text-button { border:0; background:transparent; cursor:pointer; }
.home-hero { position:relative; min-height:590px; background:#e9dfcc; }
.hero-art { position:absolute; inset:0; }
.hero-art img { width:100%; height:100%; object-fit:cover; object-position:right center; }
.hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f7f4eff2 0%,#f7f4efce 24%,#f7f4ef60 42%,#f7f4ef00 66%); }
.hero-inner { position:relative; z-index:1; padding-block:83px 72px; }
.hero-copy { min-width:0; max-width:570px; }
.hero-copy .eyebrow { color:#786343; margin-bottom:24px; }
.hero-copy h1 { font-family:var(--serif); font-size:clamp(52px,5.4vw,78px); font-weight:400; line-height:1.16; letter-spacing:-.045em; margin:0 0 25px; }
.hero-copy>p { max-width:43ch; color:#6d6253; font-size:15px; line-height:1.85; margin-bottom:30px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.hero-note { display:block; color:#736147; font-size:11px; letter-spacing:.025em; line-height:1.7; margin-top:31px; }
.section { padding-block:65px 28px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:16px 30px; margin-bottom:30px; }
.section-heading>* { min-width:0; }
.section-heading h2 { font-family:var(--serif); font-size:42px; font-weight:400; line-height:1.2; letter-spacing:-.035em; margin:0; }
.section-heading p { max-width:43ch; color:var(--muted); font-size:13px; line-height:1.85; margin:0; }
.section-heading .eyebrow { margin-bottom:12px; }
.section-intro { color:var(--muted); font-size:14px; max-width:65ch; }
.family-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.family-card { display:block; min-width:0; text-decoration:none; }
.family-image { position:relative; width:100%; aspect-ratio:4/3.6; background:#e5decd; }
.family-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.family-card>div:last-child { padding:19px 0 0; }
.family-card .eyebrow { font-size:11px; margin-bottom:8px; }
.family-card h3 { font-family:var(--serif); font-size:31px; font-weight:400; letter-spacing:-.025em; line-height:1.2; margin:0 0 12px; }
.family-card p { color:var(--muted); font-size:12px; line-height:1.8; margin-bottom:7px; }
.family-card .text-link { font-size:12px; }
.family-card:hover h3 { color:var(--olive); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; }
.selection-section { padding-block:65px 20px; }
.selection-form { background:#ebe6dc; padding:34px 38px; }
.selection-progress { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; color:#736147; font-size:11px; line-height:1.5; text-transform:uppercase; letter-spacing:.12em; }
.selection-progress>div { display:flex; gap:6px; }
.selection-progress i { width:28px; height:2px; background:#cec4b3; }
.selection-progress i.is-active { background:var(--olive); }
.selection-form fieldset { min-width:0; padding:0; margin:0; border:0; }
.selection-form legend { padding:0; margin-bottom:24px; font-family:var(--serif); font-size:31px; line-height:1.2; letter-spacing:-.025em; }
.selection-form fieldset>p { color:var(--muted); font-size:13px; line-height:1.8; margin-bottom:20px; }
.selection-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:13px; }
.selection-options label { display:flex; align-items:flex-start; gap:11px; min-width:0; min-height:75px; padding:18px 16px; border:1px solid #cfc4b0; border-radius:2px; background:#f9f6ef8c; color:#5b564c; font-size:13px; line-height:1.65; cursor:pointer; }
.selection-options label:has(input:checked) { border-color:var(--olive); color:var(--olive); background:#fffdf7; }
.selection-options input { flex-shrink:0; width:17px; height:17px; margin:3px 0 0; accent-color:var(--olive); }
.selection-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:26px; }
.selection-actions>.button { margin-left:auto; }
.selection-feedback { color:#855c35; font-size:12px; margin:12px 0 0; }
.fragrance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 22px; }
.section>.fragrance-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fragrance-card { min-width:0; position:relative; }
.card-link { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.card-image { position:relative; display:grid; place-items:center; width:100%; aspect-ratio:4/5; border-radius:2px; background:#ede8df; }
.card-image img { width:100%; height:100%; object-fit:contain; padding:20px; }
.card-image-editorial img { object-fit:cover; padding:0; }
.card-image-editorial::after { content:"Иллюстрация семейства"; position:absolute; left:10px; bottom:10px; max-width:calc(100% - 20px); padding:4px 7px; background:#fffdf5c4; color:#766746; font-size:11px; line-height:1.4; }
.image-fallback { padding:20px; text-align:center; color:#736147; font-family:var(--serif); font-size:28px; }
.card-copy { min-width:0; padding-top:16px; }
.card-kicker { display:block; margin-bottom:8px; color:#736147; font-size:11px; line-height:1.6; text-transform:uppercase; letter-spacing:.09em; }
.card-brand { display:block; color:#665a45; font-size:11px; line-height:1.6; text-transform:uppercase; letter-spacing:.08em; margin-bottom:5px; }
.card-copy h3 { font-family:var(--serif); font-size:24px; font-weight:400; line-height:1.2; letter-spacing:-.02em; margin:0 0 7px; }
.card-copy p { color:#736147; font-size:12px; line-height:1.7; margin:0; }
.card-price { color:var(--olive); font-size:15px; font-weight:600; line-height:1.6; margin-top:10px; }
.card-link:hover h3 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.favorite-button { position:absolute; top:8px; right:8px; display:grid; place-items:center; width:40px; min-height:40px; border:0; border-radius:50%; color:var(--olive); background:#fffdf7de; }
.favorite-button svg { width:19px; height:19px; }
.favorite-button[aria-pressed=true] svg,.detail-favorite[aria-pressed=true] svg { fill:currentColor; }
.favorite-button:hover { background:#fffdf8; }
.guide-section { padding-block:68px 50px; }
.guide-section-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:65px; align-items:center; margin-bottom:45px; }
.guide-section-intro>* { min-width:0; }
.guide-section-intro h2 { font-family:var(--serif); font-size:52px; line-height:1.2; letter-spacing:-.035em; font-weight:400; margin:0 0 22px; }
.guide-section-intro p { color:var(--muted); max-width:46ch; font-size:14px; line-height:1.85; margin-bottom:0; }
.guide-section-image { position:relative; aspect-ratio:16/10; background:#e4dccb; }
.guide-section-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.guide-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.guide-card { min-width:0; display:flex; flex-direction:column; border-top:1px solid #cabca5; padding-top:23px; text-decoration:none; }
.guide-number { color:#736147; font-family:var(--serif); font-size:17px; line-height:1.5; margin-bottom:17px; }
.guide-card h3 { font-family:var(--serif); font-size:27px; font-weight:400; line-height:1.2; letter-spacing:-.025em; margin:0 0 15px; }
.guide-card p { color:var(--muted); font-size:12px; line-height:1.85; margin-bottom:14px; }
.guide-card .text-link { align-self:flex-start; margin-top:auto; font-size:12px; }
.guide-card:hover { border-color:var(--olive); }
.how-section { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr); gap:70px; padding-block:58px 70px; border-top:1px solid var(--line); }
.how-section>* { min-width:0; }
.how-section h2 { font-family:var(--serif); font-size:42px; font-weight:400; line-height:1.2; letter-spacing:-.03em; margin:0; }
.how-section ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; list-style:none; padding:0; margin:0; }
.how-section li { min-width:0; }
.how-section li>span { color:#736147; font-size:11px; line-height:1.5; letter-spacing:.1em; }
.how-section h3 { font-family:var(--serif); font-size:24px; font-weight:400; line-height:1.2; letter-spacing:-.025em; margin:20px 0 13px; }
.how-section p { color:var(--muted); font-size:12px; line-height:1.85; margin:0; }
.breadcrumbs { color:#736147; font-size:11px; line-height:1.6; margin-top:24px; }
.breadcrumbs ol { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 8px; list-style:none; padding:0; margin:0; }
.breadcrumbs li { min-width:0; }
.breadcrumbs li+li::before { content:"/"; margin-right:8px; color:#bdaf9a; }
.breadcrumbs a { text-decoration:none; }
.breadcrumbs a:hover { color:var(--olive); text-decoration:underline; }
.page-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.65fr); align-items:center; gap:60px; padding-block:47px 40px; }
.page-heading:not(:has(.page-visual)) { grid-template-columns:1fr; }
.page-heading>* { min-width:0; }
.page-heading h1 { font-family:var(--serif); font-size:clamp(40px,4.1vw,62px); font-weight:400; line-height:1.2; letter-spacing:-.045em; margin:0 0 20px; }
.page-heading p { color:var(--muted); font-size:14px; line-height:1.85; max-width:61ch; margin:0; }
.page-visual { position:relative; aspect-ratio:16/10; background:#e5ddcb; }
.page-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.catalogue { padding-bottom:64px; }
.catalogue-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:44px; align-items:start; }
.catalogue-sidebar,.catalogue-results { min-width:0; }
.filter-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:24px; }
.filter-heading h2 { font-family:var(--serif); font-size:26px; font-weight:400; line-height:1.2; letter-spacing:-.025em; margin:0; }
.filter-close,.filter-open,.filter-apply,.filter-backdrop { display:none; }
.filter-form { display:flex; flex-direction:column; min-width:0; border-top:1px solid var(--line); padding-top:23px; }
.control { display:flex; flex-direction:column; gap:7px; min-width:0; color:#736147; font-size:11px; line-height:1.5; margin-bottom:18px; }
.control input,.control select { width:100%; min-width:0; min-height:46px; padding:11px 11px; border:1px solid #cfc3ad; border-radius:2px; color:#403c31; background:#fffdf7; font-size:13px; line-height:1.6; }
.control input::placeholder { color:#736147; opacity:1; }
.reset-button { display:inline-flex; align-items:center; align-self:flex-start; min-height:40px; padding:7px 0; border:0; color:var(--olive); background:transparent; font-size:11px; line-height:1.6; text-decoration:underline; text-underline-offset:4px; }
.sidebar-help { border-top:1px solid var(--line); padding-top:23px; margin-top:23px; }
.sidebar-help .eyebrow { font-size:11px; margin-bottom:10px; }
.sidebar-help a { display:inline-flex; align-items:center; gap:10px; min-height:40px; font-size:12px; text-decoration:none; color:var(--olive); }
.sidebar-help a:hover { text-decoration:underline; }
.catalogue-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 23px; margin-bottom:24px; }
.catalogue-toolbar>p { color:#736147; font-size:11px; line-height:1.6; margin:0; }
.sort-control { display:flex; align-items:center; gap:9px; min-width:0; max-width:100%; }
.sort-control>span { color:#736147; font-size:11px; line-height:1.6; }
.sort-control select { min-width:0; max-width:100%; min-height:43px; padding:9px 28px 9px 8px; border:0; border-bottom:1px solid #c6b89e; color:var(--olive); background:transparent; font-size:12px; line-height:1.6; }
.active-filters { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:21px; }
.filter-chip { display:inline-flex; align-items:center; gap:10px; min-width:0; max-width:100%; min-height:38px; padding:7px 10px; border:1px solid #cfc1a9; border-radius:2px; background:#ede6d8; color:#71603f; font-size:12px; line-height:1.6; text-align:left; }
.filter-chip>span:last-child { flex-shrink:0; color:var(--olive); font-size:17px; line-height:1; }
.filter-chip:hover { border-color:var(--olive); }
.filter-open [data-filter-count] { display:inline-grid; place-items:center; min-width:18px; height:18px; padding:1px 4px; border-radius:50%; color:white; background:var(--olive); font-size:11px; line-height:1; }
.catalogue-empty { padding:37px 0; border-top:1px solid var(--line); }
.catalogue-empty h2 { font-family:var(--serif); font-size:37px; font-weight:400; line-height:1.2; letter-spacing:-.03em; max-width:21ch; margin:0 0 20px; }
.catalogue-empty p { max-width:62ch; color:var(--muted); font-size:14px; line-height:1.85; margin-bottom:25px; }
.load-more { display:flex; justify-content:center; margin-top:35px; }
.brand-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 35px; }
.brand-grid a { display:flex; align-items:center; justify-content:space-between; gap:20px; min-width:0; min-height:79px; padding:20px 0; border-top:1px solid #c8b99d; color:var(--olive); font-family:var(--serif); font-size:26px; line-height:1.3; letter-spacing:-.02em; text-decoration:none; }
.brand-grid a:hover { color:#756140; }
.fragrance-detail { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1fr); gap:76px; align-items:start; padding-block:37px 45px; }
.detail-image { min-width:0; position:relative; display:grid; place-items:center; background:#ede8df; aspect-ratio:4/5; }
.detail-image img { width:100%; height:100%; object-fit:contain; padding:35px; }
.detail-image.card-image-editorial img { padding:0; object-fit:cover; }
.detail-copy { min-width:0; padding-top:7px; }
.detail-copy h1 { font-family:var(--serif); font-size:clamp(36px,3.6vw,53px); font-weight:400; line-height:1.2; letter-spacing:-.035em; margin:0 0 17px; }
.detail-version { color:#736147; font-size:13px; line-height:1.75; margin-bottom:24px; }
.detail-tags { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:23px; }
.detail-tags a { min-width:0; min-height:33px; padding:6px 10px; border:1px solid #cbbb9e; border-radius:2px; color:#7a6745; font-size:11px; line-height:1.8; text-decoration:none; }
.detail-tags a:hover { border-color:var(--olive); }
.detail-favorite { margin-bottom:27px; }
.fragrance-description h2 { font-family:var(--serif); font-size:27px; font-weight:400; line-height:1.2; letter-spacing:-.025em; margin:0 0 14px; }
.fragrance-description p { color:#756956; font-size:14px; line-height:1.95; margin-bottom:25px; }
.notes { margin:27px 0; border-top:1px solid #cfc2aa; }
.notes>div { display:grid; grid-template-columns:125px minmax(0,1fr); gap:18px; padding-block:12px; border-bottom:1px solid #ded2ba; }
.notes dt { color:#736147; font-size:11px; line-height:1.75; }
.notes dd { color:#5d523f; font-size:13px; line-height:1.8; margin:0; }
.selection-tip { background:#e9e2d4; padding:21px 23px; margin-bottom:23px; }
.selection-tip .eyebrow { font-size:11px; margin-bottom:10px; }
.selection-tip p { color:#706143; font-size:13px; line-height:1.85; margin:0; }
.source-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding-block:8px; color:#736147; font-size:11px; line-height:1.7; text-decoration:none; }
.source-link svg { width:15px; height:15px; }
.source-link:hover { text-decoration:underline; }
.detail-lower { padding-bottom:65px; }
.store-pending { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px 40px; border-top:1px solid var(--line); padding-block:28px; }
.store-pending p { max-width:55ch; color:var(--muted); font-size:13px; line-height:1.85; margin:0; }
.store-pending .button { font-size:12px; }
.offers { margin-block:16px 35px; }
.offer-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:25px; padding-block:24px; border-top:1px solid var(--line); }
.offer-row>div { min-width:0; }
.offer-row .eyebrow { font-size:11px; margin-bottom:8px; }
.offer-row h3 { font-family:var(--serif); font-size:26px; font-weight:400; line-height:1.2; margin:0 0 10px; }
.offer-row p { color:var(--muted); font-size:12px; margin:0; }
.offer-row>strong { color:var(--olive); font-size:20px; line-height:1.5; font-weight:400; }
.detail-price { color:var(--olive); font-family:var(--serif); font-size:34px; line-height:1.5; margin-block:23px; }
.detail-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-block:23px; }
.muted { color:var(--muted); font-size:12px; line-height:1.8; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 240px; align-items:start; gap:80px; padding-bottom:65px; }
.article { min-width:0; max-width:800px; }
.article-chapter { margin-top:28px; padding-top:27px; border-top:1px solid var(--line); scroll-margin-top:30px; }
.article-chapter:first-child { margin-top:0; }
.article-chapter h2 { font-family:var(--serif); font-size:36px; font-weight:400; line-height:1.2; letter-spacing:-.03em; margin:0 0 20px; }
.article-chapter p,.article-chapter li { color:#756956; font-size:15px; line-height:1.95; margin-bottom:17px; }
.article-chapter ul { padding-left:23px; }
.article-toc { min-width:0; border-top:1px solid #c5b492; padding-top:22px; }
.article-toc h2 { font-size:12px; font-weight:400; line-height:1.6; margin-bottom:19px; }
.article-toc a { display:block; color:#736147; font-size:12px; line-height:1.8; text-decoration:none; margin-bottom:13px; }
.article-toc a:hover { color:var(--olive); text-decoration:underline; }
.article>.button { margin-top:23px; }
.simple-article { margin-inline:auto; padding-bottom:65px; }
.not-found-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding-bottom:85px; }
.site-footer { padding-top:54px; border-top:1px solid #d0c5b2; background:#e9e3d7; }
.footer-grid { display:grid; grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)); gap:40px; }
.footer-grid>div { min-width:0; }
.footer-grid p { color:#736147; font-size:12px; line-height:1.9; margin:21px 0 0; }
.footer-grid h2 { font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:.13em; line-height:1.6; margin:0 0 20px; color:#665233; }
.footer-grid nav { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.footer-grid nav a { color:#7c6947; font-size:12px; line-height:1.7; text-decoration:none; }
.footer-grid nav a:hover { color:var(--olive); text-decoration:underline; }
.footer-bottom { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px 25px; border-top:1px solid #cfbfa4; padding-block:21px; margin-top:43px; color:#736147; font-size:11px; line-height:1.7; }
.footer-bottom p { margin:0; }
.toast { position:fixed; z-index:70; inset:auto 18px 18px auto; width:fit-content; max-width:min(390px,calc(100% - 36px)); padding:12px 17px; color:#fffdf7; background:var(--olive); border-radius:3px; font-size:12px; line-height:1.75; }
@media (max-width:1200px) {
 .main-nav { gap:8px 22px; }
 .header-inner { gap:12px 20px; }
 .catalogue-layout { grid-template-columns:200px minmax(0,1fr); gap:30px; }
 .fragrance-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:29px 18px; }
 .card-copy h3 { font-size:23px; }
 .selection-options { gap:10px; }
 .selection-options label { padding:16px 12px; }
 .fragrance-detail { gap:50px; }
 .how-section { gap:40px; }
 .how-section ol { gap:20px; }
 .article-layout { gap:55px; }
}
@media (max-width:900px) {
 .container { width:calc(100% - 56px); }
 .header-inner { min-height:72px; gap:0 20px; }
 .brand { font-size:31px; }
 .main-nav { order:3; flex-basis:100%; justify-content:flex-start; padding-block:9px; border-top:1px solid var(--line); }
 .ready .main-nav { display:none; }
 .ready .main-nav.is-open { display:flex; }
 .ready .menu-toggle { display:inline-flex; }
 .header-actions { margin-left:auto; gap:2px; }
 .home-hero { min-height:540px; }
 .hero-inner { padding-block:67px; }
 .hero-copy { max-width:480px; }
 .hero-copy h1 { font-size:64px; }
 .hero-art::after { background:linear-gradient(90deg,#f7f4eff2 0%,#f7f4efc9 34%,#f7f4ef00 82%); }
 .family-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 23px; }
 .family-image { aspect-ratio:4/3; }
 .section { padding-block:48px 24px; }
 .section-heading h2 { font-size:38px; }
 .selection-section { padding-top:48px; }
 .selection-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .selection-options label { min-height:68px; }
 .selection-form { padding:30px; }
 .guide-section-intro { gap:35px; }
 .guide-section-intro h2 { font-size:43px; }
 .guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
 .how-section { grid-template-columns:1fr; gap:30px; }
 .how-section h2 br { display:none; }
 .page-heading { gap:35px; }
 .page-heading h1 { font-size:45px; }
 .catalogue-layout { grid-template-columns:1fr; gap:20px; }
 .ready .catalogue-sidebar { display:contents; }
 .ready .filter-drawer { display:none; position:fixed; z-index:51; inset:0 0 0 auto; width:min(420px,100%); height:100vh; height:100dvh; padding:24px; background:var(--paper); overflow-y:auto; overscroll-behavior:contain; }
 .ready body.filters-open .filter-drawer { display:flex; flex-direction:column; }
 .ready body.filters-open { overflow:hidden; }
 .ready body.filters-open .filter-backdrop { display:block; position:fixed; z-index:50; inset:0; padding:0; border:0; background:#28362e48; }
 .ready .filter-open,.ready .filter-close,.ready .filter-apply { display:inline-flex; }
 .ready .filter-apply { width:100%; margin:2px 0 9px; }
 .ready .filter-form { border:0; padding:0; }
 .filter-heading { margin-bottom:22px; }
 .filter-heading h2 { font-size:29px; }
 .filter-heading .icon-button { border-radius:0; }
 .fragrance-detail { gap:32px; }
 .detail-copy h1 { font-size:39px; }
 .detail-image img { padding:22px; }
 .notes>div { grid-template-columns:105px minmax(0,1fr); gap:14px; }
 .offer-row { grid-template-columns:minmax(0,1fr) auto; gap:16px; }
 .offer-row>.button { grid-column:1/-1; justify-self:start; }
 .article-layout { grid-template-columns:1fr; gap:30px; }
 .article-toc { order:-1; display:flex; flex-wrap:wrap; gap:8px 23px; }
 .article-toc h2 { flex-basis:100%; margin-bottom:8px; }
 .article-toc a { margin:0; }
 .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
 .footer-grid>div:first-child { grid-column:1/-1; }
}
@media (max-width:650px) {
 .container { width:calc(100% - 36px); }
 .header-inner { min-height:70px; }
 .brand { font-size:29px; }
 .header-actions { gap:0; }
 .icon-button { width:39px; min-height:44px; padding:10px; }
 .main-nav { flex-direction:column; align-items:stretch; gap:0; }
 .main-nav a { min-height:44px; }
 .header-search form { gap:8px; }
 .header-search form>svg { display:none; }
 .header-search input { font-size:13px; }
 .header-search .button { padding-inline:17px; font-size:12px; }
 .home-hero { display:flex; flex-direction:column; min-height:0; background:var(--paper); }
 .hero-inner { order:1; padding-block:42px 32px; }
 .hero-copy { max-width:100%; }
 .hero-copy h1 { font-size:clamp(49px,12.7vw,69px); line-height:1.16; margin-bottom:23px; }
 .hero-copy .eyebrow { font-size:11px; max-width:36ch; margin-bottom:20px; }
 .hero-copy>p { font-size:14px; line-height:1.9; max-width:45ch; margin-bottom:26px; }
 .hero-actions { gap:10px; }
 .button { padding-inline:21px; font-size:12px; }
 .hero-note { font-size:11px; margin-top:25px; }
 .hero-art { position:relative; order:2; height:290px; }
 .hero-art img { object-position:75% center; }
 .hero-art::after { background:none; }
 .section { padding-block:36px 14px; }
 .section-heading { gap:14px; margin-bottom:25px; }
 .section-heading h2 { font-size:34px; }
 .section-heading .eyebrow { font-size:11px; }
 .section-heading p { font-size:12px; }
 .family-grid { gap:27px 13px; }
 .family-image { aspect-ratio:4/4.1; }
 .family-card h3 { font-size:27px; }
 .family-card .eyebrow { font-size:11px; }
 .family-card p { font-size:11px; }
 .family-card .text-link { font-size:11px; }
 .selection-section { padding-top:37px; }
 .selection-form { padding:25px 22px; }
 .selection-form legend { font-size:27px; margin-bottom:22px; }
 .selection-progress { gap:13px; margin-bottom:24px; font-size:11px; }
 .selection-progress i { width:21px; }
 .selection-options { grid-template-columns:1fr; gap:10px; }
 .selection-options label { min-height:58px; font-size:12px; padding:16px; }
 .selection-actions { margin-top:24px; }
 .fragrance-grid,.section>.fragrance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 12px; }
 .card-image img { padding:14px; }
 .card-image-editorial img { padding:0; }
 .card-copy { padding-top:13px; }
 .card-kicker { font-size:11px; line-height:1.75; letter-spacing:.055em; margin-bottom:7px; }
 .card-brand { font-size:11px; line-height:1.7; }
 .card-copy h3 { font-size:21px; line-height:1.2; }
 .card-copy p { font-size:12px; line-height:1.7; }
 .card-price { font-size:13px; }
 .favorite-button { width:36px; min-height:36px; top:5px; right:5px; }
 .favorite-button svg { width:17px; height:17px; }
 .guide-section { padding-block:44px 37px; }
 .guide-section-intro { grid-template-columns:1fr; gap:25px; margin-bottom:33px; }
 .guide-section-intro h2 { font-size:39px; }
 .guide-section-intro p { font-size:13px; }
 .guide-grid { grid-template-columns:1fr; gap:29px; }
 .guide-card { padding-top:19px; }
 .guide-card h3 { font-size:29px; }
 .guide-card p { font-size:13px; }
 .guide-number { margin-bottom:14px; }
 .how-section { padding-block:35px 44px; }
 .how-section h2 { font-size:36px; }
 .how-section ol { grid-template-columns:1fr; gap:27px; }
 .how-section h3 { margin-top:13px; margin-bottom:12px; font-size:27px; }
 .how-section p { font-size:13px; }
 .breadcrumbs { margin-top:21px; font-size:11px; }
 .page-heading { grid-template-columns:1fr; gap:27px; padding-block:31px 32px; }
 .page-heading h1 { font-size:clamp(36px,10vw,43px); }
 .page-heading p { font-size:13px; line-height:1.85; }
 .page-heading .eyebrow { font-size:11px; }
 .page-visual { aspect-ratio:16/9; }
 .catalogue { padding-bottom:42px; }
 .catalogue-toolbar { gap:12px; margin-bottom:20px; }
 .catalogue-toolbar>p { font-size:12px; }
 .sort-control { width:100%; justify-content:space-between; flex-wrap:wrap; gap:4px; }
 .sort-control select { max-width:75%; font-size:13px; }
 .sort-control>span { font-size:12px; }
 .control input,.control select { font-size:14px; }
 .catalogue-empty h2 { font-size:32px; }
 .catalogue-empty p { font-size:13px; }
 .brand-grid { grid-template-columns:1fr; gap:0; }
 .brand-grid a { min-height:75px; font-size:28px; }
 .fragrance-detail { grid-template-columns:1fr; gap:27px; padding-block:29px 30px; }
 .detail-image { aspect-ratio:4/4.8; }
 .detail-image img { padding:25px; }
 .detail-copy h1 { font-size:40px; }
 .detail-copy .eyebrow { font-size:11px; }
 .detail-version { font-size:13px; }
 .fragrance-description h2 { font-size:28px; }
 .fragrance-description p { font-size:14px; line-height:1.9; }
 .notes>div { grid-template-columns:95px minmax(0,1fr); gap:14px; }
 .notes dt { font-size:11px; }
 .notes dd { font-size:12px; }
 .selection-tip p { font-size:13px; }
 .detail-lower { padding-bottom:40px; }
 .store-pending { gap:22px; padding-block:25px; }
 .store-pending .button { width:100%; }
 .offer-row { grid-template-columns:1fr; gap:15px; }
 .offer-row h3 { font-size:27px; }
 .offer-row>.button { grid-column:auto; width:100%; }
 .article-layout { gap:25px; padding-bottom:43px; }
 .article-toc { flex-direction:column; align-items:flex-start; gap:12px; }
 .article-toc h2 { flex-basis:auto; }
 .article-chapter h2 { font-size:31px; }
 .article-chapter p,.article-chapter li { font-size:14px; line-height:1.95; }
 .simple-article { padding-bottom:43px; }
 .not-found-actions { padding-bottom:50px; }
 .site-footer { padding-top:37px; }
 .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:29px 20px; }
 .footer-grid>div:last-child { grid-column:1/-1; }
 .footer-grid .brand { font-size:30px; }
 .footer-grid p { font-size:12px; }
 .footer-grid h2 { font-size:11px; margin-bottom:17px; }
 .footer-grid nav a { font-size:12px; }
 .footer-bottom { margin-top:31px; padding-block:18px; }
 .footer-bottom p { max-width:40ch; }
}
@media (max-width:359px) {
 .brand { font-size:26px; }
 .icon-button { width:37px; }
 .hero-copy h1 { font-size:47px; }
 .hero-actions .button { padding-inline:17px; }
 .family-card h3 { font-size:25px; }
 .card-copy h3 { font-size:20px; }
 .sort-control>span { flex-basis:100%; }
 .sort-control select { width:100%; max-width:100%; }
 .selection-form { padding-inline:19px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
