/*
 * PlayGiftUniversal — La Scène Nocturne
 * Bleu nuit comme écrin, ivoire pour la lecture, Orange Pulse (#FF5C1A) pour l’énergie utile.
 * Space Grotesk structure l’information ; DM Sans porte la lecture mobile. Les surfaces ne sont
 * jamais uniformément arrondies : l’interface conserve des angles francs et des lignes de fréquence.
 */
:root {
  --ink: #081220;
  --ink-2: #101e31;
  --ink-3: #182a42;
  --ivory: #f7f2e9;
  --paper: #fffdf9;
  --muted: #706f70;
  --line: rgba(8, 18, 32, .14);
  --line-light: rgba(255, 255, 255, .18);
  --pulse: #ff5c1a;
  --pulse-deep: #dc4510;
  --copper: #e7ae72;
  --green: #32795d;
  --font-display: "Space Grotesk", sans-serif;
  --font-body: "DM Sans", sans-serif;
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --shell: min(1380px, calc(100vw - 40px));
  --shadow: 0 18px 48px rgba(3, 13, 28, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--font-body); font-size: 16px; line-height: 1.5; }
body.is-locked { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }
button { border: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, [role="button"], a, select, input { -webkit-touch-callout: none; }
:focus-visible { outline: 3px solid var(--pulse); outline-offset: 3px; }

.site-shell { width: var(--shell); margin-inline: auto; }
.visually-hidden { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.eyebrow { display: flex; gap: 9px; align-items: center; margin: 0 0 18px; font: 700 11px/1.2 var(--font-display); letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.eyebrow::before { content: ""; width: 32px; height: 2px; background: var(--pulse); }
.eyebrow--light { color: var(--ivory); }
.eyebrow--orange { color: var(--pulse); }
.eyebrow--orange::before { background: var(--pulse); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); letter-spacing: -.055em; }
h1 { margin-bottom: 22px; font-size: clamp(3rem, 7.3vw, 7.4rem); line-height: .86; font-weight: 700; }
h2 { margin-bottom: 0; font-size: clamp(2.2rem, 4vw, 4.6rem); line-height: .93; font-weight: 700; }
h3 { margin-bottom: 10px; font-size: 1.35rem; line-height: 1; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 49px; padding: 13px 20px; font: 700 12px/1.1 var(--font-display); text-transform: uppercase; letter-spacing: .075em; transition: transform 160ms var(--ease-out), background 160ms var(--ease-out), color 160ms var(--ease-out), border-color 160ms var(--ease-out); cursor: pointer; }
.button:active { transform: scale(.97); }
.button--pulse { background: var(--pulse); color: var(--ink); box-shadow: 5px 5px 0 var(--copper); }
.button--pulse:hover { background: #ff7844; transform: translate(-2px, -2px); }
.button--ivory { background: var(--ivory); color: var(--ink); }
.button--ivory:hover { background: var(--pulse); }
.button--outline-light { border: 1px solid rgba(255,255,255,.7); color: #fff; background: transparent; }
.button--outline-light:hover { color: var(--ink); background: var(--ivory); }
.button--full { width: 100%; }
.text-link { position: relative; display: inline-flex; padding-bottom: 5px; border-bottom: 2px solid var(--pulse); font: 700 12px/1.1 var(--font-display); letter-spacing: .06em; text-transform: uppercase; transition: color 160ms var(--ease-out), border-color 160ms var(--ease-out); }
.text-link:hover { color: var(--pulse); }
.text-link--light { color: #fff; border-color: var(--pulse); }
.text-button { padding: 0; color: var(--muted); background: transparent; border-bottom: 1px solid var(--muted); font: 700 11px var(--font-display); letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }

/* Header : une console de contrôle toujours disponible. */
.promo-strip { display: flex; justify-content: center; align-items: center; min-height: 30px; padding: 5px 20px; overflow: hidden; background: var(--pulse); color: #fff; font: 700 10px/1.2 var(--font-display); letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.promo-strip__message { display: block; transition: opacity 130ms var(--ease-out), transform 130ms var(--ease-out); }
.promo-strip__message.is-changing { opacity: 0; transform: translateY(-4px); }
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(8,18,32,.97); color: var(--ivory); border-bottom: 1px solid rgba(255,255,255,.1); }
.header-main { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; min-height: 70px; }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.brand--logo { color: var(--ivory); line-height: 0; }
.brand__mark { display:grid; flex:0 0 auto; width:44px; height:44px; place-items:center; overflow:hidden; border:1px solid rgba(255,92,26,.82); background:radial-gradient(circle at 50% 38%, rgba(255,116,67,.17), rgba(8,18,32,.72) 66%); transform-origin:center; transition:transform 160ms var(--ease-out), filter 160ms var(--ease-out), background 160ms var(--ease-out); }
.brand__mark img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 3px 5px rgba(255,92,26,.28)); }
.brand--logo:focus-visible { outline: 2px solid var(--pulse); outline-offset: 4px; }
.brand--logo:active .brand__mark { transform: scale(.98); }
@media (prefers-reduced-motion: no-preference) { .brand--logo:hover .brand__mark, .brand--logo:focus-visible .brand__mark { background:radial-gradient(circle at 50% 38%, rgba(255,139,96,.3), rgba(8,18,32,.8) 66%); transform: translateY(-1px) scale(1.035); filter: drop-shadow(0 5px 10px rgba(255,91,25,.3)); } }
.brand__type { display: flex; flex-direction: column; font-family: var(--font-display); font-weight: 700; line-height: .84; letter-spacing: -.075em; font-size: 16px; }
.brand__type small { margin-top: 5px; color:var(--copper); font-size: 7px; letter-spacing: .28em; font-family: var(--font-body); }
.desktop-nav { display: none; justify-content: center; gap: 25px; }
.desktop-nav a, .nav-categories > button { position: relative; padding: 8px 0; color: rgba(255,255,255,.73); background:transparent; font: 700 11px/1 var(--font-display); letter-spacing: .11em; text-transform: uppercase; cursor:pointer; }
.desktop-nav a::after, .nav-categories > button::after { content:""; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: var(--pulse); transform: scaleX(0); transform-origin: left; transition: transform 180ms var(--ease-out); }
.desktop-nav a:hover, .desktop-nav a.is-active, .nav-categories > button:hover, .nav-categories > button[aria-expanded="true"] { color: #fff; }
.desktop-nav a:hover::after, .desktop-nav a.is-active::after, .nav-categories > button:hover::after, .nav-categories > button[aria-expanded="true"]::after { transform: scaleX(1); }
.nav-categories { position:relative; }.nav-categories__panel { position:absolute; top:calc(100% + 14px); left:50%; display:none; width:250px; padding:10px 15px; transform:translateX(-50%); background:var(--paper); box-shadow:var(--shadow); }.nav-categories__panel.is-open { display:grid; }.nav-categories__panel a { padding:10px 0; border-bottom:1px solid var(--line); color:var(--ink); font:700 11px/1.25 var(--font-display); letter-spacing:.02em; text-transform:none; }.nav-categories__panel a:last-child { border-bottom:0; }.nav-categories__panel a:hover { color:var(--pulse); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.icon-button { display: inline-grid; width: 36px; height: 36px; place-items: center; color: inherit; background: transparent; cursor: pointer; transition: color 160ms var(--ease-out), background 160ms var(--ease-out); }
.icon-button:hover { color: var(--pulse); background: rgba(255,255,255,.06); }
.icon-button svg { width: 19px; height: 19px; }
.cart-button { position: relative; display: grid; grid-template-columns: 20px auto; gap: 7px; align-items: center; min-height: 38px; padding: 7px 9px; color: var(--ivory); background: rgba(255,255,255,.08); cursor: pointer; }
.cart-button__text { display: none; font: 700 11px/1 var(--font-display); letter-spacing: .06em; text-transform: uppercase; }
.cart-count { display: grid; min-width: 17px; height: 17px; padding: 0 4px; place-items: center; border-radius: 99px; background: var(--pulse); color: var(--ink); font: 700 10px/1 var(--font-display); }
.lang-picker { position: relative; }
.lang-picker > button { display: flex; align-items: center; gap: 5px; padding: 8px 0; background: none; color: #fff; cursor: pointer; font: 700 10px var(--font-display); letter-spacing: .08em; }
.lang-menu { display: none; position: absolute; top: calc(100% + 10px); right: 0; width: 130px; padding: 5px; background: var(--paper); box-shadow: var(--shadow); color: var(--ink); }
.lang-picker.is-open .lang-menu { display: grid; }
.lang-menu button { display: flex; gap: 8px; align-items: center; width: 100%; padding: 9px; background: none; text-align: left; color: var(--ink); font: 600 12px var(--font-body); cursor: pointer; }
.lang-menu button:hover, .lang-menu button:focus-visible, .lang-menu button.is-current { background: var(--ivory); color: var(--pulse); }
.mobile-menu { position: fixed; z-index: 25; top: 100px; right: 20px; left: 20px; display: none; padding: 22px; background: var(--paper); color: var(--ink); box-shadow: var(--shadow); }
.mobile-menu.is-open { display: grid; gap: 4px; }
.mobile-menu a { padding: 13px 0; border-bottom: 1px solid var(--line); font: 700 16px var(--font-display); letter-spacing: -.04em; }
.mobile-menu__label { margin:18px 0 0; color:var(--pulse); font:700 11px/1 var(--font-display); letter-spacing:.12em; text-transform:uppercase; }.mobile-menu a.mobile-menu__category { padding:9px 0 9px 13px; color:var(--ink-2); font-size:13px; }
.header-search { position: fixed; z-index: 27; top: 100px; left: 0; right: 0; display: none; padding: 18px 20px 24px; background: var(--ink); border-top: 1px solid var(--line-light); }
.header-search.is-open { display: block; }
.header-search__inner { position: relative; width: var(--shell); margin: 0 auto; }
.header-search input { width: 100%; height: 52px; padding: 0 48px 0 16px; border: 1px solid var(--line-light); background: var(--ink-2); color: #fff; outline: 0; }
.header-search input::placeholder { color: #aab5c5; }
.header-search__close { position: absolute; right: 0; top: 0; height: 52px; width: 46px; color: #fff; background: transparent; cursor: pointer; }
.search-results { display: none; position: absolute; top: calc(100% + 4px); width: 100%; background: var(--paper); box-shadow: var(--shadow); color: var(--ink); }
.search-results.is-open { display: block; }
.search-result { display: grid; grid-template-columns: 45px 1fr auto; gap: 10px; align-items: center; padding: 8px; border-bottom: 1px solid var(--line); }
.search-result img { width: 45px; height: 45px; object-fit: cover; }
.search-result b { display: block; font: 700 13px var(--font-display); letter-spacing: -.03em; }.search-result small { color: var(--muted); }.search-result strong { font: 700 12px var(--font-display); }

/* Accueil : campagne lifestyle réaliste et colonnes éditoriales. */
.hero { position:relative; min-height:555px; isolation:isolate; overflow:hidden; background:#081220; color:#fff; }
.hero::after { content:""; position:absolute; z-index:1; inset:auto 0 0; height:42%; background:linear-gradient(transparent,rgba(3,10,18,.83)); pointer-events:none; }
.hero__media { position:absolute; z-index:0; inset:0; overflow:hidden; background:#081220; }.hero__media::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(3,10,18,.98) 0%,rgba(3,10,18,.91) 36%,rgba(3,10,18,.44) 61%,rgba(3,10,18,.08) 100%); }.hero__fallback, .hero__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:68% center; }.hero__fallback { z-index:0; }.hero__video { z-index:1; }
.hero__glow { position:absolute; z-index:1; width:58vw; height:58vw; max-width:720px; max-height:720px; right:-15vw; top:-10vw; border-radius:50%; background:radial-gradient(circle,rgba(255,91,25,.16),transparent 65%); filter:blur(25px); pointer-events:none; }
.hero__content { position:relative; z-index:2; padding-top:clamp(79px,13vw,164px); padding-bottom:50px; }
.hero__content h1 { max-width: 850px; text-wrap: balance; }.hero__copy { max-width: 490px; margin-bottom: 30px; color: #dce2e9; font-size: 16px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 23px; align-items: center; }.hero__proof { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 67px; color: #d3dce8; font-size: 11px; }.hero__proof span { display: inline-flex; gap: 7px; align-items: center; }.hero__proof b { color: var(--pulse); font: 700 16px var(--font-display); }
.hero__vertical-label { position:absolute; z-index:2; right:15px; bottom:30px; writing-mode:vertical-rl; color:rgba(255,255,255,.65); font:700 10px var(--font-display); letter-spacing:.3em; }
.hero__video-control { display:inline-flex; align-items:center; min-height:32px; margin-top:23px; padding:8px 10px; border:1px solid rgba(255,255,255,.5); background:rgba(5,13,24,.6); color:#fff; backdrop-filter:blur(8px); cursor:pointer; font:700 9px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; transition:background 160ms var(--ease-out), transform 160ms var(--ease-out); }.hero__video-control:hover { background:rgba(255,91,25,.9); color:var(--ink); }.hero__video-control:active { transform:scale(.97); }.hero__video-control:focus-visible { outline:2px solid var(--pulse); outline-offset:3px; }
.category-ribbon { background: var(--pulse); }.category-ribbon__inner { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }.category-ribbon a { display: flex; min-height: 90px; align-items: center; padding: 15px; border-right: 1px solid rgba(8,18,32,.2); border-bottom: 1px solid rgba(8,18,32,.2); font: 700 13px/1 var(--font-display); letter-spacing: -.04em; transition: background 160ms var(--ease-out); }.category-ribbon a::after { content: "↗"; margin-left: auto; font-size: 17px; }.category-ribbon a:hover { background: var(--copper); }
.section { padding: clamp(62px, 10vw, 142px) 0; }.section--ivory { background: var(--ivory); }.section--dark { background: var(--ink); color: #fff; }.section--compact { padding-bottom: clamp(62px, 8vw, 112px); }
.split-heading { display: grid; gap: 34px; margin-bottom: 43px; }.split-heading__aside { max-width: 390px; }.split-heading__aside p { margin-bottom: 19px; color: var(--muted); }.split-heading--dark .split-heading__aside { color: #d3dce8; }
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }.product-grid--featured .product-card:first-child { grid-column: span 2; }.product-grid--catalog { gap: 18px; }
.product-card { position: relative; min-width: 0; background: var(--paper); overflow: hidden; transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out); }.product-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }.product-card__image-wrap { position: relative; display: block; overflow: hidden; background: #eae4da; aspect-ratio: 1/1; }.product-card__image { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms var(--ease-out); }.product-image-placeholder { display:grid; width:100%; height:100%; place-items:center; padding:16px; background:repeating-linear-gradient(135deg, #eee7dc 0 10px, #e7dfd2 10px 11px); color:var(--muted); text-align:center; font:700 10px/1.2 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }.product-card:hover .product-card__image { transform: scale(1.05); }.product-card__tag { position: absolute; top: 10px; left: 10px; padding: 6px 7px; background: var(--pulse); color: var(--ink); font: 700 9px/1 var(--font-display); letter-spacing: .08em; text-transform: uppercase; }.product-card__wish { position: absolute; top: 5px; right: 5px; display: grid; width: 32px; height: 32px; place-items: center; color: var(--ink); background: rgba(255,253,249,.9); cursor: pointer; }.product-card__wish.is-saved { background: var(--pulse); }.product-card__wish svg { width: 15px; }.product-card__body { padding: 13px; }.product-card__category { display:block; min-height: 14px; margin-bottom: 5px; color: var(--muted); font: 700 9px/1 var(--font-display); letter-spacing:.09em; text-transform:uppercase; }.product-card__name { display: -webkit-box; margin: 0 0 9px; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font: 700 clamp(14px, 1.35vw, 18px)/1.04 var(--font-display); letter-spacing: -.04em; }.product-card__footer { display:flex; align-items: end; justify-content:space-between; gap: 7px; }.price { display: flex; gap: 5px; align-items: baseline; font: 700 14px/1 var(--font-display); letter-spacing: -.04em; }.price del { color: var(--muted); font: 500 10px var(--font-body); }.quick-add { display: grid; flex: 0 0 auto; width: 31px; height: 31px; place-items:center; background: var(--ink); color:#fff; cursor:pointer; transition:background 160ms var(--ease-out); }.quick-add:hover { background: var(--pulse); color: var(--ink); }.quick-add svg { width: 15px; }.product-grid--dark .product-card { background: var(--ink-2); }.product-grid--dark .product-card__wish { background: rgba(8,18,32,.82); color:#fff; }
.spotlight-carousel { position:relative; padding:34px 0 18px; overflow:hidden; }.spotlight-carousel__heading { display:grid; gap:14px; margin-bottom:10px; }.spotlight-carousel__heading .eyebrow { margin-bottom:8px; }.spotlight-carousel__heading h2 { margin:0; font-size:clamp(2rem,4vw,3.5rem); }.spotlight-carousel__heading > p { max-width:400px; margin:0; color:var(--muted); font-size:13px; }.spotlight-carousel__viewport { position:relative; min-height:355px; overflow:hidden; perspective:1200px; touch-action:pan-y; }.spotlight-carousel__track { position:absolute; inset:0; transform-style:preserve-3d; }.spotlight-card { position:absolute; top:16px; left:50%; width:min(74vw, 350px); overflow:hidden; background:var(--paper); box-shadow:0 18px 35px rgba(7,18,32,.16); transform:translateX(calc(-50% + var(--carousel-x))) translateZ(var(--carousel-z)) rotateY(var(--carousel-tilt)) scale(var(--carousel-scale)); transform-style:preserve-3d; transition:transform 420ms var(--ease-out), opacity 240ms var(--ease-out), box-shadow 200ms var(--ease-out); will-change:transform, opacity; }.spotlight-card:not(.is-active) { pointer-events:none; }.spotlight-card.is-active { box-shadow:0 26px 46px rgba(7,18,32,.25); }.spotlight-card__image-wrap { display:block; overflow:hidden; aspect-ratio:1.28/1; background:#eae4da; }.spotlight-card__image { width:100%; height:100%; object-fit:contain; transition:transform 260ms var(--ease-out); }.spotlight-card.is-active:hover .spotlight-card__image, .spotlight-card.is-active:focus-within .spotlight-card__image { transform:scale(1.04); }.spotlight-card__body { padding:13px 14px 14px; }.spotlight-card__body > span { display:block; margin-bottom:6px; color:var(--muted); font:700 9px/1 var(--font-display); letter-spacing:.09em; text-transform:uppercase; }.spotlight-card__name { display:-webkit-box; min-height:40px; margin:0 0 13px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font:700 18px/1.05 var(--font-display); letter-spacing:-.05em; }.spotlight-card__footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }.spotlight-card__footer b { font:700 18px/1 var(--font-display); letter-spacing:-.05em; }.spotlight-card__footer button { min-height:32px; padding:0 10px; background:var(--pulse); color:var(--ink); cursor:pointer; font:700 9px/1 var(--font-display); letter-spacing:.06em; text-transform:uppercase; transition:transform 160ms var(--ease-out), background 160ms var(--ease-out); }.spotlight-card__footer button:hover { background:#ff6e35; }.spotlight-card__footer button:active { transform:scale(.97); }.spotlight-carousel__controls { display:grid; grid-template-columns:38px 1fr 38px; gap:10px; align-items:center; width:min(300px, 100%); margin:4px auto 0; }.spotlight-carousel__arrow { display:grid; width:38px; height:38px; place-items:center; border:1px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; transition:background 160ms var(--ease-out), transform 160ms var(--ease-out); }.spotlight-carousel__arrow:hover { background:var(--pulse); }.spotlight-carousel__arrow:active { transform:scale(.97); }.spotlight-carousel__arrow svg { width:16px; }.spotlight-carousel__arrow[data-spotlight-prev] svg { transform:rotate(180deg); }.spotlight-carousel__pagination { display:flex; justify-content:center; gap:7px; }.spotlight-carousel__pagination button { width:8px; height:8px; padding:0; border-radius:50%; background:#c5c1ba; cursor:pointer; transition:transform 160ms var(--ease-out), background 160ms var(--ease-out); }.spotlight-carousel__pagination button.is-active { background:var(--pulse); transform:scale(1.45); }.category-spotlight { background:var(--paper); border-bottom:1px solid var(--line); }.category-spotlight[hidden] { display:none; }
.feature-panel { display: grid; }.feature-panel__story, .feature-panel__set { position: relative; min-height: 500px; overflow: hidden; }.feature-panel__image { position: absolute; inset:0; background-position:center; background-size:cover; transition: transform .7s var(--ease-out); }.feature-panel__story:hover .feature-panel__image, .feature-panel__set:hover .feature-panel__image { transform: scale(1.04); }.feature-panel__image--guitar { background:linear-gradient(135deg, #101e31, #081220 58%, #2c211d); }.feature-panel__image--keys { background:linear-gradient(135deg, #f7f2e9, #e7ddd0 58%, #d3c1aa); }.feature-panel__copy { position: relative; z-index:1; display:flex; min-height:500px; flex-direction:column; justify-content:flex-end; padding: 35px 20px; }.feature-panel__story { color:#fff; }.feature-panel__set { color:var(--ink); }.feature-panel__copy h2 { margin-bottom: 26px; max-width: 450px; }
.service-strip { padding-top: 78px; padding-bottom: 78px; }.service-strip__grid { display:grid; gap:35px; }.service-strip article { position:relative; padding-left:48px; }.service-strip__number { position:absolute; top:0; left:0; color:var(--pulse); font:700 20px/1 var(--font-display); letter-spacing:-.08em; }.service-strip p { margin:0; max-width:300px; color:var(--muted); font-size: 14px; }
.toys-panel { padding:clamp(62px,10vw,130px) 0; background:#e9e2d5; }.toys-panel .split-heading { margin-bottom:38px; }.toy-category-grid { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }.toy-category-card { display:flex; min-height:124px; flex-direction:column; justify-content:space-between; padding:17px; background:var(--paper); color:var(--ink); box-shadow:0 1px 0 rgba(8,18,32,.08); font:700 clamp(15px,2vw,22px)/1.02 var(--font-display); letter-spacing:-.05em; transition:transform 180ms var(--ease-out), background 180ms var(--ease-out), box-shadow 180ms var(--ease-out); }.toy-category-card b { align-self:flex-end; color:var(--pulse); font:400 22px/1 var(--font-body); }.toy-category-card:hover { transform:translateY(-3px); background:#fff7f1; box-shadow:var(--shadow); }

/* Catalogue : la barre de filtres se comporte comme une régie de sélection. */
.page-hero { min-height: 280px; display: flex; align-items: end; padding: 55px 0 43px; background: var(--ink); color:#fff; }.page-hero p:not(.eyebrow) { max-width: 550px; margin: 17px 0 0; color:#cbd5e1; }.page-hero h1 { margin:0; font-size:clamp(3.2rem,6vw,6rem); }.page-hero--catalog { background:linear-gradient(120deg, #081220, #182a42); }.page-hero--contact { min-height: 390px; background:linear-gradient(120deg, #081220, #1b2f4b); }
.catalog-shell { display:grid; gap:35px; padding-top:42px; padding-bottom:80px; }.filters { align-self:start; padding:20px; background:#ede6da; }.filters__heading { display:flex; justify-content:space-between; gap:10px; align-items:start; }.filters__heading .eyebrow { margin-bottom:26px; }.filters select, .filters input { width:100%; height:43px; padding:0 10px; border:1px solid var(--line); background:var(--paper); color:var(--ink); outline:0; }.field-label { display:block; margin: 20px 0 8px; font:700 10px var(--font-display); letter-spacing:.1em; text-transform:uppercase; }.price-filter > div { display:grid; grid-template-columns:1fr auto 1fr; gap:7px; align-items:center; }.price-filter span { color:var(--muted); }.price-filter input { min-width:0; }.check-row { display:flex; gap:10px; align-items:start; margin-top:18px; color:var(--ink); font-size:13px; cursor:pointer; }.check-row input { accent-color:var(--pulse); margin-top:3px; }.filter-note { display:flex; gap:9px; align-items:start; margin-top:27px; padding-top:18px; border-top:1px solid var(--line); }.filter-note p { margin:0; color:var(--muted); font-size:11px; line-height:1.4; }.signal-dot { flex:0 0 auto; display:block; width:8px; height:8px; margin-top:4px; border-radius:50%; background:var(--pulse); box-shadow:0 0 0 4px rgba(255,92,26,.14); }
.catalog-toolbar { display:grid; gap:18px; padding-bottom:19px; border-bottom:1px solid var(--line); }.catalog-toolbar .eyebrow { margin-bottom:5px; }.catalog-toolbar__count { margin:0; font:700 19px/1 var(--font-display); letter-spacing:-.05em; }.toolbar-controls { display:grid; grid-template-columns:1fr; gap:8px; }.toolbar-controls input, .toolbar-controls select { min-width:0; width:100%; height:43px; padding:0 11px; border:1px solid var(--line); background:var(--paper); color:var(--ink); outline:0; font-size:13px; }.active-filters { display:flex; gap:7px; flex-wrap:wrap; min-height:0; }.filter-chip { display:inline-flex; gap:6px; align-items:center; padding:6px 8px; background:var(--ink); color:#fff; font:700 10px/1 var(--font-display); letter-spacing:.04em; }.filter-chip button { padding:0; color:var(--pulse); background:none; cursor:pointer; }.catalog-results .product-grid { margin-top:19px; }.empty-state { grid-column:1/-1; padding:55px 22px; background:var(--paper); text-align:center; }.empty-state h3 { font-size:22px; }.empty-state p { color:var(--muted); }.pagination { display:flex; gap:6px; justify-content:center; align-items:center; margin-top:34px; }.pagination button { min-width:35px; height:35px; padding:0 9px; background:var(--paper); border:1px solid var(--line); color:var(--ink); cursor:pointer; font:700 11px var(--font-display); }.pagination button:hover, .pagination button.is-current { background:var(--pulse); border-color:var(--pulse); }.pagination button:disabled { opacity:.35; cursor:not-allowed; }.pagination__info { display:none; color:var(--muted); font-size:12px; }

/* Fiche produit. */
.product-card--real .product-card__image { object-fit:contain; }.search-result__image { width:45px; height:45px; object-fit:cover; }.search-result .product-image-placeholder { padding:4px; font-size:7px; }.product-gallery__empty { display:grid; aspect-ratio:1/1.04; place-items:center; padding:28px; background:repeating-linear-gradient(135deg, #eee7dc 0 12px, #e7dfd2 12px 13px); color:var(--muted); text-align:center; font:700 12px var(--font-display); letter-spacing:.12em; text-transform:uppercase; }.cart-item__image { width:75px; height:75px; object-fit:cover; }.cart-item .product-image-placeholder { padding:6px; font-size:8px; }
.product-page { padding-bottom: 92px; background:var(--ivory); }.breadcrumbs { display:flex; gap:8px; padding:19px 0; color:var(--muted); font-size:12px; }.breadcrumbs a { color:var(--ink); }.product-layout { display:grid; gap:30px; }.product-gallery { position:relative; }.product-gallery__main { position:relative; overflow:hidden; aspect-ratio:1/1; background:#e7e0d5; cursor:zoom-in; }.product-gallery__main img { width:100%; height:100%; object-fit:cover; transition:transform .4s var(--ease-out); }.product-gallery__main--real img { object-fit:contain; }.product-gallery__main.is-zoomed img { transform:scale(1.55); }.product-gallery__thumbs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }.product-gallery__thumbs button { aspect-ratio:1/1; padding:0; overflow:hidden; border:1px solid var(--line); background:#e7e0d5; cursor:pointer; }.product-gallery__thumbs button.is-active, .product-gallery__thumbs button:focus-visible { border:2px solid var(--pulse); outline:0; }.product-gallery__thumbs img { width:100%; height:100%; object-fit:cover; }.gallery-hint { position:absolute; right:13px; bottom:13px; padding:7px; background:rgba(8,18,32,.8); color:#fff; font:700 9px var(--font-display); letter-spacing:.08em; text-transform:uppercase; }.product-meta { padding-top:5px; }.product-meta__category { color:var(--muted); font:700 11px var(--font-display); letter-spacing:.1em; text-transform:uppercase; }.product-meta h1 { margin:9px 0 20px; font-size:clamp(2.8rem,6vw,5.7rem); }.product-meta .price { margin-bottom:23px; font-size:27px; }.availability { display:flex; gap:8px; align-items:center; margin-bottom:23px; color:var(--green); font:700 12px var(--font-display); }.availability--low { color:var(--pulse-deep); }.availability .signal-dot { width:7px; height:7px; box-shadow:none; }.product-meta__description { max-width:610px; color:#485463; }.demo-notice { margin:24px 0; padding:12px 14px; border-left:3px solid var(--pulse); background:#efe7da; color:#4e5157; font-size:12px; }.product-action-row { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:stretch; max-width:560px; }.quantity-control { display:flex; border:1px solid var(--line); background:var(--paper); }.quantity-control button { width:33px; background:transparent; cursor:pointer; font-size:19px; }.quantity-control input { width:28px; border:0; outline:0; background:transparent; text-align:center; font:700 13px var(--font-display); }.big-wish { width:49px; padding:0; background:var(--paper); border:1px solid var(--line); color:var(--ink); cursor:pointer; }.big-wish.is-saved { color:var(--pulse); background:#fff3ec; }.big-wish svg { width:20px; }.product-reassurance { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin-top:23px; padding-top:17px; border-top:1px solid var(--line); }.product-reassurance span { color:var(--muted); font-size:10px; }.product-reassurance b { display:block; margin-bottom:2px; color:var(--ink); font:700 11px var(--font-display); }.product-detail-section { padding:72px 0 0; }.product-detail-section h2 { font-size:clamp(2.1rem,4vw,4rem); }.product-features { display:grid; gap:12px; max-width:650px; margin-top:28px; padding:0; list-style:none; }.product-features li { display:flex; gap:10px; align-items:center; padding-bottom:12px; border-bottom:1px solid var(--line); }.product-features li::before { content:""; width:7px; height:7px; background:var(--pulse); border-radius:50%; }.review-empty { max-width:650px; margin-top:27px; padding:24px; background:#eee6da; }.review-empty h3 { margin:0 0 5px; font-size:17px; }.review-empty p { margin:0; color:var(--muted); font-size:13px; }.related-section { padding-top:75px; }.related-section .split-heading { margin-bottom:29px; }

/* Panier, commande et compte. */
.cart-page, .checkout-page, .account-page { padding-top:50px; padding-bottom:85px; }.cart-heading, .checkout-heading { margin-bottom:30px; }.cart-heading h1, .checkout-heading h1 { margin-bottom:0; font-size:clamp(3rem,5vw,5.5rem); }.cart-layout, .checkout-layout { display:grid; gap:25px; align-items:start; }.cart-list { display:grid; gap:0; background:var(--paper); }.cart-item { display:grid; grid-template-columns:75px 1fr; gap:13px; padding:13px; border-bottom:1px solid var(--line); }.cart-item img { width:75px; height:75px; object-fit:cover; }.cart-item__title { display:block; margin-bottom:5px; font:700 16px/1.05 var(--font-display); letter-spacing:-.04em; }.cart-item__meta { margin-bottom:8px; color:var(--muted); font-size:11px; }.cart-item__row { display:flex; align-items:center; justify-content:space-between; gap:8px; }.cart-item .quantity-control { height:30px; }.cart-item .quantity-control button { width:26px; }.remove-line { padding:0; color:var(--muted); background:transparent; border-bottom:1px solid var(--muted); font-size:10px; cursor:pointer; }.order-summary { padding:21px; background:var(--ink); color:#fff; }.order-summary h2 { margin-bottom:25px; font-size:29px; }.summary-row { display:flex; justify-content:space-between; gap:10px; margin:12px 0; color:#d2dce8; font-size:13px; }.summary-row b { color:#fff; }.summary-row--discount b { color:var(--pulse); }.cart-discount-note { margin:14px 0 8px; padding:10px; background:rgba(255,91,25,.16); color:#fff; font-size:11px; }.summary-row--total { margin-top:19px; padding-top:16px; border-top:1px solid var(--line-light); color:#fff; font:700 20px var(--font-display); letter-spacing:-.05em; }.order-summary__note { margin:20px 0; color:#aebccc; font-size:11px; }.shipping-progress { margin:17px 0; padding:10px; background:rgba(255,255,255,.08); color:#dae2ed; font-size:11px; }.shipping-progress b { color:var(--pulse); }.cart-empty { display:grid; min-height:370px; place-items:center; padding:45px 15px; background:var(--paper); text-align:center; }.cart-empty h2 { margin:10px 0; font-size:36px; }.cart-empty p { color:var(--muted); }.cart-empty svg { width:45px; height:45px; color:var(--pulse); }
.checkout-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:0 0 30px; }.checkout-progress span { padding-top:10px; border-top:2px solid var(--line); color:var(--muted); font:700 10px/1.2 var(--font-display); letter-spacing:.07em; text-transform:uppercase; }.checkout-progress span:first-child { border-color:var(--pulse); color:var(--ink); }.checkout-card { padding:21px; background:var(--paper); }.checkout-card + .checkout-card { margin-top:15px; }.checkout-card h2 { margin-bottom:21px; font-size:27px; }.form-grid { display:grid; gap:14px; }.checkout-card label, .contact-form label { display:grid; gap:7px; color:var(--ink); font:700 10px var(--font-display); letter-spacing:.08em; text-transform:uppercase; }.checkout-card input, .checkout-card select, .contact-form input, .contact-form select, .contact-form textarea { width:100%; padding:12px; border:1px solid var(--line); border-radius:0; outline:0; background:var(--paper); color:var(--ink); font:400 14px var(--font-body); letter-spacing:0; text-transform:none; }.checkout-card input:focus, .checkout-card select:focus, .contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:var(--pulse); }.payment-options { display:grid; gap:10px; }.payment-option { display:flex!important; grid-template-columns:auto 1fr; align-items:center; padding:14px; border:1px solid var(--line); cursor:pointer; }.payment-option:has(input:checked) { border-color:var(--pulse); background:#fff3ec; }.payment-option input { width:auto!important; accent-color:var(--pulse); }.payment-option b { font:700 14px var(--font-display); letter-spacing:-.03em; text-transform:none; }.payment-option small { grid-column:2; color:var(--muted); font:400 11px var(--font-body); letter-spacing:0; text-transform:none; }.payment-notice { margin:17px 0 0; color:var(--muted); font-size:11px; }.checkout-error { margin:0 0 17px; padding:12px; background:#fff0eb; border-left:3px solid var(--pulse); color:#7a2d14; font-size:12px; }
.account-intro { max-width:650px; padding:25px 0 45px; }.account-intro h1 { font-size:clamp(3rem,6vw,6.4rem); }.account-intro p:not(.eyebrow) { color:var(--muted); max-width:500px; }.account-grid { display:grid; gap:15px; }.account-card { min-height:290px; padding:25px; background:var(--paper); }.account-card--dark { background:var(--ink); color:#fff; }.account-card__icon { display:block; margin-bottom:61px; color:var(--pulse); font:700 20px var(--font-display); letter-spacing:-.08em; }.account-card h2 { max-width:330px; margin-bottom:12px; font-size:31px; }.account-card p { max-width:360px; color:var(--muted); }.account-card--dark p { color:#d2dce8; }.account-card .button, .account-card .text-link { margin-top:19px; }

/* Contact, récit de marque et footer. */
.contact-layout { display:grid; gap:42px; padding-top:61px; padding-bottom:70px; }.contact-aside h2 { margin-bottom:18px; }.contact-aside > p:not(.eyebrow) { max-width:440px; color:var(--muted); }.contact-data { display:grid; gap:14px; margin-top:35px; }.contact-data p { margin:0; }.contact-data span { display:block; margin-bottom:4px; color:var(--muted); font:700 10px var(--font-display); letter-spacing:.1em; text-transform:uppercase; }.contact-data a, .contact-data b { font:700 16px var(--font-display); letter-spacing:-.04em; }.contact-data a { text-decoration-color:rgba(255,91,25,.6); text-underline-offset:4px; }.contact-data a:hover { color:var(--pulse-deep); }.contact-form { display:grid; gap:17px; padding:20px; background:var(--paper); }.contact-form .check-row { display:flex; font:400 12px var(--font-body); letter-spacing:0; text-transform:none; }.contact-form .button { justify-self:start; }.form-helper { margin:0; color:var(--muted); font-size:11px; }.contact-team { display:grid; gap:27px; align-items:center; padding-bottom:90px; }.contact-team__photo { position:relative; margin:0; overflow:hidden; background:var(--ink); }.contact-team__photo::after { content:""; position:absolute; inset:auto 0 0; height:28%; background:linear-gradient(transparent,rgba(3,10,18,.45)); pointer-events:none; }.contact-team__photo img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }.contact-team__copy { padding:6px 0 0; }.contact-team__copy h2 { max-width:620px; margin-bottom:18px; font-size:clamp(2.35rem,5vw,4.8rem); }.contact-team__copy > p:not(.eyebrow) { max-width:600px; color:var(--muted); font-size:15px; }.contact-team__note { margin-top:22px; padding-left:15px; border-left:3px solid var(--pulse); color:var(--ink)!important; font:700 13px/1.45 var(--font-display); }
.about-hero { min-height:560px; display:flex; align-items:end; padding:60px 0; background:linear-gradient(120deg, #081220, #182a42); color:#fff; }.about-hero p:not(.eyebrow) { max-width:590px; margin:27px 0 0; color:#d4dce7; font-size:17px; }.about-statement { display:grid; gap:30px; }.about-statement h2 { max-width:780px; }.about-statement > div { max-width:510px; }.about-statement > div p { color:var(--muted); }.about-values { padding:80px 0; background:var(--ink); color:#fff; }.about-values__grid { display:grid; gap:35px; margin-top:38px; }.about-values article { position:relative; padding-top:47px; border-top:1px solid var(--line-light); }.about-values span { position:absolute; top:15px; color:var(--pulse); font:700 15px var(--font-display); }.about-values h3 { margin-bottom:9px; }.about-values p { margin:0; color:#ccd6e2; font-size:14px; }
.site-footer { padding:51px 0 22px; background:#050d18; color:#fff; }.footer-grid { display:grid; gap:38px; }.footer-brand .brand { margin-bottom:20px; }.footer-brand p { max-width:300px; margin:0; color:#bec9d7; font-size:13px; }.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:28px 20px; }.footer-links h3 { margin-bottom:10px; color:var(--pulse); font-size:11px; letter-spacing:.09em; text-transform:uppercase; }.footer-links a { display:block; margin:7px 0; color:#d2dce8; font-size:12px; }.footer-links a:hover { color:var(--pulse); }.footer-bottom { display:flex; justify-content:space-between; gap:15px; flex-wrap:wrap; margin-top:42px; padding-top:19px; border-top:1px solid var(--line-light); color:#9ba9b9; font-size:10px; }.footer-bottom span:last-child { max-width:460px; }
.payment-strip { display:grid; gap:16px; margin-top:42px; padding:22px 0; border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }.payment-strip__intro .eyebrow { margin-bottom:7px; }.payment-strip__intro h2 { margin:0; color:#fff; font-size:20px; }.payment-strip__logos { display:flex; align-items:center; gap:8px; overflow-x:auto; padding:10px; background:#f4f1eb; scrollbar-width:thin; }.payment-strip__logo, .payment-strip__text { display:grid; flex:0 0 84px; height:36px; place-items:center; padding:5px 8px; background:#fffdf9; }.payment-strip__logo img { display:block; width:100%; max-width:68px; max-height:24px; object-fit:contain; }.payment-strip__text { flex-basis:118px; color:var(--ink); text-align:center; font:700 9px/1.1 var(--font-display); letter-spacing:.04em; text-transform:uppercase; }

/* Mini-panier, alertes et mouvements. */
.drawer-backdrop { position:fixed; z-index:45; inset:0; display:none; background:rgba(1,7,15,.56); backdrop-filter:blur(3px); }.drawer-backdrop.is-open { display:block; }.cart-drawer { position:fixed; z-index:46; top:0; right:0; bottom:0; display:grid; grid-template-rows:auto 1fr auto; width:min(430px, 93vw); transform:translateX(101%); background:var(--paper); color:var(--ink); box-shadow:-18px 0 50px rgba(0,0,0,.3); transition:transform 260ms var(--ease-out); }.cart-drawer.is-open { transform:translateX(0); }.cart-drawer__header { display:flex; align-items:center; justify-content:space-between; padding:20px; border-bottom:1px solid var(--line); }.cart-drawer__header h2 { margin:0; font-size:26px; }.cart-drawer__header button { display:grid; place-items:center; width:35px; height:35px; background:transparent; cursor:pointer; font-size:25px; }.cart-drawer__items { overflow:auto; }.cart-drawer__footer { padding:18px; border-top:1px solid var(--line); }.toast { position:fixed; z-index:60; right:20px; bottom:20px; max-width:360px; padding:13px 16px; transform:translateY(15px); background:var(--ink); box-shadow:var(--shadow); color:#fff; opacity:0; pointer-events:none; transition:opacity 200ms var(--ease-out), transform 200ms var(--ease-out); font:600 13px var(--font-body); }.toast.is-visible { opacity:1; transform:translateY(0); }.toast::before { content:""; display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:var(--pulse); }
@media (min-width: 620px) { .category-ribbon__inner { grid-template-columns:repeat(4, 1fr); }.product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.product-grid--featured .product-card:first-child { grid-column: span 1; }.spotlight-carousel { padding-top:52px; }.spotlight-carousel__heading { grid-template-columns:minmax(0,1fr) 330px; align-items:end; }.spotlight-carousel__viewport { min-height:405px; }.spotlight-card { top:20px; width:min(51vw, 350px); }.payment-strip { grid-template-columns:210px minmax(0,1fr); align-items:center; gap:28px; }.feature-panel { grid-template-columns: 1.2fr .8fr; }.feature-panel__story, .feature-panel__set, .feature-panel__copy { min-height:570px; }.feature-panel__copy { padding:42px; }.service-strip__grid { grid-template-columns:repeat(3,1fr); gap:27px; }.toy-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.form-grid { grid-template-columns:repeat(2,1fr); }.account-grid { grid-template-columns:repeat(2,1fr); }.about-values__grid { grid-template-columns:repeat(3,1fr); gap:30px; }.product-reassurance { max-width:500px; }.product-grid--catalog { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width: 860px) { :root { --shell:min(1380px, calc(100vw - 80px)); }.header-main { min-height:80px; }.brand__mark { width:42px; height:42px; }.brand__type { font-size:20px; }.desktop-nav { display:flex; }.mobile-toggle { display:none; }.cart-button__text { display:block; }.header-search, .mobile-menu { top:110px; }.hero { min-height:640px; }.hero__content { padding-bottom:65px; }.hero__vertical-label { right:32px; bottom:45px; }.category-ribbon__inner { grid-template-columns:repeat(7,1fr); }.category-ribbon a { min-height:112px; padding:18px 15px; }.category-ribbon a:nth-child(n+8) { display:none; }.split-heading { grid-template-columns:minmax(0,1fr) 390px; align-items:end; }.product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }.product-grid--catalog { grid-template-columns:repeat(3,minmax(0,1fr)); }.spotlight-carousel__viewport { min-height:430px; }.spotlight-card { width:350px; }.feature-panel__story, .feature-panel__set, .feature-panel__copy { min-height:680px; }.catalog-shell { grid-template-columns:245px minmax(0,1fr); gap:42px; padding-top:66px; }.filters { position:sticky; top:132px; }.catalog-toolbar { grid-template-columns:1fr auto; align-items:end; }.toolbar-controls { grid-template-columns:260px 180px; }.product-layout { grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); gap:68px; }.cart-layout, .checkout-layout { grid-template-columns:minmax(0,1fr) 365px; gap:35px; }.order-summary { position:sticky; top:132px; }.cart-item { grid-template-columns:94px 1fr; padding:18px; }.cart-item img, .cart-item__image { width:94px; height:94px; }.contact-layout { grid-template-columns:.83fr 1.17fr; gap:80px; padding-top:100px; }.contact-form { padding:34px; }.contact-team { grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:clamp(42px,7vw,110px); padding-bottom:120px; }.contact-team__photo { align-self:stretch; }.contact-team__photo img { height:100%; min-height:460px; aspect-ratio:auto; }.about-statement { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:70px; }.footer-grid { grid-template-columns:.8fr 1.2fr; gap:80px; }.footer-links { grid-template-columns:repeat(3,1fr); }.pagination__info { display:inline; } }
@media (min-width: 1120px) { .product-grid--catalog { grid-template-columns:repeat(4,minmax(0,1fr)); }.product-card__body { padding:15px; }.product-grid--featured .product-card:first-child { grid-column:span 2; grid-row:span 1; }.product-grid--featured .product-card:first-child .product-card__image-wrap { aspect-ratio:1.45/1; }.product-grid--featured .product-card:first-child .product-card__name { font-size:24px; }.product-grid--featured .product-card:first-child .product-card__body { padding:17px; } }
@media (prefers-reduced-motion: no-preference) { .reveal { animation:reveal .48s var(--ease-out) both; }.reveal:nth-child(2) { animation-delay:.05s; }.reveal:nth-child(3) { animation-delay:.1s; }.reveal:nth-child(4) { animation-delay:.15s; } @keyframes reveal { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .hero__video { display:none; } *, *::before, *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }

.product-card__gallery-count { position:absolute; right:10px; bottom:10px; z-index:1; padding:5px 7px; background:rgba(8,18,32,.86); color:#fff; font:700 9px/1 var(--font-display); letter-spacing:.06em; text-transform:uppercase; }.product-real-note { display:flex; gap:7px; align-items:center; margin:14px 0; color:var(--green); font:700 11px/1.35 var(--font-display); letter-spacing:.04em; text-transform:uppercase; }.product-real-note span { color:var(--pulse); font-size:13px; }

/* Legal pages: same dark editorial system, with restrained reading width. */
.legal-hero { padding: clamp(60px, 10vw, 128px) 0 56px; background: var(--ink); color: #fff; }
.legal-hero h1 { max-width: 900px; margin: 14px 0 20px; overflow-wrap: anywhere; hyphens: auto; font-size: clamp(42px, 7vw, 92px); line-height: .95; letter-spacing: -.06em; }
.legal-hero__intro { max-width: 700px; margin: 0; color: #d4deea; font-size: clamp(17px, 2vw, 21px); line-height: 1.5; }
.legal-hero__updated { margin: 24px 0 0; color: var(--pulse); font: 700 11px/1.4 var(--font-display); letter-spacing: .08em; text-transform: uppercase; }
.legal-content { display: grid; gap: 32px; padding-top: 56px; padding-bottom: 92px; }
.legal-card { padding: clamp(24px, 4vw, 44px); background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.legal-details { display: grid; gap: 0; margin: 28px 0 0; }
.legal-details > div { display: grid; grid-template-columns: 1fr; gap: 6px; padding: 15px 0; border-top: 1px solid var(--line); }
.legal-details dt { color: var(--muted); font: 700 10px/1.3 var(--font-display); letter-spacing: .08em; text-transform: uppercase; }
.legal-details dd { margin: 0; color: var(--ink); font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.legal-details a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--pulse); text-underline-offset: 3px; }
.legal-pending { color: #a35d00 !important; font-weight: 700; }
.legal-prose { display: grid; gap: 0; }
.legal-prose--wide { max-width: 920px; margin: 0 auto; width: 100%; }
.legal-prose article { padding: 26px 0; border-top: 1px solid var(--line); }
.legal-prose h2 { margin: 0 0 12px; color: var(--ink); font-size: clamp(22px, 3vw, 32px); letter-spacing: -.035em; }
.legal-prose p, .legal-prose li { color: #455468; font-size: 15px; line-height: 1.75; }
.legal-prose p { margin: 0; }
.legal-prose ul { margin: 18px 0 0; padding-left: 22px; }
.legal-prose li + li { margin-top: 9px; }
.legal-notice { margin: 28px 0 0 !important; padding: 18px 20px; background: #fff4e8; border-left: 3px solid var(--pulse); color: #6e461f !important; font-size: 13px !important; line-height: 1.6 !important; }
@media (min-width: 700px) { .legal-details > div { grid-template-columns: minmax(180px, .75fr) 1.25fr; align-items: baseline; gap: 24px; } }
@media (min-width: 860px) { .legal-content { grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr); gap: clamp(44px, 7vw, 104px); padding-top: 88px; }.legal-content--terms { display: block; }.legal-content--terms .legal-prose { max-width: 920px; } }
