:root {
  color-scheme: light;
  --page: #f3f0e9; --surface: #faf8f3; --paper: #e9e4da;
  --ink: #262722; --muted: #7e7d74; --line: rgba(38,39,34,.14);
  --accent: #a7885c; --accent-light: #ceb38a; --ease: cubic-bezier(.2,.7,.2,1);
  --shadow: 0 22px 56px rgba(41,34,24,.2),0 4px 12px rgba(41,34,24,.1);
  --shadow-card-rest: 0 3px 9px rgba(37,31,22,.1),0 14px 32px rgba(37,31,22,.12);
  --shadow-card-hover: 0 6px 15px rgba(37,31,22,.12),0 24px 58px rgba(37,31,22,.24),0 3px 8px rgba(167,136,92,.14);
}
:root[data-theme="dark"] {
  color-scheme: dark; --page:#191b19; --surface:#222522; --paper:#2d302b;
  --ink:#f0eee8; --muted:#aaa99f; --line:rgba(240,238,232,.14);
  --accent:#c4a477; --accent-light:#dfc49a;
  --shadow:0 24px 58px rgba(0,0,0,.4),0 5px 14px rgba(0,0,0,.26);
  --shadow-card-rest:0 5px 12px rgba(0,0,0,.22),0 18px 38px rgba(0,0,0,.22);
  --shadow-card-hover:0 8px 18px rgba(0,0,0,.3),0 25px 60px rgba(0,0,0,.42),0 0 0 1px rgba(196,164,119,.14);
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:100px }
body { margin:0; background:var(--page); color:var(--ink); font:14px/1.55 Arial,sans-serif; transition:background .35s,color .35s }
a { color:inherit; text-decoration:none }
button,select { color:inherit; font:inherit }
button { cursor:pointer }
.wrap { width:min(1240px,calc(100% - 64px)); margin-inline:auto }
.demo-ribbon { min-height:25px; display:flex; justify-content:center; align-items:center; padding:3px 8px; background:#292b27; color:#eee9dd; font-size:9px; font-weight:600; letter-spacing:.13em; text-align:center }
.prototype-switch { display:inline-flex; gap:11px; margin:0 10px; letter-spacing:.07em }
.prototype-switch a { color:rgba(238,233,221,.72); text-decoration:none; transition:color .2s }
.prototype-switch a:hover,.prototype-switch a.current { color:#e5c99c }
.site-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:16px max(32px,calc((100vw - 1240px)/2)); border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--page) 91%,transparent); backdrop-filter:blur(18px) }
.brand { display:flex; align-items:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:.14em; line-height:1.1; white-space:nowrap }
.brand small { display:block; margin-top:5px; color:var(--muted); font-size:8px; font-weight:500; letter-spacing:.16em }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--accent); border-radius:50%; color:var(--accent); font:22px Georgia,serif }
.header-city-picker { display:flex; align-items:center; gap:7px; min-width:0; color:var(--accent); white-space:nowrap }
.header-city-picker:before { content:"⌖"; font-size:17px; line-height:1 }
.header-city-picker select { max-width:150px; padding:8px 23px 8px 2px; border:0; appearance:none; background:transparent; color:var(--ink); font-size:12px; font-weight:600; cursor:pointer }
.header-city-picker { position:relative }
.main-nav,.header-actions { display:flex; align-items:center }
.main-nav { gap:30px; color:var(--muted); font-size:12px }
.main-nav a { position:relative; padding:9px 0; transition:color .2s }
.main-nav a:hover,.main-nav a.active { color:var(--ink) }
.main-nav a:after { position:absolute; bottom:1px; left:0; width:0; height:1px; background:var(--accent); content:""; transition:width .25s var(--ease) }
.main-nav a:hover:after,.main-nav a.active:after { width:100% }
.header-actions { gap:10px }
.icon-button,.menu-toggle { position:relative; width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:transparent; transition:all .25s var(--ease) }
.icon-button:hover,.menu-toggle:hover { border-color:var(--accent); color:var(--accent); transform:translateY(-2px); box-shadow:0 5px 20px rgba(167,136,92,.25) }
.theme-glyph { font-size:18px }
.cart-link { font-size:17px }
.cart-count { position:absolute; top:-5px; right:-5px; min-width:16px; height:16px; display:grid; place-items:center; padding:0 4px; border-radius:20px; background:var(--accent); color:white; font-size:9px }
.menu-toggle { display:none }
.eyebrow { color:var(--accent); font-size:9px; font-weight:700; letter-spacing:.18em }
h1,h2,h3,p { margin-top:0 }
h1,h2 { font-weight:500; letter-spacing:-.04em; line-height:1.06 }
h1,h2 { font-size:clamp(36px,5vw,62px) }
h1 em,h2 em,blockquote em { color:var(--accent-light); font-family:Georgia,serif; font-weight:400 }
.hero { position:relative; display:grid; grid-template-columns:.82fr 1.18fr; min-height:570px; margin-top:22px; overflow:hidden; background:#292b27; color:#f5f1e7 }
.hero-copy { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:60px 34px 72px 7%; background:linear-gradient(110deg,#252722 82%,rgba(37,39,34,.84)) }
.hero h1 { margin:22px 0 18px; font-size:clamp(46px,4.6vw,60px) }
.hero-copy>p { max-width:360px; margin-bottom:27px; color:rgba(245,241,231,.72); font-size:14px; line-height:1.8 }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px }
.button { position:relative; min-height:49px; display:inline-flex; justify-content:center; align-items:center; gap:20px; overflow:hidden; padding:0 21px; border:1px solid transparent; border-radius:4px; font-size:11px; font-weight:600; letter-spacing:.035em; transition:transform .25s var(--ease),box-shadow .3s,background .3s,color .3s,border-color .3s }
.button:before { position:absolute; top:-40%; left:-60%; width:35%; height:180%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent); content:""; transform:rotate(20deg); transition:left .65s var(--ease) }
.button:hover:before { left:140% }
.button:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(18,20,17,.25) }
.button span { font-size:16px; transition:transform .25s }
.button:hover span { transform:translate(3px,-2px) }
.button-light { background:#eee8db; color:#252722 }
.button-dark { background:var(--ink); color:var(--page) }
:root[data-theme="dark"] .button-dark { background:#e9e5dc; color:#20221f }
.button-outline { border-color:var(--line); background:transparent }
.button-outline:hover { border-color:var(--accent); color:var(--accent) }
.text-link { display:inline-flex; align-items:center; gap:10px; color:var(--accent); font-size:11px; font-weight:600; transition:gap .25s }
.text-link:hover { gap:16px }
.hero-note { color:#e4dccb }
.hero-foot { position:absolute; right:30px; bottom:25px; left:7%; display:flex; align-items:center; gap:13px; color:rgba(245,241,231,.56); font-size:8px; letter-spacing:.17em }
.hero-progress { width:76px; height:1px; background:rgba(255,255,255,.28) }
.hero-progress i { display:block; width:42%; height:1px; background:#d8c49f }
.hero-image { position:relative; min-height:570px; background:linear-gradient(90deg,rgba(24,26,23,.22),transparent 32%),url('../images/interior-evening-hero.webp') 52% 50%/cover }
.image-label { position:absolute; right:25px; bottom:26px; z-index:3; display:flex; padding:15px 20px; border:1px solid rgba(255,255,255,.24); background:linear-gradient(135deg,rgba(27,28,25,.82),rgba(27,28,25,.57)); color:white; box-shadow:0 15px 38px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.12); backdrop-filter:blur(14px) saturate(1.18); transform:translateZ(24px) }
.image-label strong { font:500 24px/1.15 Georgia,serif; letter-spacing:.005em; text-shadow:0 2px 3px rgba(0,0,0,.58),0 8px 24px rgba(0,0,0,.46) }
.image-caption { position:absolute; top:25px; right:27px; color:white; text-shadow:0 1px 8px #222 }
.hero-side-note { position:absolute; top:43%; right:18px; z-index:2; color:rgba(255,255,255,.68); font-size:8px; letter-spacing:.16em; line-height:1.7; writing-mode:vertical-rl }
.hero-side-note span { color:#e5c99c; font-size:17px }
.trust-strip { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:25px 4px; border-bottom:1px solid var(--line); color:var(--muted); font-size:8px; font-weight:600; letter-spacing:.15em }
.trust-dot { color:var(--accent); font-size:14px }
.section { padding-top:95px; padding-bottom:28px }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:30px }
.section-heading h2 { margin:12px 0 0; font-size:clamp(33px,4vw,49px) }
.section-heading h2 em { color:var(--accent); font-size:.88em }
.round-link,.arrow-circle { width:43px; height:43px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--accent); transition:all .3s var(--ease) }
.round-link:hover,.category-card:hover .arrow-circle { background:var(--accent); color:white; transform:rotate(45deg); box-shadow:0 8px 20px rgba(167,136,92,.25) }
.category-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; grid-template-rows:250px 250px; gap:14px }
.category-card { position:relative; min-width:0; overflow:hidden; background:#d7d0c2; box-shadow:var(--shadow-card-rest); opacity:0; transform:translateY(18px); transform-style:preserve-3d; transition:opacity .7s,transform .7s var(--ease),box-shadow .4s }
.category-card.is-visible { opacity:1; transform:none }
.category-large { grid-row:span 2 }
.category-art { position:absolute; inset:0; background:center/cover; transition:transform .7s var(--ease),filter .5s }
.category-card:hover .category-art { transform:scale(1.045); filter:saturate(1.06) }
.category-art:after { position:absolute; inset:24% 0 0; background:linear-gradient(0deg,rgba(14,15,13,.84) 0%,rgba(14,15,13,.48) 37%,rgba(14,15,13,.08) 68%,transparent 100%); content:"" }
.art-living { background-image:url('../images/interior-evening-hero.webp'); background-position:57% 48% }
.art-bedroom { background-image:url('../images/bedroom-sconce.webp'); background-position:58% 48% }
.art-kitchen { background-image:url('../images/kitchen-pendant.webp'); background-position:56% 42% }
.art-kids { background-image:url('../images/kids-room-light.webp'); background-position:52% 36% }
.category-index { position:absolute; top:18px; left:19px; z-index:2; padding:8px 11px; border:1px solid rgba(255,255,255,.32); border-radius:2px; background:linear-gradient(135deg,rgba(25,26,23,.78),rgba(25,26,23,.52)); color:#fff; box-shadow:0 8px 22px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.16); backdrop-filter:blur(10px); font-size:9px; font-weight:700; letter-spacing:.15em; text-shadow:0 1px 5px rgba(0,0,0,.72); transform:translateZ(24px) }
.category-meta { position:absolute; right:20px; bottom:18px; left:20px; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; color:white; transform:translateZ(28px) }
.category-meta h3 { margin:0; font-size:clamp(25px,2.1vw,30px); font-weight:500; letter-spacing:-.025em; text-shadow:0 2px 3px rgba(0,0,0,.76),0 7px 22px rgba(0,0,0,.64),0 0 1px rgba(0,0,0,.9); -webkit-text-stroke:.18px rgba(255,255,255,.48) }
.category-meta p { margin:4px 0 0; color:rgba(255,255,255,.94); font-size:11px; font-weight:600; text-shadow:0 1px 3px rgba(0,0,0,.86),0 4px 12px rgba(0,0,0,.76) }
.category-meta .arrow-circle { flex:none; width:37px; height:37px; border-color:rgba(255,255,255,.78); background:rgba(25,26,23,.32); color:white; box-shadow:0 6px 18px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.24); backdrop-filter:blur(8px) }
.feature-band { display:grid; grid-template-columns:1fr 1fr; min-height:410px; margin-top:88px; background:var(--paper); opacity:0; transform:translateY(20px); transition:opacity .7s,transform .7s var(--ease) }
.feature-band.is-visible,.quote-panel.is-visible { opacity:1; transform:none }
.feature-photo { min-height:410px; background:url('../images/interior-evening-hero.webp') center 56%/cover }
.feature-copy { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:48px 10% }
.feature-copy h2 { margin:16px 0; font-size:clamp(32px,4vw,48px) }
.feature-copy h2 em { color:var(--accent) }
.feature-copy p { max-width:390px; margin-bottom:22px; color:var(--muted); font-size:13px; line-height:1.8 }
.feature-signature { position:absolute; right:20px; bottom:16px; color:var(--muted); font-size:7px; letter-spacing:.15em; text-align:right }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px }
.product-card { min-width:0; border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow-card-rest); transition:transform .35s var(--ease),box-shadow .35s,border-color .3s }
.product-card:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); transform:translateY(-7px); box-shadow:var(--shadow-card-hover) }
.product-card-image { position:relative; display:block; overflow:hidden; aspect-ratio:1; background:var(--paper) }
.product-card-image>img { width:100%; height:100%; object-fit:contain; padding:16px; mix-blend-mode:multiply; transition:transform .55s var(--ease) }
:root[data-theme="dark"] .product-card-image>img,:root[data-theme="dark"] .cart-thumb img { mix-blend-mode:normal }
.product-card:hover .product-card-image>img { transform:scale(1.07) }
.product-card-tag,.product-tag { position:absolute; top:13px; left:13px; z-index:1; padding:5px 8px; background:var(--surface); color:var(--accent); font-size:7px; font-weight:700; letter-spacing:.12em }
.quick-fav { position:absolute; top:10px; right:10px; width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:var(--surface); font-size:17px; transition:all .25s }
.quick-fav:hover,.quick-fav.selected { border-color:#af765f; color:#af765f; transform:scale(1.08) }
.product-features { position:absolute; right:9px; bottom:9px; left:9px; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:7px; pointer-events:none }
.product-feature-group { display:flex; flex:1 1 50%; flex-direction:column; align-items:flex-start; gap:5px; min-width:0 }
.product-feature-group-right { align-items:flex-end }
.product-feature { display:flex; flex-direction:column; width:max-content; max-width:100%; min-width:43px; padding:6px 8px 5px; overflow:hidden; border:1px solid rgba(221,190,139,.34); border-radius:5px; background:rgba(27,29,26,.86); color:#f7f3ea; box-shadow:0 4px 15px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.08); backdrop-filter:blur(9px) saturate(1.15); transition:transform .28s var(--ease),background .28s,border-color .28s }
.product-feature small { overflow:hidden; color:#d8bb8d; font-size:6px; font-weight:700; letter-spacing:.12em; line-height:1.35; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap }
.product-feature strong { overflow:hidden; font-size:10px; font-weight:600; letter-spacing:.015em; line-height:1.25; text-overflow:ellipsis; white-space:nowrap }
.product-card:hover .product-feature { border-color:rgba(230,201,157,.52); background:rgba(24,26,23,.92); transform:translateY(-2px) }
.product-card-info { padding:14px }
.product-brand { color:var(--muted); font-size:8px; letter-spacing:.09em }
.product-name { display:block; min-height:66px; margin:7px 0 12px; font-size:15px; line-height:1.4 }
.product-name:hover { color:var(--accent) }
.product-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:8px }
.product-card-bottom>div { display:flex; flex-direction:column }
.product-card-bottom strong { font-size:16px }
.product-card-bottom del { color:var(--muted); font-size:10px }
.vat-note { display:inline-flex; align-items:center; gap:4px; margin-top:4px; color:var(--muted); font-size:8px; line-height:1.35 }
.vat-help { position:relative; display:inline-flex; flex:0 0 auto }
.vat-info { width:14px; height:14px; display:grid; place-items:center; padding:0; border:1px solid color-mix(in srgb,var(--muted) 55%,transparent); border-radius:50%; background:transparent; color:var(--accent-dark); font:700 9px/1 Arial,sans-serif; cursor:help }
.vat-info:focus-visible { outline:2px solid var(--accent); outline-offset:2px }
.vat-tooltip { position:absolute; z-index:50; right:0; bottom:calc(100% + 8px); width:190px; max-width:min(190px,calc(100vw - 32px)); padding:9px 11px; border:1px solid color-mix(in srgb,var(--page) 18%,transparent); border-radius:6px; background:var(--ink); color:var(--page); font:10px/1.45 Arial,sans-serif; text-align:left; box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .18s,visibility .18s,transform .18s; pointer-events:none }
.vat-help:hover .vat-tooltip,.vat-help:focus-within .vat-tooltip { opacity:1; visibility:visible; transform:none }
.add-mini { width:35px; height:35px; flex:0 0 35px; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--accent); font-size:19px; line-height:1; transition:transform .2s var(--ease),background-color .2s,border-color .2s,color .2s; -webkit-tap-highlight-color:transparent; user-select:none; -webkit-user-select:none }
@media(hover:hover) and (pointer:fine) { .add-mini:hover { border-color:var(--accent); background:var(--accent); color:white; transform:scale(1.06) } }
.add-mini:active { transform:scale(.94) }
.add-mini.is-added { border-color:var(--accent); background:var(--accent); color:white; transform:scale(1.06); font-size:16px }
button,a,[role="button"],.product-card,.category-card { -webkit-tap-highlight-color:transparent }
button,a,[role="button"],.product-card,.category-card { -webkit-user-select:none; user-select:none }
button:focus:not(:focus-visible),a:focus:not(:focus-visible),[role="button"]:focus:not(:focus-visible) { outline:none }
.quote-panel { position:relative; margin:80px 0 90px; padding:45px 15px; border-block:1px solid var(--line); text-align:center; opacity:0; transform:translateY(20px); transition:opacity .7s,transform .7s var(--ease) }
.quote-mark { color:var(--accent); font:66px/.8 Georgia,serif }
.quote-panel blockquote { margin:13px 0 17px; font-size:clamp(26px,3.4vw,42px); font-weight:500; letter-spacing:-.035em; line-height:1.25 }
.quote-panel blockquote em { color:var(--accent) }
.quote-caption { color:var(--muted); font-size:8px; letter-spacing:.18em }
.callback-section { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(28px,5vw,72px); margin:12px auto 92px; padding:clamp(28px,5vw,62px); border:1px solid var(--line); border-radius:12px; background:radial-gradient(ellipse at 8% 10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 42%),var(--surface); box-shadow:var(--shadow-card-rest); opacity:0; transform:translateY(20px); scroll-margin-top:130px; transition:opacity .7s,transform .7s var(--ease) }
.callback-section.is-visible { opacity:1; transform:none }
.callback-copy h2 { margin:14px 0 15px; font-size:clamp(34px,4vw,51px); font-weight:500; letter-spacing:-.045em; line-height:1.12 }
.callback-copy h2 em { color:var(--accent); font-family:Georgia,serif; font-weight:400 }
.callback-copy>p { max-width:430px; margin:0; color:var(--muted); font-size:15px; line-height:1.7 }
.callback-promise { display:flex; align-items:center; gap:12px; margin-top:28px; color:var(--ink) }
.callback-promise>span:first-child { color:var(--accent); font-size:24px }
.callback-promise b,.callback-promise small { display:block }
.callback-promise b { font-size:13px }
.callback-promise small { margin-top:3px; color:var(--muted); font-size:11px }
.callback-form { display:grid; gap:15px; padding:24px; border:1px solid var(--line); border-radius:9px; background:color-mix(in srgb,var(--page) 58%,var(--surface)); box-shadow:0 12px 32px rgba(37,31,22,.08) }
.callback-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 13px }
.callback-field { display:grid; gap:7px; color:var(--ink); font-size:13px; font-weight:600 }
.callback-field>span { color:var(--muted); font-size:10px; font-weight:400 }
.callback-field input { width:100%; min-width:0; min-height:48px; padding:11px 12px; border:1px solid var(--line); border-radius:5px; background:var(--surface); color:var(--ink); font:400 14px/1.4 Arial,sans-serif; transition:border-color .2s,box-shadow .2s }
.callback-field input::placeholder { color:color-mix(in srgb,var(--muted) 76%,transparent) }
.callback-field input:focus-visible { border-color:var(--accent); outline:0; box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent) }
.callback-email-field { grid-column:1/-1 }
.callback-submit { width:100%; min-height:52px; justify-content:space-between; font-size:13px }
.callback-demo-note,.callback-status { margin:0; color:var(--muted); font-size:11px; line-height:1.5 }
.callback-status:empty { display:none }
.callback-status:not(:empty) { padding:10px 12px; border-left:2px solid var(--accent); background:color-mix(in srgb,var(--accent) 9%,var(--surface)); color:var(--ink) }
.site-footer { background:#252722; color:#efede5 }
.footer-inner { display:grid; grid-template-columns:1.2fr 1fr 1fr auto; align-items:center; gap:28px; padding:36px 0 22px }
.site-footer .brand small { color:#b1b0a7 }
.site-footer .brand-mark { border-color:#d1b17f; color:#d1b17f }
.footer-inner>p { margin:0; color:#c5c2b8; font:16px/1.5 Georgia,serif }
.footer-links { display:flex; gap:18px; color:#d3d0c7; font-size:10px }
.footer-links a:hover { color:#e1c399 }
.footer-copy { color:#a5a49c; font-size:8px; white-space:nowrap }
.page-main { padding-top:28px; padding-bottom:70px }
.breadcrumbs { display:flex; gap:9px; align-items:center; margin-bottom:32px; color:var(--muted); font-size:10px }
.breadcrumbs a:hover { color:var(--accent) }
.catalog-intro,.cart-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px }
.catalog-intro h1,.cart-heading h1 { margin:12px 0; font-size:clamp(39px,5vw,59px) }
.catalog-intro em,.cart-heading em { color:var(--accent) }
.catalog-intro p { margin-bottom:5px; color:var(--muted); font-size:13px }
.catalog-count { display:flex; flex-direction:column; align-items:flex-end; padding-bottom:8px; color:var(--muted); font-size:10px }
.catalog-count strong { color:var(--accent); font:27px Georgia,serif }
.category-chips { display:flex; gap:8px; overflow:auto; margin:27px 0 22px; padding-bottom:5px; scrollbar-width:thin }
.chip { flex:none; padding:10px 14px; border:1px solid var(--line); border-radius:30px; color:var(--muted); font-size:10px; transition:all .25s }
.chip small { margin-left:4px; opacity:.65; font-size:8px }
.chip:hover,.chip.active { border-color:var(--accent); background:var(--accent); color:white }
.catalog-banner { position:relative; min-height:210px; display:flex; align-items:center; justify-content:space-between; overflow:hidden; padding:32px 6%; background:#292b27; color:#f3f0e9 }
.catalog-banner h2 { margin:12px 0 15px; font-size:32px }
.catalog-banner h2 em,.catalog-banner .text-link { color:#d1b184 }
.banner-orbit { position:relative; width:165px; height:165px; display:grid; place-items:center; border:1px solid rgba(213,189,147,.46); border-radius:50%; color:#dfc99f; font-size:12px; letter-spacing:.2em; line-height:1.35; text-align:center; transform:rotate(-12deg) }
.banner-orbit:before,.banner-orbit:after { position:absolute; inset:13px; border:1px solid rgba(213,189,147,.25); border-radius:50%; content:"" }
.banner-orbit:after { inset:31px; border-style:dashed }
.banner-orbit i { position:absolute; top:20px; right:21px; width:8px; height:8px; border-radius:50%; background:#dfc99f; box-shadow:0 0 15px #dfc99f }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; margin:34px 0 16px }
.catalog-toolbar>div { display:flex; flex-direction:column; gap:5px }
.result-label { color:var(--muted); font-size:10px }
.sort-label { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:10px }
.sort-label select { padding:9px 12px; border:1px solid var(--line); border-radius:3px; background:var(--surface); font-size:10px }
.catalog-more { display:flex; justify-content:center; padding-top:34px }
.room-section { display:grid; grid-template-columns:1fr 1.3fr; gap:40px; margin-top:85px; padding:32px 0; border-top:1px solid var(--line) }
.room-section h2 { margin:10px 0; font-size:34px }
.room-section h2 em { color:var(--accent) }
.room-links { display:grid; grid-template-columns:1fr 1fr; gap:0 24px }
.room-links a { display:flex; justify-content:space-between; padding:13px 2px; border-bottom:1px solid var(--line); font-size:12px }
.room-links a span { color:var(--accent) }
.room-links a:hover { color:var(--accent) }
.product-detail { display:grid; grid-template-columns:1.06fr .94fr; gap:6%; align-items:start }
.product-image-main { position:relative; overflow:hidden; aspect-ratio:1/1.02; border:1px solid var(--line); background:var(--surface) }
.product-image-open { position:absolute; inset:0; z-index:1; display:block; width:100%; height:100%; padding:0; border:0; background:transparent; text-align:left; cursor:zoom-in }
.product-image-main img { width:100%; height:100%; object-fit:contain; padding:35px; mix-blend-mode:multiply; transition:transform .6s var(--ease) }
:root[data-theme="dark"] .product-image-main,:root[data-theme="dark"] .thumb { background:#e9e4da }
:root[data-theme="dark"] .product-image-main img,:root[data-theme="dark"] .thumb img { mix-blend-mode:multiply }
.product-image-main:hover img { transform:scale(1.035) }
.product-tag { top:19px; left:19px; z-index:2; pointer-events:none }
.product-image-zoom { position:absolute; right:15px; bottom:15px; display:flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid color-mix(in srgb,var(--ink) 12%,transparent); border-radius:30px; background:color-mix(in srgb,var(--page) 88%,transparent); color:var(--ink); font:500 10px/1 Arial,sans-serif; opacity:.8; transition:opacity .2s,transform .2s }
.product-image-zoom svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }
.product-image-open:hover .product-image-zoom { opacity:1; transform:translateY(-2px) }
.gallery-thumbs { display:flex; align-items:center; gap:10px; margin-top:11px }
.thumb { width:62px; height:62px; padding:4px; border:1px solid transparent; background:var(--surface) }
.thumb.active { border-color:var(--accent) }
.thumb img { width:100%; height:100%; object-fit:contain }
.gallery-note { margin-left:auto; color:var(--muted); font-size:8px }
.product-info { padding-top:8px }
.product-info h1 { margin:14px 0; font-size:clamp(32px,4vw,47px); line-height:1.14 }
.product-info h1 em { color:var(--accent) }
.rating-line { display:flex; align-items:center; gap:13px; color:var(--muted); font-size:9px }
.rating-line span:first-child { color:var(--accent); letter-spacing:.12em }
.product-lead { margin:23px 0 18px; color:var(--muted); font-size:13px; line-height:1.8 }
.price-row { display:flex; align-items:center; gap:12px }
.price-row strong { font-size:25px }
.price-row del { color:var(--muted); font-size:13px }
.discount { padding:4px 7px; background:#d8c6a8; color:#3b352c; font-size:9px }
.price-note { margin-top:5px; color:var(--muted); font-size:8px }
.price-note .vat-note { margin-top:0; font-size:9px }
.product-light-specs { margin:22px 0 24px }
.product-light-specs-heading,.product-more-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-bottom:10px }
.product-light-specs-heading h2,.product-more-heading h2 { margin:4px 0 0; font-size:17px; font-weight:500; letter-spacing:-.025em }
.spec-count,.demo-details-tag { flex:0 0 auto; padding:6px 8px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:8px; letter-spacing:.04em }
.product-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:var(--surface) }
.product-specs>div { min-width:0; display:flex; flex-direction:column; justify-content:center; gap:5px; min-height:66px; padding:12px; border-bottom:1px solid var(--line) }
.product-specs>div:nth-child(odd) { border-right:1px solid var(--line) }
.product-specs>div:nth-last-child(-n+2) { border-bottom:0 }
.product-specs span { color:var(--muted); font-size:9px }
.product-specs b { font-size:12px; line-height:1.35 }
.buy-row { display:flex; gap:9px }
.buy-row .button { flex:1 }
.favorite-button { width:49px; border:1px solid var(--line); border-radius:4px; background:transparent; color:var(--accent); font-size:22px; transition:.25s }
.favorite-button:hover,.favorite-button.selected { border-color:#af765f; color:#af765f }
.delivery-note { display:flex; align-items:center; gap:12px; margin-top:15px; padding:13px; border:1px solid var(--line); border-radius:9px; background:var(--paper) }
.delivery-note>span { color:var(--accent); font-size:20px }
.delivery-note div { display:flex; flex:1; flex-direction:column }
.delivery-note b { font-size:10px }
.delivery-note small { margin-top:3px; color:var(--muted); font-size:8px }
.delivery-jump { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--accent); line-height:0; transition:background .2s,border-color .2s,box-shadow .2s }
.delivery-jump svg { display:block; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s var(--ease) }
.delivery-jump:hover { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); background:var(--surface); box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 16%,transparent) }
.delivery-jump:hover svg { transform:translateY(1.5px) }
.product-more-details { margin-top:27px; padding-top:21px; border-top:1px solid var(--line) }
.product-more-heading { align-items:center; margin-bottom:12px }
.product-more-heading h2 { font-size:21px }
.product-demo-note { margin:0 0 13px; padding:10px 12px; border-left:2px solid var(--accent); background:var(--paper); color:var(--muted); font-size:12px; line-height:1.65 }
.product-accordion { border-top:1px solid var(--line); border-bottom:0; font-size:12px }
.product-accordion:last-child { border-bottom:1px solid var(--line) }
.product-accordion summary { min-height:53px; align-items:center; gap:14px; padding:14px 2px; font-size:12px; font-weight:600 }
.product-accordion summary span { display:grid; width:26px; height:26px; flex:0 0 26px; place-items:center; border:1px solid var(--line); border-radius:50%; font-size:15px; font-weight:400 }
.product-accordion[open] summary span { transform:rotate(45deg) }
.product-accordion-body { padding:0 2px 17px }
.product-description-copy { max-width:62ch; margin:0 0 12px; color:var(--muted); font-size:12px; line-height:1.8 }
.product-description-list { display:grid; gap:7px; margin:0; padding:0; list-style:none; color:var(--ink); font-size:11px }
.product-description-list li { display:flex; gap:9px; align-items:baseline }
.product-description-list li:before { content:"•"; color:var(--accent); font-size:15px }
.detail-spec-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line) }
.detail-spec { min-width:0; display:flex; flex-direction:column; gap:5px; padding:12px 10px 12px 0; border-bottom:1px solid var(--line) }
.detail-spec:nth-child(odd) { padding-right:12px; border-right:1px solid var(--line) }
.detail-spec:nth-child(even) { padding-left:12px }
.detail-spec span { color:var(--muted); font-size:9px }
.detail-spec b { font-size:11px; font-weight:500; line-height:1.5; overflow-wrap:anywhere }
.delivery-options { display:grid; gap:9px }
.delivery-option { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:start; gap:10px; padding:12px; border:1px solid var(--line); border-radius:8px; background:var(--surface) }
.delivery-option-icon { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:var(--paper); color:var(--accent); font-size:14px }
.delivery-option-copy { display:grid; gap:4px }
.delivery-option-copy b { font-size:11px }
.delivery-option-copy span { color:var(--muted); font-size:10px; line-height:1.55 }
.product-demo-footnote { margin:11px 0 0; color:var(--muted); font-size:12px; line-height:1.6 }
.accordion { border-bottom:1px solid var(--line); font-size:11px }
.accordion summary { display:flex; justify-content:space-between; padding:15px 0; cursor:pointer; list-style:none }
.accordion summary::-webkit-details-marker { display:none }
.accordion summary span { color:var(--accent); transition:transform .25s }
.accordion[open] summary span { transform:rotate(45deg) }
.accordion p { margin:0 0 16px; color:var(--muted); font-size:10px; line-height:1.8 }
.related-section { padding-top:68px }
.cart-heading { margin-bottom:34px }
.cart-heading h1 { font-size:48px }
.cart-heading em { font:normal 17px Arial,sans-serif; letter-spacing:0 }
.cart-layout { display:grid; grid-template-columns:1fr 310px; gap:30px; align-items:start }
.cart-items { border-top:1px solid var(--line) }
.cart-item { display:grid; grid-template-columns:86px 1fr auto 120px 25px; gap:15px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line) }
.cart-thumb { width:86px; height:86px; background:var(--surface) }
.cart-thumb img { width:100%; height:100%; object-fit:contain; padding:6px; mix-blend-mode:multiply }
.cart-product-copy { display:flex; flex-direction:column; gap:5px }
.cart-product-copy .eyebrow { font-size:7px }
.cart-product-copy>a { font-size:12px }
.cart-product-copy small { color:var(--muted); font-size:8px }
.quantity-control { display:flex; align-items:center; gap:11px; padding:7px; border:1px solid var(--line) }
.quantity-control button { width:20px; height:20px; border:0; background:transparent; color:var(--accent); font-size:15px }
.quantity-control span { min-width:12px; text-align:center; font-size:10px }
.cart-price-block { display:flex; flex-direction:column; align-items:flex-end; gap:4px }
.cart-item-price { font-size:12px; white-space:nowrap }
.cart-price-block .vat-note { font-size:7px }
.remove-item { border:0; background:transparent; color:var(--muted); font-size:19px }
.remove-item:hover { color:#ae6a54 }
.cart-summary { padding:22px; border:1px solid var(--line); background:var(--surface) }
.cart-summary>.eyebrow { display:block; padding-bottom:16px; border-bottom:1px solid var(--line) }
.summary-line,.summary-total { display:flex; align-items:center; justify-content:space-between; padding:13px 0; color:var(--muted); font-size:10px }
.summary-line b { color:var(--ink) }
.summary-total { margin-top:5px; border-top:1px solid var(--line); color:var(--ink) }
.summary-total strong { font-size:19px }
.summary-vat-note { padding-bottom:8px }
.summary-vat-note .vat-note { margin-top:0; font-size:8px }
.checkout-button { width:100%; margin-top:12px }
.checkout-button:disabled { opacity:.45; cursor:not-allowed; transform:none; box-shadow:none }
.checkout-note { margin:10px 0; color:var(--muted); font-size:8px; line-height:1.6 }
.payment-note { margin-top:18px; padding:13px; background:var(--paper); font-size:10px }
.payment-note small { color:var(--muted); font-size:8px }
.cart-empty { padding:55px 15px; text-align:center }
.cart-empty[hidden],.cart-layout[hidden] { display:none }
.empty-symbol { color:var(--accent); font-size:34px }
.cart-empty h2 { margin:9px 0; font-size:34px }
.cart-empty h2 em { color:var(--accent) }
.cart-empty p { margin-bottom:22px; color:var(--muted); font-size:12px }
.reveal { opacity:0; transform:translateY(16px); transition:opacity .65s,transform .65s var(--ease) }
.reveal.is-visible { opacity:1; transform:none }
@media(max-width:980px) {
  .wrap { width:min(calc(100% - 40px),760px) }
  .site-header { padding:14px 20px }
  .main-nav { gap:18px }
  .hero { grid-template-columns:.95fr 1.05fr; min-height:500px }
  .hero-copy { padding-left:7% }
  .hero-image { min-height:500px }
  .category-grid { grid-template-rows:220px 220px }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px }
  .product-detail { gap:4% }
  .footer-inner { grid-template-columns:1fr 1fr; gap:22px }
  .callback-section { grid-template-columns:1fr; gap:25px }
  .footer-copy { justify-self:end }
  .cart-layout { grid-template-columns:1fr 275px }
  .cart-item { grid-template-columns:70px 1fr auto 90px 20px; gap:10px }
  .cart-thumb { width:70px; height:70px }
}
@media(max-width:700px) {
  .wrap { width:calc(100% - 32px) }
  .demo-ribbon { min-height:24px; font-size:7px; letter-spacing:.04em; flex-wrap:wrap }
  .prototype-switch { gap:7px; margin:0 5px; flex-wrap:wrap; justify-content:center }
  .site-header { padding:12px 16px 9px; flex-wrap:wrap; gap:8px 12px }
  .site-header>.brand { order:0 }
  .header-actions { order:1; margin-left:auto }
  .header-city-picker { order:2; flex:1 0 100%; min-height:32px; padding:1px 0 2px; border-top:1px solid var(--line); }
  .header-city-picker select { max-width:220px; min-height:34px; font-size:13px }
  .main-nav { position:absolute; top:100%; right:0; left:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:10px 20px 17px; border-bottom:1px solid var(--line); background:var(--page) }
  .main-nav.nav-open { display:flex }
  .main-nav a { padding:12px 4px; border-bottom:1px solid var(--line) }
  .main-nav a:after { display:none }
  .header-actions { gap:7px }
  .menu-toggle { display:grid }
  .hero { display:flex; flex-direction:column-reverse; min-height:0; margin-top:12px }
  .hero-image { min-height:0; aspect-ratio:1.13/1; background-position:60% 50% }
  .hero-copy { min-height:330px; padding:34px 24px 66px }
  .hero h1 { margin:15px 0; font-size:47px }
  .hero-copy>p { font-size:12px }
  .hero-actions { gap:15px }
  .hero-foot { left:24px; bottom:19px }
  .hero-side-note { display:none }
  .trust-strip { flex-wrap:wrap; justify-content:center; gap:8px 13px; padding:18px 0; font-size:7px }
  .trust-strip span:nth-of-type(n+6) { display:none }
  .section { padding-top:65px }
  .section-heading { margin-bottom:21px }
  .section-heading h2 { font-size:32px }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,clamp(145px,28vw,190px)); gap:9px }
  .category-large { grid-column:auto; grid-row:auto }
  .category-meta { right:12px; bottom:12px; left:12px }
  .category-meta h3 { font-size:20px }
  .category-meta p { font-size:9px }
  .category-index { top:12px; left:12px }
  .category-meta .arrow-circle { width:32px; height:32px }
  .feature-band { grid-template-columns:1fr; margin-top:60px }
  .feature-photo { min-height:230px }
  .feature-copy { min-height:300px; padding:28px 23px 48px }
  .feature-copy h2 { font-size:34px }
  .feature-signature { right:15px; bottom:12px }
  .product-grid { gap:9px }
  .product-card-info { padding:10px }
  .product-card-image>img { padding:8px }
  .product-card-tag { top:8px; left:8px; padding:4px 5px; font-size:6px }
  .quick-fav { top:7px; right:7px; width:26px; height:26px }
  .product-features { right:6px; bottom:6px; left:6px; gap:4px }
  .product-feature-group { gap:4px }
  .product-feature { min-width:36px; padding:4px 5px 3px; border-radius:4px }
  .product-feature small { font-size:5.5px; letter-spacing:.05em }
  .product-feature strong { font-size:9px }
  .product-name { min-height:58px; font-size:13px; line-height:1.4 }
  .product-card-bottom strong { font-size:14px }
  .product-card-bottom del { font-size:9px }
  .product-card-bottom .vat-note { font-size:8px }
  .add-mini { width:29px; height:29px; flex-basis:29px }
  .quote-panel { margin:60px 0; padding:33px 8px }
  .quote-panel blockquote { font-size:27px }
  .footer-inner { grid-template-columns:1fr 1fr; gap:18px; padding:27px 0 16px }
  .callback-section { gap:21px; margin:4px auto 58px; padding:24px 17px; border-radius:9px; scroll-margin-top:145px }
  .callback-copy h2 { margin:11px 0 12px; font-size:clamp(31px,8.2vw,38px) }
  .callback-copy>p { font-size:14px; line-height:1.65 }
  .callback-promise { margin-top:18px }
  .callback-form { gap:13px; padding:15px 13px }
  .callback-fields { grid-template-columns:1fr; gap:12px }
  .callback-email-field { grid-column:auto }
  .callback-field { gap:6px; font-size:14px }
  .callback-field>span { font-size:11px }
  .callback-field input { min-height:50px; font-size:16px }
  .callback-demo-note,.callback-status { font-size:11px }
  .footer-inner>p { font-size:13px }
  .footer-links { flex-direction:column; gap:7px }
  .footer-copy { grid-column:1/-1; justify-self:start }
  .page-main { padding-top:18px; padding-bottom:50px }
  .breadcrumbs { margin-bottom:23px; font-size:9px }
  .catalog-intro h1,.cart-heading h1 { font-size:38px }
  .catalog-intro p { max-width:270px; font-size:11px }
  .catalog-count { padding-top:18px; white-space:nowrap }
  .catalog-count strong { font-size:20px }
  .category-chips { margin:21px 0 17px }
  .chip { padding:8px 11px; font-size:9px }
  .catalog-banner { min-height:180px; padding:24px 7% }
  .catalog-banner h2 { font-size:25px }
  .banner-orbit { width:110px; height:110px; font-size:9px }
  .banner-orbit:before { inset:9px }
  .banner-orbit:after { inset:21px }
  .catalog-toolbar { align-items:flex-end; gap:10px }
  .result-label { font-size:8px }
  .sort-label { flex-direction:column; align-items:flex-end; gap:5px; font-size:8px }
  .sort-label select { max-width:148px; padding:7px; font-size:8px }
  .room-section { grid-template-columns:1fr; gap:12px; margin-top:58px; padding-top:23px }
  .room-section h2 { font-size:28px }
  .room-links { gap:0 18px }
  .product-detail { grid-template-columns:1fr; gap:26px }
  .product-image-main { aspect-ratio:1 }
  .product-image-main img { padding:24px }
  .product-info h1 { font-size:35px }
  .product-lead { margin:17px 0 14px; font-size:12px }
  .product-light-specs { margin:19px 0 21px }
  .product-specs { margin:0 }
  .product-light-specs-heading { align-items:center; gap:8px }
  .product-light-specs-heading h2 { font-size:16px }
  .spec-count,.demo-details-tag { padding:5px 7px; font-size:7px }
  .product-specs>div { min-height:62px; padding:11px 10px }
  .product-specs b { font-size:11px }
  .product-more-details { margin-top:23px; padding-top:18px }
  .product-more-heading h2 { font-size:20px }
  .product-demo-note { padding:9px 10px; font-size:12px }
  .product-accordion summary { min-height:51px; padding:13px 1px; font-size:12px }
  .product-accordion-body { padding-bottom:15px }
  .product-description-copy { font-size:12px; line-height:1.75 }
  .detail-spec { padding-top:11px; padding-bottom:11px }
  .detail-spec b { font-size:10px }
  .delivery-option { padding:10px; gap:8px }
  .related-section { padding-top:45px }
  .related-section .section-heading h2 { font-size:28px }
  .gallery-note { font-size:7px }
  .cart-heading { align-items:flex-start; margin-bottom:24px }
  .cart-heading h1 { font-size:37px }
  .cart-heading .text-link { padding-top:17px; font-size:9px }
  .cart-layout { grid-template-columns:1fr; gap:21px }
  .cart-item { grid-template-columns:58px 1fr auto 18px; gap:9px; padding:12px 0 }
  .cart-thumb { width:58px; height:58px }
  .cart-product-copy .eyebrow { font-size:6px }
  .cart-product-copy>a { font-size:10px }
  .cart-product-copy small { display:none }
  .cart-price-block { grid-column:2; grid-row:2; align-items:flex-start; gap:3px }
  .cart-item-price { font-size:10px }
  .cart-price-block .vat-note { font-size:7px }
  .quantity-control { grid-column:3; grid-row:1/3; gap:5px; padding:3px }
  .quantity-control button { width:18px }
  .remove-item { grid-column:4; grid-row:1 }
  .cart-summary { padding:17px }
  .cart-empty { padding:34px 10px }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important }
}

/* Editorial storytelling: the image stays still while the chapter changes with native scrolling. */
.editorial-story { display:grid; grid-template-columns:1fr .88fr; align-items:start; gap:clamp(38px,8vw,112px); padding-top:120px; padding-bottom:70px }
.editorial-visual { position:sticky; top:105px; min-height:610px; overflow:hidden; background:#292b27 }
.story-image { position:absolute; inset:0; background-position:center; background-size:cover; opacity:0; transform:scale(1.08); transition:opacity 1s var(--ease),transform 1.6s var(--ease),filter .8s; filter:saturate(.86) }
.story-image-living { background-image:url('../images/interior-evening-hero.webp'); background-position:55% center }
.story-image-kitchen { background-image:url('../images/kitchen-pendant.webp'); background-position:53% center }
.story-image-bedroom { background-image:url('../images/bedroom-sconce.webp'); background-position:58% center }
.editorial-visual[data-scene="living"] .story-image-living,.editorial-visual[data-scene="kitchen"] .story-image-kitchen,.editorial-visual[data-scene="bedroom"] .story-image-bedroom { opacity:1;transform:scale(1) }
.editorial-visual:after { position:absolute; inset:32% 0 0; background:linear-gradient(0deg,rgba(14,15,13,.76) 0%,rgba(14,15,13,.32) 44%,transparent 100%); content:""; pointer-events:none }
.editorial-visual-caption { position:absolute; right:22px; bottom:21px; left:22px; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:15px 17px; border:1px solid rgba(255,255,255,.25); background:linear-gradient(110deg,rgba(27,28,25,.72),rgba(27,28,25,.35)); color:white; box-shadow:0 16px 40px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.12); backdrop-filter:blur(12px) saturate(1.15); text-shadow:0 2px 8px rgba(0,0,0,.7); transform:translateZ(22px) }
.editorial-visual-caption span { padding:6px 9px; border:1px solid rgba(226,194,142,.45); background:rgba(27,28,25,.55); color:#f2d8ad; font-size:9px; font-weight:700; letter-spacing:.15em; text-shadow:0 1px 5px rgba(0,0,0,.6) }
.editorial-visual-caption strong { font:500 25px/1.15 Georgia,serif; text-shadow:0 2px 3px rgba(0,0,0,.8),0 8px 22px rgba(0,0,0,.72); -webkit-text-stroke:.2px rgba(255,255,255,.44) }
.editorial-chapters { padding-top:14px }
.editorial-chapters>h2 { margin:14px 0 48px; font-size:clamp(36px,4.3vw,54px) }
.editorial-chapters>h2 em { color:var(--accent) }
.story-chapter { min-height:260px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:30px 0; border-top:1px solid var(--line); opacity:.38; transform:translate3d(0,18px,0); transition:opacity .8s var(--ease),transform .9s var(--ease) }
.story-chapter:last-child { min-height:260px }
.story-chapter.is-current { opacity:1;transform:translate3d(0,0,0) }
.story-index { display:inline-flex; width:max-content; padding:5px 9px; border:1px solid color-mix(in srgb,var(--accent) 45%,transparent); border-radius:2px; background:color-mix(in srgb,var(--page) 70%,transparent); color:var(--accent-light); font-size:9px; font-weight:700; letter-spacing:.16em; box-shadow:0 5px 16px rgba(0,0,0,.08) }
.story-chapter h3 { margin:12px 0 8px; font:500 clamp(22px,2.2vw,29px)/1.2 Georgia,serif; letter-spacing:-.025em }
.story-chapter p { max-width:390px; margin:0 0 15px; color:var(--muted); font-size:12px; line-height:1.8 }
.story-chapter .text-link { font-size:10px }
.editorial-chapters:after { display:block; height:clamp(320px,40vh,420px); content:""; pointer-events:none }
.catalog-category-section { margin-top:55px }
.catalog-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:20px }
.catalog-section-heading h2 { margin:9px 0 0; font-size:clamp(26px,3vw,36px) }
.catalog-aside-note { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:10px }
.catalog-aside-note span { color:var(--accent); font-size:16px }
.catalog-category-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; grid-template-rows:190px 190px; gap:12px }
.catalog-category-grid .category-card { opacity:0; transform:translateY(16px); transition:opacity .65s,transform .65s var(--ease),box-shadow .3s }
.catalog-category-grid .category-card.is-visible { opacity:1; transform:none }
.catalog-category-grid .category-large { grid-row:span 2 }
.catalog-category-grid .category-card:hover { transform:translateY(-4px); box-shadow:var(--shadow) }
.category-chips { position:sticky; top:70px; z-index:9; padding:12px 0 14px; background:color-mix(in srgb,var(--page) 94%,transparent); backdrop-filter:blur(14px) }
.catalog-toolbar { scroll-margin-top:132px }
@media(max-width:800px) {
  .editorial-story { gap:30px; padding-top:80px }
  .editorial-visual { min-height:500px; top:95px }
  .story-chapter:last-child { min-height:260px }
  .catalog-category-grid { grid-template-rows:170px 170px }
  .catalog-category-grid .category-meta { right:13px;bottom:13px;left:13px }
  .catalog-category-grid .category-meta h3 { font-size:19px }
  .catalog-category-grid .category-meta p { font-size:9px }
}
@media(max-width:700px) {
  .editorial-story { grid-template-columns:1fr; gap:0; padding-top:62px; padding-bottom:35px }
  .editorial-visual { display:none }
  .editorial-chapters { padding-top:12px }
  .editorial-chapters:after { display:none }
  .editorial-chapters>h2 { margin-bottom:16px }
  .story-chapter,.story-chapter:last-child { min-height:0; justify-content:flex-start; padding:20px 0 30px; opacity:1; transform:none }
  .story-chapter:before { content:""; align-self:stretch; flex:none; width:100%; height:clamp(175px,58vw,260px); margin-bottom:19px; border-radius:2px; background-position:center; background-size:cover }
  .story-chapter[data-scene="living"]:before { background-image:linear-gradient(0deg,rgba(20,21,18,.18),transparent 48%),url('../images/interior-evening-hero.webp'); background-position:55% center }
  .story-chapter[data-scene="kitchen"]:before { background-image:linear-gradient(0deg,rgba(20,21,18,.18),transparent 48%),url('../images/kitchen-pendant.webp'); background-position:53% center }
  .story-chapter[data-scene="bedroom"]:before { background-image:linear-gradient(0deg,rgba(20,21,18,.18),transparent 48%),url('../images/bedroom-sconce.webp'); background-position:58% center }
  .story-chapter p { font-size:11px }
  .catalog-category-section { margin-top:34px }
  .catalog-section-heading { align-items:flex-end }
  .catalog-aside-note { max-width:128px; font-size:8px }
  .catalog-category-grid { grid-template-columns:1fr 1fr; grid-template-rows:220px 150px 150px; gap:8px }
  .catalog-category-grid .category-large { grid-column:span 2;grid-row:auto }
  .category-chips { top:64px; margin:12px 0 8px }
  .catalog-toolbar { scroll-margin-top:128px }
}
@media(prefers-reduced-motion:reduce) {
  .story-image,.story-chapter,.catalog-category-grid .category-card { transition:none!important;transform:none!important }
}

/* Four-scene hero carousel with a calm cross-fade and visible controls. */
.hero-image { overflow:hidden; isolation:isolate; background:#292b27 }
.hero-slide { position:absolute; inset:0; z-index:0; background-image:var(--hero-image); background-position:center; background-size:cover; opacity:0; transform:scale(1.055); transition:opacity .9s var(--ease),transform 6.2s cubic-bezier(.2,.65,.25,1) }
.hero-slide.is-active { opacity:1; transform:scale(1) }
.hero-image-shade { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(24,26,23,.15),transparent 40%),linear-gradient(0deg,rgba(24,26,23,.18),transparent 42%) }
.hero-image .image-label,.hero-image .image-caption { z-index:2; transition:opacity .24s,transform .24s }
.hero-image .image-label.is-changing,.hero-image .image-caption.is-changing { opacity:0; transform:translateY(5px) }
.hero-slider-controls { position:absolute; right:auto; bottom:20px; left:20px; z-index:3; display:flex; align-items:center; gap:7px }
.hero-slider-dots { display:flex; align-items:center; gap:6px }
.hero-slider-dot { width:22px; height:25px; display:grid; place-items:center; padding:0; border:0; background:transparent }
.hero-slider-dot:before { width:6px; height:6px; border-radius:99px; background:rgba(255,255,255,.58); content:""; transition:width .28s,background .28s }
.hero-slider-dot.is-active:before { width:20px; background:#e4c99f }
.hero-slider-step { width:30px; height:30px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(31,32,28,.25); color:#fff; font-size:12px; backdrop-filter:blur(8px); transition:background .2s,border-color .2s,transform .2s }
.hero-slider-step:hover { border-color:#e4c99f; background:rgba(31,32,28,.72); transform:scale(1.06) }
.hero-foot .hero-progress i { width:100%; transform:scaleX(0); transform-origin:left center }
.hero-slider-controls button:focus-visible { outline:2px solid #f4dfbd; outline-offset:3px }
@media(max-width:700px) {
  .hero-image .image-label { right:14px; bottom:60px; padding:10px 13px }
  .hero-image .image-label strong { font-size:20px }
  .hero-image .image-caption { top:16px; right:14px; left:14px; text-align:right; font-size:7px }
  .hero-slider-controls { right:auto; bottom:13px; left:12px; gap:5px }
  .hero-slider-step { width:27px; height:27px }
}
@media(prefers-reduced-motion:reduce) {
  .hero-slide { transition:opacity .25s linear;transform:none!important }
  .hero-image .image-label,.hero-image .image-caption { transition:none }
}


/* One clear scroll treatment: staggered reveals that reverse naturally when scrolling back. */
.motion-target {
  opacity:0;
  transform:translate3d(0,42px,0) scale(.985);
  transition:opacity .9s ease,transform 1s cubic-bezier(.18,.72,.2,1);
  transition-delay:var(--motion-delay,0ms);
  will-change:opacity,transform
}
.motion-target.is-visible { opacity:1;transform:translate3d(0,0,0) scale(1) }
.motion-target.is-visible.product-card:hover { transform:translate3d(0,-7px,0) scale(1) }
.motion-target.is-visible.category-card:hover { transform:translate3d(0,-5px,0) scale(1) }
.category-grid .motion-target.category-card { transform-origin:50% 10%; transition:opacity .9s ease,transform .58s cubic-bezier(.22,.9,.35,1.2),box-shadow .4s }
.category-grid .motion-target.is-visible.category-card:hover { transform:perspective(1100px) rotateX(var(--category-tilt-y,0deg)) rotateY(var(--category-tilt-x,0deg)) rotateZ(var(--category-sway,0deg)) translate3d(0,-5px,0); box-shadow:var(--shadow-card-hover) }
.product-grid .motion-target.product-card { transform-origin:50% 12%; transition:opacity .9s ease,transform .58s cubic-bezier(.22,.9,.35,1.2),box-shadow .35s,border-color .3s }
.product-grid .motion-target.is-visible.product-card:hover { transform:perspective(1100px) rotateX(var(--product-tilt-y,0deg)) rotateY(var(--product-tilt-x,0deg)) rotateZ(var(--product-sway,0deg)) translate3d(0,-7px,0); box-shadow:var(--shadow) }
@media(hover:none) and (pointer:coarse) {
  .motion-target { will-change:auto }
  .category-grid .motion-target.category-card { transform-origin:50% 80%; transition:opacity .9s ease,transform .26s cubic-bezier(.22,.72,.28,1),box-shadow .4s }
  .category-grid .motion-target.is-visible.category-card,
  .category-grid .motion-target.is-visible.category-card:hover { transform:translate3d(0,0,0) scale(1) rotateZ(var(--category-mobile-sway,0deg)); box-shadow:var(--shadow-card-rest) }
  .product-grid .motion-target.product-card { transform-origin:50% 80%; transition:opacity .55s ease,transform .18s cubic-bezier(.22,.72,.28,1),box-shadow .2s,border-color .2s }
  .product-grid .motion-target.is-visible.product-card,
  .product-grid .motion-target.is-visible.product-card:hover { transform:translate3d(0,0,0) scale(1) rotateZ(var(--product-mobile-sway,0deg)); box-shadow:var(--shadow-card-rest); border-color:var(--line) }
  .product-feature { background:rgba(27,29,26,.95); box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; transition:none }
}

/* Give the dark product cards a warm gallery stage and clearer brass accents. */
:root[data-theme="dark"] .product-card {
  border-color:rgba(207,177,128,.28);
  background:linear-gradient(145deg,#292c27 0%,#232621 52%,#20231f 100%);
  box-shadow:0 12px 30px rgba(0,0,0,.3),inset 0 1px 0 rgba(246,225,188,.055)
}
:root[data-theme="dark"] .product-card:hover {
  border-color:rgba(222,190,137,.62);
  box-shadow:0 20px 42px rgba(0,0,0,.38),0 0 0 1px rgba(196,164,119,.12)
}
:root[data-theme="dark"] .product-card-image {
  background:radial-gradient(ellipse at 50% 42%,#f6f1e7 0%,#e9e4da 68%,#ddd6c9 100%)
}
:root[data-theme="dark"] .product-card-image>img { mix-blend-mode:multiply }
:root[data-theme="dark"] .product-card-tag {
  border:1px solid rgba(207,177,128,.38);
  background:#242721;
  color:#dfbd83
}
:root[data-theme="dark"] .quick-fav {
  border-color:rgba(207,177,128,.48);
  background:rgba(34,37,32,.96);
  color:#f2eadb
}
:root[data-theme="dark"] .product-feature {
  border-color:rgba(216,183,128,.6);
  background:rgba(31,33,29,.97);
  color:#fff9ed
}
:root[data-theme="dark"] .product-feature small { color:#e2bd7f }
:root[data-theme="dark"] .product-name { color:#f5f1e9 }
:root[data-theme="dark"] .product-brand { color:#b9b4a8 }
:root[data-theme="dark"] .product-card-bottom strong { color:#f0d7aa }
:root[data-theme="dark"] .add-mini {
  border-color:rgba(207,177,128,.54);
  background:rgba(196,164,119,.08);
  color:#e0bd83
}
:root[data-theme="dark"] .add-mini:hover,:root[data-theme="dark"] .add-mini.is-added {
  background:#b99764;
  color:#201f1b
}

/* A soft warm pool of light follows the pointer over image cards. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .category-art { --spot-x:50%; --spot-y:50% }
  .category-art:before {
    position:absolute;
    z-index:0;
    inset:0;
    background:radial-gradient(210px circle at var(--spot-x) var(--spot-y),rgba(239,203,137,.26),rgba(213,172,104,.09) 34%,transparent 72%);
    content:"";
    opacity:0;
    transition:opacity .35s ease;
    pointer-events:none
  }
  .category-card.is-spotlit .category-art:before { opacity:1 }
  .product-card-image {
    --spot-x:50%; --spot-y:50%;
    background-image:radial-gradient(185px circle at var(--spot-x) var(--spot-y),rgba(232,197,133,.24),rgba(211,174,112,.08) 36%,transparent 72%);
    transition:background-color .25s,background-image .2s
  }
  .product-card.is-spotlit .product-card-image { background-color:var(--paper) }
  .product-card.is-spotlit { box-shadow:var(--shadow-card-hover) }
}

/* The first screen introduces the message in readable, deliberate beats. */
.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p,.hero-copy>.hero-actions,.hero-copy>.hero-foot {
  animation:mercury-intro .9s cubic-bezier(.18,.72,.2,1) both
}
.hero-copy>h1 { animation-delay:.1s }
.hero-copy>p { animation-delay:.2s }
.hero-copy>.hero-actions { animation-delay:.3s }
.hero-copy>.hero-foot { animation-delay:.35s }
@keyframes mercury-intro {
  from { opacity:0;transform:translate3d(0,24px,0) }
  to { opacity:1;transform:translate3d(0,0,0) }
}

/* Each active interior scene gently approaches as the banner cross-fades. */
.hero-slide.is-active { animation:mercury-hero-zoom 6.2s cubic-bezier(.2,.65,.25,1) both }
@keyframes mercury-hero-zoom { from { transform:scale(1.1) } to { transform:scale(1) } }
.hero-image .image-label { bottom:64px }
.hero-slider-controls { z-index:4 }

/* Two small springy hops replay each time a heading is entered by pointer. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  :is(h1,h2,h3,h4,h5,h6,.product-name):hover,
  .product-name:focus-visible {
    animation:mercury-heading-bounce .82s cubic-bezier(.28,.72,.32,1) both;
    transform-origin:50% 100%
  }
}
@keyframes mercury-heading-bounce {
  0%,100% { transform:translateY(0) scale(1,1) }
  16% { transform:translateY(-9px) scale(1.012,.99) }
  32% { transform:translateY(0) scale(.995,1.008) }
  48% { transform:translateY(-5px) scale(1.006,.995) }
  64% { transform:translateY(0) scale(1,1) }
}
@media(max-width:700px) {
  .motion-target { transform:translate3d(0,30px,0) scale(.99);transition-duration:.78s }
}
@media(prefers-reduced-motion:reduce) {
  .motion-target { opacity:1!important;transform:none!important;transition:none!important }
  .hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p,.hero-copy>.hero-actions,.hero-copy>.hero-foot,
  .hero-slide.is-active,:is(h1,h2,h3,h4,h5,h6,.product-name):hover,.product-name:focus-visible { animation:none!important }
}

/* Four distinct, lightweight transitions make each hero scene arrive in its own way. */
.hero-image-shade { z-index:2 }
.hero-mosaic {
  position:absolute;
  z-index:1;
  inset:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(3,minmax(0,1fr));
  overflow:hidden;
  visibility:hidden;
  pointer-events:none
}
.hero-mosaic.is-running { visibility:visible }
.hero-mosaic-tile {
  display:block;
  background-image:var(--mosaic-image);
  background-size:400% 300%;
  background-position:calc(var(--tile-column)*33.3333%) calc(var(--tile-row)*50%);
  opacity:0;
  filter:blur(12px);
  transform:translate3d(var(--tile-x),var(--tile-y),0) scale(.72) rotate(var(--tile-rotation));
  transform-origin:center;
  backface-visibility:hidden
}
.hero-mosaic.is-running .hero-mosaic-tile {
  animation:mercury-mosaic-tile-in 1.02s cubic-bezier(.18,.72,.2,1) calc(var(--tile-order)*29ms) both
}
.hero-image[data-transition="mosaic"] .hero-slide.is-active { animation:mercury-hero-zoom 6.2s cubic-bezier(.2,.65,.25,1) both }
.hero-image[data-transition="mosaic"]:not(.mosaic-revealed) .hero-slide.is-active { opacity:0 }
.hero-image[data-transition="blur"] .hero-slide.is-active {
  animation:mercury-hero-zoom 6.2s cubic-bezier(.2,.65,.25,1) both,mercury-hero-blur-in 1.35s cubic-bezier(.2,.65,.25,1) both
}
.hero-image[data-transition="diagonal"] .hero-slide.is-active {
  animation:mercury-hero-zoom 6.2s cubic-bezier(.2,.65,.25,1) both,mercury-hero-diagonal-in 1.28s cubic-bezier(.2,.72,.22,1) both
}
.hero-image[data-transition="glow"] .hero-slide.is-active {
  animation:mercury-hero-zoom 6.2s cubic-bezier(.2,.65,.25,1) both,mercury-hero-glow-in 1.42s cubic-bezier(.2,.72,.22,1) both
}
@keyframes mercury-mosaic-tile-in {
  0% { opacity:0;filter:blur(12px);transform:translate3d(var(--tile-x),var(--tile-y),0) scale(.72) rotate(var(--tile-rotation)) }
  72% { opacity:1;filter:blur(1px);transform:translate3d(0,0,0) scale(1.025) rotate(0) }
  100% { opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1) rotate(0) }
}
@keyframes mercury-hero-blur-in {
  0% { opacity:0;filter:blur(18px) }
  44% { opacity:.62;filter:blur(7px) }
  100% { opacity:1;filter:blur(0) }
}
@keyframes mercury-hero-diagonal-in {
  0% { opacity:.35;clip-path:polygon(0 0,0 0,0 100%,0 100%) }
  58% { opacity:1;clip-path:polygon(0 0,76% 0,48% 100%,0 100%) }
  100% { opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%) }
}
@keyframes mercury-hero-glow-in {
  0% { opacity:.2;filter:blur(16px) brightness(1.32);clip-path:circle(0 at 50% 58%) }
  56% { opacity:1;filter:blur(4px) brightness(1.12);clip-path:circle(78% at 50% 58%) }
  100% { opacity:1;filter:blur(0) brightness(1);clip-path:circle(150% at 50% 58%) }
}
@media(max-width:700px) {
  .hero-mosaic-tile { filter:blur(8px) }
  .hero-mosaic.is-running .hero-mosaic-tile { animation-duration:.88s }
  .hero-image[data-transition="blur"] .hero-slide.is-active,
  .hero-image[data-transition="diagonal"] .hero-slide.is-active,
  .hero-image[data-transition="glow"] .hero-slide.is-active { animation-duration:6.2s,1.12s }
}
@media(prefers-reduced-motion:reduce) {
  .hero-mosaic { display:none!important }
  .hero-image[data-transition] .hero-slide.is-active { animation:none!important;filter:none!important;clip-path:none!important }
  .hero-image[data-transition="mosaic"]:not(.mosaic-revealed) .hero-slide.is-active { opacity:1!important }
}

/* A warm light follows mouse or finger without intercepting clicks or gestures. */
.cursor-light { position:fixed;inset:0;z-index:19;overflow:hidden;pointer-events:none!important;opacity:0;transition:opacity .24s ease;contain:strict }
.cursor-light.is-active { opacity:1 }
.cursor-light-canvas { display:block;width:100%;height:100%;pointer-events:none!important;touch-action:auto }
.touch-flash-host { position:relative }
.touch-flash { position:absolute;z-index:30;width:112px;height:112px;border-radius:50%;background:radial-gradient(circle,rgba(255,246,220,.94) 0%,rgba(246,213,157,.68) 12%,rgba(211,169,105,.3) 38%,rgba(196,164,119,0) 72%);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.18);animation:mercury-touch-flash .46s cubic-bezier(.16,.72,.3,1) forwards;mix-blend-mode:screen;contain:strict }
@keyframes mercury-touch-flash { 0% { opacity:.88;transform:translate(-50%,-50%) scale(.18) } 52% { opacity:.58;transform:translate(-50%,-50%) scale(.84) } 100% { opacity:0;transform:translate(-50%,-50%) scale(1.18) } }
@media(prefers-reduced-motion:reduce) { .cursor-light { display:none!important } }


/* City-aware delivery and payment preview based on current InSales settings. */
.delivery-city-picker { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:2px 0 0; padding:14px 15px; border:1px solid var(--line); border-radius:9px; background:var(--paper) }
.delivery-city-picker>div { display:grid; gap:5px; min-width:0 }
.delivery-kicker,.payment-for-delivery-heading>span { color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.1em; line-height:1.4 }
.delivery-city-picker strong { font-size:16px; line-height:1.25 }
.delivery-city-select-wrap { position:relative; flex:0 0 auto }
.delivery-city-select-wrap select { max-width:190px; padding:9px 11px; appearance:none; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); font:inherit; font-size:13px; cursor:pointer }
.delivery-location-hint { margin:8px 0 12px; color:var(--muted); font-size:13px; line-height:1.6 }
.delivery-options { display:grid; gap:8px }
.delivery-choice { display:grid; gap:2px }
.delivery-option { position:relative; display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:start; gap:10px; width:100%; padding:12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); text-align:left; cursor:pointer; transition:border-color .2s,background .2s,box-shadow .2s }
.delivery-option:hover,.delivery-option.is-selected { border-color:var(--accent); box-shadow:0 5px 18px color-mix(in srgb,var(--accent) 14%,transparent) }
.delivery-option.is-selected { background:color-mix(in srgb,var(--accent) 7%,var(--surface)) }
.delivery-option-radio { width:16px; height:16px; margin-top:1px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center }
.delivery-option.is-selected .delivery-option-radio { border-color:var(--accent) }
.delivery-option.is-selected .delivery-option-radio:after { content:""; width:8px; height:8px; border-radius:50%; background:var(--accent) }
.delivery-option-copy { display:grid; gap:4px; min-width:0 }
.delivery-option-copy b { font-size:14px; line-height:1.45 }
.delivery-option-copy span { color:var(--muted); font-size:12px; line-height:1.6 }
.delivery-option-meta { align-self:start; color:var(--accent); font-size:12px; font-weight:700; white-space:nowrap }
.delivery-option-map { justify-self:start; margin:3px 0 2px 46px; color:var(--accent); font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:3px }
.delivery-option-map:hover { color:var(--ink) }
.payment-for-delivery { margin-top:12px; padding:13px; border:1px solid var(--line); border-radius:8px; background:var(--paper) }
.payment-for-delivery-heading { display:grid; gap:5px; margin-bottom:10px }
.payment-for-delivery-heading b { font-size:14px; line-height:1.5 }
.payment-chips { display:flex; flex-wrap:wrap; gap:6px }
.payment-chip { display:inline-flex; align-items:center; min-height:32px; padding:6px 10px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--ink); font-size:12px; line-height:1.45 }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important }
@media (max-width: 520px) {
  .delivery-city-picker { align-items:flex-start; padding:12px; gap:8px }
  .delivery-city-picker strong { font-size:15px }
  .delivery-city-select-wrap select { max-width:175px; font-size:13px }
  .delivery-option { grid-template-columns:16px minmax(0,1fr); gap:8px; padding:11px 10px }
  .delivery-option-map { margin-left:34px }
  .delivery-option-meta { grid-column:2; justify-self:start; margin-top:-1px; white-space:normal }
  .delivery-option-copy b { font-size:14px }
  .delivery-option-copy span { font-size:12px }
  .payment-for-delivery { padding:11px }
  .payment-chip { font-size:12px; min-height:34px }
}

/* Sitewide readability pass: stronger type hierarchy and an intentional city selector. */
body { font-size:15px }
.demo-ribbon { font-size:10px }
.brand small { font-size:10px }
.header-city-picker { position:relative; display:flex; align-items:center; gap:10px; min-width:190px; min-height:46px; padding:6px 12px; border:1px solid var(--line); border-radius:7px; background:color-mix(in srgb,var(--surface) 82%,transparent); color:var(--ink); white-space:nowrap; transition:border-color .2s,box-shadow .2s,background .2s }
.header-city-picker:hover,.header-city-picker:focus-within { border-color:color-mix(in srgb,var(--accent) 72%,var(--line)); box-shadow:0 5px 18px color-mix(in srgb,var(--accent) 17%,transparent) }
.city-pin { width:29px; height:29px; flex:0 0 29px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--accent) 13%,var(--surface)); color:var(--accent) }
.city-pin svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }
.header-city-copy { display:grid; gap:1px; min-width:0 }
.header-city-label { color:var(--muted); font-size:10px; letter-spacing:.04em; line-height:1.2 }
.header-city-picker select { width:100%; max-width:190px; min-width:0; min-height:20px; padding:0 4px 0 0; appearance:none; border:0; outline:0; background:transparent; color:var(--ink); font:600 14px/1.35 Arial,sans-serif; cursor:pointer }
.city-chevron { width:20px; height:20px; flex:0 0 20px; display:grid; place-items:center; margin-left:auto; color:var(--accent); pointer-events:none }
.city-chevron svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round }
.main-nav { font-size:14px }
.eyebrow { font-size:11px }
.button { font-size:13px }
.text-link { font-size:13px }
.hero-copy>p { font-size:16px }
.hero-foot,.hero-side-note { font-size:10px }
.trust-strip { font-size:10px }
.category-index { font-size:10px }
.category-meta p { font-size:13px }
.feature-copy p { font-size:15px }
.feature-signature { font-size:9px }
.product-card-tag,.product-tag { font-size:9px }
.product-feature small { font-size:9px }
.product-feature strong { font-size:11px }
.product-brand { font-size:10px }
.product-name { font-size:17px }
.product-card-bottom strong { font-size:19px }
.product-card-bottom del { font-size:12px }
.vat-note { font-size:10px }
.quote-caption { font-size:10px }
.footer-links { font-size:12px }
.footer-copy { font-size:10px }
.breadcrumbs { font-size:12px }
.catalog-intro p { font-size:15px }
.catalog-count,.result-label,.sort-label { font-size:12px }
.sort-label select { font-size:13px }
.chip { font-size:12px }
.chip small { font-size:10px }
.banner-orbit { font-size:13px }
.room-links a { font-size:14px }
.gallery-note { font-size:10px }
.rating-line { font-size:11px }
.product-lead { font-size:15px }
.price-note,.price-note .vat-note { font-size:11px }
.product-light-specs-heading h2,.product-more-heading h2 { font-size:19px }
.spec-count,.demo-details-tag { font-size:10px }
.product-specs span,.detail-spec span { font-size:11px }
.product-specs b,.detail-spec b { font-size:13px }
.delivery-note b { font-size:13px }
.delivery-note small { font-size:11px }
.product-demo-note,.product-accordion,.product-accordion summary,.product-description-copy { font-size:14px }
.product-description-list { font-size:13px }
.delivery-option-copy b { font-size:15px }
.delivery-option-copy span { font-size:13px }
.delivery-option-meta,.delivery-option-map { font-size:13px }
.payment-chip { font-size:13px }
.accordion { font-size:13px }
.accordion p { font-size:12px }
.cart-product-copy>a,.cart-item-price { font-size:14px }
.cart-product-copy small,.cart-price-block .vat-note { font-size:10px }
.quantity-control span { font-size:12px }
.summary-line,.summary-total { font-size:12px }
.summary-vat-note .vat-note { font-size:10px }
.checkout-note,.payment-note small { font-size:10px }
.payment-note { font-size:12px }
.cart-empty p { font-size:14px }
.story-chapter p { font-size:14px }
.story-chapter .text-link,.catalog-aside-note { font-size:12px }
@media(max-width:700px) {
  body { font-size:15px }
  .demo-ribbon { min-height:26px; font-size:9px; letter-spacing:.04em }
  .site-header { padding:12px 16px; gap:9px 12px }
  .header-city-picker { order:2; flex:1 0 100%; width:100%; min-width:0; min-height:50px; padding:7px 12px; border-top:1px solid var(--line); border-radius:8px; background:var(--surface) }
  .header-city-picker select { max-width:none; min-height:24px; font-size:15px }
  .header-city-label { font-size:11px }
  .city-pin { width:32px; height:32px; flex-basis:32px }
  .main-nav { font-size:15px }
  .button { font-size:14px }
  .hero-copy>p { font-size:15px }
  .hero-foot { font-size:9px }
  .trust-strip { font-size:9px; letter-spacing:.08em }
  .category-meta h3 { font-size:clamp(18px,5.3vw,22px) }
  .category-meta p { font-size:11px }
  .category-index { font-size:10px }
  .feature-copy p { font-size:15px }
  .feature-signature { font-size:9px }
  .product-card-tag { font-size:8px; padding:5px 6px }
  .product-feature { max-width:calc(50% - 3px); padding:5px 6px 4px }
  .product-feature small { font-size:8px; line-height:1.25 }
  .product-feature strong { font-size:10px }
  .product-brand { font-size:9px }
  .product-name { min-height:62px; font-size:15px; line-height:1.38 }
  .product-card-bottom strong { font-size:17px }
  .product-card-bottom del { font-size:11px }
  .vat-note { font-size:10px }
  .breadcrumbs { font-size:11px }
  .catalog-intro p { font-size:14px }
  .catalog-count,.result-label,.sort-label { font-size:11px }
  .sort-label select { max-width:160px; font-size:12px }
  .chip { font-size:12px }
  .chip small { font-size:10px }
  .room-links a { font-size:13px }
  .product-info h1 { font-size:clamp(32px,9vw,38px) }
  .product-lead { font-size:14px }
  .product-light-specs-heading h2 { font-size:18px }
  .spec-count,.demo-details-tag { font-size:10px }
  .product-specs span,.detail-spec span { font-size:11px }
  .product-specs b,.detail-spec b { font-size:12px }
  .product-demo-note,.product-accordion,.product-accordion summary,.product-description-copy { font-size:14px }
  .product-description-list { font-size:13px }
  .delivery-note b { font-size:13px }
  .delivery-note small { font-size:11px }
  .delivery-option-copy b { font-size:14px }
  .delivery-option-copy span { font-size:13px }
  .delivery-option-meta,.delivery-option-map { font-size:12px }
  .payment-chip { font-size:12px }
  .footer-links { font-size:12px }
  .footer-copy { font-size:10px }
  .cart-product-copy .eyebrow { font-size:9px }
  .cart-product-copy>a { font-size:13px }
  .cart-item-price { font-size:12px }
  .cart-price-block .vat-note { font-size:9px }
  .summary-line,.summary-total { font-size:13px }
  .checkout-note,.payment-note small { font-size:10px }
}
@media(min-width:701px) and (max-width:980px) {
  .site-header { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; gap:12px 18px; padding-inline:20px }
  .site-header>.brand { grid-area:1/1 }
  .header-city-picker { grid-area:1/2; min-width:180px }
  .header-actions { grid-area:1/3 }
  .main-nav { grid-area:2/1/3/4; justify-content:center; gap:clamp(16px,4vw,30px) }
}
@media(max-width:700px) {
  .header-city-picker { border-top:0 }
}

/* Desktop product details move into a calm full-width panel below the gallery and purchase summary. */
.header-city-picker:before,.header-city-picker:after { content:none; display:none }
.product-more-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; margin:42px 0 0; padding:26px 28px 30px; border:1px solid var(--line); border-radius:10px; background:var(--surface) }
.product-more-heading,.product-demo-note { grid-column:1/-1 }
.product-more-heading { margin-bottom:13px }
.product-demo-note { margin-bottom:18px }
.product-accordion { min-width:0; align-self:start; border-top:1px solid var(--line); border-bottom:1px solid var(--line) }
@media(max-width:700px) {
  .product-more-details { grid-template-columns:minmax(0,1fr); gap:0; margin-top:30px; padding:20px 15px 22px }
  .product-more-heading { margin-bottom:12px }
  .product-demo-note { margin-bottom:12px }
}

/* Site-wide return-to-top control: appears only after the visitor scrolls down. */
.back-to-top { position:fixed; right:max(18px,calc((100vw - 1240px)/2)); bottom:calc(24px + env(safe-area-inset-bottom,0px)); z-index:28; display:grid; width:50px; height:50px; place-items:center; border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line)); border-radius:50%; background:color-mix(in srgb,var(--surface) 90%,transparent); color:var(--accent); box-shadow:0 8px 24px rgba(32,28,20,.18),0 2px 7px rgba(32,28,20,.12); backdrop-filter:blur(12px); cursor:pointer; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(12px) scale(.94); transition:opacity .24s var(--ease),transform .24s var(--ease),visibility .24s,background-color .2s,color .2s,box-shadow .2s }
.back-to-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1) }
.back-to-top svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s var(--ease) }
.back-to-top:hover { background:var(--accent); color:var(--page); box-shadow:0 10px 28px rgba(167,136,92,.34),0 3px 9px rgba(32,28,20,.16) }
.back-to-top:hover svg { transform:translateY(-2px) }
.back-to-top:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 52%,transparent); outline-offset:3px }
@media(max-width:700px) {
  .back-to-top { right:16px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); width:48px; height:48px; box-shadow:0 6px 20px rgba(32,28,20,.2),0 2px 6px rgba(32,28,20,.14) }
}
@media(prefers-reduced-motion:reduce) {
  .back-to-top,.back-to-top svg { transition:none }
}

/* Keep one city dropdown indicator across Chromium, Safari and legacy Edge. */
.header-city-picker:before,.header-city-picker:after { content:none!important; display:none!important }
.header-city-picker select { appearance:none!important; -webkit-appearance:none!important; background-image:none!important }
.header-city-picker select::-ms-expand { display:none }

/* Make the whole compact city pill a native-select hit area; its visible value sets the pill width. */
.header-city-picker { width:max-content; max-width:100%; min-width:0; cursor:pointer }
.header-city-copy { width:max-content; max-width:100%; flex:0 1 auto }
.header-city-value { display:block; color:var(--ink); font:600 14px/1.35 Arial,sans-serif; white-space:nowrap }
.header-city-picker select { position:absolute; inset:0; z-index:3; width:100%; max-width:none; min-width:0; height:100%; min-height:100%; margin:0; padding:0; opacity:0; cursor:pointer }
.city-pin,.city-chevron { position:relative; z-index:1 }
.header-city-copy { position:static; z-index:auto }
@media(max-width:700px) {
  .header-city-picker { width:100%; max-width:100% }
  .header-city-copy { flex:0 1 auto }
}

/* One-click order uses a lightweight demo dialog; the InSales theme has its own native quick-checkout hook. */
.quick-order-button { display:flex; min-height:42px; align-items:center; justify-content:space-between; gap:12px; padding:0 13px; border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line)); border-radius:4px; background:color-mix(in srgb,var(--accent) 7%,var(--surface)); color:var(--ink); font:600 12px/1.2 Arial,sans-serif; text-align:left; cursor:pointer; transition:background-color .22s,border-color .22s,transform .22s,box-shadow .22s }
.quick-order-button span { color:var(--accent); font-size:15px; transition:transform .22s }
@media(hover:hover) and (pointer:fine) { .quick-order-button:hover { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 13%,var(--surface)); box-shadow:0 5px 18px color-mix(in srgb,var(--accent) 15%,transparent); transform:translateY(-1px) } .quick-order-button:hover span { transform:translate(2px,-2px) } }
.card-quick-order { width:100%; margin-top:10px; min-height:38px; font-size:11px }
.product-quick-order { width:calc(100% - 58px); margin-top:9px }
.quick-order-dialog { width:min(460px,calc(100vw - 28px)); max-width:none; max-height:min(90dvh,800px); padding:0; border:1px solid var(--line); border-radius:12px; background:var(--page); color:var(--ink); box-shadow:0 24px 80px rgba(20,18,14,.3); overflow:auto }
.quick-order-dialog::backdrop { background:rgba(18,19,17,.55); backdrop-filter:blur(4px) }
.quick-order-form { position:relative; display:grid; gap:13px; padding:27px }
.quick-order-form .eyebrow { color:var(--accent-dark); font-size:10px }
.quick-order-form h2 { margin:0; font-size:27px; line-height:1.15 }
.quick-order-close { position:absolute; top:15px; right:15px; display:grid; width:38px; height:38px; place-items:center; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:var(--ink); font-size:24px; cursor:pointer }
.quick-order-product { display:grid; grid-template-columns:70px minmax(0,1fr); align-items:center; gap:13px; padding:10px; border:1px solid var(--line); border-radius:7px; background:var(--surface) }
.quick-order-product img { width:70px; height:70px; object-fit:contain; background:#fff }
.quick-order-product>div { display:grid; gap:7px; min-width:0 }
.quick-order-product b { font-size:13px; line-height:1.4 }
.quick-order-product strong { color:var(--accent-dark); font-size:16px }
.quick-order-intro { margin:0; color:var(--muted); font-size:13px; line-height:1.55 }
.quick-order-form label { display:grid; gap:6px; font-size:12px; font-weight:600 }
.quick-order-form label span { color:var(--muted); font-weight:400 }
.quick-order-form input { width:100%; min-height:46px; padding:0 12px; border:1px solid var(--line); border-radius:5px; background:var(--surface); color:var(--ink); font:400 15px/1.4 Arial,sans-serif }
.quick-order-form input:focus { border-color:var(--accent); outline:2px solid color-mix(in srgb,var(--accent) 25%,transparent); outline-offset:1px }
.quick-order-submit { width:100%; min-height:48px; display:flex; justify-content:space-between; align-items:center; padding:0 16px; border:0; border-radius:4px; font-size:14px; cursor:pointer }
.quick-order-status { margin:0; color:var(--muted); font-size:11px; line-height:1.5 }
@media(max-width:700px) { .product-quick-order { width:calc(100% - 58px); min-height:46px; margin-top:8px; font-size:13px } .card-quick-order { min-height:42px; padding:0 10px; font-size:12px } .quick-order-form { gap:12px; padding:23px 19px 19px } .quick-order-form h2 { font-size:24px } .quick-order-intro { font-size:14px } .quick-order-form label { font-size:13px } }
@media(prefers-reduced-motion:reduce) { .quick-order-button,.quick-order-button span { transition:none } }

/* Keep the return control visible at page end and place it just after the footer signature. */
.footer-copy-row { grid-column:1/-1; width:100%; min-width:0; display:flex; align-items:center; justify-content:space-between; justify-self:stretch; gap:16px }
.back-to-top.is-footer-inline { position:relative; inset:auto; z-index:1; flex:0 0 50px; opacity:1; visibility:visible; pointer-events:auto; transform:none; backdrop-filter:none }
@media(max-width:700px) { .footer-copy-row { grid-column:1/-1; justify-self:stretch; max-width:100% } .back-to-top.is-footer-inline { flex-basis:48px } }
@media(prefers-reduced-motion:reduce) { .back-to-top.is-footer-inline { transition:none } }

/* Native full-screen product viewer with keyboard and touch navigation. */
.product-lightbox { position:fixed; inset:0; display:grid; grid-template-columns:72px minmax(0,1fr) 72px; grid-template-rows:minmax(0,1fr) auto; align-items:center; justify-items:center; gap:0 20px; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:24px max(24px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px)); overflow:hidden; border:0; background:rgba(24,26,23,.98); color:#f4f1e9 }
.product-lightbox:not([open]) { display:none }
.product-lightbox[open] { animation:lightbox-in .24s ease-out both }
.product-lightbox::backdrop { background:rgba(12,13,12,.76); backdrop-filter:blur(8px) }
@keyframes lightbox-in { from { opacity:0 } to { opacity:1 } }
.lightbox-stage { position:relative; grid-column:2; grid-row:1; display:grid; width:100%; height:100%; min-width:0; min-height:0; place-items:center; touch-action:pan-y }
.lightbox-stage img { display:block; max-width:100%; max-height:calc(100dvh - 108px); object-fit:contain; user-select:none; -webkit-user-drag:none }
.lightbox-stage img.is-changing { animation:lightbox-image-in .3s ease-out both }
@keyframes lightbox-image-in { from { opacity:.35; transform:scale(.985) } to { opacity:1; transform:scale(1) } }
.lightbox-counter { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); color:rgba(244,241,233,.72); font:600 11px/1 Arial,sans-serif; letter-spacing:.14em; white-space:nowrap }
.lightbox-close,.lightbox-arrow { display:grid; place-items:center; border:1px solid rgba(244,241,233,.32); border-radius:50%; background:rgba(244,241,233,.08); color:#f4f1e9; cursor:pointer; transition:background-color .2s,border-color .2s,transform .2s }
.lightbox-close:hover,.lightbox-arrow:hover { border-color:rgba(244,241,233,.75); background:rgba(244,241,233,.18) }
.lightbox-close svg,.lightbox-arrow svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round }
.lightbox-close { position:absolute; z-index:2; top:max(22px,env(safe-area-inset-top,0px)); right:max(22px,env(safe-area-inset-right,0px)); width:48px; height:48px }
.lightbox-arrow { grid-row:1; width:54px; height:54px }
.lightbox-prev { grid-column:1 }
.lightbox-next { grid-column:3 }
.lightbox-hint { grid-column:1/-1; grid-row:2; margin:0; color:rgba(244,241,233,.52); font:11px/1.4 Arial,sans-serif; text-align:center }
.lightbox-arrow[hidden] { display:none }
@media(max-width:700px) {
  .gallery-thumbs { gap:6px; flex-wrap:wrap }
  .thumb { flex:0 0 48px; width:48px; height:48px }
  .gallery-note { display:none }
  .product-image-open img { padding:24px }
  .product-image-zoom { right:9px; bottom:9px; padding:8px; opacity:1 }
  .product-image-zoom small { display:none }
  .product-lightbox { grid-template-columns:44px minmax(0,1fr) 44px; gap:0 6px; padding:calc(12px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px)) }
  .lightbox-stage img { max-width:100%; max-height:calc(100dvh - 112px) }
  .lightbox-close { top:calc(12px + env(safe-area-inset-top,0px)); right:max(12px,env(safe-area-inset-right,0px)); width:44px; height:44px }
  .lightbox-arrow { width:42px; height:42px }
  .lightbox-arrow svg { width:19px; height:19px }
  .lightbox-counter { bottom:8px }
  .lightbox-hint { font-size:10px }
}
@media(prefers-reduced-motion:reduce) { .product-lightbox[open],.lightbox-stage img.is-changing { animation:none } .lightbox-close,.lightbox-arrow { transition:none } }

/* Header callback entry and compact, accessible callback form. */
.callback-header-button { display:inline-flex; min-height:38px; align-items:center; justify-content:center; gap:8px; padding:0 13px; border:1px solid color-mix(in srgb,var(--accent) 58%,var(--line)); border-radius:24px; background:color-mix(in srgb,var(--accent) 9%,var(--page)); color:var(--ink); font:600 11px/1 Arial,sans-serif; white-space:nowrap; cursor:pointer; transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s }
.callback-header-button svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round }
.callback-header-button:focus-visible { outline:2px solid var(--accent); outline-offset:3px }
@media(hover:hover) and (pointer:fine) { .callback-header-button:hover { border-color:var(--accent); background:var(--accent); color:#fff; box-shadow:0 5px 18px color-mix(in srgb,var(--accent) 27%,transparent); transform:translateY(-1px) } }
@media(max-width:1160px) { .callback-header-button { width:38px; height:38px; padding:0 } .callback-header-button span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap } .callback-header-button svg { width:17px; height:17px } }
.callback-dialog[open] { animation:callback-dialog-in .2s ease-out both }
@keyframes callback-dialog-in { from { opacity:0; transform:translateY(8px) scale(.99) } to { opacity:1; transform:translateY(0) scale(1) } }
.callback-dialog-form h2 { max-width:340px; padding-right:38px; font-size:clamp(25px,4vw,31px); letter-spacing:-.035em }
.callback-dialog-form .eyebrow { padding-right:38px; line-height:1.5 }
.callback-dialog-form .quick-order-status { margin:0; color:var(--muted); font-size:11px; line-height:1.45 }
@media(max-width:700px) { .callback-header-button { width:36px; height:36px; flex:0 0 36px } .callback-dialog-form { gap:12px; padding:24px 18px } .callback-dialog-form h2 { font-size:25px } }
@media(prefers-reduced-motion:reduce) { .callback-header-button { transition:none } .callback-dialog[open] { animation:none } }

/* Store navigation: a compact category menu that works with click and touch. */
.main-nav { position:static }
.nav-catalog-toggle { position:relative; display:inline-flex; align-items:center; gap:7px; padding:9px 0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; transition:color .2s }
.nav-catalog-toggle:hover,.nav-catalog-toggle[aria-expanded="true"] { color:var(--ink) }
.nav-catalog-toggle:focus-visible { outline:2px solid color-mix(in srgb,var(--accent) 70%,white); outline-offset:4px; border-radius:3px }
.nav-catalog-toggle:after { position:absolute; right:19px; bottom:1px; left:0; height:1px; width:0; background:var(--accent); content:""; transition:width .25s var(--ease) }
.nav-catalog-toggle:hover:after,.nav-catalog-toggle[aria-expanded="true"]:after { width:calc(100% - 19px) }
.nav-catalog-toggle svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .2s }
.nav-catalog-toggle[aria-expanded="true"] svg { transform:rotate(180deg) }
.catalog-menu-panel[hidden] { display:none }
.catalog-menu-panel { position:absolute; top:calc(100% + 1px); left:50%; z-index:40; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(230px,.8fr); gap:30px; width:min(930px,calc(100vw - 48px)); padding:28px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink); box-shadow:0 22px 60px rgba(25,23,19,.22),0 4px 14px rgba(25,23,19,.12); transform:translateX(-50%); animation:catalog-menu-in .24s var(--ease) both }
@keyframes catalog-menu-in { from { opacity:0; transform:translate(-50%,-8px) } to { opacity:1; transform:translate(-50%,0) } }
.catalog-menu-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:17px; padding-bottom:14px; border-bottom:1px solid var(--line) }
.catalog-menu-heading>a,.catalog-menu-brand-link { display:inline-flex; align-items:center; gap:8px; color:var(--accent); font-size:12px; font-weight:650 }
.catalog-menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 18px }
.catalog-menu-grid>a { display:flex; align-items:center; justify-content:space-between; min-height:42px; gap:12px; padding:8px 9px; border-radius:7px; font-size:13px; transition:background .2s,color .2s,transform .2s }
.catalog-menu-grid>a:hover { background:color-mix(in srgb,var(--accent) 10%,var(--surface)); color:var(--accent); transform:translateX(3px) }
.catalog-menu-grid>a span { color:var(--accent); font-size:9px; letter-spacing:.1em; opacity:.7 }
.catalog-menu-feature { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:100%; overflow:hidden; padding:24px; border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line)); border-radius:10px; background:radial-gradient(circle at 88% 14%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 38%),color-mix(in srgb,var(--page) 75%,var(--surface)); }
.catalog-menu-feature-mark { position:absolute; top:16px; right:18px; color:var(--accent); font-size:28px; opacity:.75 }
.catalog-menu-feature .eyebrow { font-size:8px }
.catalog-menu-feature h2 { margin:23px 0 10px; font:32px/1.04 Georgia,serif; letter-spacing:-.04em }
.catalog-menu-feature h2 em { color:var(--accent); font-weight:400 }
.catalog-menu-feature p { max-width:225px; margin:0 0 24px; color:var(--muted); font-size:12px; line-height:1.6 }
.footer-inner { grid-template-columns:1.05fr .85fr 2fr; align-items:start }
.footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px 20px; font-size:12px }
.footer-link-group { display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0 }
.footer-link-group>span { margin-bottom:2px; color:#c3a476; font-size:9px; font-weight:700; letter-spacing:.16em }
.footer-link-group a { line-height:1.35 }
.footer-link-group a:hover { color:#e1c399 }
.footer-copy { grid-column:1/-1 }
@media(max-width:980px) {
  .catalog-menu-panel { width:min(760px,calc(100vw - 40px)); grid-template-columns:minmax(0,1.5fr) minmax(190px,.8fr); gap:18px; padding:20px }
  .catalog-menu-grid { gap:2px 8px }
  .catalog-menu-grid>a { font-size:12px }
  .footer-inner { grid-template-columns:1fr 1fr; }
  .footer-links { grid-column:1/-1; grid-row:2; }
  .footer-copy { grid-column:1/-1; }
}
@media(max-width:700px) {
  .main-nav { position:absolute; top:100%; right:0; left:0 }
  .nav-catalog-toggle { display:flex; justify-content:space-between; width:100%; padding:12px 4px; border-bottom:1px solid var(--line); text-align:left }
  .nav-catalog-toggle:after { display:none }
  .catalog-menu-panel { position:static; display:block; width:auto; max-height:min(68vh,560px); overflow-y:auto; margin:4px 0 10px; padding:14px; border-radius:9px; box-shadow:0 10px 28px rgba(25,23,19,.15); transform:none; animation:catalog-menu-mobile-in .2s ease both }
  @keyframes catalog-menu-mobile-in { from { opacity:0; transform:translateY(-5px) } to { opacity:1; transform:translateY(0) } }
  .catalog-menu-main { min-width:0 }
  .catalog-menu-feature { min-height:0; margin-top:14px; padding:18px }
  .catalog-menu-feature h2 { margin:17px 0 7px; font-size:26px }
  .catalog-menu-feature p { margin-bottom:15px }
  .catalog-menu-grid { grid-template-columns:1fr 1fr; gap:2px 7px }
  .catalog-menu-grid>a { min-height:40px; padding:7px 4px; font-size:12px }
  .catalog-menu-grid>a span { display:none }
  .catalog-menu-heading { align-items:flex-start; flex-direction:column; gap:7px; margin-bottom:9px; padding-bottom:10px }
  .footer-inner { grid-template-columns:1fr; gap:16px }
  .footer-links { grid-column:auto; grid-row:auto; grid-template-columns:1fr 1fr; gap:20px 14px; font-size:12px }
  .footer-copy { grid-column:auto }
}
@media(prefers-reduced-motion:reduce) { .catalog-menu-panel,.catalog-menu-panel * { animation-duration:.01ms!important; transition-duration:.01ms!important } }


/* Keep footer link groups together below the brand row on laptop widths. */
@media(min-width:981px) and (max-width:1400px) {
  .footer-inner { grid-template-columns:1fr 1fr; gap:22px; }
  .footer-links { grid-column:1/-1; grid-row:2; width:100%; }
  .footer-copy { grid-column:1/-1; }
}

/* Keep native option menus readable in the dark theme. */
:root[data-theme="dark"] select { color-scheme:dark }
:root[data-theme="dark"] select option { background-color:#252823; color:#f0eee8 }

/* Site-wide readable type scale for desktop and mobile. */
body { font-size:15px }
.demo-ribbon { font-size:10px }
.brand { font-size:14px }
.brand small { font-size:10px }
.main-nav { font-size:14px }
.header-city-picker select { font-size:15px }
.eyebrow { font-size:10px }
.button { font-size:13px }
.text-link { font-size:13px }
.hero-copy>p,.feature-copy p,.catalog-intro p,.product-lead { font-size:15px }
.trust-strip { font-size:10px }
.hero-foot,.hero-side-note,.feature-signature { font-size:10px }
.category-index,.product-card-tag,.product-tag { font-size:9px }
.category-meta p { font-size:12px }
.product-feature small { font-size:8px }
.product-feature strong { font-size:11px }
.product-brand { font-size:10px }
.product-name { font-size:17px }
.product-card-bottom strong { font-size:19px }
.product-card-bottom del { font-size:12px }
.vat-note { font-size:11px }
.vat-info { width:17px; height:17px; font-size:10px }
.vat-tooltip { font-size:12px }
.callback-field { font-size:14px }
.callback-field>span,.callback-demo-note,.callback-status { font-size:12px }
.callback-field input { font-size:16px }
.footer-links { font-size:13px }
.footer-copy { font-size:11px }
.breadcrumbs { font-size:12px }
.catalog-count { font-size:12px }
.chip { font-size:13px }
.chip small { font-size:10px }
.result-label,.sort-label { font-size:12px }
.sort-label select { font-size:13px }
.room-links a { font-size:14px }
.gallery-note,.rating-line { font-size:12px }
.product-image-zoom { font-size:12px }
.price-row strong { font-size:29px }
.price-row del { font-size:15px }
.discount { font-size:11px }
.price-note,.price-note .vat-note { font-size:11px }
.product-light-specs-heading h2,.product-more-heading h2 { font-size:19px }
.spec-count,.demo-details-tag { font-size:10px }
.product-specs span,.detail-spec span { font-size:12px }
.product-specs b,.detail-spec b { font-size:14px }
.delivery-note b { font-size:14px }
.delivery-note small { font-size:12px }
.product-demo-note,.product-demo-footnote { font-size:14px }
.product-accordion,.product-accordion summary,.accordion { font-size:15px }
.product-description-copy,.accordion p { font-size:14px }
.product-description-list { font-size:14px }
.delivery-option-copy b { font-size:14px }
.delivery-option-copy span { font-size:13px }
.cart-product-copy .eyebrow { font-size:10px }
.cart-product-copy>a { font-size:16px }
.cart-product-copy small { font-size:12px }
.quantity-control { gap:13px }
.quantity-control button { width:30px; height:30px; font-size:18px }
.quantity-control span { min-width:18px; font-size:14px }
.cart-item-price { font-size:17px }
.cart-price-block .vat-note { font-size:11px }
.summary-line,.summary-total { font-size:14px }
.summary-total strong { font-size:23px }
.summary-vat-note .vat-note { font-size:11px }
.checkout-note,.payment-note small { font-size:12px }
.payment-note { font-size:14px }
.cart-empty p { font-size:14px }
.story-index,.editorial-visual-caption span { font-size:10px }
.story-chapter p { font-size:14px }
.story-chapter .text-link { font-size:13px }
.catalog-aside-note { font-size:12px }

@media(max-width:700px) {
  body { font-size:14px }
  .demo-ribbon { font-size:9px }
  .brand { font-size:13px }
  .brand small { font-size:9px }
  .main-nav { font-size:14px }
  .header-city-picker select { font-size:15px }
  .hero-copy>p,.feature-copy p,.catalog-intro p,.product-lead { font-size:15px }
  .trust-strip { font-size:9px }
  .hero-foot,.hero-side-note,.feature-signature { font-size:9px }
  .category-index { font-size:9px }
  .category-meta p { font-size:11px }
  .product-card-tag,.product-tag { font-size:8px }
  .product-feature { padding:5px 6px 4px }
  .product-feature small { font-size:7px }
  .product-feature strong { font-size:10px }
  .product-brand { font-size:9px }
  .product-name { min-height:60px; font-size:15px }
  .product-card-bottom strong { font-size:17px }
  .product-card-bottom del { font-size:11px }
  .product-card-bottom .vat-note { font-size:10px }
  .vat-info { width:17px; height:17px }
  .breadcrumbs { font-size:11px }
  .catalog-intro p { font-size:14px }
  .catalog-count { font-size:11px }
  .chip { font-size:12px }
  .chip small { font-size:9px }
  .result-label,.sort-label { font-size:11px }
  .sort-label select { font-size:12px }
  .room-links a { font-size:13px }
  .gallery-note,.rating-line { font-size:11px }
  .product-info h1 { font-size:clamp(32px,8vw,38px) }
  .product-lead { font-size:15px }
  .price-row strong { font-size:27px }
  .price-note,.price-note .vat-note { font-size:12px }
  .product-light-specs-heading h2,.product-more-heading h2 { font-size:18px }
  .spec-count,.demo-details-tag { font-size:10px }
  .product-specs span,.detail-spec span { font-size:12px }
  .product-specs b,.detail-spec b { font-size:13px }
  .delivery-note b { font-size:14px }
  .delivery-note small { font-size:12px }
  .product-demo-note,.product-demo-footnote { font-size:14px }
  .product-accordion,.product-accordion summary,.accordion { font-size:14px }
  .product-description-copy,.accordion p { font-size:14px }
  .product-description-list { font-size:14px }
  .delivery-option-copy b { font-size:14px }
  .delivery-option-copy span { font-size:13px }
  .cart-product-copy .eyebrow { font-size:9px }
  .cart-product-copy>a { font-size:14px }
  .cart-product-copy small { font-size:11px }
  .cart-item { grid-template-columns:64px minmax(0,1fr) auto 24px; gap:8px; }
  .cart-thumb { width:64px; height:64px }
  .quantity-control { gap:4px; padding:3px }
  .quantity-control button { width:25px; height:28px; font-size:17px }
  .quantity-control span { min-width:16px; font-size:13px }
  .cart-item-price { font-size:15px }
  .cart-price-block .vat-note { font-size:10px }
  .summary-line,.summary-total { font-size:14px }
  .summary-total strong { font-size:22px }
  .summary-vat-note .vat-note { font-size:11px }
  .checkout-note,.payment-note small { font-size:12px }
  .payment-note { font-size:13px }
  .footer-links { font-size:12px }
  .footer-copy { font-size:10px; white-space:normal }
  .story-index,.editorial-visual-caption span { font-size:9px }
  .story-chapter p { font-size:14px }
  .story-chapter .text-link { font-size:13px }
  .catalog-aside-note { font-size:11px }
}

/* Inline expanding search shared by the demo storefront pages. */
.search-toggle svg,.mobile-search-trigger svg,.site-search-field svg { width:18px; height:18px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round }
.mobile-search-trigger { display:none }
.site-header { flex-wrap:wrap }
.site-search-inline { flex:0 0 100%; width:100%; min-width:0; max-height:0; overflow:hidden; visibility:hidden; opacity:0; transform:translateY(-6px); transition:max-height .34s var(--ease),opacity .24s ease,transform .34s var(--ease),visibility .34s }
.site-search-inline[hidden] { display:none!important }
.site-search-inline.is-open { max-height:520px; overflow:visible; visibility:visible; opacity:1; transform:none; padding:2px 0 16px }
.site-search-form { display:flex; align-items:center; gap:10px; margin:0 }
.site-search-field { flex:1 1 auto; min-width:0; min-height:54px; display:flex; align-items:center; gap:12px; padding:0 13px; border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line)); border-radius:7px; background:var(--surface); color:var(--muted); box-shadow:0 5px 18px color-mix(in srgb,var(--accent) 8%,transparent) }
.site-search-field:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent) }
.site-search-field input { width:100%; min-width:0; height:50px; border:0; outline:0; background:transparent; color:var(--ink); font:400 16px/1.4 Arial,sans-serif }
.site-search-field input::placeholder { color:var(--muted); opacity:.85 }
.site-search-field>button { width:38px; height:38px; flex:0 0 38px; border:0; border-radius:50%; background:var(--ink); color:var(--page); font-size:19px; transition:background .2s,color .2s,transform .2s }
.site-search-field>button:hover { background:var(--accent); color:#fff; transform:translate(1px,-1px) }
.site-search-close { width:42px; height:42px; flex:0 0 42px; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--ink); font-size:26px; line-height:1; transition:border-color .2s,color .2s,transform .2s }
.site-search-close:hover { border-color:var(--accent); color:var(--accent); transform:rotate(90deg) }
.site-search-status { margin:11px 2px 8px; color:var(--muted); font-size:13px; line-height:1.5 }
.site-search-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:0 22px; max-height:min(46vh,370px); overflow:auto; overscroll-behavior:contain }
.search-result-group { min-width:0; padding:0 10px 5px 0; border-right:1px solid var(--line) }
.search-result-group:last-child { border-right:0 }
.search-result-group h3 { display:flex; align-items:center; gap:8px; margin:3px 0 6px; color:var(--accent); font-size:10px; letter-spacing:.11em; text-transform:uppercase }
.search-result-group h3 span { color:var(--muted); font-size:10px; letter-spacing:0 }
.site-search-result,.search-result-link { min-width:0; min-height:58px; display:grid; grid-template-columns:42px minmax(0,1fr) auto 16px; align-items:center; gap:9px; padding:6px 4px; border-bottom:1px solid var(--line); transition:background .2s,padding .2s }
.search-result-link { grid-template-columns:30px minmax(0,1fr) 16px }
.site-search-result:hover,.search-result-link:hover { padding-inline:9px; background:color-mix(in srgb,var(--accent) 7%,var(--surface)) }
.site-search-result img { width:42px; height:42px; object-fit:contain; border-radius:4px; background:#fff }
.site-search-result-copy { min-width:0; display:grid; gap:4px }
.site-search-result-copy strong { font-size:13px; line-height:1.35 }
.site-search-result-copy small { overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap }
.site-search-result>b { font-size:13px; white-space:nowrap }
.search-result-kind { width:27px; height:27px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--accent); font-size:13px }
.search-result-kind-brand { font:14px Georgia,serif }
.site-search-result-arrow { color:var(--accent); font-size:17px; text-align:center }
.site-search-submit { width:max-content; min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin:10px 0 0 auto; padding:0 13px; border:1px solid var(--line); border-radius:5px; background:var(--ink); color:var(--page); font-size:13px; font-weight:600; transition:background .2s,transform .2s }
.site-search-submit[hidden] { display:none!important }
.site-search-submit:hover { background:var(--accent); transform:translateY(-1px) }
.site-search-submit span { font-size:18px }
.catalog-search-message { margin:0 0 16px; padding:13px 16px; border-left:2px solid var(--accent); background:var(--paper); color:var(--ink); font-size:14px; line-height:1.55 }
.catalog-search-message[hidden] { display:none }
.catalog-search-message a { margin-left:10px; color:var(--accent); font-weight:700; text-decoration:underline; text-underline-offset:3px }
@media(max-width:1320px) and (min-width:701px) { .site-header { gap:18px } .main-nav { gap:19px } .header-actions { gap:7px } }
@media(min-width:701px) and (max-width:980px) { .site-search-inline { grid-column:1/-1 } }
@media(max-width:700px) {
  .search-toggle { display:none }
  .header-city-picker { width:calc(100% - 56px); min-width:0; min-height:50px; flex:1 1 calc(100% - 56px); padding:6px 10px; border-top:0; border-radius:8px; background:var(--surface) }
  .mobile-search-trigger { width:44px; height:44px; flex:0 0 44px; order:3; display:grid; place-items:center; align-self:center; margin:0; padding:0; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--ink); -webkit-tap-highlight-color:transparent }
  .mobile-search-trigger span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap }
  .site-search-inline { order:4 }
  .site-search-inline.is-open { padding:7px 0 10px }
  .site-search-form { gap:7px }
  .site-search-field { min-height:49px; gap:8px; padding:0 9px }
  .site-search-field input { height:45px; font-size:15px }
  .site-search-close { width:38px; height:38px; flex-basis:38px }
  .site-search-status { margin:8px 1px 6px; font-size:12px }
  .site-search-results { grid-template-columns:1fr; max-height:min(38vh,300px) }
  .search-result-group { padding:4px 0 7px; border-right:0; border-bottom:1px solid var(--line) }
  .site-search-result,.search-result-link { min-height:58px; grid-template-columns:44px minmax(0,1fr) auto 16px; gap:8px; padding:6px 1px }
  .search-result-link { grid-template-columns:30px minmax(0,1fr) 16px }
  .site-search-result img { width:42px; height:42px }
  .site-search-result-copy strong { font-size:13px }
  .site-search-result-copy small { font-size:11px }
  .site-search-result>b { font-size:13px }
  .site-search-submit { min-height:44px; margin-top:9px; font-size:13px }
}
@media(prefers-reduced-motion:reduce) { .site-search-inline,.site-search-close,.site-search-result,.search-result-link,.site-search-submit { animation:none; transition:none } }

/* Storefront comfort pass: readable product cues, clear focus and generous controls. */
.icon-button,.menu-toggle,.callback-header-button { min-width:44px; min-height:44px }
.quick-fav { width:40px; height:40px; font-size:19px }
.vat-info { width:24px; height:24px; flex:0 0 24px; font-size:11px }
.add-mini { width:42px; height:42px; flex-basis:42px; font-size:21px }
.product-card-tag,.product-tag { font-size:10px }
.product-feature { min-width:46px; padding:6px 8px 5px }
.product-feature small { font-size:10px; letter-spacing:.06em }
.product-feature strong { font-size:12px }
.product-brand { font-size:11px }
.product-name { font-size:18px }
.product-card-bottom strong { font-size:20px }
.vat-note { font-size:12px }
.card-quick-order { min-height:44px; font-size:13px }
.chip { min-height:44px; display:inline-flex; align-items:center }
.sort-label select { min-height:44px }
.site-search-field>button,.site-search-close { width:44px; height:44px; flex-basis:44px }
.footer-copy-row { min-height:48px }
.icon-button:focus-visible,.menu-toggle:focus-visible,.callback-header-button:focus-visible,.quick-fav:focus-visible,.add-mini:focus-visible,.vat-info:focus-visible,.quick-order-button:focus-visible,.mobile-search-trigger:focus-visible,.site-search-field>button:focus-visible,.site-search-close:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 72%,white); outline-offset:3px }
@media(max-width:700px) {
  .icon-button,.menu-toggle,.callback-header-button { width:44px; height:44px; flex:0 0 44px }
  .quick-fav { width:44px; height:44px; top:6px; right:6px }
  .vat-info { width:24px; height:24px; flex-basis:24px }
  .add-mini { width:44px; height:44px; flex-basis:44px }
  .product-card-tag,.product-tag { font-size:9px }
  .product-feature { min-width:46px; padding:6px 7px 5px }
  .product-feature small { font-size:9px; line-height:1.25 }
  .product-feature strong { font-size:11px }
  .product-brand { font-size:10px }
  .product-name { min-height:64px; font-size:16px }
  .product-card-bottom strong { font-size:18px }
  .vat-note { font-size:11px }
  .card-quick-order { min-height:44px; font-size:13px }
  .chip { min-height:44px; padding-block:10px }
  .sort-label select { min-height:44px }
  .site-search-close { width:44px; height:44px; flex-basis:44px }
  .product-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:5px }
  .product-feature-group { display:contents }
  .product-feature { width:100%; min-width:0; max-width:none; padding:5px 7px 4px; background:rgba(27,29,26,.84) }
  .product-feature small { font-size:10px; line-height:1.15; letter-spacing:0; text-transform:none }
  .product-feature strong { font-size:12px }
  .main-nav a,.nav-catalog-toggle { min-height:44px; display:inline-flex; align-items:center }
  .breadcrumbs a { min-height:32px; display:inline-flex; align-items:center }
  .footer-link-group a { min-height:36px; display:flex; align-items:center }
}
@media(max-width:360px) {
  .product-grid { grid-template-columns:minmax(0,1fr); gap:16px }
}
@media(min-width:361px) and (max-width:700px) {
  .site-header { display:grid; grid-template-columns:minmax(0,1fr) repeat(3,44px); grid-template-areas:"brand theme cart menu" "city city callback search"; align-items:center; gap:8px; padding:12px 16px }
  .site-header>.brand { grid-area:brand; order:initial; min-width:0 }
  .site-header>.header-city-picker { grid-area:city; justify-self:start; order:initial; width:max-content; max-width:100%; min-width:0; min-height:50px; flex:initial; padding:6px 10px }
  .site-header>.header-city-picker .header-city-value { max-width:100%; overflow:hidden; text-overflow:ellipsis }
  .site-header>.header-actions { display:contents; order:initial; margin:0 }
  .header-actions>.theme-toggle { grid-area:theme }
  .header-actions>.cart-link { grid-area:cart }
  .header-actions>.menu-toggle { grid-area:menu }
  .header-actions>.callback-header-button { grid-area:callback }
  .mobile-search-trigger { grid-area:search; order:initial; align-self:center; margin:0 }
  .site-search-inline { grid-area:searchpanel; order:initial; grid-column:1/-1 }
}

/* Keep product photography clear and make the generated specs easy to scan. */
.product-features-inline { position:static; inset:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:6px; margin:9px 0 12px; pointer-events:none }
.product-features-inline .product-feature-group { display:contents }
.product-features-inline .product-feature { width:auto; max-width:none; min-width:0; gap:3px; padding:7px 8px 6px; border-color:color-mix(in srgb,var(--accent) 25%,var(--line)); background:color-mix(in srgb,var(--accent) 9%,var(--surface)); color:var(--ink); box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; transition:none }
.product-features-inline .product-feature small { color:var(--muted); font-size:9px; letter-spacing:.05em }
.product-features-inline .product-feature strong { color:var(--ink); font-size:12px; line-height:1.3 }

/* Use one light search affordance; Enter opens the full store search. */
.site-search-field>button { display:none!important }
.search-all-link { width:max-content; min-height:42px; display:inline-flex; align-items:center; gap:8px; margin:8px 2px 0 auto; padding:0; border:0; background:transparent; color:var(--accent-dark); font-size:13px; font-weight:650; text-decoration:underline; text-underline-offset:3px; transition:color .2s }
.search-all-link[hidden] { display:none!important }
.search-all-link:hover { color:var(--ink) }

/* Present the mobile menu as a clean, scrollable drawer and keep its category list simple. */
@media(max-width:700px) {
  .main-nav.nav-open { z-index:35; max-height:calc(100vh - 140px); overflow-y:auto; overscroll-behavior:contain; padding:8px 20px 16px; border:1px solid var(--line); border-top:0; border-radius:0 0 12px 12px; background:var(--surface); box-shadow:0 16px 34px rgba(25,23,19,.2) }
  @supports(height:100dvh) { .main-nav.nav-open { max-height:calc(100dvh - 140px) } }
  .catalog-menu-panel { max-height:none; overflow:visible; border:1px solid var(--line); background:color-mix(in srgb,var(--page) 74%,var(--surface)); box-shadow:none }
  .catalog-menu-feature { display:none }
  .catalog-menu-grid>a { min-height:44px; border-bottom:1px solid var(--line) }
  .search-all-link { min-height:44px; font-size:14px }
  .product-features-inline { gap:5px; margin:8px 0 11px }
  .product-features-inline .product-feature { padding:6px 7px 5px }
  .product-features-inline .product-feature small { font-size:9px }
  .product-features-inline .product-feature strong { font-size:12px }
}
