/* DOMELVYA — forest, chalk and electric lime. Premium motion: 180 / 400 / 700 ms. */
:root {
  --green: #214638;
  --green-dark: #142b23;
  --lime: #b8ec54;
  --lime-hover: #cbfa78;
  --bg: #fafaf7;
  --text: #1c2821;
  --muted: #677069;
  --line: #e3e7df;
  --radius: 16px;
  --max: 1320px;
  --ease: cubic-bezier(.22, 1, .36, 1);
}
body { -webkit-font-smoothing: antialiased; }
/* Supplied logo, unchanged. Crop only its transparent top/bottom margins in layout. */
.brand-logo-full { display:block; width:240px; height:54px; object-fit:cover; flex-shrink:0; }
.footer__brand .brand-logo-full { width:240px; height:54px; padding:0; background:transparent; border-radius:0; filter:brightness(0) invert(1); }
@media (max-width:640px) {
  .logo .brand-logo-full { width:180px; height:41px; }
}
.page-breadcrumb { padding-top:28px; font-size:12px; color:var(--muted); }
.page-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
#catalog-title, #tracking-title { font-size:clamp(28px,3vw,40px); font-weight:600; letter-spacing:-.04em; }
.cart-summary-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; font-size: 13px; }
.cart-summary-row strong { white-space: nowrap; }
.cart-shipping-note { margin-top: 10px; color: var(--muted); font-size: 11px; line-height: 1.7; }
#cart-shipping-summary { border-top: 1px solid var(--line); padding-top: 12px; }
.cart-checkout { display:flex; justify-content:center; margin-top:15px; }
::selection { background: var(--lime); color: var(--green-dark); }
:focus-visible { outline: 3px solid #5b9233; outline-offset: 5px; }
[hidden] { display: none !important; }
.container { width: min(100% - 80px, var(--max)); }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 12px; padding: 12px 20px; background: var(--lime); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.topbar { background: var(--green-dark); font-size: 11px; letter-spacing: .015em; }
.topbar__inner { min-height: 34px; padding-block: 7px; }
.topbar__brand .brand-mark { display: none; }
.topbar__links { gap: 20px; }
.header { background: rgba(250,250,247,.97); box-shadow: none; transition: box-shadow .4s var(--ease); }
.header.is-scrolled { box-shadow: 0 6px 24px #142b2310; }
.header__row { min-height: 88px; gap: 40px; padding-block: 18px; }
.logo { gap: 10px; }
.logo__word { font-size: 21px; font-weight: 800; letter-spacing: .045em; }
.logo .brand-mark { width: 38px; height: 38px; border-radius: 9px; }
.search { max-width: 510px; margin: auto; border: 1px solid var(--line); background: #f0f2ec; border-radius: 9px; }
.search:focus-within { border-color: var(--green); box-shadow: 0 0 0 3px #21463812; }
.search input { min-width: 0; padding: 13px 18px; font-size: 12px; }
.search__btn { display: grid; place-items: center; color: var(--green); background: transparent; padding: 0 17px; }
.search__btn:hover { background: var(--line); }
.header__actions { gap: 20px; }
.header__action { gap: 8px; padding: 8px 0; font-size: 12px; }
.header__action--cart { border: 0; }
.cart-count { min-width: 21px; height: 21px; margin-left: 2px; }
.catnav { color: var(--text); background: transparent; border-top: 1px solid var(--line); }
.catnav__inner { align-items: center; justify-content: space-between; gap: 12px; }
.catnav a { padding: 14px 12px; font-size: 12px; position: relative; opacity: 1; }
.catnav a::after { content: ''; position: absolute; bottom: 0; height: 2px; left: 12px; right: 12px; background: var(--green); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease); }
.catnav a:hover::after { transform: scaleX(1); }
.catnav a:hover, .catnav a:focus-visible { background: #edf0e7; }
.catnav__all { background: transparent; font-weight: 800 !important; padding-left: 0 !important; }
.catnav__all::before { content: '☷'; margin-right: 9px; font-size: 19px; vertical-align: -1px; }
.catnav a[href='#promo'] { color: #4c7323; margin-left: auto; }
.btn { border-radius: 8px; font-size: 13px; padding: 15px 22px; transition: transform .4s var(--ease), background .18s ease, box-shadow .4s var(--ease); }
.btn:hover { transform: translateY(-3px); box-shadow: 0 6px 18px #142b2312; }
.btn:active { transform: scale(.97); }
.btn--outline { border: 1px solid var(--line); }
.btn--lime { color: var(--green-dark); }
.eyebrow { font-size: 10px; font-weight: 800; letter-spacing: .15em; color: var(--muted); margin-bottom: 14px; }
.hero { width: 100%; margin-inline: 0; padding-top: 24px; }
.hero__stage { position: relative; overflow: hidden; isolation: isolate; min-height: 550px; border-radius: 0; background: #17271d; color: white; display: flex; align-items: center; }
.hero__image { position: absolute; inset: 0 0 0 auto; width: 77%; height: 100%; object-fit: cover; object-position: 65% center; z-index: -3; }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, #14291ff5 0%, #14291ff0 23%, #14291f9e 43%, #14291f00 73%), linear-gradient(0deg,#14291f60,transparent 25%); z-index: -2; }
.hero__copy { padding: 54px 56px 82px; padding-left: max(56px, calc((100% - var(--max)) / 2 + 56px)); width: 64%; position: relative; }
.hero__eyebrow { display: flex; align-items: center; gap: 9px; color: #deead4; font-size: 9px; letter-spacing: .16em; margin-bottom: 25px; }
.live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px #b8ec5416; }
.hero h1 { font-size: clamp(38px,4.1vw,60px); letter-spacing: -.055em; font-weight: 500; line-height: 1.11; }
.hero h1 em { font-style: normal; color: var(--lime); }
.hero__description { color: #d8dfd6; font-size: 14px; line-height: 1.85; margin-top: 23px; }
.hero__cta { margin-top: 29px; gap: 29px; padding: 16px 20px; }
.hero__cta span { font-size: 22px; line-height: 16px; transition: transform .4s var(--ease); }
.hero__cta:hover span { transform: translate(3px,-3px); }
.hero__reassurance { display: flex; align-items: center; gap: 8px; font-size: 10px; color: #cbd8ca; margin-top: 22px; }
.hero__reassurance > span { color: var(--lime); }
.hero__reassurance i { height: 3px; width: 3px; border-radius: 50%; background: #788b77; margin-inline: 4px; }
.hero__offer { position: absolute; right: max(27px, calc((100% - var(--max)) / 2 + 27px)); bottom: 76px; width: 200px; padding: 21px; color: var(--green-dark); background: #f7faedee; border: 1px solid #ffffff80; border-radius: 12px; backdrop-filter: blur(12px); box-shadow: 0 10px 30px #0001; transition: transform .5s var(--ease); }
.hero__offer:hover { transform: translateY(-6px) rotate(-1deg); }
.hero__offer > span { font-size: 9px; display: flex; justify-content: space-between; }
.hero__offer > strong { display: block; font-size: 12px; font-weight: 500; margin-block: 10px; }
.hero__offer b { display: block; font-size: 51px; font-weight: 700; line-height: 1.15; letter-spacing: -.07em; }
.hero__offer small { font-size: 28px; }
.hero__offer > span:last-child { padding-top: 10px; border-top: 1px solid #21463825; }
.hero__caption { position: absolute; bottom: 23px; left: max(56px, calc((100% - var(--max)) / 2 + 56px)); right: max(28px, calc((100% - var(--max)) / 2 + 28px)); display: flex; justify-content: space-between; font-size: 8px; letter-spacing: .16em; color: #ccd8c7; }
.trust-strip { background: transparent; margin: 0; border: 0; }
.trust-strip__grid { padding: 29px 0; border-bottom: 1px solid var(--line); gap: 0; }
.trust-item { position: relative; padding: 2px 24px 2px 55px; border-bottom: 0; }
.trust-item strong { font-size: 12px; font-weight: 700; }
.trust-item span { font-size: 10px; margin-top: 3px; }
.trust-icon { width: 27px; height: 27px; position: absolute; left: 13px; top: 6px; color: var(--green); }
.section { padding: 54px 0; }
.section__head { margin-bottom: 28px; gap: 18px; }
.section__head h2 { font-size: clamp(25px,2.5vw,34px); font-weight: 600; letter-spacing: -.045em; }
.section__head .eyebrow { margin-bottom: 10px; font-size: 9px; }
.section__note { font-size: 12px; color: var(--muted); }
.title-dot { color: #79aa37; }
.link-more { font-size: 11px; font-weight: 700; text-underline-offset: 5px; }
.cat-grid--full { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 108px)/7); gap: 18px; overflow-x: auto; padding: 4px 1px 16px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #cbd4c4 transparent; }
.cat-grid--full, .product-grid--rail { overflow-y: hidden; }
.cat-tile { border: 0; background: transparent; overflow: visible; scroll-snap-align: start; border-radius: 12px; }
.cat-tile img { aspect-ratio: 1.1; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: #fff; transition: transform .5s var(--ease), border-color .2s ease; }
.cat-tile:hover { box-shadow: none; }
.cat-tile:hover img { transform: translateY(-5px); border-color: #83ac61; }
.cat-tile span { font-size: 11px; padding: 13px 3px 0; }
.cat-tile small { font-size: 9px; margin-top: 5px; }
.section--alt { background: #edf0e8; }
.product-grid--rail { grid-template-columns: none; grid-auto-columns: calc((100% - 60px)/4); gap: 20px; padding: 4px 1px 20px; scrollbar-width: thin; scrollbar-color: #c7cfbf transparent; }
.product-grid { gap: 20px; }
.product-card { border-radius: 13px; border-color: #e3e7de; transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s; }
.product-card:hover { transform: translateY(-5px); box-shadow: 0 14px 28px #142b230a; border-color: #b1c0a7; }
.product-card__media { border: 0; margin: 10px 10px 0; padding: 30px 22px 18px; aspect-ratio: 1.18; }
.product-card__media img { transition: transform .7s var(--ease); }
.product-card:hover .product-card__media img { transform: scale(1.055); }
.product-card__body { padding: 20px; gap: 9px; }
.product-card__brand { font-size: 9px; letter-spacing: .12em; color: #5f6c5a; }
.product-card h3 { font-size: 13px; font-weight: 600; line-height: 1.55; min-height: 3.1em; }
.product-card__specs { font-size: 10px; }
.product-card__cat { font-size: 10px; }
.price { font-size: 24px; letter-spacing: -.05em; }
.price-old { font-size: 11px; }
.badge { border-radius: 5px; font-size: 9px; padding: 6px 8px; }
.badge--promo { background: #edf5df; color: #3c641f; }
.badge--energy { border: 0; }
.catalog-brand-context { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin:0 0 24px; padding:15px 18px; border:1px solid #dce6d1; border-radius:9px; background:#f0f6e8; font-size:12px; }
.catalog-brand-context a { font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.catalog-brand-context a:first-of-type { margin-left:auto; }
/* Energy information uses the model's declared rating and its own scale. */
.energy-badge { display:flex; align-items:center; gap:10px; width:fit-content; max-width:100%; min-height:44px; padding:4px 0; border:0; background:transparent; color:#233825; font:inherit; text-align:left; cursor:pointer; }
.energy-badge:hover .energy-badge__copy strong { text-decoration:underline; text-underline-offset:3px; }
.energy-badge:focus-visible { outline:2px solid #315b27; outline-offset:4px; border-radius:4px; }
.energy-arrow { display:grid; place-items:center; flex:0 0 59px; min-height:33px; padding:4px 12px 4px 5px; clip-path:polygon(0 0,80% 0,100% 50%,80% 100%,0 100%); background:var(--energy-color); color:var(--energy-ink); font-size:20px; font-weight:800; line-height:1; letter-spacing:-.05em; }
.energy-badge__copy { display:grid; gap:3px; font-size:10px; line-height:1.35; }
.energy-badge__copy strong { font-weight:600; }
.energy-badge__copy>span { color:#67705f; font-size:9px; }
.energy-panel { margin:20px 0; padding:20px; border:1px solid #dfe6d8; border-radius:12px; background:#f9fbf6; scroll-margin:20px; }
.energy-panel__head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:18px; }
.energy-panel__head h3 { margin:0; font-size:15px; line-height:1.4; }
.energy-panel__head a { color:#3d642c; font-size:11px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.energy-scales { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; }
.energy-scale { margin:0; min-width:0; }
.energy-scale figcaption { display:flex; justify-content:space-between; gap:10px; margin-bottom:10px; font-size:11px; font-weight:700; }
.energy-scale figcaption span { color:#65725b; font-size:10px; white-space:nowrap; font-weight:500; }
.energy-scale__row { display:flex; align-items:center; height:25px; margin-top:3px; padding-right:45px; position:relative; }
.energy-scale__bar { display:flex; align-items:center; width:var(--bar-width); height:100%; padding:2px 9px; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%); background:var(--energy-color); color:var(--energy-ink); font-size:12px; font-weight:800; }
.energy-scale__marker { position:absolute; right:0; top:-1px; display:grid; place-items:center; min-width:44px; height:27px; padding:0 4px 0 10px; background:#172216; color:#fff; clip-path:polygon(8px 0,100% 0,100% 100%,8px 100%,0 50%); font-size:14px; }
.energy-consumption { display:grid; gap:10px; margin:18px 0 0; padding-top:15px; border-top:1px solid #e0e7d9; }
.energy-consumption>div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:16px; font-size:11px; line-height:1.6; }
.energy-consumption dt { color:#596652; }
.energy-consumption dd { margin:0; font-size:13px; font-weight:700; color:#233825; }
.energy-note { margin:14px 0 0; font-size:10px; line-height:1.7; color:#66715d; }
@media(max-width:600px) { .energy-panel { padding:15px; } .energy-badge__copy { font-size:9px; } .energy-arrow { flex-basis:51px; font-size:18px; } }
@media(forced-colors:active) { .energy-arrow,.energy-scale__bar { background:Canvas; color:CanvasText; border:1px solid CanvasText; clip-path:none; } .energy-scale__marker { background:Highlight; color:HighlightText; clip-path:none; } }
.btn--cart { background: var(--green-dark); color: #fff; padding: 12px 8px; font-size: 11px; border-radius: 7px; }
.btn--cart:hover { background: var(--green); }
.btn--ghost-link { font-size: 10px; color: var(--muted); }
.rail-actions { display: flex; gap: 8px; align-items: center; }
.rail-actions .link-more { margin-right: 12px; }
.round-button { width: 36px; height: 36px; border-radius: 50%; background: transparent; border: 1px solid #c8d0c2; cursor: pointer; transition: background .2s, transform .4s var(--ease); }
.round-button:hover { background: var(--lime); transform: translateX(2px); }
.inspiration-grid { display: grid; grid-template-columns: 1.65fr 1fr; gap: 24px; }
.editorial-card { position: relative; min-height: 380px; overflow: hidden; border-radius: 16px; background: var(--green-dark); color: white; }
.editorial-card::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#0d2016d9,transparent 85%); }
.editorial-card > img { position:absolute; width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease); }
.editorial-card:hover > img { transform:scale(1.045); }
.editorial-card__copy { position:absolute; bottom:32px; left:32px; right:32px; z-index:1; }
.editorial-card .eyebrow { color: #e2ebd8; font-size: 9px; }
.editorial-card h3 { margin:12px 0 22px; font-weight:500; font-size:34px; letter-spacing:-.045em; }
.editorial-link { display:flex; justify-content:space-between; align-items:center; font-size:11px; }
.editorial-link > span { width:32px; height:32px; border:1px solid #ffffff60; display:grid; place-items:center; border-radius:50%; font-size:17px; }
.offer-card { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; min-height:380px; background:var(--lime); padding:32px; border-radius:16px; }
.offer-card .eyebrow { color:var(--green-dark); font-size:9px; }
.offer-card__amount { display:block; font-size:92px; line-height:1; letter-spacing:-.075em; font-weight:600; margin-bottom:20px; }
.offer-card__amount small { font-size:49px; }
.offer-card h3 { font-size:25px; font-weight:600; letter-spacing:-.04em; }
.offer-card p { font-size:11px; margin-top:10px; }
.offer-card__bottom { display:flex; align-items:center; gap:7px; font-size:10px; margin-top:25px; }
.offer-card__bottom strong { border:1px dashed #21463870; padding:6px 8px; border-radius:4px; letter-spacing:.07em; }
.round-arrow { margin-left:auto; width:33px; height:33px; border:1px solid #21463860; border-radius:50%; display:grid; place-items:center; font-size:18px; transition:transform .4s var(--ease); }
.offer-card:hover .round-arrow { transform:rotate(45deg); }
.offer-orbit { position:absolute; width:310px; height:310px; border:1px solid #21463820; border-radius:50%; top:40px; right:-170px; z-index:-1; }
.offer-orbit::after { content:''; position:absolute; inset:25px; border:1px solid #21463820; border-radius:50%; }
#catalogue { border-top:1px solid var(--line); }
.filters { gap:7px; margin-bottom:28px; }
.filter { font-size:11px; padding:9px 15px; transition:background .18s, color .18s, transform .3s var(--ease); }
.filter:active { transform:scale(.96); }
.filter.is-active { background:var(--green-dark); }
.catalog-sort select { font-size:11px; padding:12px 18px; border-radius:8px; }
.section__sub { font-size:11px; margin-top:9px; }
.pager { margin-top:32px; }
.pager button { font-size:11px; min-height:36px; }
.deal-banner { border-radius:14px; box-shadow:none; padding:24px; background:#f0f3e9; transition:transform .5s var(--ease); }
.deal-banner:hover { transform:translateY(-4px); }
.deal-banner--wide { background:#e5ecdb; }
.deal-banner span { color:var(--green); font-size:9px; }
.deal-banner strong { font-size:19px; letter-spacing:-.03em; }
.deal-banner em { font-size:11px; }
/* Category photography: consistent framing and room for the full labels. */
.deal-row--illustrated { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.deal-row--illustrated .deal-banner { display:flex; flex-direction:column; gap:0; padding:0; border:0; border-radius:0; background:transparent; }
.deal-row--illustrated .deal-banner--wide { grid-column:auto; align-items:stretch; }
.deal-row--illustrated .deal-banner > img { order:-1; height:auto; aspect-ratio:3/2; border-radius:8px; }
.deal-row--illustrated .deal-banner > div { padding:20px 0 16px; border-bottom:1px solid var(--line); flex:1; }
.deal-row--illustrated .deal-banner strong { font-size:clamp(17px,1.55vw,21px); line-height:1.4; margin-bottom:8px; }
.deal-row--illustrated .deal-banner em { font-size:12px; font-weight:500; }
.deal-row--illustrated .deal-banner:hover { transform:none; }
.deal-row--illustrated .deal-banner:hover strong { text-decoration:underline; text-underline-offset:5px; }
@media (max-width:760px) {
  .deal-row--illustrated { grid-template-columns:1fr; gap:26px; }
  .deal-row--illustrated .deal-banner { display:grid; grid-template-columns:minmax(0,1fr) minmax(130px,.8fr); gap:18px; align-items:center; padding-bottom:20px; border-bottom:1px solid var(--line); }
  .deal-row--illustrated .deal-banner > img { order:0; }
  .deal-row--illustrated .deal-banner > div { padding:0; border:0; }
}
.brands { display:flex; flex-direction:column; gap:16px; }
.brands-row { overflow:hidden; width:100%; }
.brands-track { display:flex; width:max-content; animation:brands-scroll 200s linear infinite; }
.brands-group { display:flex; gap:16px; padding-right:16px; }
.brands-group .brand-logo { width:152px; flex:0 0 152px; }
.brands:hover .brands-track, .brands:focus-within .brands-track, .brands.is-paused .brands-track { animation-play-state:paused; }
@keyframes brands-scroll { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) {
  .brands-track { animation:none; }
  .brands-copy { display:none; }
  .brands-row { overflow-x:auto; }
}
.brand-logo { display:flex; align-items:center; justify-content:center; min-height:92px; padding:16px; border-radius:10px; background:#fff; }
.brand-logo img { width:100%; max-width:140px; height:60px; object-fit:contain; transition:transform .4s var(--ease); }
.brand-logo:hover img { transform:scale(1.06); }
.brands span { border:0; background:transparent; font-size:15px; color:#465343; letter-spacing:-.03em; }
.service-card { border:1px solid var(--line); background:transparent; padding:28px 24px; box-shadow:none; }
.service-card::before { content: attr(data-step); display:block; font-size:11px; letter-spacing:.12em; color:#7f9273; margin-bottom:34px; }
.service-card h3 { font-size:15px; font-weight:600; margin-bottom:12px; }
.service-card p { font-size:12px; line-height:1.9; }
.section--dark { padding:54px 0; background:#172e23; position:relative; overflow:hidden; }
.europe-band h2 { font-size:30px; font-weight:500; letter-spacing:-.04em; max-width:26ch; }
.europe-band p { font-size:12px; line-height:1.9; }
.europe-band .brand-mark { width:62px; height:62px; }
.store-band { background:#f0f2ea; box-shadow:none; padding:38px; gap:60px; border-radius:16px; }
.store-band h2 { font-size:28px; font-weight:500; letter-spacing:-.04em; }
.store-band > div p { font-size:12px; line-height:1.9; }
.contact-mini input, .contact-mini select { min-width:0; font-size:12px; }
.footer { margin-top:0; padding-top:55px; background:#11251b; }
.footer__grid { gap:45px; }
.footer p, .footer a { font-size:11px; line-height:1.9; }
.footer h3 { font-size:12px; }
.newsletter input { min-width:0; width:100%; font-size:11px; }
.footer__brand { font-size:19px; }
.footer__bottom { padding-top:24px; }
.cart-backdrop { position:fixed; inset:0; background:#10271bb3; backdrop-filter:blur(3px); z-index:85; }
.cart-drawer { height:100dvh; }
.cart-line { grid-template-columns:54px minmax(0,1fr) auto; font-size:11px; }
.cart-line img { width:54px; height:54px; }
.cart-line strong { overflow-wrap:anywhere; }
.modal { backdrop-filter:blur(5px); }
.modal__dialog { padding:32px; border-radius:20px; }
.modal:not([hidden]) .modal__dialog { animation:dialog-in .4s var(--ease) both; }
.cart-drawer:not([hidden]) { animation:drawer-in .4s var(--ease) both; }
.toast:not([hidden]) { animation:toast-in .35s var(--ease) both; }
.cart-count.is-bumping { animation:cart-bump .4s var(--ease); }
.hero__copy > * { animation:rise-in .8s var(--ease) both; }
.hero__copy > :nth-child(2) { animation-delay:.08s; }
.hero__copy > :nth-child(3) { animation-delay:.16s; }
.hero__copy > :nth-child(4) { animation-delay:.24s; }
.hero__copy > :nth-child(5) { animation-delay:.32s; }
.hero__image { animation:hero-settle 1.5s var(--ease) both; }
.hero__offer { animation:rise-in .8s .4s var(--ease) both; }
/* One-shot ambient light, never an endless distraction. */
.live-dot { animation:light-breathe 3s ease-in-out 2; }
.reveal-pending { opacity:0; transform:translateY(22px); }
.reveal-visible { opacity:1; transform:none; transition:opacity .7s var(--ease), transform .7s var(--ease); transition-delay:var(--reveal-delay,0ms); }
@keyframes rise-in { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes hero-settle { from { opacity:.3; transform:scale(1.045); } to { opacity:1; transform:scale(1); } }
@keyframes dialog-in { from { opacity:0; transform:translateY(20px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes drawer-in { from { opacity:0; transform:translateX(48px); } to { opacity:1; transform:none; } }
@keyframes toast-in { from { opacity:0; transform:translate(-50%,15px) scale(.97); } to { opacity:1; transform:translate(-50%,0) scale(1); } }
@keyframes cart-bump { 0%,100% { transform:scale(1); } 45% { transform:scale(1.22); } }
@keyframes light-breathe { 50% { box-shadow:0 0 0 7px #b8ec5408; } }
@media (min-width:1600px) { .hero__stage { min-height:600px; } }
@media (max-width:1100px) {
  .container { width:calc(100% - 48px); }
  .header__row { gap:24px; }
  .header__actions { gap:12px; }
  .header__action > span { display:none; }
  .hero__copy { padding-left:36px; width:74%; }
  .hero__stage { min-height:510px; }
  .hero__caption { left:36px; }
  .hero__offer { width:165px; }
  .cat-grid--full { grid-template-columns:none; grid-auto-columns:calc((100% - 80px)/5); }
  .product-grid--rail { grid-template-columns:none; grid-auto-columns:calc((100% - 40px)/3); }
  .trust-item { padding-left:42px; padding-right:8px; }
  .trust-icon { left:5px; width:24px; }
  .trust-item strong { font-size:11px; }
  .trust-item span { font-size:9px; }
  .inspiration-grid { grid-template-columns:1.3fr 1fr; }
  .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer__grid { grid-template-columns:1.2fr .8fr .8fr 1.2fr; gap:24px; }
}
@media (max-width:900px) {
  .header__row { gap:16px; padding-block:14px; }
  .header__actions { display:flex; margin-left:auto; }
  .search { order:3; max-width:none; width:100%; }
  .nav-toggle { width:34px; height:34px; background:transparent; }
  .catnav__inner { flex-wrap:wrap; padding-block:8px; gap:4px; }
  .catnav a { padding:9px 12px; }
  .catnav__all { padding-left:12px !important; }
  .catnav a[href='#promo'] { margin-left:0; }
  .hero__copy { width:80%; }
  .hero__offer { bottom:70px; right:20px; width:147px; padding:15px; }
  .hero__offer b { font-size:43px; }
  .hero__caption > span:last-child { display:none; }
  .trust-strip__grid { grid-template-columns:repeat(2,1fr); gap:22px 12px; }
  .trust-item:nth-child(2) { border:0; }
  .trust-item { padding-bottom:0; }
  .inspiration-grid { gap:16px; }
  .offer-card { padding:26px; }
  .editorial-card h3 { font-size:28px; }
  .offer-card h3 { font-size:22px; }
  .deal-row { grid-template-columns:1fr 1fr; }
  .deal-banner--wide { grid-column:1/-1; grid-template-columns:1fr 1fr; }
  .footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .store-band { grid-template-columns:1fr; gap:26px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-grid--rail { grid-template-columns:none; grid-auto-columns:calc((100% - 40px)/3); }
  .product-card__body { padding:16px; }
}
@media (max-width:640px) {
  .container { width:calc(100% - 32px); }
  .topbar { font-size:9px; }
  .topbar__extra { display:none; }
  .topbar__inner { min-height:30px; }
  .logo__word { font-size:17px; }
  .logo .brand-mark { width:32px; height:32px; }
  .header__row { gap:13px; }
  .header__actions { gap:10px; }
  .header__actions > a:first-child { display:none; }
  .header__action { padding:0; gap:3px; }
  .search input { padding:11px 13px; font-size:11px; }
  .hero { padding-top:16px; }
  .hero__stage { min-height:650px; align-items:flex-start; border-radius:0; }
  .hero__copy { width:100%; padding:32px 25px; }
  .hero__eyebrow { font-size:8px; margin-bottom:20px; }
  .hero h1 { font-size:clamp(32px,8.2vw,48px); line-height:1.12; }
  .hero__image { width:100%; height:67%; top:auto; bottom:0; object-position:69% center; }
  .hero__shade { background:linear-gradient(180deg,#14291f 0%,#14291f 28%,#14291fe0 42%,#14291f00 70%,#14291f80 100%); }
  .hero__description { font-size:12px; margin-top:18px; }
  .hero__cta { margin-top:20px; font-size:11px; padding:14px 17px; }
  .hero__reassurance { font-size:8px; margin-top:16px; }
  .hero__offer { bottom:50px; right:17px; width:143px; }
  .hero__caption { bottom:20px; left:25px; font-size:7px; }
  .trust-strip__grid { padding:24px 0; gap:24px 9px; }
  .trust-item { border-right:0; padding-left:37px; }
  .trust-item strong { font-size:10px; }
  .trust-item span { font-size:8px; }
  .trust-icon { width:22px; height:22px; left:3px; }
  .section { padding:36px 0; }
  .section__head { gap:15px; margin-bottom:22px; }
  .section__head h2 { font-size:25px; }
  .section__head .eyebrow { font-size:8px; }
  .section__note { font-size:11px; }
  .link-more { font-size:10px; }
  .cat-grid--full { grid-template-columns:none; grid-auto-columns:104px; gap:12px; padding-bottom:12px; }
  .cat-tile img { padding:16px; }
  .cat-tile span { font-size:10px; }
  .product-grid { gap:10px; }
  .product-grid--rail { grid-template-columns:none; grid-auto-columns:240px; gap:14px; }
  .product-card__media { margin:8px 3px 0; padding:25px 14px 13px; aspect-ratio:1; }
  .product-card__body { padding:12px; }
  .product-card h3 { font-size:11px; }
  .product-card__brand { font-size:8px; }
  .product-card__cat { font-size:9px; overflow-wrap:anywhere; }
  .product-card__specs { font-size:9px; }
  .price { font-size:20px; }
  .price-old { font-size:9px; }
  .btn--cart { font-size:9px; padding:12px 4px; }
  .badge { font-size:8px; padding:5px; }
  .product-card__badges { left:8px; top:8px; }
  .product-card__badges--right { left:auto; right:8px; }
  .inspiration-grid { grid-template-columns:1fr; }
  .editorial-card { min-height:350px; }
  .editorial-card__copy { bottom:25px; left:25px; right:25px; }
  .offer-card { min-height:350px; }
  .offer-card__amount { font-size:80px; }
  .filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:12px; margin-bottom:12px; }
  .filter { white-space:nowrap; padding:9px 13px; font-size:10px; }
  .catalog-sort select { font-size:10px; padding:10px 12px; }
  .deal-row { grid-template-columns:1fr; }
  .deal-banner--wide { grid-template-columns:1fr; }
  .brands { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .brands span { font-size:12px; }
  .services-grid { gap:10px; }
  .service-card { padding:20px 16px; }
  .service-card::before { margin-bottom:22px; }
  .service-card h3 { font-size:13px; line-height:1.5; }
  .service-card p { font-size:10px; }
  .europe-band { grid-template-columns:1fr; gap:24px; }
  .europe-band h2 { font-size:29px; }
  .europe-band .brand-mark { width:48px; height:48px; }
  .store-band { padding:25px; }
  .store-band h2 { font-size:25px; }
  .footer__grid { gap:28px 20px; }
  .footer__grid > div:first-child, .footer__grid > div:last-child { grid-column:1/-1; }
  .modal { padding:8px; }
  .modal__dialog { padding:23px 16px; border-radius:14px; }
  .product-detail__info h2 { font-size:22px; }
  .toast { border-radius:12px; width:max-content; font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
  .reveal-pending, .reveal-visible { opacity:1; transform:none; }
  .product-card:hover, .cat-tile:hover img, .btn:hover, .editorial-card:hover > img { transform:none; }
}

/* Full-width brand strip; heading stays aligned with the page content. */
#marques > .container { width:100%; max-width:none; }
#marques .section__head { width:min(calc(100% - 80px), var(--max)); margin-inline:auto; }
@media(max-width:1100px) { #marques .section__head { width:calc(100% - 48px); } }
@media(max-width:640px) { #marques .section__head { width:calc(100% - 32px); } }
