/* GÉNÉRÉ depuis assets/app.css · ne pas éditer à la main : modifier app.css puis régénérer (voir CLAUDE.md « découpage CSS »). Commentaires retirés. */


.cart-pay { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border-divider); }
.cart-pay__head { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 10px; }
.cart-pay__opts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.cart-pay__opt { padding: 9px 4px; border: 1px solid var(--border-hairline); background: transparent; cursor: pointer; font-family: var(--font-display); font-size: 14px; color: var(--ink-soft); transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.cart-pay__opt:hover { border-color: var(--accent); }
.cart-pay__opt.is-on { border-color: var(--accent); background: var(--surface-2); color: var(--ink-primary); }
.cart-pay__line { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; font-size: var(--body-m-size); }
.cart-paybox { border: 1px solid var(--accent-muted); }
.mesdevis-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 14px 0; border-bottom: 1px solid var(--border-divider); }
.mesdevis-row > .row { margin-left: auto; }
.mesdevis-row:last-child { border-bottom: 0; }
.mesdevis-row__title { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); }
.cmd-detail { margin: 6px 0 10px; border: 1px solid var(--border-hairline); background: #FBFAF7; font-family: var(--font-body); font-size: 13px; }
.cmd-detail__lines { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; }
.cmd-detail__line { display: flex; flex-direction: column; gap: 2px; }
.cmd-detail__art { font-size: 13px; font-weight: 600; color: var(--ink-primary); }
.cmd-detail__desc { font-size: 13px; color: var(--ink-muted); }
.cmd-detail__totals { display: flex; flex-direction: column; border-top: 1px solid var(--border-hairline); }
.cmd-detail__totals > div { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 9px 18px; }
.cmd-detail__totals dt { margin: 0; font-size: 13px; color: var(--ink-muted); }
.cmd-detail__totals dd { margin: 0; font-size: 13px; font-variant-numeric: tabular-nums; color: var(--ink-soft); }
.cmd-detail__grand { background: rgba(212,197,169,0.20); border-top: 1px solid var(--border-hairline); }
.cmd-detail__grand dt { color: var(--ink-primary); font-weight: 600; }
.cmd-detail__grand dd { color: var(--ink-primary); font-weight: 600; }
.cmd-detail__meta { display: flex; align-items: center; justify-content: flex-end; gap: 6px; padding: 9px 18px; font-size: 13px; color: var(--ink-muted); border-top: 1px solid var(--border-hairline); }
.cmd-detail__meta svg { color: var(--accent); flex: none; }
.coll-avis { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.coll-avis__give { background: none; border: 0; padding: 0; font-size: 11px; color: var(--accent-hover); border-bottom: 1px solid var(--accent-muted); cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.coll-avis__give:hover { color: var(--ink-primary); border-bottom-color: var(--accent); }
.coll-avis__done { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); }
.dq-doc { background: #fff; color: #161310; padding: 28px 30px; font-family: var(--font-body); font-size: 13px; line-height: 1.5; }
.dq-doc .dq-head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.dq-doc .dq-h1 { font-family: var(--font-display); font-size: 22px; }
.dq-doc .dq-h2 { font-family: var(--font-display); font-size: 18px; }
.dq-doc .dq-eb { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: #8a8378; }
.dq-doc .dq-ent { font-size: 11px; color: #4d473d; line-height: 1.7; }
.dq-doc .dq-ent strong { color: #161310; }
.dq-doc .dq-hr { border: 0; border-top: 1.5px solid #161310; margin: 16px 0; }
.dq-doc .dq-table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 12px 0; }
.dq-doc .dq-table th { text-align: left; font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: #8a8378; border-bottom: 1px solid #161310; padding: 7px 4px; }
.dq-doc .dq-table td { padding: 8px 4px; border-bottom: 1px solid #e4ded2; font-size: 10.5px; word-break: break-word; overflow-wrap: anywhere; }
.dq-doc .dq-table th:nth-child(1), .dq-doc .dq-table td:nth-child(1) { width: 24%; }
.dq-doc .dq-table th:nth-child(2), .dq-doc .dq-table td:nth-child(2) { width: 13%; }
.dq-doc .dq-table th:nth-child(3), .dq-doc .dq-table td:nth-child(3) { width: 7%; }
.dq-doc .dq-table th:nth-child(n+4), .dq-doc .dq-table td:nth-child(n+4) { width: 14%; }
.dq-doc .dq-r { text-align: right; }
.dq-doc .dq-art { font-family: var(--font-display); color: #3a342b; }
.dq-doc .dq-finish { display: block; font-family: var(--font-body); font-size: 9px; color: #8a8378; margin-top: 3px; line-height: 1.4; }
.dq-doc .dq-tot { margin-left: auto; width: 62%; }
.dq-doc .dq-tr { display: flex; justify-content: space-between; padding: 5px 0; }
.dq-doc .dq-tr.dq-g { font-family: var(--font-display); font-size: 17px; border-top: 1.5px solid #161310; margin-top: 6px; padding-top: 12px; }
.dq-doc .dq-st { display: inline-block; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; padding: 5px 12px; border: 1px solid #161310; margin-top: 10px; }
.dq-doc .dq-sig { margin-top: 22px; } .dq-doc .dq-sig img { max-height: 80px; }
.fav-mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 560px) { .fav-mini-grid { grid-template-columns: 1fr 1fr; } }
.fav-mini { display: flex; flex-direction: column; gap: 8px; background: transparent; border: 0; padding: 0; cursor: pointer; text-align: left; }
.fav-mini__media { aspect-ratio: 1/1; background: var(--surface-1); border: 1px solid var(--border-hairline); display: flex; align-items: center; justify-content: center; overflow: hidden; transition: border-color var(--dur-fast) var(--ease); }
.fav-mini:hover .fav-mini__media { border-color: var(--accent); }
.fav-mini__media img { width: 100%; height: 100%; object-fit: cover; }
.fav-mini__title { font-size: var(--body-s-size); }
.delais-note { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; padding: 12px 14px; border: 1px solid var(--border-hairline); background: var(--surface-1); font-size: var(--body-s-size); line-height: 1.5; color: var(--ink-soft); }
.delais-note svg { flex: none; color: var(--accent); margin-top: 1px; }@media (max-width: 600px) { }

*, *::before, *::after { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
html { background: #fff; }
body { background: radial-gradient(135% 80% at 50% -10%, #FFFFFF 0%, #FCFBF9 30%, #F8F6F2 62%, #F2EFE9 100%) no-repeat fixed, var(--canvas); color: var(--ink-primary); overflow-x: clip; }
button { background: transparent; border: 0; color: inherit; font: inherit; padding: 0; cursor: pointer; }
input, select, textarea { font: inherit; }
img { display: block; max-width: 100%; }
::selection { background: var(--accent-muted); color: var(--ink-primary); }

#root { min-height: 100vh; display: flex; flex-direction: column; }


.eyebrow { font-family: var(--font-body); font-size: var(--eyebrow-size); font-weight: 600;
  letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--ink-muted); }
.muted { color: var(--ink-muted); }
.soft { color: var(--ink-soft); }
.center { text-align: center; }
.mono-num { font-variant-numeric: tabular-nums; }
.hairline { border: 0; border-top: 1px solid var(--border-divider); margin: 0; }
.wrap { max-width: 1320px; margin: 0 auto; padding: 0 var(--space-3); width: 100%; }
.wrap-narrow { max-width: 920px; margin: 0 auto; padding: 0 var(--space-3); width: 100%; }
.stack { display: flex; flex-direction: column; }
.row { display: flex; align-items: center; }
.spread { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.gap-1 { gap: var(--space-1); } .gap-2 { gap: var(--space-2); } .gap-3 { gap: var(--space-3); }
.grow { flex: 1; }
.nowrap { white-space: nowrap; }


.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--font-body); font-size: 12px; font-weight: 600; letter-spacing: 0.14em;
  text-transform: uppercase; padding: 16px 30px; border: 1px solid transparent; border-radius: var(--radius-0);
  cursor: pointer; transition: background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease),
  border-color var(--dur-fast) var(--ease); line-height: 1; }
.btn:disabled { opacity: 0.35; cursor: not-allowed; }
.btn--primary { background: var(--ink-primary); color: var(--canvas); }
.btn--primary:not(:disabled):hover { background: var(--accent); }
.btn--outline { background: transparent; color: var(--ink-primary); border-color: var(--accent); }
.btn--outline:not(:disabled):hover { background: var(--accent); color: var(--canvas); }
.btn--ghost { background: transparent; color: var(--ink-muted); border-color: var(--border-hairline); }
.btn--ghost:not(:disabled):hover { color: var(--ink-primary); border-color: var(--accent); }
.btn--sm { padding: 10px 18px; font-size: 11px; }
.btn--block { width: 100%; }
.btn .arrow { transition: transform var(--dur-fast) var(--ease); }
.btn:not(:disabled):hover .arrow { transform: translateX(3px); }

.text-link { color: var(--accent); border-bottom: 1px solid var(--border-hairline); font-weight: 600;
  font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; display: inline-flex;
  gap: 8px; align-items: center; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.text-link:hover { color: var(--accent-hover); border-bottom-color: var(--accent); }
.text-link--mute { color: var(--ink-muted); border-bottom-color: transparent; }
.text-link--mute:hover { color: var(--ink-primary); border-bottom-color: var(--ink-muted); }


.nav { position: sticky; top: 0; z-index: 60; background: var(--canvas);
  border-bottom: 1px solid var(--border-hairline); }
.nav__inner { display: flex; align-items: center; gap: var(--space-3); padding: 20px var(--space-3); max-width: 1440px; margin: 0 auto; }
.nav__brand { display: flex; align-items: center; gap: 14px; cursor: pointer; flex: none; }
.nav__logo { width: 34px; height: 34px; flex: none; }
.nav__sub { font-size: 9px; letter-spacing: 0.22em; color: var(--ink-muted); text-transform: uppercase; margin-top: 4px; white-space: nowrap; }
.nav__links { display: flex; flex-wrap: nowrap; gap: clamp(16px, 1.6vw, 30px); margin-left: auto; align-items: center; }
.nav__link { font-size: 10.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; white-space: nowrap;
  color: var(--ink-muted); padding-bottom: 4px; border-bottom: 1px solid transparent; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.nav__link:hover { color: var(--ink-primary); }

.nav__lockup { position: relative; display: inline; line-height: inherit; }

.nav__link:has(.nav__lockup) { padding-bottom: 16px; margin-bottom: -12px; }
.nav__lockup-sub { position: absolute; top: calc(100% - 2px); left: 50%; transform: translateX(-50%); font-size: 7.5px; font-weight: 600; letter-spacing: 0.26em; color: var(--accent); text-transform: uppercase; white-space: nowrap; opacity: 0.9; }
@media (max-width: 1024px) { .nav__lockup { position: static; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; line-height: 1; } .nav__lockup-sub { position: static; transform: none; font-size: 9px; } }
.nav__link.is-active { color: var(--ink-primary); border-bottom-color: var(--accent); }
.nav__cart-badge { position: absolute; top: -8px; right: -12px; background: var(--accent); color: var(--canvas);
  font-size: 10px; font-weight: 700; min-width: 16px; height: 16px; border-radius: var(--radius-pill);
  display: inline-flex; align-items: center; justify-content: center; padding: 0 4px; letter-spacing: 0; }
.nav__cart-badge--resume { background: transparent; color: var(--accent); border: 1px solid var(--accent); }

.nav__pro { position: relative; }
.nav__pro-caret { font-size: 9px; opacity: 0.8; margin-left: 2px; }
.nav__pro-menu { position: absolute; top: calc(100% + 10px); right: 0; min-width: 210px; background: var(--canvas); border: 1px solid var(--border-hairline); flex-direction: column; padding: 6px 0; display: none; z-index: 60; }
.nav__pro.is-open .nav__pro-menu { display: flex; }
.nav__pro-menu .nav__link { padding: 13px 18px; border-bottom: 0; text-align: left; justify-content: flex-start; }

.nav__pro-btn--hot { color: var(--accent); border: 1px solid var(--accent-muted); border-radius: var(--radius-pill); padding: 7px 14px 7px 16px; }
.nav__pro-btn--hot:hover { color: var(--accent-hover); border-color: var(--accent); }
.nav__pro-btn--hot.is-active { color: var(--accent); border-color: var(--accent); }
.nav__pro-btn--hot .nav__pro-caret { opacity: 1; }

.nav__carticon { display: inline-flex; align-items: center; gap: 3px; position: relative; background: none; border: 0; padding: 4px; margin-left: 10px; cursor: pointer; color: var(--ink-muted); transition: color var(--dur-fast) var(--ease); }
.nav__carticon:hover, .nav__carticon.is-active { color: var(--ink-primary); }

.nav__carticon--fav { margin-left: 10px; }
.nav__carticon + .nav__carticon { margin-left: -20px; }
@media (max-width: 1024px) { .nav__carticon--fav { order: 2; } }
.nav__carticon .nav__cart-badge { top: -5px; right: -6px; min-width: 13px; height: 13px; font-size: 8px; font-weight: 600; padding: 0 3px; line-height: 13px; }
@media (max-width: 1024px) {
  .nav__brand { margin-right: auto; }
  .nav__lang { order: 1; }
  
  .nav__carticon { order: 2; margin: 0 -6px; }
  .nav__burger { order: 3; }
  .nav__links > .nav__pro { padding: 0; min-height: 0; border-bottom: 0; display: block; }
  .nav__pro .nav__pro-btn { width: 100%; padding: 17px var(--space-2); min-height: 54px; border-bottom: 1px solid var(--border-divider); display: flex; align-items: center; justify-content: flex-start; text-align: left; gap: 8px; }
  .nav__pro .nav__pro-btn--hot { border-top: 0; border-left: 0; border-right: 0; border-radius: 0; color: var(--ink-muted); font-size: 13px; letter-spacing: 0.16em; }
  .nav__pro .nav__pro-btn--hot.is-active { color: var(--accent); }
  .nav__pro-menu { position: static; border: 0; padding: 0; min-width: 0; }
  .nav__pro-menu .nav__link { width: 100%; padding: 15px var(--space-2) 15px var(--space-4); border-bottom: 1px solid var(--border-divider); }
}
.nav__mode { display: inline-flex; align-items: center; gap: 7px; flex: none; font-size: 10px; letter-spacing: 0.16em; color: var(--ink-soft); border: 1px solid var(--border-hairline);
  border-radius: var(--radius-pill); padding: 9px 16px; text-transform: uppercase; white-space: nowrap; margin-left: 6px; transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.nav__mode svg { width: 13px; height: 13px; }
.nav__mode:hover { color: var(--canvas); background: var(--accent); border-color: var(--accent); }
.nav__mode--artiste { color: var(--accent); border-color: var(--accent-muted); }
.nav__burger { display: none; }
.nav__modequick { display: none; }


@media (max-width: 1024px) {
  .nav__inner { padding: 14px var(--space-2); gap: var(--space-2); }
  .nav__links { position: absolute; top: 100%; left: 0; right: 0; background: var(--canvas); flex-direction: column;
    align-items: flex-start; gap: 0; margin: 0; border-bottom: 0;
    max-height: 0; overflow: hidden; transition: max-height var(--dur-medium) var(--ease); z-index: 59; }
  .nav__links.is-open { max-height: 90vh; overflow-y: auto; padding-bottom: 8px; border-bottom: 1px solid var(--border-hairline); }
  .nav__links > * { padding: 17px var(--space-2); width: 100%; border-bottom: 1px solid var(--border-divider);
    font-size: 13px; letter-spacing: 0.16em; min-height: 54px; display: flex; align-items: center; }
  .nav__link.is-active { border-bottom-color: var(--border-divider); color: var(--accent); }
  .nav__links .nav__mode, .nav__links .nav__mode--artiste {
    margin-top: 10px; margin-left: 0; width: 100%; border: 0; border-top: 1px solid var(--accent-muted); border-radius: 0;
    color: var(--accent); font-weight: 600; gap: 10px; justify-content: flex-start; }
  .nav__burger { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; }
  .nav__modequick { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; white-space: nowrap;
    font-size: 10px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--accent); border: 1px solid var(--accent-muted); border-radius: var(--radius-pill); padding: 8px 13px; }
  .nav__modequick svg { width: 13px; height: 13px; }
}

.tier-paths { display: flex; flex-direction: column; gap: 5px; }
.tier-paths__count { display: block; margin-top: 2px; }

.tier-step__desc .text-link { display: inline; min-height: 0 !important; padding: 0 !important; margin: 0 !important; font-size: inherit; letter-spacing: inherit; text-transform: none; }

.undo-fab { position: fixed; top: 106px; right: 14px; z-index: 59; display: inline-flex; align-items: center; gap: 7px; padding: 10px 14px; min-height: 38px; background: var(--canvas); color: var(--ink-primary); border: 1px solid var(--border-hairline); font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1; cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.undo-fab:hover { color: var(--accent); border-color: var(--accent); }
@media (max-width: 700px) { .undo-fab { right: 8px; min-height: 44px; padding: 10px 12px; } }

.undo-fab { max-width: calc(100vw - 20px); }
.undo-fab span { white-space: nowrap; }
@media (max-width: 1100px) { .undo-fab span { display: none; } .undo-fab { padding: 10px; } }


.page-main { flex: 1; padding-bottom: var(--space-5); }
.hero { position: relative; }
.hero--type { border-bottom: 1px solid var(--border-hairline); }
.hero__inner { position: relative; padding: var(--space-3) var(--space-3) var(--space-4); max-width: 1320px; margin: 0 auto; width: 100%; }

.home-hero { position: relative; min-height: min(78vh, 760px); display: flex; align-items: flex-end; overflow: hidden; border-bottom: 1px solid var(--border-hairline); }
.home-hero__bg { position: absolute; inset: 0; background: #000; }
.home-hero__slide { position: absolute; inset: 0; background-size: cover; background-position: center 28%; transform-origin: center 30%; opacity: 0; transition: opacity 1.3s var(--ease); transform: scale(1.03); will-change: opacity, transform; }
.home-hero__slide.is-visible { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .home-hero__slide.is-current { animation: homeHeroZoom 6.2s linear forwards; }
}
@keyframes homeHeroZoom { from { transform: scale(1.03); } to { transform: scale(1.11); } }
.home-hero__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.15) 45%, rgba(0,0,0,0.82) 100%); }
.home-hero__inner { position: relative; z-index: 2; max-width: 1320px; width: 100%; margin: 0 auto; padding: var(--space-5) var(--space-3); }
.home-hero__title { font-family: var(--font-display); font-size: clamp(36px, 6vw, var(--display-xl-size)); line-height: 1.1; color: var(--ink-primary); margin: 16px 0 0; max-width: 18ch; text-wrap: balance; }
.home-hero__sub { color: var(--ink-soft); font-size: var(--body-l-size); line-height: var(--body-l-lh); max-width: 52ch; margin: var(--space-2) 0 0; }
.home-hero__sig { color: var(--accent); font-size: clamp(16px, 2vw, 20px); line-height: 1.45; max-width: 56ch; margin: var(--space-3) 0 0; }
.home-hero__cta { margin-top: var(--space-3); }
.home-hero__dots { position: absolute; z-index: 3; right: var(--space-3); bottom: var(--space-3); display: flex; gap: 8px; }
.home-hero__dot { width: 8px; height: 8px; border-radius: 999px; border: 1px solid var(--accent); background: none; cursor: pointer; padding: 0; transition: background var(--dur-fast) var(--ease); }
.home-hero__dot.is-active { background: var(--accent); }
@media (max-width: 700px) { .home-hero { min-height: 70vh; } .home-hero__inner { padding: var(--space-3) var(--space-2) var(--space-4); } .home-hero__title { font-size: 27px; } .home-hero__sub { font-size: var(--body-m-size); } .home-hero__veil { background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.18) 40%, rgba(0,0,0,0.88) 100%); } }
.hero__title { font-family: var(--font-display); font-size: clamp(36px, 6vw, var(--display-xl-size)); line-height: 1.1; max-width: 16ch; }
.hero__sub { color: var(--ink-soft); font-size: var(--body-l-size); max-width: 48ch; margin: var(--space-2) 0 var(--space-3); }

.section { padding: var(--space-4) 0; }


.univ-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr; gap: var(--space-2); align-items: stretch; }
.univ-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto; gap: var(--space-2); align-items: start; }
.univ-card { position: relative; overflow: hidden; text-align: left; display: flex; flex-direction: column; justify-content: flex-end;
  aspect-ratio: 599 / 458; min-height: 0; padding: 0; border: 1px solid var(--border-hairline); background: #000;
  cursor: pointer; transition: border-color var(--dur-medium) var(--ease); }
.univ-card:hover { border-color: var(--accent); }
.univ-card__media { position: absolute; inset: 0; z-index: 0; background: linear-gradient(155deg, #1c1c1c 0%, #151515 100%); }
.univ-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.univ-card__media img.is-broken { opacity: 0; }
.univ-card__photo { object-position: var(--tpos-d, 50% 50%); transform: scale(var(--tzoom-d, 1)); transform-origin: var(--tpos-d, 50% 50%); }
.univ-card__scrim { position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0) 24%, rgba(0,0,0,0.45) 52%, rgba(0,0,0,0.88) 78%, #000 100%);
  transition: background var(--dur-medium) var(--ease); }
.univ-card:hover .univ-card__scrim { background: linear-gradient(180deg, rgba(0,0,0,0.06) 0%, rgba(0,0,0,0) 22%, rgba(0,0,0,0.42) 50%, rgba(0,0,0,0.85) 76%, #000 100%); }
.univ-card__content { position: relative; z-index: 2; padding: var(--space-3); }
.univ-card__name { font-family: var(--font-display); font-size: var(--display-m-size); margin: 10px 0 8px; }

.univ-card__lockup { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; line-height: 1; }
.univ-card__lockup > span:first-child { color: var(--ink-primary); }
.univ-card__lockup-sub { font-family: var(--font-body); font-size: 10px; font-weight: 600; letter-spacing: 0.26em; color: var(--accent); text-transform: uppercase; white-space: nowrap; opacity: 0.9; }
.univ-card__sub { color: var(--ink-soft); font-size: var(--body-m-size); max-width: 44ch; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.univ-card__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2);
  border-top: 1px solid var(--border-divider); margin-top: 16px; padding-top: 16px; font-size: var(--body-s-size); }
@media (max-width: 720px) { .univ-grid { grid-template-columns: 1fr; } .univ-card { aspect-ratio: 7 / 10; } }

@media (min-width: 721px) and (max-width: 1024px) {
  .univ-card { aspect-ratio: 3 / 4; }
  .univ-card__photo { object-position: var(--tpos-t, 50% 50%); transform: scale(var(--tzoom-t, 1)); transform-origin: var(--tpos-t, 50% 50%); }
  .insitu__inner { width: auto; height: 100%; min-width: 100%; left: 50%; transform-origin: top center; transform: translateX(-50%) translateY(var(--icrop-t, var(--icrop-d, -5%))) scale(var(--izoom-t, var(--izoom-d, 1))); }
}


.gamme-head { padding: var(--space-3) 0 var(--space-3); }
.gamme-head__title { font-family: var(--font-display); font-size: var(--display-l-size); line-height: 1.1; margin: 10px 0 14px; }
.gamme-head__sub { color: var(--ink-soft); max-width: 60ch; }
.badge-line { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--space-2); }
.chip { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted);
  border: 1px solid var(--border-hairline); border-radius: var(--radius-pill); padding: 6px 14px; white-space: nowrap; }
.chip--accent { color: var(--accent); border-color: var(--accent-muted); }
.chip--new { color: #fff; background: var(--accent); border-color: var(--accent); font-weight: 600; }
@media (max-width: 720px) { }


.detail { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: var(--space-4); padding: var(--space-4) 0; align-items: start; }
.scene-gallery { margin-top: 0; }
@keyframes lbspin { to { transform: rotate(360deg); } }

.nav__logo { height: 38px; width: auto; display: block; }
.footer__logo { height: 58px; width: auto; display: block; }
.footer__word--logo { background: none; border: 0; padding: 0; cursor: pointer; }
.scene-frame { background: #e7e4dd; border: 1px solid var(--border-hairline); padding: var(--space-2); position: relative; }
.scene-zoom-btn { position: absolute; top: 12px; right: 12px; z-index: 3; width: 38px; height: 38px; border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.18); background: rgba(255,255,255,0.82); color: #2b2723; display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.scene-zoom-btn:hover { background: #fff; border-color: var(--accent); }
.scene-zoom-panel { position: relative; width: min(94vw, 1320px); background: #e7e4dd; border: 1px solid var(--border-hairline); padding: var(--space-2); }
.scene-zoom-stage svg { width: 100%; height: auto; display: block; }
.scene-zoom-panel .lb-modal__close { background: rgba(255,255,255,0.82); border-color: rgba(0,0,0,0.18); color: #2b2723; }
.scene-zoom-panel .lb-modal__close:hover { border-color: var(--accent); color: #2b2723; }

.scene-meta { margin-top: var(--space-2); padding-top: var(--space-2); border-top: 1px solid rgba(0,0,0,0.12); display: flex; flex-direction: column; gap: 10px; }
.scene-spec { }
.scene-spec__summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.scene-spec__summary::-webkit-details-marker { display: none; }
.scene-spec__lead { font-family: var(--font-display); font-size: 16px; color: #2b2723; font-variant-numeric: tabular-nums; }
.scene-spec__chev { color: #6f6555; transition: transform var(--dur-fast) var(--ease); display: inline-flex; }
.scene-spec[open] .scene-spec__chev { transform: rotate(180deg); }
.scene-spec__body { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(0,0,0,0.12); display: flex; flex-direction: column; gap: 7px; }
.scene-spec__row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2); }


.finvid { display: grid; grid-template-columns: minmax(230px, 320px) 1fr; gap: var(--space-4); align-items: center; margin: var(--space-4) 0; padding-top: var(--space-4); border-top: 1px solid rgba(0,0,0,0.12); }
.finvid__frame { position: relative; aspect-ratio: 9 / 16; background: #000; }
.finvid__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; pointer-events: none; }
.finvid__frame video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.finvid__title { font-family: var(--font-display); font-weight: 400; font-size: var(--display-m-size); line-height: var(--display-m-lh); margin: 10px 0 12px; }
.finvid__text { color: var(--ink-soft); max-width: 52ch; margin: 0 0 12px; }
.finvid__note { color: var(--ink-muted); font-size: var(--body-s-size); line-height: var(--body-s-lh); max-width: 52ch; margin: 0; }
@media (max-width: 760px) { .finvid { grid-template-columns: 1fr; } .finvid__frame { width: 100%; max-width: 400px; margin: 0 auto; } }
.scene-spec__k { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #7a7163; }
.scene-spec__v { font-size: var(--body-s-size); color: #3a352d; font-variant-numeric: tabular-nums; }
.scene-spec__note { margin-top: 6px; font-size: var(--body-s-size); color: #6f6555; line-height: 1.5; }
.scene-cadre-btn { align-self: flex-start; background: none; border: 0; border-bottom: 1px solid rgba(0,0,0,0.22); padding: 4px 0; cursor: pointer; font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #4a4135; transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.scene-cadre-btn:hover { color: #2b2723; border-bottom-color: rgba(0,0,0,0.5); }
.scene-cadre-btn .arr { font-size: 13px; }
.encadre-opt { display: flex; align-items: flex-start; gap: 12px; width: 100%; text-align: left; cursor: pointer;
  background: var(--surface-1); border: 1px solid var(--border-hairline); border-radius: var(--radius-1); padding: 14px 16px;
  transition: border-color var(--dur-fast) var(--ease); }
.encadre-opt:hover { border-color: var(--accent); }
.encadre-opt.is-on { border-color: var(--accent); }
.encadre-opt.is-inc { cursor: default; }
.encadre-opt__check { flex: none; width: 22px; height: 22px; border-radius: var(--radius-pill); display: flex; align-items: center; justify-content: center;
  background: var(--accent); color: var(--canvas); font-size: 13px; }
.encadre-opt__check.is-off { background: transparent; border: 1px solid var(--border-active); }
.encadre-opt__txt { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.encadre-opt__title { font-size: var(--body-m-size); color: var(--ink-primary); }
.encadre-opt__desc { font-size: var(--body-s-size); color: var(--ink-soft); line-height: 1.5; }
.encadre-opt__price { flex: none; font-size: var(--body-s-size); color: var(--accent); white-space: nowrap; font-variant-numeric: tabular-nums; }
.encadre-choice__lbl { display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #7a7163; margin-bottom: 10px; }
.encadre-choice__opts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 560px) { .encadre-choice__opts { grid-template-columns: 1fr; } }
.encadre-card { display: flex; flex-direction: column; gap: 6px; width: 100%; text-align: left; cursor: pointer;
  background: var(--surface-1); border: 1px solid var(--border-hairline); border-radius: var(--radius-1); padding: 14px 16px;
  transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.encadre-card:hover { border-color: var(--border-active); }
.encadre-card.is-sel { border-color: var(--accent); background: var(--surface-1); }
.encadre-card__top { display: flex; align-items: flex-start; gap: 9px; }
.encadre-card__radio { flex: none; width: 16px; height: 16px; margin-top: 2px; border-radius: var(--radius-pill); border: 1px solid var(--border-active); position: relative; }
.encadre-card__radio.is-on { border-color: var(--accent); }
.encadre-card__radio.is-on::after { content: ""; position: absolute; inset: 3px; border-radius: var(--radius-pill); background: var(--accent); }
.encadre-card__title { flex: 1; font-size: var(--body-m-size); color: var(--ink-primary); }
.encadre-card__tag { flex: none; font-size: var(--body-s-size); color: var(--accent); white-space: nowrap; font-variant-numeric: tabular-nums; }
.offert-strike { text-decoration: line-through; color: var(--ink-muted); margin-right: 6px; font-variant-numeric: tabular-nums; }
.encadre-card__desc { font-size: var(--body-s-size); color: var(--ink-soft); line-height: 1.5; }
.scene-orient { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.scene-orient__label { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #7a7163; }
.scene-svg { width: 100%; height: auto; display: block; }
.scene-col { display: flex; flex-direction: column; gap: var(--space-2); }


.gallery { border: 1px solid var(--border-hairline); background: var(--surface-1); padding: var(--space-2); }
.gallery__stage { position: relative; background: #000; aspect-ratio: 1 / 1; max-height: 60vh; max-width: 60vh; margin-left: auto; margin-right: auto; overflow: hidden; }
.gallery__zoomwrap { position: absolute; inset: 0; }
.gallery__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; cursor: zoom-in; }
.gallery__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.45); color: #fff; border: 1px solid rgba(212,197,169,0.4); border-radius: var(--radius-pill); transition: background var(--dur-fast) var(--ease); }
.gallery__nav:hover { background: var(--accent); color: #fff; }
.gallery__nav--prev { left: 10px; } .gallery__nav--next { right: 10px; }
.gallery__count { position: absolute; bottom: 10px; right: 10px; font-size: 11px; letter-spacing: 0.1em; color: #fff; background: rgba(0,0,0,0.5); padding: 4px 10px; border-radius: var(--radius-pill); }
.gallery__cap { font-family: var(--font-display); color: var(--accent); font-size: 15px; margin-top: 12px; line-height: 1.4; }
.gallery__lightbox { position: fixed; inset: 0; z-index: 120; background: rgba(0,0,0,0.92); display: flex; align-items: center; justify-content: center; padding: var(--space-3); }
.gallery__inframe { position: absolute; background-position: center; background-size: cover; background-repeat: no-repeat; cursor: zoom-in; }
.gallery__lightbox-stage { position: relative; display: inline-block; }

.gallery__lightbox-stage--situ { width: min(88vh, 92vw); aspect-ratio: 1 / 1; overflow: hidden; }
.gallery__lightbox-stage img { display: block; max-width: 92vw; max-height: 88vh; object-fit: contain; }
.gallery__lightbox img { max-width: 92vw; max-height: 88vh; object-fit: contain; }
.gallery__lightbox .gallery__lightbox-stage--situ img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; object-position: center; }
.gallery__lightbox-close { position: absolute; top: 18px; right: 18px; width: 44px; height: 44px; color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.gallery__lightbox-close:hover { color: var(--accent); }
.gallery-soon { aspect-ratio: 1 / 1; background: var(--surface-1); border: 1px dashed var(--accent-muted);
  display: flex; align-items: center; justify-content: center; }
.gallery-soon span { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-muted); letter-spacing: 0.04em; }


.page-media { margin: var(--space-3) 0; display: flex; flex-direction: column; gap: var(--space-3); }


.partners { padding: var(--space-4) 0 var(--space-3); border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.partners__head { text-align: center; }
.partners__grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 28px; margin-top: 18px; }
.partners__logo { height: 108px; width: auto; opacity: 0.6; transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1); }
.partners__logo:hover { opacity: 0.95; }
@media (max-width: 600px) { .partners__grid { gap: 0 12px; } .partners__logo { height: 76px; } }


.press { background: var(--surface-1); border-top: 1px solid var(--border-hairline); border-bottom: 1px solid var(--border-hairline); padding-top: var(--space-5); padding-bottom: var(--space-5); }
.press__head { text-align: center; position: relative; padding-bottom: var(--space-3); }
.press__head::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 56px; height: 1px; background: var(--accent); }
.press__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin-top: var(--space-4); align-items: stretch; }
.press__item { margin: 0; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 20px; padding: 10px var(--space-3); border-left: 1px solid var(--border-hairline); }
.press__item:first-child { border-left: 0; }
.press__logo { height: 38px; width: auto; max-width: 100%; object-fit: contain; opacity: 0.88; }

.press__logo--normal { height: 22px; margin: 8px 0; }
.press__quote { font-family: var(--font-display); font-size: 18px; line-height: 1.5; color: var(--accent); text-wrap: pretty; max-width: 24ch; }
@media (max-width: 980px) {
  .press__grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-4) 0; }
  .press__item:nth-child(3) { border-left: 0; }
  .press__item:nth-child(5) { border-left: 0; }
}
@media (max-width: 520px) {
  .press__grid { grid-template-columns: 1fr; gap: 0; }
  .press__item { border-left: 0; border-top: 1px solid var(--border-hairline); padding: var(--space-3) var(--space-2); }
  .press__item:first-child { border-top: 0; }
}


.fav-floater__tab { position: fixed; right: 96px; bottom: 18px; z-index: 80; display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; padding: 0; border-radius: 999px;
  background: var(--ink-primary); color: var(--canvas); border: 1px solid var(--accent); cursor: pointer;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.fav-floater__tab:hover, .fav-floater__tab.is-open { background: var(--accent); color: var(--canvas); }
.fav-floater__tab svg { width: 20px; height: 20px; }

.fav-floater__star { position: absolute; top: -5px; right: -5px; width: 20px; height: 20px; border-radius: 999px; background: var(--accent); color: var(--canvas); display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--canvas); }

.fav-panes { display: flex; border-bottom: 1px solid var(--border-divider); }
.fav-panes button { flex: 1; padding: 11px 8px; background: transparent; border: 0; border-bottom: 1px solid transparent; color: var(--ink-muted); font-family: var(--font-body); font-size: 10px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.fav-panes button:hover { color: var(--ink-primary); }
.fav-panes button.is-on { color: var(--accent); border-bottom-color: var(--accent); }
.reco-tab { overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 18px; }
.reco-tab__note { margin: 0 0 10px; font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--ink-soft); }
.fav-floater__count { position: absolute; top: -5px; right: -5px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px;
  background: var(--accent); color: var(--canvas); font-size: 11px; font-weight: 600; line-height: 1;
  display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--canvas); }
.fav-floater__panel { position: fixed; right: 16px; bottom: 84px; z-index: 90; width: 300px; max-width: calc(100vw - 32px);
  background: var(--surface-1); border: 1px solid var(--accent); max-height: 76vh; display: flex; flex-direction: column;
  box-shadow: 0 18px 50px rgba(0,0,0,0.5); }

.fav-floater__panel--nav { bottom: auto; top: 76px; right: 16px; }
.fav-floater__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--border-divider); }
.fav-floater__title { font-family: var(--font-display); font-size: 17px; color: var(--ink-primary); }
.fav-floater__close { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; color: var(--ink-soft); }
.fav-floater__close:hover { color: var(--accent); }
.fav-floater__hint { font-size: 12px; color: var(--ink-muted); padding: 12px 18px 4px; }
.fav-floater__cta { padding: 14px 18px; border-bottom: 1px solid var(--border-divider); }
.fav-floater__empty { padding: 18px; display: flex; flex-direction: column; gap: 16px; }
.fav-floater__list { overflow-y: auto; padding: 6px; }
.fav-floater__item { display: flex; flex-direction: row; align-items: center; gap: 12px; width: 100%; text-align: left;
  padding: 10px 14px; background: transparent; border: 0; border-bottom: 1px solid var(--border-divider); cursor: pointer; transition: background var(--dur-fast) var(--ease); }
.fav-floater__thumb { flex: none; width: 46px; height: 46px; background: var(--surface-2); border: 1px solid var(--border-hairline); overflow: hidden; display: block; }
.fav-floater__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
.fav-floater__item:last-child { border-bottom: 0; }
.fav-floater__item:hover { background: var(--surface-2); }
.fav-floater__name { font-size: 15px; transition: color var(--dur-fast) var(--ease); background-image: linear-gradient(var(--accent), var(--accent)); background-repeat: no-repeat; background-position: 0 100%; background-size: 0% 1px; padding-bottom: 1px; transition: color var(--dur-fast) var(--ease), background-size var(--dur-medium) var(--ease); }
.fav-floater__item:hover .fav-floater__name { color: var(--accent); background-size: 100% 1px; }
.fav-floater__fmt { display: block; font-family: var(--font-body); font-size: 11px; color: var(--ink-muted); margin-top: 2px; }
.fmt-fav { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: none; border: none; padding: 0; color: var(--ink-muted); cursor: pointer; transition: color var(--dur-fast) var(--ease); }
.fmt-fav:hover { color: var(--accent); }
.fmt-fav.is-on { color: var(--accent); }
.fmt-fav svg { width: 16px; height: 16px; display: block; }

.ag-wrap { max-width: 860px; padding-top: var(--space-5); padding-bottom: var(--space-6); }
.ag-title { font-family: var(--font-display); font-size: var(--display-l-size); line-height: var(--display-l-lh); letter-spacing: var(--display-l-tracking); font-weight: 400; margin: 10px 0 14px; }
.ag-sub { max-width: 62ch; }
.ag-hook { margin-top: 14px; color: var(--ink-soft); max-width: 62ch; }
.ag-block { margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid rgba(255,255,255,0.08); }
.ag-block__title { font-family: var(--font-display); font-size: var(--display-s-size); font-weight: 400; margin: 0 0 16px; }
.ag-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px 18px; align-items: end; }
.ag-field { margin: 0; }
.ag-field input, .ag-field select, .ag-field textarea { width: 100%; box-sizing: border-box; }
.ag-field .field__label { display: flex; align-items: flex-end; min-height: 18px; }
.ag-checks { display: flex; gap: 10px; flex-wrap: wrap; }
.ag-check { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid rgba(212,197,169,0.15); cursor: pointer; font-size: var(--body-s-size); color: var(--ink-soft); transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.ag-check input { accent-color: var(--accent); }
.ag-check.is-on { border-color: var(--accent); color: var(--ink-primary); }
.ag-consent { display: flex; max-width: 560px; }
.ag-code { max-width: 240px; letter-spacing: 0.14em; text-transform: uppercase; }
.ag-err-wrap { outline: 1px solid var(--accent); outline-offset: 4px; }
.ag-done { padding: var(--space-5) 0; }

.ag-type { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.ag-type__opt { display: flex; align-items: flex-start; gap: 14px; text-align: left; padding: 18px; background: var(--surface-1); border: 1px solid rgba(212,197,169,0.4); color: var(--ink-soft); cursor: pointer; transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.ag-type__opt:hover { border-color: var(--accent); background: var(--surface-2); }
.ag-type__opt.is-on { border-color: var(--accent); color: var(--ink-primary); background: var(--surface-2); }
.ag-type__radio { flex: none; width: 16px; height: 16px; margin-top: 3px; border-radius: 999px; border: 1px solid rgba(212,197,169,0.4); }
.ag-type__opt.is-on .ag-type__radio { border-color: var(--accent); box-shadow: inset 0 0 0 4px var(--canvas), inset 0 0 0 10px var(--accent); background: var(--accent); }
.ag-type__title { display: block; font-family: var(--font-display); font-size: 18px; }
.ag-type__note { display: block; margin-top: 6px; font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--ink-muted); }
.fav-floater__panel > .btn { margin: 12px; width: calc(100% - 24px); }
@media (max-width: 600px) {
  
  .fav-floater__tab { bottom: 16px; right: 16px; width: 48px; height: 48px; }
  
  body:has(.cc-fab) .fav-floater__tab { bottom: 78px; }
  .fav-floater__panel { top: auto; bottom: 76px; right: 12px; left: 12px; width: auto; max-height: 60vh; }
  .fav-floater__panel--nav { bottom: auto; top: 64px; max-height: 70vh; }
}
.scene-orient { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  border-top: 1px solid var(--border-divider); margin-top: 10px; padding-top: 12px; }


.sm-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); margin-top: var(--space-4); }
@media (max-width: 760px) { .sm-steps { grid-template-columns: 1fr; gap: var(--space-2); } }
.sm-step { border-top: 1px solid var(--accent-muted); padding-top: 16px; }
.sm-step__n { font-family: var(--font-display); font-size: var(--display-m-size); color: var(--accent); }
.sm-step__t { font-size: var(--body-m-size); color: var(--ink-primary); margin: 10px 0 6px; font-weight: 600; }
.sm-step__d { color: var(--ink-soft); font-size: var(--body-s-size); }


.confirm-check { width: 60px; height: 60px; border-radius: var(--radius-pill); border: 1px solid var(--accent);
  color: var(--accent); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px;
  animation: checkPop var(--dur-medium) var(--ease); }
@keyframes checkPop { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } }


.hero__catalogue { margin-top: var(--space-3); max-width: 38ch; }
.hero__catalogue--below { margin: var(--space-4) auto 0; max-width: 760px; text-align: center; }
.hero__catalogue--below .refmarquee { margin-top: var(--space-4); }


.univ-card__new { position: absolute; top: 14px; left: 14px; z-index: 3; background: var(--accent); color: #000;
  font-family: var(--font-body); font-size: 10px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  padding: 7px 12px; border-radius: var(--radius-pill); }
.gamme-head__img { width: 200px; height: 200px; overflow: hidden; float: right; margin: 0 0 16px 24px; background: var(--surface-2); border: 1px solid var(--border-hairline); }
.gamme-head__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 640px) { .gamme-head__img { float: none; width: 100%; max-width: 320px; height: auto; aspect-ratio: 1 / 1; margin: 0 auto 16px; } }


.input--invalid { border-color: #c0392b !important; border-width: 2px; }
.field--invalid .field__label { color: #c0392b; }
.field__err { display: block; margin-top: 6px; font-size: 11px; letter-spacing: 0.04em; color: #c0392b; }
.checkbox-row--invalid .checkbox-box { border-color: #c0392b; border-width: 2px; }
@media (max-width: 640px) { }


.upsell-list { margin-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.upsell-list__head { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 2px; }
.upsell { display: flex; align-items: center; gap: 12px; cursor: pointer; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); padding: 10px 14px; transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.upsell:hover { border-color: var(--accent); }
.upsell.is-on { border-color: var(--accent); background: var(--surface-1); }
.upsell__ico { width: 34px; height: 34px; flex: none; border-radius: var(--radius-pill); display: inline-flex; align-items: center; justify-content: center; color: var(--accent); border: 1px solid var(--accent-muted); }
.upsell.is-on .upsell__ico { background: var(--accent); color: var(--canvas); border-color: var(--accent); }
.upsell__txt { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.upsell__title { font-size: var(--body-s-size); color: var(--ink-primary); }
.upsell__desc { font-size: 11px; color: var(--ink-muted); line-height: 1.4; }
.upsell__price { font-size: 11px; letter-spacing: 0.04em; color: var(--accent); font-variant-numeric: tabular-nums; }
.ship-top { margin-bottom: 24px; padding: 16px 18px; border: 1px solid var(--accent-muted); border-radius: var(--radius-1); background: var(--surface-1); }
.ship-top__head { display: flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 12px; }
.ship-top__head svg { color: var(--accent); }
.ship-top__row { display: flex; gap: 10px; max-width: 460px; }
.ship-top__row .input--sm { flex: 1; min-width: 0; }
.ship-top__note { font-size: var(--body-s-size); line-height: 1.5; color: var(--ink-muted); margin-top: 10px; }

.deliv-track { border: 1px solid var(--border-hairline); border-radius: var(--radius-1); padding: 18px; margin: 4px 0 18px; }
.deliv-track__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.deliv-track__mode { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); }
.deliv-steps { display: flex; gap: 4px; }
.deliv-step { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; position: relative; }
.deliv-step::before { content: ""; position: absolute; top: 13px; left: -50%; width: 100%; height: 1px; background: var(--border-divider); }
.deliv-step:first-child::before { display: none; }
.deliv-step.is-done::before { background: var(--accent); }
.deliv-step__dot { width: 26px; height: 26px; border-radius: 999px; border: 1px solid var(--border-hairline); display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--ink-muted); background: var(--canvas); position: relative; z-index: 1; }
.deliv-step.is-done .deliv-step__dot { border-color: var(--accent); color: var(--accent); }
.deliv-step.is-current .deliv-step__dot { background: var(--accent); color: var(--canvas); }
.deliv-step__lbl { font-size: 11px; text-align: center; color: var(--ink-muted); line-height: 1.3; }
.deliv-step.is-current .deliv-step__lbl, .deliv-step.is-done .deliv-step__lbl { color: var(--ink-soft); }
.deliv-track__info { margin-top: 16px; }
.deliv-track__ship { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; font-size: 13px; color: var(--ink-soft); align-items: center; }
.cart-note__ta { min-height: 72px; resize: vertical; }

.ax-chip { display: inline-flex; align-items: center; padding: 6px 12px; background: transparent; border: 1px solid var(--border-hairline); border-radius: var(--radius-pill); color: var(--ink-soft); font-family: var(--font-body); font-size: 12px; letter-spacing: 0.04em; cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.ax-chip:hover { border-color: var(--accent-muted); color: var(--ink-primary); }
.rdv-main { border-top: 1px solid var(--border-divider); padding-top: 20px; }
.rdv-main__img { display: block; margin: 0 0 20px; border: 1px solid var(--border-hairline); overflow: hidden; }
.rdv-main__img img { display: block; width: 100%; height: auto; max-height: 340px; object-fit: cover; object-position: center 62%; }
.rdv-main__t { font-family: var(--font-display); font-size: var(--display-s-size); line-height: var(--display-s-lh); color: var(--ink-primary); margin: 10px 0 0; text-wrap: pretty; }
.rdv-main__rows { display: flex; flex-direction: column; margin-top: 18px; }
.rdv-main__row { display: flex; gap: 16px; align-items: baseline; padding: 10px 0; border-top: 1px solid var(--border-divider); font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--ink-soft); }
.rdv-main__k { flex: none; width: 118px; font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }
@media (max-width: 600px) { .rdv-main__row { flex-direction: column; gap: 4px; } .rdv-main__k { width: auto; } }
.ax-chip.is-on { border-color: var(--accent); color: var(--accent); }
a.ax-chip { text-decoration: none; }

.cat-card.is-picked .cat-card__media { outline: 1px solid var(--accent); outline-offset: -1px; }
.cat-card__tick { position: absolute; top: 8px; left: 8px; width: 26px; height: 26px; border-radius: var(--radius-pill); border: 1px solid var(--accent); background: rgba(0,0,0,0.55); color: var(--canvas); display: flex; align-items: center; justify-content: center; }
.cat-card__tick.is-on { background: var(--accent); }
.wp-batch { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px 18px; border-top: 1px solid var(--border-divider); }
.wp-batch__n { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); }
.wp-batch__btn { padding: 12px 22px; background: var(--ink-primary); color: var(--canvas); border: 1px solid var(--accent); font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.wp-batch__btn:hover { background: var(--accent); }
.wp-batch__btn:disabled { background: transparent; color: var(--ink-muted); border-color: var(--border-hairline); cursor: default; }

.cc-recos { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.cc-reco { display: flex; flex-direction: column; border: 1px solid var(--border-hairline); }
.cc-reco__main { display: flex; gap: 10px; align-items: center; padding: 8px; background: transparent; border: none; text-align: left; cursor: pointer; }
.cc-reco__thumb { width: 52px; height: 52px; flex: none; background: var(--surface-2); overflow: hidden; }
.cc-reco__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cc-reco__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cc-reco__t { font-size: 13px; }
.cc-reco__f { font-size: 11px; color: var(--ink-muted); }
.cc-reco__p { font-size: 12px; color: var(--accent); font-variant-numeric: tabular-nums; }
.cc-reco__acts { display: flex; border-top: 1px solid var(--border-divider); }
.cc-reco__btn { flex: 1; padding: 8px 10px; background: transparent; border: none; border-left: 1px solid var(--border-divider); color: var(--ink-soft); font-family: var(--font-body); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; }
.cc-reco__btn:first-child { border-left: none; }
.cc-reco__btn:hover { color: var(--accent); }
.cc-reco__btn--add { color: var(--accent); }
.cc-reco__btn:disabled { color: var(--ink-muted); cursor: default; }
@media (max-width: 720px) { }
@media (max-width: 600px) { }
@media (max-width: 600px) { }
@media (max-width: 720px) {
}

.ship-top--error { border-color: #c0473a; box-shadow: inset 0 0 0 1px #c0473a; }
.ship-top--error .ship-top__head { color: #B7443A; }
.ship-top--error .ship-top__head svg { color: #B7443A; }
.ship-top--error .input--sm { border-color: #c0473a; }
.ship-top--error::after { content: "Indiquez votre ville et votre pays pour choisir la livraison à domicile."; display: block; margin-top: 10px; font-size: var(--body-s-size); color: #B7443A; }
.deliv-choice { margin-top: 8px; display: flex; flex-direction: column; gap: 8px; }
.deliv-choice__head { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 10px; }
.deliv-choice__hint { font-size: var(--body-s-size); color: var(--accent); padding-left: 2px; }
.deliv-choice__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.deliv-opt { display: flex; flex-direction: column; gap: 5px; text-align: left; cursor: pointer; padding: 14px; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); background: var(--surface-1); transition: border-color var(--dur-fast) var(--ease); }
.deliv-opt:hover { border-color: var(--accent); }
.deliv-opt.is-on { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.deliv-opt__ico { color: var(--accent); }
.deliv-opt__title { font-size: var(--body-m-size); color: var(--ink-primary); line-height: 1.3; }
.deliv-opt__desc { font-size: var(--body-s-size); color: var(--ink-soft); }
.deliv-opt__price { margin-top: 2px; font-size: var(--body-s-size); color: var(--accent); }
.acq-block { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border-divider); }

.deliv-choice.is-pending, .acq-block.is-pending {
  border: 1px solid var(--ink-primary); border-radius: var(--radius-1);
  padding: 14px; margin-top: 12px;
}
.deliv-choice.is-pending .deliv-choice__head, .acq-block.is-pending .deliv-choice__head { color: var(--ink-primary); }
.deliv-choice.is-pending .deliv-choice__hint, .acq-block.is-pending .deliv-choice__hint { color: var(--ink-primary); }

.deliv-choice.is-error, .acq-block.is-error {
  border: 1px solid #c0473a; border-radius: var(--radius-1);
  padding: 14px; margin-top: 12px;
}
.deliv-choice.is-error .deliv-choice__head, .acq-block.is-error .deliv-choice__head { color: #B7443A; }
.deliv-choice.is-error .deliv-choice__hint, .acq-block.is-error .deliv-choice__hint { color: #B7443A; }
@media (max-width: 520px) { .deliv-choice__grid { grid-template-columns: 1fr; } }
.input--sm { padding: 8px 10px; font-size: var(--body-s-size); }
select.input--sm { appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23D4C5A9' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center; padding-right: 28px; }


.title-field { margin-top: 22px; }
.title-field__input { width: 100%; background: #F5F1E8; color: #1A1712; border: 1px solid var(--accent); border-radius: var(--radius-1); padding: 16px 18px; font-size: 16px; outline: none; transition: border-color var(--dur-fast) var(--ease); }
.title-field__input::placeholder { color: #8A8378; }
.title-field__input:focus { border-color: var(--accent-hover); border-width: 2px; padding: 15px 17px; }
.title-ac { position: relative; }
.title-ac__list { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 40; background: #F5F1E8; border: 1px solid var(--accent);
  max-height: 280px; overflow-y: auto; box-shadow: 0 10px 30px rgba(0,0,0,0.35); }
.title-ac__opt { display: block; width: 100%; text-align: left; background: transparent; border: 0; border-bottom: 1px solid rgba(26,23,18,0.1);
  padding: 12px 16px; cursor: pointer; color: #1A1712; font-size: 15px; transition: background var(--dur-fast) var(--ease); }
.title-ac__opt:last-child { border-bottom: 0; }
.title-ac__opt:hover, .title-ac__opt.is-active { background: var(--accent); color: #1A1712; }
.title-ac__name { font-family: var(--font-display); }
.dispo-hint { width: 100%; text-align: left; background: var(--surface-1); border: 1px solid var(--accent-muted); border-radius: var(--radius-1); padding: 14px 16px; cursor: pointer; display: flex; align-items: center; gap: 12px; font-size: var(--body-s-size); line-height: 1.5; color: var(--ink-soft); transition: border-color var(--dur-fast) var(--ease); }
.dispo-hint:hover { border-color: var(--accent); }
.dispo-hint__ico { flex: none; color: var(--accent); }
.dispo-hint__cta { color: var(--accent); white-space: nowrap; }
.upsell.is-inc { cursor: default; }
.upsell.is-inc:hover { border-color: var(--accent); }
.upsell.is-disabled { cursor: not-allowed; opacity: 0.55; }
.format-opt--off { opacity: 0.4; cursor: not-allowed; }
.format-opt--off .format-opt__radio { border-style: dashed; }
.format-opt__na { font-size: 11px; color: var(--ink-muted); letter-spacing: 0.02em; margin-left: 8px; }
.upsell.is-disabled:hover { border-color: var(--border-hairline); }

.perks { margin-top: 16px; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); background: var(--surface-1); padding: 18px; }
.perks__lead { font-family: var(--font-display); font-size: 17px; line-height: 1.4; color: var(--ink-soft); margin-bottom: 22px; }
.perks__lead strong { color: var(--accent); }
.perks__reward { color: var(--accent); }
.perks__track { position: relative; height: 2px; background: var(--border-hairline); margin: 0 11px 30px; }
.perks__fill { position: absolute; left: 0; top: 0; height: 100%; background: var(--accent); transition: width var(--dur-medium) var(--ease); }
.perks__node { position: absolute; top: 50%; transform: translate(-50%, -50%); }
.perks__dot { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 999px; background: var(--surface-1); border: 1px solid var(--border-hairline); color: var(--ink-muted); font-size: 11px; font-variant-numeric: tabular-nums; transition: all var(--dur-medium) var(--ease); }
.perks__node.is-on .perks__dot { background: var(--accent); border-color: var(--accent); color: var(--canvas); }
.perks__tiers { display: flex; flex-direction: column; }

.perks__tier { display: flex; align-items: flex-start; gap: 12px; padding: 13px 0; border-top: 1px solid var(--border-hairline); color: var(--ink-muted); transition: color var(--dur-fast) var(--ease); }
.perks__tier:first-child { border-top: 0; padding-top: 0; }
.perks__tier:last-child { padding-bottom: 0; }
.perks__tier.is-on { color: var(--ink-soft); }
.perks__tier-ico { flex: none; color: var(--ink-muted); margin-top: 3px; }
.perks__tier.is-on .perks__tier-ico { color: var(--accent); }
.perks__tier-txt { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.perks__tier-cond { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); font-weight: 600; }
.perks__tier-label { font-size: var(--body-m-size); line-height: 1.45; color: var(--ink-soft); }
.perks__tier.is-on .perks__tier-label { color: var(--ink-primary); }
.perks__tier-badge { flex: none; margin-top: 3px; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--canvas); background: var(--accent); border-radius: var(--radius-pill); padding: 3px 10px; }
.perks__note { margin: 16px 0 0; font-size: 11px; color: var(--ink-muted); line-height: 1.5; padding-top: 12px; border-top: 1px solid var(--border-hairline); }

.cart-edit { margin-top: 14px; padding: 14px; border: 1px solid var(--accent); border-radius: var(--radius-1); background: var(--surface-1); }
.cart-edit__label { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.cart-edit__opts { display: flex; flex-direction: column; gap: 8px; }
.cart-edit__opt { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; text-align: left; background: transparent; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); padding: 12px 14px; cursor: pointer; transition: border-color var(--dur-fast) var(--ease); color: var(--ink-soft); }
.cart-edit__opt:hover { border-color: var(--accent); }
.cart-edit__opt.is-on { border-color: var(--accent); background: rgba(212,197,169,0.08); }
.cart-edit__fmt { font-size: var(--body-s-size); color: var(--ink-primary); }
.cart-edit__price { font-variant-numeric: tabular-nums; color: var(--ink-soft); font-size: var(--body-s-size); }
.cart-edit__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 12px; }
.freebar { padding: 10px 12px; border: 1px solid var(--accent-muted); border-radius: var(--radius-1); margin-top: 6px; background: var(--surface-1); }
.freebar.is-reached { border-color: var(--accent); }
.freebar__top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.freebar__title { font-size: 12px; letter-spacing: 0.04em; color: var(--accent); }
.freebar__count { font-size: 12px; font-variant-numeric: tabular-nums; color: var(--ink-muted); }
.freebar__track { height: 6px; background: var(--surface-2); border-radius: var(--radius-pill); overflow: hidden; }
.freebar__fill { height: 100%; background: var(--accent); transition: width var(--dur-medium) var(--ease); }
.freebar__lbl { font-size: 11px; letter-spacing: 0.02em; color: var(--ink-soft); margin-top: 8px; line-height: 1.4; }
.freebar__sub { font-size: 10px; letter-spacing: 0.02em; color: var(--ink-muted); margin-top: 6px; line-height: 1.4; }
.detail__price { font-family: var(--font-display); font-size: 20px; letter-spacing: 0.01em; color: var(--ink-primary); }
.detail__price small { font-size: 12px; color: var(--ink-muted); font-family: var(--font-body); margin-left: 8px; letter-spacing: 0.04em; }
.detail__price-strike { font-size: 15px; color: var(--ink-muted); text-decoration: line-through; text-decoration-color: var(--accent-muted); margin-right: 10px; font-variant-numeric: tabular-nums; }
.format-list { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--border-divider); margin: var(--space-3) 0; }
.format-opt { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2);
  padding: 16px 16px; border-bottom: 1px solid var(--border-divider); cursor: pointer; transition: background var(--dur-fast) var(--ease); }
.format-opt:hover { background: var(--surface-1); }
.format-opt.is-sel { background: var(--surface-2); }
.format-opt__radio { width: 16px; height: 16px; border: 1px solid var(--accent-muted); border-radius: var(--radius-pill); flex: none; position: relative; }
.format-opt.is-sel .format-opt__radio { border-color: var(--accent); }
.format-opt.is-sel .format-opt__radio::after { content: ""; position: absolute; inset: 3px; border-radius: var(--radius-pill); background: var(--accent); }
.format-opt__name { font-size: var(--body-m-size); }
.format-opt__pack { font-size: var(--body-s-size); color: var(--ink-muted); line-height: var(--body-s-lh); margin-top: 4px; max-width: 46ch; }
.reseller-notes { display: flex; flex-direction: column; gap: 12px; }
.reseller-note { display: flex; align-items: flex-start; gap: 10px; }
.reseller-note__ico { flex-shrink: 0; color: var(--accent); margin-top: 1px; }
.format-opt__price { font-variant-numeric: tabular-nums; color: var(--ink-primary); }


.format-pick { margin: var(--space-3) 0; }
.format-pick__head { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.format-pick__title { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); }
.format-opt { gap: 14px; }
.format-opt__radio { width: 18px; height: 18px; border: 1px solid var(--accent-muted); border-radius: var(--radius-pill); flex: none; position: relative; align-self: center; }
.format-opt.is-sel .format-opt__radio { border-color: var(--accent); }
.format-opt.is-sel .format-opt__radio::after { content: ""; position: absolute; inset: 4px; border-radius: var(--radius-pill); background: var(--accent); }
.format-opt__qty { color: var(--accent); font-size: 12px; }
.format-opt.is-sel { background: var(--surface-2); box-shadow: inset 3px 0 0 var(--accent); }

@media (max-width: 860px) {
  .detail { grid-template-columns: 1fr; gap: var(--space-3); }
  .scene-frame { position: static; }
  .format-opt { padding: 16px 16px; border-bottom: 1px solid var(--border-divider); flex-wrap: wrap; }
  .format-list { border: 1px solid var(--border-hairline); border-bottom: 0; border-radius: var(--radius-1); overflow: hidden; }
  .format-opt__name { font-size: var(--body-l-size); }
}


.add-block { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-2); }

.stock-cta { display: flex; align-items: center; gap: 14px; border: 1px solid var(--border-hairline); background: var(--surface-1); padding: 12px 14px; }
.stock-cta__badge { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; font-size: var(--body-s-size); color: var(--ink-soft); white-space: nowrap; }
.stock-cta__badge strong { color: var(--ink-primary); font-weight: 600; }
.stock-cta__badge .stock-dot { margin-top: 0; background: #23824A; }
.stock-cta .btn { flex: 1 1 auto; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field__label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); }
.input { width: 100%; background: #F5F1E8; border: 1px solid var(--accent-muted); border-radius: var(--radius-1);
  color: #1A1712; font-size: 16px; padding: 13px 15px; outline: none; transition: border-color var(--dur-fast) var(--ease); }
.input::placeholder { color: #8A8378; }
.input:focus { border-color: var(--accent); border-width: 2px; padding: 12px 14px; }
.input:focus { border-bottom-color: var(--accent); }

input:focus-visible, textarea:focus-visible, select:focus-visible { box-shadow: none; }
.stepper { display: inline-flex; align-items: center; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); }
.stepper button { width: 46px; height: 46px; font-size: 20px; color: var(--ink-soft); display: inline-flex; align-items: center; justify-content: center; }
.stepper button:hover { color: var(--accent); }
.stepper__val { min-width: 52px; text-align: center; font-variant-numeric: tabular-nums; font-size: 16px; }

.notice { border: 1px solid var(--border-hairline); background: var(--surface-1); padding: 14px 18px;
  color: var(--ink-muted); font-size: var(--body-s-size); border-radius: var(--radius-1); }
.notice--accent { border-color: var(--accent-muted); color: var(--ink-soft); }


.cart { padding: var(--space-4) 0; }
.cart-line { display: block; padding: var(--space-3); margin-bottom: var(--space-3); border: 1px solid var(--border-hairline); border-radius: var(--radius-1); background: var(--surface-1); position: relative; }
.cart-line + .cart-line { margin-top: var(--space-3); }
.cart-line + .cart-line::before { content: ""; position: absolute; left: 8%; right: 8%; top: calc(-1 * var(--space-3) / 2 - 2px); border-top: 3px solid var(--accent); opacity: 0.55; }
.cart-line__lead { min-width: 0; }
.cart-line__head { display: flex; gap: var(--space-2); align-items: flex-start; justify-content: space-between; }
.cart-line__thumb { width: 72px; height: 72px; flex: none; background: #000; border: 1px solid var(--border-hairline); overflow: hidden; }
.cart-line__row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-2); flex-wrap: wrap; }
.cart-line__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.cart-line__title { font-family: var(--font-display); color: var(--accent); font-size: var(--display-s-size); }
.cart-line__meta { color: var(--ink-muted); font-size: var(--body-s-size); margin-top: 6px; }
.cart-line__price { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; display: flex; flex-direction: column; justify-content: center; }
.cart-line__unit { color: var(--ink-muted); font-size: var(--body-s-size); }
.cart-line__strike { color: var(--ink-muted); text-decoration: line-through; margin-right: 8px; }
.cart-controls { display: flex; align-items: center; gap: var(--space-2); margin-top: 12px; }
.cart-line__row .cart-controls { margin-top: 0; }
.cart-line__row { align-items: center; }
.summary { border: 1px solid var(--border-hairline); padding: var(--space-3); background: var(--surface-1); }
.account-close { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border-hairline); background: none; color: var(--ink-soft); border-radius: var(--radius-pill); cursor: pointer; flex: none; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.account-close:hover { color: var(--accent); border-color: var(--accent); }
@media (max-width: 1024px) { .account-close { display: none; } } 
.summary__row { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; font-size: var(--body-m-size); }
.summary__row .mono-num { white-space: nowrap; }
.summary__row--total { border-top: 1px solid var(--border-divider); margin-top: 8px; padding-top: 16px; font-family: var(--font-display); font-size: var(--display-s-size); }
.cart-grid { display: grid; grid-template-columns: 1.5fr 0.8fr; gap: var(--space-4); align-items: start; }
@media (max-width: 900px) { .cart-grid { grid-template-columns: 1fr; } .summary { position: static; } }

.seg { display: inline-flex; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); overflow: hidden; }
.seg button { padding: 12px 18px; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); white-space: nowrap; }
.seg button.is-active { background: var(--accent); color: var(--canvas); }


.entity-tag { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); }


.devis-doc { background: #fff; color: #161310; padding: 54px 56px; max-width: 820px; margin: 0 auto;
  font-family: var(--font-body); line-height: 1.5; }
.devis-doc h1, .devis-doc h2, .devis-doc h3 { font-family: var(--font-display); font-weight: 400; color: #161310; margin: 0; }
.devis-doc .d-eyebrow { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: #8a8378; }
.devis-doc .d-rule { border: 0; border-top: 1px solid #d9d3c7; margin: 22px 0; }
.devis-doc .d-rule--strong { border-top: 1.5px solid #161310; }
.devis-head { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; }
.devis-head__meta { text-align: right; }
.devis-entity { font-size: 12px; color: #4d473d; line-height: 1.7; }
.devis-entity strong { color: #161310; }
.devis-table { width: 100%; border-collapse: collapse; margin: 8px 0; }
.devis-table th { text-align: left; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #8a8378; padding: 10px 8px; border-bottom: 1px solid #161310; font-weight: 600; }
.devis-table td { padding: 13px 8px; border-bottom: 1px solid #e4ded2; font-size: 13px; vertical-align: top; font-variant-numeric: tabular-nums; }
.devis-table .t-right { text-align: right; }
.devis-table .t-art { font-family: var(--font-display); color: #3a342b; }
.devis-table .t-finish { display: block; font-family: var(--font-body); font-size: 10px; color: #8a8378; margin-top: 4px; letter-spacing: 0.02em; }
.devis-table th:nth-child(2), .devis-table td:nth-child(2) { white-space: nowrap; min-width: 108px; }
.devis-totals { margin-left: auto; width: 320px; }
.devis-totals .tt-row { display: flex; justify-content: space-between; padding: 7px 0; font-size: 13px; font-variant-numeric: tabular-nums; }
.devis-totals .tt-row--grand { font-family: var(--font-display); font-size: 20px; border-top: 1.5px solid #161310; margin-top: 6px; padding-top: 14px; }
.devis-sign { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 34px; }
.devis-sign__box { border: 1px solid #d9d3c7; padding: 16px; min-height: 150px; }
.devis-sign__label { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #8a8378; margin-bottom: 8px; }
.devis-sign__img { max-height: 96px; }
.devis-legal { font-size: 10.5px; color: #6c665b; line-height: 1.6; margin-top: 26px; }

.profile-disclose { border: 1px solid var(--border-hairline); border-radius: var(--radius-1); background: var(--surface-1); }
.profile-disclose__summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-2); padding: 18px var(--space-3); }
.profile-disclose__summary::-webkit-details-marker { display: none; }
.profile-disclose__title { display: block; font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); }
.profile-disclose__hint { display: block; font-size: var(--body-s-size); color: var(--ink-muted); margin-top: 3px; }
.profile-disclose__chev { flex: none; color: var(--accent); transition: transform var(--dur-fast) var(--ease); }
.profile-disclose[open] .profile-disclose__chev { transform: rotate(180deg); }
.profile-disclose__body { padding: 0 var(--space-3) var(--space-3); border-top: 1px solid var(--border-divider); padding-top: var(--space-3); }

.devis-arrhes { margin-top: 12px; border: 1.5px solid #161310; padding: 14px 16px; background: rgba(212, 197, 169, 0.16); }
.devis-arrhes__cartouche { font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; color: #6c665b; margin-bottom: 10px; }
.devis-arrhes__main { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 10px; margin-bottom: 8px; border-bottom: 1px solid #d9d3c7; }
.devis-arrhes__lbl { font-size: 12px; color: #3a342b; line-height: 1.4; }
.devis-arrhes__lbl small { color: #8a8378; font-size: 10px; }
.devis-arrhes__amt { font-family: var(--font-display); font-size: 24px; color: #161310; font-variant-numeric: tabular-nums; white-space: nowrap; }
.devis-arrhes .tt-row { display: flex; justify-content: space-between; padding: 5px 0; font-size: 12px; font-variant-numeric: tabular-nums; color: #3a342b; }
.devis-status { display: inline-block; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; padding: 5px 12px; border: 1px solid #161310; color: #161310; }


.sigpad { width: 100%; height: 200px; background: var(--surface-1); border: 1px solid var(--border-hairline); border-radius: var(--radius-1); touch-action: none; cursor: crosshair; }
.sigpad.is-ready { border-color: var(--accent); }
.checkbox-row { display: flex; gap: 14px; align-items: flex-start; cursor: pointer; padding: 6px 0; }
.checkbox-box { width: 22px; height: 22px; border: 1px solid var(--accent-muted); border-radius: var(--radius-1); flex: none; position: relative; transition: border-color var(--dur-fast) var(--ease); margin-top: 2px; }
.checkbox-row:hover .checkbox-box { border-color: var(--accent); }
.checkbox-box.is-on { border-color: var(--accent); background: var(--accent); }
.checkbox-box.is-on::after { content: ""; position: absolute; left: 7px; top: 3px; width: 5px; height: 10px; border: solid var(--canvas); border-width: 0 2px 2px 0; transform: rotate(45deg); }


.overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.7); z-index: 2600; display: flex; align-items: center; justify-content: center; padding: var(--space-2); }
.modal { background: var(--surface-2); border: 1px solid var(--border-hairline); max-width: 440px; width: 100%; padding: var(--space-4); position: relative; max-height: 92vh; overflow-y: auto; }
.modal__close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; color: var(--ink-muted); display: inline-flex; align-items: center; justify-content: center; }
.modal__close:hover { color: var(--accent); }
@media (max-width: 560px) {
  .overlay { padding: 0; align-items: flex-end; }
  .modal { max-width: none; width: 100%; max-height: 94vh; padding: var(--space-3) var(--space-2) calc(var(--space-3) + env(safe-area-inset-bottom));
    border-left: 0; border-right: 0; border-bottom: 0; border-radius: 14px 14px 0 0; }
  .modal__close { top: 12px; right: 12px; width: 40px; height: 40px; }
  .modal .field-grid-2 { grid-template-columns: 1fr; gap: 14px; }
  .modal .input, .modal textarea.input { font-size: 16px; padding: 13px 14px; }
}
.pin-dots { display: flex; gap: 14px; justify-content: center; margin: var(--space-3) 0; }
.pin-dot { width: 14px; height: 14px; border-radius: var(--radius-pill); border: 1px solid var(--accent-muted); }
.pin-dot.is-on { background: var(--accent); border-color: var(--accent); }
.pin-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pin-key { padding: 18px 0; font-size: 22px; font-family: var(--font-display); border: 1px solid var(--border-hairline); border-radius: var(--radius-1); transition: border-color var(--dur-fast) var(--ease); }
.pin-key:hover { border-color: var(--accent); }
@media (max-width: 600px) { }
@media (max-width: 1024px) {
}
.a-title { font-family: var(--font-display); font-size: var(--display-m-size); margin: 0 0 6px; }

.a-card { border: 1px solid var(--border-hairline); background: var(--surface-1); padding: var(--space-3); margin-bottom: var(--space-3); min-width: 0; }
.a-card__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-2); margin-bottom: var(--space-2); flex-wrap: wrap; }
.a-card__name { font-family: var(--font-display); font-size: var(--display-s-size); }
@media (max-width: 600px) {
}


.fiche-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fiche { border-collapse: collapse; width: 100%; min-width: 720px; font-variant-numeric: tabular-nums; }
.fiche th { font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted);
  font-weight: 600; padding: 10px 10px; text-align: right; border-bottom: 1px solid var(--border-hairline); vertical-align: bottom; }
.fiche th:first-child, .fiche td:first-child { text-align: left; position: sticky; left: 0; background: var(--surface-1); z-index: 1; }
.fiche td { padding: 6px 10px; text-align: right; border-bottom: 1px solid var(--border-divider); font-size: 13px; white-space: nowrap; }
.fiche tr:hover td { background: rgba(212,197,169,0.04); }
.fiche tr:hover td:first-child { background: #F1EDE6; }
.fiche .calc { color: var(--ink-muted); }
.fiche .calc-strong { color: var(--ink-primary); }
.fiche .accent { color: var(--accent); }
.col-group { background: rgba(212,197,169,0.05); }

.cell-input { width: 84px; background: transparent; border: 0; border-bottom: 1px solid var(--accent-muted);
  color: var(--accent); text-align: right; padding: 5px 2px; outline: none; font-variant-numeric: tabular-nums;
  font-size: 13px; transition: border-color var(--dur-fast) var(--ease); border-radius: 0; }
.cell-input:focus { border-bottom-color: var(--accent); }
.cell-input--wide { width: 110px; }


.fiche-scroll { position: relative; }
@media (max-width: 820px) {
  .fiche-scroll { border: 1px solid var(--border-divider); border-radius: var(--radius-1); }
  .fiche { min-width: 0; }
  .fiche th { font-size: 8.5px; padding: 7px 5px; letter-spacing: 0.04em; }
  .fiche td { padding: 5px 5px; font-size: 12px; }
  .fiche th:first-child, .fiche td:first-child { box-shadow: 1px 0 0 var(--border-divider); padding-right: 8px; }
  .cell-input { width: 52px; font-size: 12.5px; padding: 5px 1px; }
  .cell-input--wide { width: 64px; }
  .param__input .cell-input { width: 72px; font-size: 16px; }
}
.legend { display: flex; gap: var(--space-3); flex-wrap: wrap; margin: 10px 0 0; font-size: 11px; color: var(--ink-muted); }
.legend span { display: inline-flex; align-items: center; gap: 7px; }
.legend .swatch { width: 18px; height: 0; border-top: 1px solid; }


.param-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-2); }
.param { border: 1px solid var(--border-hairline); padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.param__label { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }
.param__input { display: flex; align-items: baseline; gap: 8px; }
.param__input .cell-input { width: 90px; font-size: 18px; font-family: var(--font-display); border-bottom-width: 1px; }
.param__unit { color: var(--ink-muted); font-size: 13px; }
.promo-row { display: flex; flex-direction: column; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--border-divider); }
.promo-row__top { display: grid; grid-template-columns: 1.3fr 0.9fr 0.7fr 0.8fr auto; gap: 14px; align-items: start; }
@media (max-width: 760px) { .promo-row__top { grid-template-columns: 1fr 1fr; } }
.promo-scope { display: flex; flex-direction: column; gap: 10px; }
.promo-scope__grid { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: flex-start; }
.promo-scope__gamme { display: flex; flex-direction: column; gap: 8px; min-width: 200px; }
.promo-scope__formats { display: flex; flex-direction: column; gap: 6px; padding-left: 22px; }
.promo-chk { display: inline-flex; align-items: center; gap: 9px; font-size: var(--body-s-size); color: var(--ink-soft); cursor: pointer; }
.promo-chk--all, .promo-chk--head { color: var(--ink-primary); font-weight: 600; }
.promo-chk input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--accent); cursor: pointer; }
.promo-cfg { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; border-top: 1px solid var(--border-hairline); }
.promo-cfg__title { font-size: var(--eyebrow-size, 11px); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; }
.promo-cfg__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.promo-cfg textarea.input { resize: vertical; min-height: 46px; font-family: var(--font-body); }

.promo-pager { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.promo-pager--foot { margin: 16px 0 0; }
.promo-pager .text-link[disabled] { opacity: 0.35; pointer-events: none; }
.promo-item { border-top: 3px solid #83704E; padding: 12px 0 16px; }
.promo-item:last-child { border-bottom: 3px solid #83704E; }
.promo-item__head { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; cursor: pointer; }
.promo-item__code { font-size: var(--body-m-size); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); }
.promo-item__meta { color: var(--ink-muted); font-size: var(--body-s-size); }
.promo-item .promo-row { border-bottom: 0; padding-bottom: 0; margin-top: 14px; }

.fmt-qty { display: inline-flex; align-items: center; gap: 8px; margin-left: 12px; flex: none; }
.fmt-qty button { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border-hairline); background: transparent; color: inherit; cursor: pointer; font-size: 15px; line-height: 1; padding: 0; }
.fmt-qty button:hover { border-color: var(--accent); }
.fmt-qty button:disabled { opacity: 0.35; cursor: default; }
.fmt-qty span { min-width: 14px; text-align: center; font-size: var(--body-s-size); }
.lease-lot { margin-top: 14px; border-top: 1px solid var(--border-hairline); padding-top: 12px; }
.lease-lot__title { font-size: var(--eyebrow-size, 11px); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; margin-bottom: 6px; }
.lease-lot__row { display: flex; align-items: center; gap: 12px; padding: 6px 0; font-size: var(--body-s-size); border-bottom: 1px solid var(--border-hairline); }
.lease-lot__row .grow { flex: 1; }
.lease-lot__total { margin-top: 10px; font-size: var(--body-s-size); color: var(--ink-soft); }
.callback-fab,.chip,.nav__pro-btn--hot,.nav__mode,.nav__modequick,.nav__cart-badge,.univ-card__new,.gallery__count,.perks__tier-badge,.freebar__track{ border-radius: 0 !important; }
@media (max-width: 560px) { .modal { border-radius: 0; } }

.callback-fab { height: 52px; padding: 0 26px; }
.fav-floater__tab { width: 52px; height: 52px; bottom: 18px; }
.cc-fab { width: 52px; height: 52px; bottom: 18px; }
@media (max-width: 600px) {
  .callback-fab { height: 50px; padding: 0 18px; bottom: calc(16px + env(safe-area-inset-bottom)) !important; }
  .fav-floater__tab, .cc-fab { width: 50px; height: 50px; bottom: calc(16px + env(safe-area-inset-bottom)); }
  body:has(.cc-fab) .fav-floater__tab { bottom: calc(80px + env(safe-area-inset-bottom)); }
}
.tm-rail{ scrollbar-width: none; }
.tm-rail::-webkit-scrollbar{ display: none; }
.railwrap { position: relative; }
.rail-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 42px; height: 42px; padding: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--canvas); color: var(--ink-primary); border: 1px solid var(--accent-muted); cursor: pointer; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.rail-nav:hover { background: var(--accent); color: var(--canvas); border-color: var(--accent); }
.rail-nav svg { width: 18px; height: 18px; }
.rail-nav--prev { left: -6px; } .rail-nav--next { right: -6px; }
@media (max-width: 760px) { .rail-nav { width: 38px; height: 38px; } .rail-nav--prev { left: 0; } .rail-nav--next { right: 0; } }

.drop-band__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--drop-pos-d, 50% 50%); transform: scale(var(--drop-zoom-d, 1)); transform-origin: var(--drop-pos-d, 50% 50%); }
@media (max-width: 700px) { .drop-band__video { object-position: var(--drop-pos-m, 50% 50%); transform: scale(var(--drop-zoom-m, 1)); transform-origin: var(--drop-pos-m, 50% 50%); } }
.drop-band.has-video .drop-band__veil { background: linear-gradient(180deg, rgba(0,0,0,calc(0.62 * var(--drop-veil, 1))) 0%, rgba(0,0,0,calc(0.52 * var(--drop-veil, 1))) 55%, rgba(0,0,0,calc(0.68 * var(--drop-veil, 1))) 100%); }

.acc-ico { color: var(--accent); vertical-align: -3.5px; margin-right: 9px; flex: none; }


.field-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
@media (max-width: 560px) { .field-grid-2 { grid-template-columns: 1fr; } }
.interets-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 560px) { }
@media (max-width: 560px) { .interets-grid { grid-template-columns: 1fr; } }
.interet { display: flex; align-items: center; gap: 12px; cursor: pointer; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); padding: 12px 14px; transition: border-color var(--dur-fast) var(--ease); }
.interet:hover { border-color: var(--accent); }
.interet.is-on { border-color: var(--accent); }
.interet__lbl { font-size: var(--body-s-size); color: var(--ink-primary); }
@media (max-width: 720px) { }


.remise-banner { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; padding: 12px 16px;
  border: 1px solid var(--accent); border-radius: var(--radius-1); background: var(--surface-1); }
.remise-banner__pct { font-family: var(--font-display); font-size: 26px; line-height: 1; color: var(--accent); flex: none; }
.remise-banner__txt { display: flex; flex-direction: column; gap: 3px; }
.remise-banner__txt strong { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-primary); }
.remise-banner__count { font-size: var(--body-s-size); color: var(--accent); font-variant-numeric: tabular-nums; }
.format-opt__promo { display: inline-block; margin-left: 8px; font-size: 10px; font-weight: 600; letter-spacing: 0.08em;
  color: var(--canvas); background: var(--accent); border-radius: var(--radius-pill); padding: 2px 8px; vertical-align: middle; }


.tile-frame { position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; justify-content: center;
  padding: 13% 16% 26%; background: radial-gradient(130% 100% at 50% 28%, #1c1c1c 0%, #0c0c0c 68%, #000 100%); }
.tile-frame__piece { position: relative; aspect-ratio: 4 / 5; height: 100%; max-width: 100%; overflow: hidden; line-height: 0; }
.tile-frame__piece img { display: block; width: 100%; height: 100%; object-fit: cover; }


.insitu { position: absolute; inset: 0; overflow: hidden; z-index: 0; background: #000; }
.insitu__inner { position: absolute; top: 0; left: 0; width: 100%; aspect-ratio: 1 / 1; transform: translateY(var(--icrop-d, -5%)) scale(var(--izoom-d, 1)); transform-origin: top center; }
.insitu__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.insitu__art { position: absolute; background-size: cover; background-position: center; background-repeat: no-repeat; }

.tm-inframe::after, .insitu__art::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background:
    radial-gradient(115% 100% at 50% 44%, rgba(0,0,0,0) 62%, rgba(0,0,0,0.16) 100%);
}

.blog-faq { margin: var(--space-3) 0; border-top: 1px solid var(--border-divider); }
.blog-faq__item { border-bottom: 1px solid var(--border-divider); }
.blog-faq__q { cursor: pointer; padding: 16px 0; font-family: var(--font-display); font-size: var(--display-s-size); line-height: 1.3; color: var(--ink-primary); list-style: none; }
.blog-faq__q::-webkit-details-marker { display: none; }
.blog-faq__a { padding: 0 0 16px; color: var(--ink-soft); font-size: var(--body-l-size); line-height: var(--body-l-lh); margin: 0; max-width: 70ch; }

.situ-frameveil { position: absolute; pointer-events: none; z-index: 1;
  background:
    radial-gradient(78% 50% at 50% 6%, rgba(255,255,255,0.06), rgba(255,255,255,0) 60%),
    radial-gradient(120% 95% at 50% 44%, rgba(0,0,0,0) 46%, rgba(0,0,0,0.18) 80%, rgba(0,0,0,0.34) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.03), rgba(0,0,0,0.12));
}
@media (max-width: 600px) {
}


.cat-nudge { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  margin-top: var(--space-3); padding: 16px 20px; border: 1px solid var(--accent-muted); }
.cat-nudge__txt { font-family: var(--font-display); font-weight: 400; font-size: 16px; color: var(--ink-primary); margin: 0; }
.cat-nudge__acts { display: inline-flex; align-items: center; gap: 18px; }
.cat-nudge__close { background: none; border: 0; padding: 4px; display: inline-flex; color: var(--ink-muted); cursor: pointer;
  transition: color var(--dur-fast) var(--ease); }
.cat-nudge__close:hover { color: var(--ink-primary); }
.cat-sec__title { font-family: var(--font-display); font-size: var(--display-l-size); line-height: var(--display-l-lh); font-weight: 400; margin: 8px 0 0; }
.cat-tabs { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--border-hairline); border-radius: var(--radius-pill); background: var(--surface-1); }
.cat-tabs button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 18px; border-radius: var(--radius-pill); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); background: transparent; cursor: pointer; white-space: nowrap; transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.cat-tabs button:hover { color: var(--ink-primary); }
.cat-tabs button.is-active { background: var(--accent); color: #fff; }
.cat-tabs button.is-active:hover { color: #fff; }
.cat-tabs svg { width: 15px; height: 15px; flex: none; }
.cat-tabs__count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--radius-pill); font-size: 10px; letter-spacing: 0; font-variant-numeric: tabular-nums; background: rgba(212,197,169,0.18); color: var(--accent); }
.cat-tabs button.is-active .cat-tabs__count { background: rgba(255,255,255,0.22); color: #fff; }
.cat-chip { padding: 7px 14px; border: 1px solid var(--border-hairline); border-radius: var(--radius-pill); background: transparent; color: var(--ink-soft); cursor: pointer; font-size: var(--body-s-size); transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.cat-chip:hover { border-color: var(--accent); }
.cat-chip.is-on { border-color: var(--accent); color: var(--ink-primary); background: var(--surface-2); }
@media (max-width: 600px) {
  .cat-chip { flex: none; white-space: nowrap; padding: 8px 14px; }
}


.cat-rail { display: flex; gap: 16px; overflow-x: auto; overflow-y: hidden; padding: 2px 0 2px; margin: 0;
  scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: none;
  -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent 100%);
  mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent 100%); }
.cat-rail::-webkit-scrollbar { height: 0; display: none; }
.cat-rail__item { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 9px; width: 42px;
  background: none; border: 0; padding: 0; cursor: pointer; scroll-snap-align: start; }
.cat-rail__media { width: 34px; height: 34px; position: relative; display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--border-hairline); background: #000; overflow: hidden; color: var(--ink-muted);
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.cat-rail__media img { width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform var(--dur-slow) var(--ease); }
.cat-rail__media--color { border: 0; background: transparent; }
.cat-rail__swatch { width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(244,242,236,0.3);
  background-size: cover; display: block; box-shadow: inset 0 1px 2px rgba(0,0,0,0.4);
  transition: box-shadow var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.cat-rail__item.is-on .cat-rail__media--color { box-shadow: none; }
.cat-rail__item.is-on .cat-rail__swatch { border-color: var(--accent); box-shadow: 0 0 0 1px var(--canvas), 0 0 0 2px var(--accent); }
.cat-rail__media--all { color: var(--accent); border-color: var(--accent-muted); }
.cat-rail__media--all svg { width: 16px; height: 16px; }
.cat-rail__item:hover .cat-rail__media { border-color: var(--accent-hover); }
.cat-rail__item:hover .cat-rail__media img { transform: scale(1.06); }
.cat-rail__item:hover .cat-rail__swatch { border-color: var(--accent-hover); box-shadow: inset 0 1px 2px rgba(0,0,0,0.4), 0 0 0 2px rgba(212,197,169,0.4); }
.cat-rail__item.is-on .cat-rail__media { border-color: #83704E; box-shadow: 0 0 0 2px #83704E; }
.cat-rail__lbl { font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted);
  text-align: center; line-height: 1.3; max-width: 50px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  transition: color var(--dur-fast) var(--ease); }
.cat-rail__item:hover .cat-rail__lbl { color: var(--ink-soft); }
.cat-rail__item.is-on .cat-rail__lbl { color: var(--accent); }

.work-presence { display: flex; align-items: center; gap: 9px; margin-top: 14px; color: var(--ink-muted); font-size: var(--body-s-size); }
.work-presence__dot { flex: none; width: 7px; height: 7px; border-radius: var(--radius-pill); background: var(--accent); }
@media (prefers-reduced-motion: no-preference) {
  .work-presence__dot { animation: lbPresence 2.6s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
}
@keyframes lbPresence { 0%, 100% { opacity: 0.35; } 50% { opacity: 1; } }



.cat-smart { margin-top: var(--space-3); border: 1px solid var(--border-hairline); transition: border-color var(--dur-fast) var(--ease); }
.cat-smart:hover, .cat-smart.is-open { border-color: var(--accent-muted); }
.cat-smart__head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 22px; background: none; border: 0; cursor: pointer; text-align: left; color: var(--ink-primary); }
.cat-smart__lead { display: inline-flex; align-items: center; gap: 13px; min-width: 0; }
.cat-smart__ic { flex: none; color: var(--accent); }
.cat-smart__k { transition: transform var(--dur-fast) var(--ease); }

@media (prefers-reduced-motion: no-preference) {
  .cat-smart__k--a { animation: lbSmartKA 3.6s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
  .cat-smart__k--b { animation: lbSmartKB 3.6s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
}
.cat-smart.is-open .cat-smart__k--a, .cat-smart.is-open .cat-smart__k--b { animation: none; }
@keyframes lbSmartKA { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
@keyframes lbSmartKB { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-5px); } }
.cat-smart__title { font-family: var(--font-display); font-weight: 400; font-size: 17px; line-height: 1.35; }
.cat-smart__meta { display: inline-flex; align-items: center; gap: 14px; flex: none; color: var(--ink-muted); font-size: var(--body-s-size); font-variant-numeric: tabular-nums; }
.cat-smart__chev { flex: none; color: var(--accent); transition: transform var(--dur-fast) var(--ease); }
.cat-smart.is-open .cat-smart__chev { transform: rotate(180deg); }
.cat-smart__body { padding: 0 22px 26px; border-top: 1px solid var(--border-divider); }
.cat-smart__body .cat-ask-group:first-of-type { margin-top: 20px; }
@media (max-width: 600px) {
  .cat-smart__head { padding: 15px 16px; }
  .cat-smart__title { font-size: 15px; }
  .cat-smart__body { padding: 0 16px 20px; }
}
.cat-ask-group { margin-top: 28px; }
.cat-ask-group:first-of-type { margin-top: 22px; }
.cat-ask { font-family: var(--font-display); font-weight: 400; font-size: 18px; line-height: 1.3; color: var(--ink-primary); margin: 0 0 14px; }
.cat-ask-group--search { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--border-divider); }
.cat-ask-group--search .cat-bar { margin-top: 0; padding-top: 0; border-top: 0; }
.cat-format { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cat-format--lead { margin: 0; }
.cat-chip--shape { display: inline-flex; align-items: center; gap: 7px; }
.cat-chip__shape { flex: none; color: currentColor; opacity: 0.85; }


.has-tip { position: relative; }
.has-tip::after { content: attr(data-tip); position: absolute; bottom: calc(100% + 8px); right: 0;
  white-space: nowrap; padding: 6px 10px; background: #141414; color: #F4F1EA;
  border: 1px solid var(--border-hairline); font-family: var(--font-body); font-size: 10px;
  letter-spacing: 0.1em; text-transform: uppercase; pointer-events: none; opacity: 0; transform: translateY(3px);
  transition: opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease); z-index: 5; }
.has-tip:hover::after, .has-tip:focus-visible::after { opacity: 1; transform: translateY(0); }
@media (hover: none) { .has-tip::after { display: none; } }

.cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); align-items: start; }
@media (max-width: 880px) { .cat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cat-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-2); align-items: start; } .cat-card__title { font-size: var(--body-s-size); } .cat-card__meta { font-size: 11px; } .cat-card__body { padding-top: 8px; } }
.cat-card { position: relative; }
.cat-card__media { display: block; width: 100%; aspect-ratio: 1 / 1; background: var(--surface-1); border: 1px solid var(--border-hairline); padding: 0; overflow: hidden; cursor: pointer; position: relative; }
.cat-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: opacity var(--dur-slow) var(--ease); }
.cat-card:hover .cat-card__media { border-color: var(--accent); }
.cat-card__ph { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--ink-muted); font-size: var(--body-s-size); }
.cat-card__fav { position: absolute; top: 10px; right: 10px; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--radius-pill); background: rgba(0,0,0,0.5); border: 1px solid rgba(212,197,169,0.4); color: #fff; cursor: pointer; transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.cat-card__fav:hover { background: rgba(0,0,0,0.7); color: var(--accent); }
.cat-card__fav.is-on { color: var(--accent); }
.cat-card__fav--inline { position: static; width: auto; height: auto; gap: 8px; padding: 8px 16px; background: transparent; color: var(--ink-soft); border-color: var(--border-hairline); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; }
.cat-card__fav--inline:hover { background: transparent; color: var(--accent); border-color: var(--accent); }
.cat-card__body { padding: 12px 2px 0; cursor: pointer; }
.cat-card__title { font-size: 15px; line-height: 1.3; }
.cat-card__meta { font-size: var(--body-s-size); color: var(--ink-muted); margin-top: 4px; }

.cat-detail__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: var(--space-3); flex-wrap: wrap; }
.cat-detail__title { font-family: var(--font-display); font-size: var(--display-l-size); font-weight: 400; margin: 8px 0 0; }


.fav-cta { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-divider); }
.fav-cta__head { margin-bottom: var(--space-3); }
.fav-cta__title { font-family: var(--font-display); font-size: var(--display-m-size); font-weight: 400; margin: 8px 0 10px; }
.fav-cta__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-2); }
@media (max-width: 720px) { .fav-cta__grid { grid-template-columns: 1fr; } }
.fav-tile { text-align: left; display: flex; flex-direction: column; gap: 6px; padding: var(--space-3); background: var(--surface-1); border: 1px solid var(--border-hairline); cursor: pointer; transition: border-color var(--dur-fast) var(--ease); }
.fav-tile:hover { border-color: var(--accent); }
.fav-tile--accent { background: var(--accent); border-color: var(--accent); }
.fav-tile--accent:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.fav-tile--accent .fav-tile__eyebrow { color: rgba(255, 255, 255, 0.78); }
.fav-tile--accent .fav-tile__name { color: var(--canvas); }
.fav-tile--accent .fav-tile__desc { color: rgba(255, 255, 255, 0.9); }
.fav-tile--accent .fav-tile__go { color: var(--canvas); }
.fav-tile__eyebrow { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }
.fav-tile__name { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); }
.fav-tile__desc { font-size: var(--body-s-size); color: var(--ink-soft); line-height: 1.5; }
.fav-tile__go { margin-top: 6px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); }
@media (max-width: 900px) { }
@media (max-width: 560px) { }
@keyframes onlinePulse { 0% { opacity: 1; } 50% { opacity: 0.4; } 100% { opacity: 1; } }
@media (max-width: 680px) { }


.footer { border-top: 1px solid var(--border-hairline); margin-top: var(--space-4); background: var(--canvas); }
.footer__inner { display: grid; grid-template-columns: 1.3fr 2fr; gap: var(--space-4); padding: var(--space-5) var(--space-3) var(--space-4); }
.footer__word { display: inline-block; font-family: var(--font-display); font-weight: 400; font-size: 22px; letter-spacing: 0.05em; color: var(--ink-primary);
  background: none; border: 0; padding: 0; cursor: pointer; text-align: left; transition: color var(--dur-fast) var(--ease); }
.footer__word:hover { color: var(--accent); }
.footer__note { font-size: var(--body-s-size); line-height: 1.6; color: var(--ink-soft); margin-top: 16px; max-width: 36ch; }
.footer__cb { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 11px 20px; border: 1px solid var(--accent-muted); border-radius: var(--radius-pill); background: transparent; color: var(--accent); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.footer__cb:hover { background: var(--accent); color: var(--canvas); border-color: var(--accent); }
.footer__cb svg { width: 15px; height: 15px; }
.footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.footer__col { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer__coltitle { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 4px; }
.footer__link { background: transparent; border: 0; padding: 0; cursor: pointer; color: var(--ink-soft); font-size: var(--body-s-size); letter-spacing: 0.02em; transition: color var(--dur-fast) var(--ease); text-align: left; white-space: nowrap; }
.footer__link:hover { color: var(--accent); }
.footer__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 20px var(--space-3); border-top: 1px solid var(--border-divider); }
.footer__copy { font-size: 11px; letter-spacing: 0.06em; color: var(--ink-muted); }
.footer__cgv-mini { color: var(--ink-muted); border-bottom: 1px solid transparent; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.footer__cgv-mini:hover { color: var(--accent); border-bottom-color: var(--accent); }
@media (max-width: 760px) {
  .footer__inner { grid-template-columns: 1fr; gap: var(--space-3); padding-top: var(--space-4); }
  .footer__cols { grid-template-columns: 1fr 1fr; gap: var(--space-2); }
  .footer__link { white-space: normal; }
  .footer__bar { flex-direction: column; align-items: flex-start; gap: 12px; }
}


.install { border: 1px solid var(--border-hairline); padding: 16px; }
.install__label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 12px; }
@media (max-width: 560px) { }
.install__detail { font-size: var(--body-s-size); color: var(--ink-soft); margin-top: 12px; line-height: 1.5; }


.pay-teaser { margin-top: 18px; border: 1px solid var(--accent-muted); padding: 16px; background: var(--surface-1); }
.pay-teaser__head { display: flex; align-items: center; gap: 9px; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
.pay-teaser__opts { display: flex; gap: 8px; }
.pay-teaser__opt { flex: 1 1 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 13px 6px; border: 1px solid var(--border-hairline); background: transparent; cursor: pointer; font-family: var(--font-display); font-size: 16px; color: var(--ink-soft); transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.pay-teaser__opt:hover { border-color: var(--accent); }
.pay-teaser__opt.is-on { border-color: var(--accent); background: var(--surface-2); color: var(--ink-primary); }
.pay-teaser__note { font-size: 11px; color: var(--ink-muted); margin-top: 12px; line-height: 1.5; }

.lease-teaser-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; padding: 0; background: none; border: 0; cursor: pointer; font-family: var(--font-body); font-size: 12px; letter-spacing: 0.04em; color: var(--ink-soft); border-bottom: 1px solid var(--border-hairline); padding-bottom: 3px; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.lease-teaser-link:hover { color: var(--accent); border-color: var(--accent); }
.lease-teaser-link span { transition: transform var(--dur-fast) var(--ease); }
.lease-teaser-link:hover span { transform: translateX(3px); }

.lease-pop { max-width: 460px; }
.lease-pop__title { font-family: var(--font-display); font-weight: 400; font-size: var(--display-s-size); line-height: var(--display-s-lh); color: var(--ink-primary); margin: 10px 0 0; }
.lease-pop__sub { margin: 10px 0 0; }
.lease-pop__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.lease-pop__chip { padding: 9px 14px; background: transparent; border: 1px solid var(--border-hairline); border-radius: 0; color: var(--ink-soft); font-size: 13px; cursor: pointer; transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.lease-pop__chip:hover { border-color: var(--accent-muted); color: var(--ink-primary); }
.lease-pop__chip.is-on { border-color: var(--accent); color: var(--ink-primary); }
.lease-pop__result { margin-top: var(--space-3); border-top: 1px solid var(--border-divider); }
.lease-pop__line { display: flex; align-items: baseline; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--border-divider); }
.lease-pop__rk { font-size: 13px; color: var(--ink-soft); }
.lease-pop__rv { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); }
.lease-pop__rv--soft { font-family: var(--font-body); font-size: 15px; color: var(--ink-muted); }
.lease-pop__note { font-size: 11px; color: var(--ink-muted); line-height: 1.5; margin: 12px 0 var(--space-3); }

.lease-back { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 var(--space-3); padding: 9px 16px; background: transparent; border: 1px solid var(--border-hairline); border-radius: 0; cursor: pointer; font-family: var(--font-body); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.lease-back:hover { border-color: var(--accent); color: var(--ink-primary); }
.lease-back .artwork-name { text-transform: none; letter-spacing: 0; color: var(--accent); }
.lease-media--work .lease-work-visual { width: 100%; background: var(--surface-1); border: 1px solid var(--border-hairline); }
.lease-media--work .lease-work-visual img { display: block; width: 100%; height: auto; }
.lease-work-cap { margin: 10px 0 0; font-size: 13px; color: var(--ink-soft); letter-spacing: 0.02em; }
.lease-work-cap .artwork-name { color: var(--accent); }

.pay-teaser__price { display: none; align-items: baseline; gap: 8px; margin-top: 14px; }
.pay-teaser__price-val { font-family: var(--font-display); font-size: 22px; color: var(--accent); line-height: 1; }
.pay-teaser__price-unit { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); }


.callback-fab { position: fixed; right: 18px; bottom: 18px; z-index: 80; display: inline-flex; align-items: center; gap: 12px;
  background: var(--ink-primary); color: var(--canvas); border: 1px solid var(--accent); border-radius: var(--radius-pill);
  padding: 14px 28px; font-size: 12px; letter-spacing: 0.06em; cursor: pointer; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); max-width: 78vw; }
.callback-fab svg { width: 22px; height: 22px; color: #fff; fill: #fff; flex-shrink: 0; }
.callback-fab:hover { background: var(--accent); color: var(--canvas); }
.callback-fab:hover svg { fill: var(--canvas); color: var(--canvas); }
@media (max-width: 600px) { .callback-fab { left: 16px; right: 16px; transform: none; bottom: 12px; padding: 15px 20px; font-size: 11px; max-width: none; width: auto; justify-content: center; } .callback-fab svg { width: 21px; height: 21px; } }
@media (max-width: 900px) { }


.cc-fab { position: fixed; right: 18px; bottom: 18px; z-index: 82; width: 56px; height: 56px; border-radius: var(--radius-pill);
  background: var(--canvas); color: var(--accent); border: 1px solid var(--accent); cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.cc-fab:hover, .cc-fab.is-open { background: var(--accent); color: var(--canvas); }
.cc-fab__badge { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: var(--radius-pill);
  background: var(--accent); color: var(--canvas); font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; border: 2px solid var(--canvas); }

.cc-callback { flex: none; display: flex; align-items: center; justify-content: center; gap: 9px; margin: 0; padding: 12px 14px;
  border-top: 1px solid var(--border-divider); background: none; color: var(--accent); cursor: pointer; font-family: var(--font-body);
  font-size: 12px; letter-spacing: 0.04em; transition: background var(--dur-fast) var(--ease); width: 100%; }
.cc-callback:hover { background: var(--surface-2); }
.cc-callback svg { flex: none; }
@media (max-width: 600px) { .callback-fab { bottom: 16px !important; left: 16px; right: 84px; } .cc-fab { bottom: 16px; right: 16px; } }

.cc-peek { position: fixed; right: 18px; bottom: 84px; z-index: 82; width: 300px; max-width: calc(100vw - 36px); text-align: left;
  background: var(--surface-1); border: 1px solid var(--accent); border-radius: var(--radius-1); padding: 12px 14px; cursor: pointer;
  display: flex; flex-direction: column; gap: 3px; animation: ccPeekIn var(--dur-medium) var(--ease); }
@keyframes ccPeekIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.cc-peek__from { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); }
.cc-peek__txt { font-size: var(--body-s-size); color: var(--ink-soft); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.cc-panel { position: fixed; right: 18px; bottom: 84px; z-index: 83; width: 360px; max-width: calc(100vw - 28px); height: min(540px, calc(100vh - 130px));
  background: var(--surface-1); border: 1px solid var(--accent); border-radius: var(--radius-1); display: flex; flex-direction: column; overflow: hidden; }
.cc-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px; border-bottom: 1px solid var(--border-divider); flex: none; }
.cc-panel__title { font-family: var(--font-display); font-size: 18px; color: var(--ink-primary); }
.cc-panel__sub { font-size: 12px; color: var(--ink-muted); margin-top: 2px; }
.cc-panel__x { background: none; border: 0; color: var(--ink-muted); cursor: pointer; padding: 2px; display: flex; }
.cc-panel__x:hover { color: var(--accent); }
.cc-panel__acts { display: flex; gap: 4px; align-items: center; }

.cc-panel.is-mini { height: auto; }
.cc-minimize { width: 100%; padding: 10px 12px; background: transparent; border: 0; border-top: 1px solid var(--border-divider); color: var(--ink-muted); font-family: var(--font-body); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; }
.cc-minimize:hover { color: var(--accent); }
.cc-body { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.cc-empty { font-size: var(--body-s-size); color: var(--ink-muted); line-height: 1.6; }
.cc-msg { display: flex; flex-direction: column; gap: 3px; max-width: 86%; }
.cc-msg--me { align-self: flex-end; align-items: flex-end; }
.cc-msg--them { align-self: flex-start; align-items: flex-start; }
.cc-bubble { padding: 10px 13px; border-radius: var(--radius-1); font-size: var(--body-s-size); line-height: 1.5; display: flex; flex-direction: column; gap: 8px; }
.cc-msg--me .cc-bubble { background: var(--accent); color: var(--canvas); }
.cc-msg--them .cc-bubble { background: var(--surface-2); color: var(--ink-soft); border: 1px solid var(--border-divider); }
.cc-bubble__txt { white-space: pre-wrap; word-wrap: break-word; }
.cc-link { background: none; border: 1px solid currentColor; color: inherit; border-radius: var(--radius-pill); padding: 7px 14px; font-family: var(--font-body);
  font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; align-self: flex-start; transition: opacity var(--dur-fast) var(--ease); }
.cc-link:hover { opacity: 0.7; }
.cc-time { font-size: 10px; color: var(--ink-muted); }

.chat-work { display: flex; align-items: center; gap: 12px; margin-top: 8px; padding: 8px; width: 100%; text-align: left;
  border: 1px solid var(--border-hairline); border-radius: var(--radius-1); background: var(--canvas); cursor: pointer; transition: border-color var(--dur-fast) var(--ease); }
.chat-work:hover { border-color: var(--accent); }
.chat-work__thumb { flex: none; width: 52px; height: 52px; background: var(--surface-2); border: 1px solid var(--border-hairline); overflow: hidden; display: block; }
.chat-work__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.chat-work__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.chat-work__title { font-size: 14px; color: var(--accent); line-height: 1.25; }
.chat-work__cta { font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); }
.chat-work__fmt { font-size: 11px; color: var(--ink-soft); }
.cc-foot { display: flex; align-items: flex-end; gap: 8px; padding: 12px; border-top: 1px solid var(--border-divider); flex: none; }
.cc-input { flex: 1; resize: vertical; max-height: 160px; min-height: 64px; padding: 10px 12px; background: var(--canvas); color: var(--ink-primary);
  border: 1px solid var(--border-hairline); border-radius: var(--radius-1); font-family: var(--font-body); font-size: var(--body-s-size); line-height: 1.5; }
.cc-input:focus { outline: none; border-color: var(--accent); }
.cc-send { flex: none; width: 40px; height: 40px; border-radius: var(--radius-1); border: 1px solid var(--accent); background: var(--accent); color: var(--canvas);
  cursor: pointer; display: flex; align-items: center; justify-content: center; transition: opacity var(--dur-fast) var(--ease); }
.cc-send:disabled { opacity: 0.4; cursor: default; }
@media (max-width: 600px) {
  .cc-peek { right: 10px; left: 10px; width: auto; }
  .cc-panel { right: 8px; left: 8px; width: auto; top: max(10px, env(safe-area-inset-top)); bottom: calc(76px + env(safe-area-inset-bottom)); height: auto; max-height: none; }
  .cc-panel__head { padding: 14px; }
  .cc-body { padding: 14px; }
  .cc-msg { max-width: 92%; }
  .cc-foot { padding: 10px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
}


.gate { max-width: 420px; margin: var(--space-5) auto; text-align: center; }
.gate__title { font-family: var(--font-display); font-size: var(--display-m-size); margin: var(--space-2) 0; }
.gate__dots { display: flex; gap: 14px; justify-content: center; margin: var(--space-3) 0; }
.gate__dot { width: 14px; height: 14px; border-radius: var(--radius-pill); border: 1px solid var(--accent-muted); }
.gate__dot.is-on { background: var(--accent); border-color: var(--accent); }
.gate__keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 280px; margin: 0 auto; }
.gate__key { padding: 18px 0; font-size: 22px; font-family: var(--font-display); border: 1px solid var(--border-hairline); border-radius: var(--radius-1); background: var(--surface-1); color: var(--ink-primary); cursor: pointer; transition: border-color var(--dur-fast) var(--ease); }
.gate__key:hover { border-color: var(--accent); }


.lease-teaser { border: 1px solid var(--accent-muted); border-radius: var(--radius-1); padding: 16px 18px; margin-top: var(--space-2); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.lease-teaser__amount { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--accent); }


.partner-band { margin: var(--space-3) 0; padding: var(--space-3) var(--space-3); border: 1px solid var(--accent-muted); border-radius: var(--radius-0); display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; background: var(--surface-1); }
.partner-band__txt { max-width: 62ch; }
.partner-band__title { font-family: var(--font-display); font-size: var(--display-m-size); line-height: var(--display-m-lh); letter-spacing: var(--display-m-tracking); color: var(--ink-primary); margin: 10px 0 12px; }
.partner-band__p { color: var(--ink-soft); margin: 0; }
.partner-band__cta { flex-shrink: 0; }
@media (max-width: 720px) { .partner-band__cta, .partner-band__cta .btn { width: 100%; } }
.dropwiz .ag-check.is-off{ opacity: 0.35; pointer-events: none; }
.drop-modal { max-height: 88vh; overflow: auto; }

.drop-fmt-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.drop-fmt-tile { padding: 0; background: var(--surface-1); border: 1px solid rgba(212,197,169,0.25); cursor: pointer; text-align: center; transition: border-color var(--dur-fast) var(--ease); }
.drop-fmt-tile:hover { border-color: var(--accent); }
.drop-fmt-tile.is-on { border-color: var(--accent); }
.drop-fmt-tile.is-off { opacity: 0.35; pointer-events: none; }
.drop-fmt-tile__media--sq { aspect-ratio: 1 / 1 !important; display: flex; align-items: center; }
.drop-fmt-tile__media--sq > svg, .drop-fmt-tile__media--sq > * { transform: scale(1.42); transform-origin: 50% 46%; }
.drop-fmt-tile__media--gf > svg, .drop-fmt-tile__media--gf > * { transform: none; }
.drop-fmt-tile__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.drop-fmt-tile__media > img { width: 100%; height: 100%; object-fit: cover; display: block; }

.drop-fmt-tile__media--scene { aspect-ratio: 820 / 520; background: var(--surface-1); }
.drop-fmt-tile__media--scene svg, .drop-fmt-tile__media--scene > * { width: 100%; height: 100%; display: block; }
.drop-fmt-tile__lbl { display: block; padding: 8px 4px; font-size: 12px; color: var(--ink-soft); letter-spacing: 0.06em; }
.drop-fmt-tile.is-on .drop-fmt-tile__lbl { color: var(--accent); }
@media (max-width: 480px) { .drop-fmt-tiles { grid-template-columns: 1fr 1fr; } }

.drop-price-tiles { grid-template-columns: repeat(2, 1fr); }
.drop-price-tile__media { aspect-ratio: 200 / 140 !important; background: #f4f1ea; display: block; }
.drop-price-tile__media svg { width: 100%; height: 100%; display: block; }
.drop-price-tiles .drop-fmt-tile__l2 { white-space: normal; line-height: 1.4; }

.drop-wish-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; }
@media (max-width: 600px) { .drop-wish-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.drop-wish-tiles { align-items: start; }
.drop-wish-tile { min-width: 0; width: 100%; display: block; }
.drop-wish-tile { padding: 0; background: var(--surface-1); border: 1px solid rgba(212,197,169,0.25); cursor: pointer; text-align: center; transition: border-color var(--dur-fast) var(--ease); }
.drop-wish-tile:hover { border-color: var(--accent); }
.drop-wish-tile.is-on { border-color: var(--accent); }
.drop-wish-tile.is-off { opacity: 0.4; }
.drop-wish-tile__media { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; }
.drop-wish-tile__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.drop-wish-tile__check { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; background: var(--accent); color: #000; font-size: 12px; border-radius: 999px; }
.drop-wish-tile__lbl { display: block; padding: 6px 4px; font-size: 11px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.drop-colors { flex-wrap: wrap; overflow: visible; }
.drop-colors__off { opacity: 0.4; pointer-events: auto; }

.drop-band-slot { margin-top: var(--space-2); }
.drop-band-slot .drop-band { margin: 0; }

.drop-band { position: relative; overflow: hidden; margin: var(--space-4) 0 var(--space-3); padding: var(--space-4) var(--space-4); background: var(--canvas); border: 1px solid var(--border-hairline); border-top: 1px solid var(--accent); border-radius: var(--radius-0); }
.drop-band__bg { position: absolute; inset: 0; z-index: 0; }
.drop-band.no-img .drop-band__bg { background: linear-gradient(125deg, #5e4d2b 0%, #3d3220 34%, #1f1910 66%, #0a0805 100%); }
.drop-band__img { width: 100%; height: 100%; object-fit: cover; display: block; object-position: var(--drop-pos-d, 50% 50%); transform: scale(var(--drop-zoom-d, 1)); transform-origin: var(--drop-pos-d, 50% 50%); }
.drop-band__veil { position: absolute; inset: 0; z-index: 1; background: linear-gradient(100deg, rgba(0,0,0,calc(0.94 * var(--drop-veil, 1))) 0%, rgba(0,0,0,calc(0.82 * var(--drop-veil, 1))) 38%, rgba(0,0,0,calc(0.45 * var(--drop-veil, 1))) 72%, rgba(0,0,0,calc(0.18 * var(--drop-veil, 1))) 100%); }

.drop-band.has-img .drop-band__veil { background: #000; opacity: var(--drop-veil, 0.55); }
.drop-band.no-img .drop-band__veil { background: linear-gradient(100deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.3) 52%, rgba(0,0,0,0.1) 100%); }
.drop-band__inner { position: relative; z-index: 2; display: flex; flex-direction: column; gap: var(--space-3); }
.drop-band__head { max-width: 64ch; }
.drop-band__title { font-family: var(--font-display); font-size: var(--display-xl-size); line-height: var(--display-xl-lh); letter-spacing: var(--display-xl-tracking); color: var(--ink-primary); margin: 14px 0 14px; max-width: 18ch; }
.drop-band__flag { display: inline-flex; align-items: center; gap: 9px; padding: 7px 14px; border: 1px solid var(--accent); border-radius: var(--radius-pill); color: var(--accent); font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; background: rgba(0,0,0,0.35); }
.drop-band__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 24px; border-top: 1px solid var(--accent-muted); }
.drop-stat { padding: 16px 20px 6px 0; display: flex; flex-direction: column; gap: 5px; }
.drop-stat + .drop-stat { padding-left: 24px; border-left: 1px solid var(--border-divider); }
.drop-stat__big { font-family: var(--font-display); font-size: 23px; line-height: 1.12; color: var(--accent); }
.drop-stat__cap { font-size: var(--body-s-size); line-height: 1.45; color: var(--ink-soft); }
.drop-band::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--accent); z-index: 3; }
@media (prefers-reduced-motion: no-preference) { .drop-band::before { animation: dropSheen 3.2s var(--ease) infinite; } }
@keyframes dropSheen { 0%, 100% { opacity: 0.55; } 50% { opacity: 1; } }
.drop-band__lead { color: var(--ink-soft); font-size: var(--body-l-size); line-height: var(--body-l-lh); margin: 0; text-wrap: pretty; }
.drop-band__count { display: inline-flex; align-items: center; gap: 9px; margin-top: 16px; padding: 7px 14px; border: 1px solid var(--accent-muted); border-radius: var(--radius-pill); background: rgba(0,0,0,0.35); }
.drop-band__countTxt { font-size: var(--body-s-size); color: var(--ink-soft); letter-spacing: 0.01em; }
.drop-band__countTxt strong { color: var(--accent); font-weight: 600; font-variant-numeric: tabular-nums; }
.drop-band__pulse { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); position: relative; }
.drop-band__pulse::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid var(--accent); opacity: 0.5; }
@media (prefers-reduced-motion: no-preference) { .drop-band__pulse::after { animation: dropPulse 2.4s var(--ease) infinite; } }
@keyframes dropPulse { 0% { transform: scale(0.6); opacity: 0.6; } 70% { transform: scale(1.5); opacity: 0; } 100% { opacity: 0; } }
.drop-band__foot { display: flex; align-items: center; }
.drop-band__ctaWrap { display: flex; flex-direction: column; gap: 10px; max-width: 60ch; }
.drop-band__micro { color: var(--ink-muted); font-size: var(--body-s-size); line-height: var(--body-s-lh); margin: 0; }
.drop-band__done { display: flex; align-items: center; gap: 14px; }
.drop-band__check { flex: none; width: 38px; height: 38px; border-radius: var(--radius-pill); border: 1px solid var(--accent); color: var(--accent); display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.35); }
.drop-band__doneTitle { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); }
.drop-band__doneSub { color: var(--ink-soft); font-size: var(--body-s-size); line-height: var(--body-s-lh); margin: 4px 0 0; max-width: 52ch; }
@media (max-width: 720px) {
  .drop-band { padding: var(--space-4) var(--space-3) var(--space-5); margin: var(--space-4) 0 var(--space-2); }
  .drop-band__inner { gap: var(--space-2); }
  .drop-band__head { max-width: none; }
  .drop-band.no-img .drop-band__bg { background: linear-gradient(160deg, #564627 0%, #2c2415 50%, #0a0805 100%); }
  .drop-band__img { object-position: var(--drop-pos-m, 50% 50%); transform: scale(var(--drop-zoom-m, 1)); transform-origin: var(--drop-pos-m, 50% 50%); }
  .drop-band__veil { background: linear-gradient(180deg, rgba(0,0,0,calc(0.5 * var(--drop-veil, 1))) 0%, rgba(0,0,0,calc(0.72 * var(--drop-veil, 1))) 60%, rgba(0,0,0,calc(0.9 * var(--drop-veil, 1))) 100%); }
  .drop-band.no-img .drop-band__veil { background: linear-gradient(180deg, rgba(0,0,0,0.22) 0%, rgba(0,0,0,0.58) 100%); }
  .drop-band__flag { font-size: 10px; letter-spacing: 0.12em; padding: 6px 12px; line-height: 1.3; }
  .drop-band__title { font-size: var(--display-m-size); line-height: var(--display-m-lh); margin: 16px 0 16px; }
  .drop-band__lead { font-size: var(--body-m-size); line-height: var(--body-m-lh); }
  .drop-band__stats { grid-template-columns: 1fr; margin-top: 24px; }
  .drop-stat + .drop-stat { padding-left: 0; border-left: none; border-top: 1px solid var(--border-divider); }
  .drop-stat { padding: 16px 0 4px; }
  .drop-stat__big { font-size: 19px; }
  .drop-band__count { margin-top: 18px; align-self: flex-start; }
  .drop-priv-word { display: none; }
  
  .drop-band__flag { align-self: flex-start; border: none; background: none; padding: 0; color: var(--ink-muted); }
  .drop-band__count { border: none; background: none; padding: 0; }
  .drop-band__foot { margin-top: 8px; }
  .drop-band__ctaWrap { max-width: none; }
  .drop-band__foot .btn, .drop-band__ctaWrap .btn { width: 100%; }
}
@media (max-width: 460px) {
  .drop-band__title { font-size: var(--display-s-size); line-height: var(--display-s-lh); }
  .drop-band__count { max-width: 100%; box-sizing: border-box; }
}


.drop-modal { max-width: 540px; }
.drop-modal__title { font-family: var(--font-display); font-size: var(--display-s-size); line-height: var(--display-s-lh); color: var(--ink-primary); margin: 8px 0 8px; }
.drop-modal__sub { color: var(--ink-soft); line-height: var(--body-s-lh); margin: 0 0 18px; }

.drop-modal--light { background: #FDFCFA; border-color: rgba(17,17,17,0.12); color: #161310; }
.drop-modal--light .drop-modal__title { color: #161310; }
.drop-modal--light .drop-modal__sub { color: rgba(17,17,17,0.65); }
.drop-modal--light .modal__close { color: rgba(17,17,17,0.55); }
.drop-modal--light .modal__close:hover { color: #161310; }
.drop-modal--light .dropwiz__q { color: #161310; }
.drop-modal--light .dropwiz__step { color: #8a744a; }
.drop-modal--light .dropwiz__of, .drop-modal--light .dropwiz__hint { color: rgba(17,17,17,0.5); }
.drop-modal--light .dropwiz__bar { background: rgba(17,17,17,0.12); }
.drop-modal--light .dropwiz__fill { background: #8a744a; }
.drop-modal--light .dropwiz__nav { border-top-color: rgba(17,17,17,0.1); }
.drop-modal--light .ag-check { border-color: rgba(17,17,17,0.18); color: rgba(17,17,17,0.7); }
.drop-modal--light .ag-check.is-on { border-color: #161310; color: #161310; }
.drop-modal--light .field__label { color: rgba(17,17,17,0.55); }
.drop-modal--light .drop-fmt-tile { background: #fff; border-color: rgba(17,17,17,0.15); }
.drop-modal--light .drop-fmt-tile.is-on { border-color: #161310; }
.drop-modal--light .drop-fmt-tile__l1 { color: #161310; }
.drop-modal--light .drop-fmt-tile__l2, .drop-modal--light .drop-fmt-tile__lbl { color: rgba(17,17,17,0.55); }
.drop-modal--light .drop-wish-tile { background: #fff; border-color: rgba(17,17,17,0.15); }
.drop-modal--light .drop-wish-tile:hover, .drop-modal--light .drop-wish-tile.is-on { border-color: #161310; }
.drop-modal--light .drop-wish-tile__lbl { color: rgba(17,17,17,0.7); }
.drop-modal--light .eyebrow { color: rgba(17,17,17,0.5); }

.unlock-gate { position: fixed; inset: 0; z-index: 200; }
.unlock-gate__scrim { position: absolute; inset: 0; background: rgba(0,0,0,0.35); }
.unlock-gate .unlock-gate__panel { position: absolute; z-index: 1; }
.unlock-gate__work { cursor: default; pointer-events: none; }
.unlock-gate__work .fav-floater__thumb img { filter: blur(6px); }
.drop-modal--light .cat-rail__lbl { color: rgba(17,17,17,0.65); }
.drop-modal--light .muted { color: rgba(17,17,17,0.5); }
.drop-modal--light .btn--primary { background: #161310; color: #FDFCFA; }
.drop-modal--light .btn--primary:hover { background: #8a744a; color: #FFFFFF; }
.drop-modal--light .text-link { color: #8a744a; }
.drop-modal--light .input { background: #fff; color: #161310; border: 1px solid rgba(17,17,17,0.2); }
.drop-modal__more { margin-top: 16px; }
.drop-modal__more summary { cursor: pointer; font-size: var(--body-s-size); color: var(--ink-muted); }
.drop-modal__more summary:hover { color: var(--accent); }
.drop-modal__cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 22px; }
@media (max-width: 520px) { .drop-modal__cta .btn { width: 100%; } }
.cal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cal-opt { padding: 12px 14px; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); color: var(--ink-soft); font-size: var(--body-s-size); cursor: pointer; transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); text-align: left; }
.cal-opt:hover { border-color: var(--accent); }
.cal-opt.is-on { border-color: var(--accent); color: var(--ink-primary); background: var(--surface-2); }
@media (max-width: 620px) {
}
.conn-col-chip { border: 1px solid var(--border-hairline); background: none; color: var(--ink-muted); border-radius: var(--radius-pill);
  padding: 5px 13px; font-family: var(--font-body); font-size: 11px; letter-spacing: 0.04em; cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.conn-col-chip.is-on { color: var(--accent); border-color: var(--accent); }
.conn-col-chip { white-space: nowrap; }
.conn-col-chip:not(.is-on) { text-decoration: line-through; opacity: 0.6; }


.cc-ai-tag { display: inline-block; font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: 4px; }
.cc-bubble--typing { display: inline-flex; gap: 4px; align-items: center; padding: 12px 14px; }
.cc-dot { width: 6px; height: 6px; border-radius: 999px; background: var(--ink-muted); opacity: 0.4; animation: cc-blink 1.2s infinite both; }
.cc-dot:nth-child(2) { animation-delay: 0.2s; }
.cc-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes cc-blink { 0%, 80%, 100% { opacity: 0.25; } 40% { opacity: 0.9; } }
.relance-btn { border: 1px solid var(--border-hairline); background: none; color: var(--ink-soft); border-radius: var(--radius-pill);
  padding: 9px 16px; font-family: var(--font-body); font-size: 12px; letter-spacing: 0.03em; cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.relance-btn:hover:not(:disabled) { color: var(--accent); border-color: var(--accent); }
.relance-btn--accent { border-color: var(--accent); color: var(--accent); }
.relance-btn--accent:hover:not(:disabled) { background: var(--accent); color: var(--canvas); }
.relance-btn:disabled { opacity: 0.4; cursor: default; }
@media (max-width: 620px) { }


.cart-email { border: 1px solid var(--border-hairline); border-radius: var(--radius-1); padding: 16px; margin-bottom: 14px; }
.cart-email__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.cart-email__delay { display: flex; flex-direction: column; gap: 5px; }



.pop-overlay { position: fixed; inset: 0; z-index: 90; background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; padding: 20px; animation: popFade var(--dur-medium) var(--ease); }
@keyframes popFade { from { opacity: 0; } to { opacity: 1; } }
.pop-card { position: relative; width: 420px; max-width: 100%; max-height: calc(100vh - 40px); overflow: auto; background: var(--surface-1); border: 1px solid var(--accent); border-radius: var(--radius-0); animation: popIn var(--dur-medium) var(--ease); }
@keyframes popIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.pop-x { position: absolute; top: 12px; right: 12px; z-index: 2; width: 32px; height: 32px; border-radius: var(--radius-pill); background: rgba(0,0,0,0.45); border: 1px solid var(--border-hairline); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pop-x:hover { border-color: var(--accent); color: var(--accent); }
.pop-card__media { width: 100%; aspect-ratio: 4 / 3; background: #000; overflow: hidden; }
.pop-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pop-card__body { padding: var(--space-3); }
.pop-eyebrow { font-size: var(--eyebrow-size); font-weight: var(--eyebrow-weight); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--ink-muted); margin-bottom: 10px; }
.pop-title { font-family: var(--font-display); font-size: var(--display-s-size); line-height: var(--display-s-lh); color: var(--ink-primary); margin: 0 0 10px; }
.pop-text { font-size: var(--body-m-size); line-height: var(--body-m-lh); color: var(--ink-soft); margin: 0 0 18px; white-space: pre-wrap; }
.pop-cta { display: inline-flex; align-items: center; gap: 8px; background: none; border: 1px solid var(--accent); color: var(--accent); border-radius: var(--radius-pill);
  padding: 11px 22px; font-family: var(--font-body); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.pop-cta:hover { background: var(--accent); color: var(--canvas); }


.pop-item { border: 1px solid var(--border-hairline); border-radius: var(--radius-1); margin-bottom: 12px; }
.pop-item.is-active { border-color: var(--accent); }
.pop-item__head { display: flex; align-items: center; gap: 14px; padding: 14px 16px; flex-wrap: wrap; }
.pop-item__title { flex: 1; min-width: 180px; background: none; border: 0; text-align: left; cursor: pointer; display: flex; flex-direction: column; gap: 3px; font-family: var(--font-body); }
.pop-item__name { font-size: var(--body-m-size); color: var(--ink-primary); }
.pop-item__meta { font-size: 12px; color: var(--ink-muted); }


.pop-editor { border-top: 1px solid var(--border-divider); padding: 18px 16px; }
.pop-editor__grid { display: grid; grid-template-columns: 1fr 320px; gap: 24px; }
.pop-editor__filters { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pop-editor__side { display: flex; flex-direction: column; gap: 16px; }
.pop-preview { background: #000; border: 1px solid var(--border-divider); border-radius: var(--radius-1); padding: 16px; display: flex; justify-content: center; }
.pop-card--preview { width: 100%; border-radius: 0; animation: none; max-height: none; }
.pop-card--preview .pop-card__media { aspect-ratio: 16 / 9; }
.pop-audience { border: 1px solid var(--accent); border-radius: var(--radius-1); padding: 16px; text-align: center; }
.pop-audience__n { font-family: var(--font-display); font-size: var(--display-m-size); color: var(--accent); }
.pop-audience__lbl { font-size: 12px; color: var(--ink-muted); text-transform: uppercase; letter-spacing: 0.08em; }
@media (max-width: 820px) { .pop-editor__grid { grid-template-columns: 1fr; } .pop-editor__filters { grid-template-columns: 1fr; } }


.wo-overlay { z-index: 1200; }
.wo-card { width: 440px; }
.wo-body { text-align: center; }
.wo-body .pop-eyebrow { color: var(--accent); position: relative; padding-bottom: 16px; margin-bottom: 0; }
.wo-body .pop-eyebrow::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 36px; height: 1px; background: var(--accent-muted); }
.wo-body .pop-title { margin-top: 16px; }
.wo-body .pop-text { margin-left: auto; margin-right: auto; max-width: 38ch; }
.wo-form { display: flex; flex-direction: column; gap: 12px; margin: 4px 0 12px; }
.wo-input { width: 100%; }
.wo-card .pop-cta { width: 100%; justify-content: center; }
.wo-decline { display: block; width: 100%; margin-top: 12px; background: none; border: 0; color: var(--ink-muted); font-size: 12px; letter-spacing: 0.04em; cursor: pointer; padding: 6px; transition: color var(--dur-fast) var(--ease); }
.wo-decline:hover { color: var(--ink-soft); }
.wo-note { font-size: 11px; color: var(--ink-muted); text-align: center; margin: 0; }
.wo-note--err { color: #B7382E; }
.wo-input.input--invalid { border-color: #B7382E; }
.wo-connect { display: inline-flex; align-items: center; gap: 8px; margin: 12px auto 0; background: none; border: 0; color: var(--accent); font-family: var(--font-body); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: color var(--dur-fast) var(--ease); }
.wo-connect:hover { color: var(--accent-hover); }


.footer-capture { background: var(--canvas); padding: var(--space-4) var(--space-2); }
.footer-capture__inner { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 760px; margin: 0 auto; border: 1px solid var(--accent-muted); background: var(--surface-1); padding: var(--space-4) var(--space-3) calc(var(--space-4) - 4px); position: relative; }
.footer-capture__inner::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: var(--accent); }

.cat-landing { position: fixed; inset: 0; z-index: 9000; background: #ECE3D2; display: flex; flex-direction: column; overflow-y: auto; -webkit-overflow-scrolling: touch; animation: catLandingIn .8s var(--ease); }
@keyframes catLandingIn { from { opacity: 0; } to { opacity: 1; } }
.cat-landing__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .55; }
.cat-landing__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(236,227,210,0.55), rgba(236,227,210,0.82)); }
.cat-landing__skip { position: absolute; top: 18px; right: 18px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; color: #6B6357; font-family: var(--font-body); font-size: 11px; font-weight: var(--eyebrow-weight); letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: color var(--dur-fast) var(--ease); }
.cat-landing__skip:hover { color: var(--accent); }
.cat-landing__panel { position: relative; z-index: 1; margin: auto; width: 100%; max-width: 540px; padding: 72px 24px 56px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.cat-landing__word { font-family: var(--font-display); font-weight: 400; font-style: normal; font-size: 17px; letter-spacing: 0.34em; color: #2A2622; margin-bottom: 8px; text-indent: 0.34em; }
.cat-landing__tag { font-family: var(--font-display); font-weight: 400; font-size: 15px; letter-spacing: 0.01em; color: #6B6357; margin: 0 0 var(--space-4); text-wrap: pretty; }
.cat-landing .footer-capture__title { font-size: var(--display-l-size); line-height: var(--display-l-lh); letter-spacing: var(--display-l-tracking); margin-top: 10px; color: #1F1C18; }
.cat-landing .footer-capture__sub { color: #4A4337; }
.cat-landing .footer-capture__form { margin-top: var(--space-4); flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
.cat-landing .footer-capture__input { flex: 0 0 auto; width: 100%; }
.cat-landing .footer-capture__btn { flex: 0 0 auto; width: 100%; }
.cat-landing .footer-capture__input { background: rgba(255,255,255,0.85); border-color: rgba(31,28,24,0.2); color: #1F1C18; }
.cat-landing .footer-capture__input::placeholder { color: #8A8172; }
.cat-landing .footer-capture__input:focus { border-color: var(--accent); }
.cat-landing .footer-capture__btn { background: #1F1C18; border-color: #1F1C18; color: #fff; }
.cat-landing .footer-capture__btn:hover { background: var(--accent); border-color: var(--accent); color: #1F1C18; }
.cat-landing .consent__txt { color: #4A4337; }
.cat-landing .cat-choice { margin-top: var(--space-4); width: 100%; max-width: 520px; }
.cat-landing__partners { margin-top: var(--space-4); padding: 0; width: 100%; max-width: 560px; background: transparent; }
.cat-landing__partners-eyebrow { display: block; font-family: var(--font-body); font-size: 12px; font-weight: var(--eyebrow-weight); letter-spacing: 0.16em; text-transform: uppercase; color: #6B6357; margin-bottom: 24px; }
.cat-landing__logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 28px 40px; }
.cat-landing__logos img { height: 90px; width: auto; max-width: 240px; object-fit: contain; opacity: 1; }
@media (max-width: 600px) {
  .cat-landing__logos { flex-wrap: nowrap; gap: 0 4px; }
  .cat-landing__logos img { height: 64px; max-width: 72px; }
  .cat-landing__logos img:nth-child(n+5) { display: none; }
}
.cat-personal { border: 1px solid var(--accent-muted); background: var(--surface-1); padding: 16px 18px; margin: 18px auto 0; max-width: 520px; text-align: left; position: relative; }
.cat-personal::before { content: ""; position: absolute; top: -1px; left: 0; width: 40px; height: 2px; background: var(--accent); }
.cat-personal__eyebrow { display: block; font-family: var(--font-body); font-size: 10.5px; font-weight: var(--eyebrow-weight); letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
.cat-personal__txt { font-size: 13px; line-height: 1.7; color: var(--ink-soft); margin: 0; text-wrap: pretty; }
.cat-personal__txt strong { color: var(--ink-primary); font-weight: 600; }
.footer-capture__gift { margin-top: 16px; display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; color: var(--accent); font-family: var(--font-body); font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: color var(--dur-fast) var(--ease); }
.footer-capture__gift:hover { color: var(--accent-hover); }
.footer-gift { margin-top: 16px; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.footer-gift__url { background: none; border: 0; color: var(--ink-muted); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.02em; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.footer-gift__url:hover { color: var(--accent); }
.footer-capture__eyebrow { font-family: var(--font-body); font-size: var(--eyebrow-size); font-weight: var(--eyebrow-weight); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--accent); white-space: nowrap; }
.footer-capture__title { font-family: var(--font-display); font-weight: 400; font-style: normal; font-size: var(--display-m-size); line-height: var(--display-m-lh); letter-spacing: var(--display-m-tracking); color: var(--ink-primary); margin: 14px 0 0; max-width: 20ch; text-wrap: balance; }
.footer-capture__sub { font-size: var(--body-m-size); line-height: var(--body-m-lh); color: var(--ink-soft); margin: 12px 0 0; max-width: 50ch; }
.footer-capture__form { display: flex; align-items: stretch; flex-wrap: wrap; gap: 12px; margin-top: var(--space-3); width: 100%; max-width: 520px; }
.footer-capture .consent { flex: 1 0 100%; justify-content: center; text-align: left; margin-top: 2px; }
.footer-capture .consent .consent__txt { flex: 0 1 auto; }
.footer-capture__input { flex: 1 1 auto; min-width: 0; background: var(--surface-2); border: 1px solid var(--border-hairline); border-radius: var(--radius-1); color: var(--ink-primary); font-family: var(--font-body); font-size: var(--body-l-size); padding: 14px 16px; text-align: left; transition: border-color var(--dur-fast) var(--ease); }
.footer-capture__input::placeholder { color: var(--ink-muted); }
.footer-capture__input:focus { outline: none; border-color: var(--accent); }
.footer-capture__input.is-err { border-color: #B7382E; }
.footer-capture__btn { flex: 1 0 100%; display: inline-flex; align-items: center; justify-content: center; gap: 9px; background: var(--ink-primary); border: 1px solid var(--ink-primary); color: var(--canvas); border-radius: var(--radius-pill); padding: 14px 26px; font-family: var(--font-body); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; white-space: nowrap; transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.footer-capture__btn span { transition: transform var(--dur-fast) var(--ease); }
.footer-capture__btn:hover { background: var(--accent); border-color: var(--accent); color: var(--canvas); }
.footer-capture__btn:hover span { transform: translateX(4px); }
.footer-capture__note { font-size: 11px; letter-spacing: 0.04em; color: var(--ink-muted); margin: 14px 0 0; }
.footer-capture__note--err { color: #B7382E; }
.footer-capture__connect { display: inline-flex; align-items: center; gap: 8px; margin: 12px 0 0; background: none; border: 0; color: var(--accent); font-family: var(--font-body); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: color var(--dur-fast) var(--ease); }
.footer-capture__connect:hover { color: var(--accent-hover); }
.footer-capture__done { color: var(--accent); font-family: var(--font-display); font-size: var(--display-s-size); line-height: var(--display-s-lh); margin: 20px 0 0; }
.footer-capture__done-main { margin: 0; }
.footer-capture__done-sub { margin: 12px auto 0; max-width: 52ch; color: var(--ink-soft); font-family: var(--font-body); font-size: var(--body-s-size); line-height: var(--body-s-lh); }
@media (max-width: 600px) {
  .footer-capture { padding: var(--space-4) var(--space-2); }
  .footer-capture__inner { padding: var(--space-3) var(--space-2); }
  .footer-capture__form { flex-direction: column; align-items: stretch; gap: 12px; }
  .footer-capture__input { text-align: center; }
  .footer-capture__btn { justify-content: center; }
}
@media (max-width: 600px) { }
@media (max-width: 920px) { }
@media (max-width: 680px) {
}
@media (max-width: 760px) {
}
@media (max-width: 680px) { }
@media (max-width: 680px) {
}
.text-link--danger { color: var(--ink-muted); }
.text-link--danger:hover { color: var(--accent); border-bottom-color: var(--accent); }
.status-pill { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; padding: 5px 12px; border: 1px solid var(--border-hairline); border-radius: var(--radius-pill); color: var(--ink-muted); }
.status-pill--accent { color: var(--accent); border-color: var(--accent-muted); }
@media (max-width: 680px) { }

.stars { display: inline-flex; gap: 3px; color: var(--accent); }
.stars--edit .star { background: none; border: 0; padding: 0; color: var(--accent); }
.prod-tm { border-top: 1px solid var(--border-divider); padding-top: var(--space-4); margin-top: var(--space-4); }
.prod-tm__head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-3); }
.prod-tm__title { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); margin-top: 4px; }
.tm-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc(25% - 14px); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; -webkit-overflow-scrolling: touch; }
.tm-card { scroll-snap-align: start; border: 1px solid var(--border-hairline); background: var(--surface-1); margin: 0; display: flex; flex-direction: column; }
.tm-media { width: 100%; aspect-ratio: 1 / 1; background-position: center; background-size: cover; background-repeat: no-repeat; background-color: #000; display: block; object-fit: cover; position: relative; }
.tm-inframe { position: absolute; background-position: center; background-size: cover; background-repeat: no-repeat; }
.tm-card__media-btn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.tm-card__media-btn:disabled { cursor: default; }
.tm-card__body--link { cursor: pointer; }
.tm-card__body--link:hover .tm-card__title { color: var(--accent); }
.tm-media--preview { aspect-ratio: 16/10; }
.tm-media--sm { width: 80px; height: 80px; flex: none; }
.tm-media--empty { display: flex; align-items: center; justify-content: center; color: var(--ink-muted); font-size: 11px; }
.tm-card__body { padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.tm-card__title { font-family: var(--font-display); font-size: 17px; color: var(--ink-primary); }
.tm-card__desc { font-size: var(--body-s-size); color: var(--ink-soft); line-height: 1.5; }
.tm-card__author { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); margin-top: 4px; }
.tm-card__bought { font-size: 11px; letter-spacing: 0.06em; color: var(--accent); margin-top: 6px; }
.tm-card__work { display: block; background: none; border: 0; padding: 0; margin-bottom: 3px; cursor: pointer; font-family: var(--font-display); font-size: 14px; color: var(--accent); text-align: left; }
.tm-card__work:hover { color: var(--accent-hover); text-decoration: underline; }
.tm-pending { display: flex; gap: 14px; align-items: flex-start; border: 1px solid var(--border-hairline); padding: 12px; }
.tm-admin { display: grid; grid-template-columns: 160px 1fr; gap: 16px; border: 1px solid var(--border-hairline); padding: 14px; }
.tm-admin__media { display: flex; flex-direction: column; }
.tm-admin__fields { display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 760px) { .tm-rail { grid-auto-columns: 78%; } .tm-admin { grid-template-columns: 1fr; } }
.seg--mini button { font-size: 10.5px; padding: 4px 8px; }

.work-detail { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-4); margin-top: var(--space-3); align-items: start; }
.work-detail__media { background: #000; border: 1px solid var(--border-hairline); }
.work-detail__media img { width: 100%; display: block; }
.work-buy { margin-top: var(--space-3); display: flex; flex-direction: column; gap: 12px; }
.work-buy__lead { font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }
.work-buy__opt { text-align: left; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); background: var(--surface-1); padding: 16px 18px; cursor: pointer; display: flex; flex-direction: column; gap: 4px; transition: border-color var(--dur-fast) var(--ease); }
.work-buy__opt:hover { border-color: var(--accent); }
.work-buy__eyebrow { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); }
.work-buy__name { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); }
.work-buy__desc { font-size: var(--body-s-size); color: var(--ink-soft); line-height: 1.5; }
.work-buy__go { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin-top: 6px; }
@media (max-width: 760px) { .work-detail { grid-template-columns: 1fr; } }

.lb-modal { position: fixed; inset: 0; z-index: 200; background: rgba(0,0,0,0.72); display: flex; align-items: center; justify-content: center; padding: var(--space-3); }
.lb-modal__panel { position: relative; background: var(--surface-1); border: 1px solid var(--border-hairline); max-width: 960px; width: 100%; max-height: 88vh; overflow: auto; }
.lb-modal__close { position: absolute; top: 14px; right: 14px; z-index: 2; width: 34px; height: 34px; border-radius: 999px; border: 1px solid var(--border-hairline); background: rgba(0,0,0,0.5); color: var(--ink-soft); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all var(--dur-fast) var(--ease); }
.lb-modal__close:hover { border-color: var(--accent); color: var(--accent); }

.qr-modal { max-width: 420px; padding: 22px 22px 18px; }
.qr-modal .eyebrow { display: block; padding-right: 44px; }
.code-modal { max-width: 460px; padding: var(--space-4); }

.cookiebar { position: fixed; left: 16px; bottom: 16px; z-index: 70; max-width: 340px; background: var(--surface-1); border: 1px solid var(--border-hairline);
  padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 8px 30px rgba(0,0,0,0.4); }
.cookiebar__txt { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--ink-soft); }
.cookiebar__btn { align-self: flex-start; padding: 9px 18px; background: var(--accent); color: var(--canvas); border: 0; cursor: pointer;
  font-family: var(--font-body); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }
.cookiebar__btn:hover { opacity: 0.9; }
.cookiebar__mini { align-self: flex-start; text-align: left; background: none; border: 0; padding: 0; cursor: pointer; font-family: var(--font-body); font-size: 11px; color: var(--ink-muted); text-decoration: underline; text-underline-offset: 3px; }
.cookiebar__mini:hover { color: var(--ink-soft); }
.cookiebar__opts { display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--border-divider); padding-top: 12px; }
.cookiebar__opt { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; line-height: 1.5; color: var(--ink-soft); cursor: pointer; margin: 0; }
.cookiebar__opt input { margin: 2px 0 0; accent-color: var(--accent); flex: none; }
.cookiebar__btn--ghost { background: none; border: 1px solid var(--border-hairline); color: var(--ink-muted); }
.cookiebar__btn--ghost:hover { border-color: var(--accent); color: var(--ink-soft); opacity: 1; }
@media (max-width: 600px) { .cookiebar { left: 10px; right: 10px; bottom: calc(80px + env(safe-area-inset-bottom)); max-width: none; z-index: 90; } }
.share-modal { max-width: 420px; padding: var(--space-4); }
.share-modal__list { display: flex; flex-direction: column; gap: 8px; }
.share-modal__link { display: flex; align-items: center; justify-content: space-between; text-align: left; width: 100%; padding: 13px 16px; border: 1px solid var(--border-hairline); background: none; color: var(--ink-soft); font-family: var(--font-body); font-size: var(--body-m-size); cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.share-modal__link:hover { color: var(--accent); border-color: var(--accent); }


.share-fiche { display: flex; align-items: center; gap: 12px; width: 100%; margin-top: 14px; padding: 14px 16px; text-align: left;
  background: var(--surface-1); border: 1px solid var(--border-hairline); cursor: pointer; color: var(--ink-soft);
  font-family: var(--font-body); transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.share-fiche:hover { border-color: var(--accent); color: var(--ink-primary); }
.share-fiche__ic { flex: none; display: flex; color: var(--accent); }
.share-fiche__tx { flex: 1; font-size: var(--body-m-size); letter-spacing: 0.01em; }
.share-fiche__go { flex: none; color: var(--accent); }


.share-modal--rich { max-width: 432px; padding: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; position: relative; }

@media (max-height: 820px) {
  .share-modal--rich .share-card__media { aspect-ratio: auto; height: clamp(150px, 30vh, 320px); }
}
.share-modal__close { position: absolute; top: 12px; right: 12px; z-index: 3; color: #fff; background: rgba(0,0,0,0.45); border: 0; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-pill); cursor: pointer; }
.share-modal__close:hover { background: rgba(0,0,0,0.7); }
.share-card__media { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #000; }
.share-card__media .muted { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.share-card__situbg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.share-card__art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }

.share-card__media--fit { aspect-ratio: var(--r); height: auto; width: min(100%, calc(38vh * var(--r))); margin: 0 auto; }
.share-card__media--fit .share-card__situbg { object-fit: fill; }
@media (max-height: 820px) {
  .share-modal--rich .share-card__media--fit { aspect-ratio: var(--r); height: auto; }
}
.share-card__media .gallery__inframe { cursor: default; }
.share-card__body { padding: var(--space-3) var(--space-3) var(--space-2); }
.share-card__title { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--accent); margin: 8px 0 0; }
.share-card__dim { font-size: var(--body-s-size); color: var(--ink-soft); margin-top: 6px; letter-spacing: 0.02em; }
.share-foot { padding: 0 var(--space-3) var(--space-3); }
.share-foot .share-modal__list { margin-top: 4px; }
.work-pop { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 0; max-width: 880px; }
.work-pop__media { background: #000; padding: var(--space-3); display: flex; flex-direction: column; gap: 12px; }
.work-pop__img { flex: 1; min-height: 300px; background: #000; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.work-pop__img img { width: 100%; height: 100%; max-height: 56vh; object-position: center; }
.work-pop__img--contain img { object-fit: contain; }
.work-pop__body { padding: var(--space-4) var(--space-3); }
.work-pop__title { font-family: var(--font-display); font-size: var(--display-m-size); margin-top: 6px; }
.work-picker { max-width: 880px; padding: var(--space-3); }
.work-picker__head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-2); }
.work-picker__title { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); margin-top: 4px; }
.cat-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 20px; padding-top: 0; border-top: 0; }
.cat-bar__right { display: inline-flex; align-items: center; gap: 12px 16px; flex: 1 1 auto; flex-wrap: wrap; justify-content: flex-end; min-width: 0; }
.cat-search { display: inline-flex; align-items: center; gap: 8px; flex: 1 1 auto; min-width: 0; max-width: 320px; border: 1px solid var(--border-hairline); border-radius: var(--radius-pill); padding: 8px 14px; color: var(--ink-muted); transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.cat-search:focus-within { border-color: var(--accent); color: var(--accent); }
.cat-search > svg { flex: none; }
.cat-search__in { flex: 1; min-width: 0; background: none; border: 0; outline: none; color: var(--ink-primary); font-family: var(--font-body); font-size: var(--body-s-size); }
.cat-search__in::placeholder { color: var(--ink-muted); }
.cat-search__in::-webkit-search-cancel-button { display: none; }
.cat-search__clear { flex: none; background: none; border: 0; padding: 0; display: inline-flex; align-items: center; color: var(--ink-muted); cursor: pointer; transition: color var(--dur-fast) var(--ease); }
.cat-search__clear:hover { color: var(--accent); }
@media (max-width: 560px) {
  .cat-bar { flex-wrap: wrap; }
  .cat-search { max-width: none; flex-basis: 100%; order: -1; }
  .cat-bar__right { width: 100%; flex-direction: column; align-items: stretch; gap: 8px; }
  .cat-bar__count { align-self: flex-start; }
  
  .cat-format { width: 100%; flex: 1 1 auto; flex-wrap: wrap; gap: 6px; justify-content: flex-start; }
  .cat-format .cat-chip { flex: 1 1 0; min-width: 0; justify-content: center; padding: 9px 4px; gap: 5px; font-size: 11px; letter-spacing: 0.04em; }
  .cat-format .cat-chip__shape { width: 14px; height: 14px; }
  .cat-format .text-link { flex: 1 0 100%; text-align: center; padding-top: 2px; }
}
.cat-bar__count { font-size: var(--body-s-size); color: var(--ink-muted); font-variant-numeric: tabular-nums; }
.work-pop__btns { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; margin-top: 10px; }
.work-pop__btns .cat-card__fav--inline { margin: 0; }
.cat-card__actions { position: absolute; top: 10px; right: 10px; display: flex; gap: 6px; z-index: 2; }
.cat-card__actions .cat-card__fav { position: static; }
.cat-card__share { color: #fff; }

.cat-card--locked { cursor: pointer; }
.cat-card--locked .cat-card__media { position: relative; overflow: hidden; }
.cat-card__blur { filter: blur(18px) brightness(0.6); transform: scale(1.1); }
.cat-card__lock { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--accent); text-align: center; }
.cat-card__lock-lbl { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-primary); }
.cat-chip:disabled { opacity: 0.3; cursor: not-allowed; }
.cat-chip:disabled:hover { border-color: var(--border-hairline); }
@media (max-width: 680px) {
}

.title-pick { width: 100%; text-align: left; display: flex; align-items: center; gap: 14px; background: var(--accent); border: 1px solid var(--accent); border-radius: 0; padding: 12px 16px; color: var(--canvas); cursor: pointer; transition: background var(--dur-fast) var(--ease); font-family: var(--font-body); }
.title-pick__peek { display: flex; flex: none; align-items: center; }
.title-pick__thumb { width: 46px; height: 46px; flex: none; overflow: hidden; border: 1.5px solid var(--accent); outline: 1px solid rgba(0,0,0,0.25); background: #000; margin-left: -14px; }
.title-pick__thumb:first-child { margin-left: 0; }
.title-pick__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.title-pick__main { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.title-pick__txt { font-weight: 600; font-size: 14px; letter-spacing: 0.04em; line-height: 1.25; }
.title-pick__sub { font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.78); }
.title-pick:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.title-pick:hover .title-pick__thumb { border-color: var(--accent-hover); }
.title-pick.input--invalid { border-color: var(--accent); outline: 1px solid var(--accent); }
.title-pick__chev { color: var(--canvas); font-size: 20px; }
.gamme-buybox { display: flex; flex-direction: column; min-width: 0; }

.gamme-buybox { gap: 20px; }
.gamme-buybox > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.gamme-buybox .format-list { margin: 14px 0 0; }
.gamme-buybox .title-field { order: -1; margin-top: 0; margin-bottom: 0; }
.selwork { display: flex; flex-direction: column; gap: 12px; align-items: stretch; border: 1px solid var(--accent); border-radius: 0; padding: 12px; background: var(--surface-1); }
.selwork__top { display: flex; gap: 12px; align-items: stretch; min-width: 0; }
.selwork__media { width: 132px; aspect-ratio: 1 / 1; height: auto; flex: none; align-self: flex-start; background: #000; border: 0; padding: 0; cursor: pointer; overflow: hidden; }
.selwork__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.selwork__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.selwork__name { font-family: var(--font-display); font-size: 18px; color: var(--accent); text-align: left; }

.selwork__peek { display: flex; align-items: flex-end; gap: 8px; margin-top: auto; min-width: 0; }
.selwork__peekrow { display: flex; gap: 8px; overflow-x: auto; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; flex: 1; min-width: 0; }
.selwork__peekrow::-webkit-scrollbar { display: none; }
.selwork__peekthumb { width: 52px; height: 52px; flex: none; overflow: hidden; border: 1px solid var(--accent); outline: 1px solid rgba(0,0,0,0.25); background: #000; padding: 0; cursor: pointer; transition: border-color var(--dur-fast) var(--ease); }
.selwork__peekthumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.selwork__peekthumb:hover { border-color: var(--accent-hover); }
.selwork__peeknext { width: 52px; height: 52px; flex: none; display: flex; align-items: center; justify-content: center; border: 1px solid var(--accent); border-radius: 999px; background: none; color:sition: border-color var(--dur-fast) var(--ease); }
.selwork__peekthumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.selwork__peekthumb:hover { border-color: var(--accent-hover); }
.selwork__peeknext { width: 40px; height: 40px; flex: none; display: flex; align-items: center; justify-content: center; border: 1px solid var(--accent); border-radius: 999px; background: none; color: var(--accent); font-size: 16px; line-height: 1; cursor: pointer; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.selwork__peeknext:hover { background: var(--accent); color: var(--canvas); }

.selwork__browse { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 48px; padding: 12px 16px; background: transparent; border: 1px solid var(--accent); border-radius: 0; color: var(--accent); font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.selwork__browse:hover { background: var(--accent); color: var(--canvas); }
.selwork__browse .arr { font-size: 15px; }
@media (max-width: 680px) {
}
@media (max-width: 680px) { }

@media print {
}
.gamme-head__topline { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
@media (max-width: 680px) { .work-pop { grid-template-columns: 1fr; } }


.fiche td.gain { color: #3E7D46; font-weight: 600; }


.lease-cond { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.lease-cond li { display: flex; align-items: flex-start; gap: 14px; font-size: var(--body-m-size); line-height: 1.5; color: var(--ink-soft); }
.lease-cond__num { flex: none; width: 26px; height: 26px; border-radius: var(--radius-pill); border: 1px solid var(--accent);
  color: var(--accent); display: inline-flex; align-items: center; justify-content: center; font-size: 13px;
  font-variant-numeric: tabular-nums; margin-top: 1px; }
.lease-dossier { display: flex; align-items: flex-start; gap: 12px; margin-top: 18px; padding-top: 16px;
  border-top: 1px solid var(--border-divider); font-size: var(--body-s-size); line-height: 1.55; color: var(--ink-soft); }
.lease-dossier svg { flex: none; color: var(--accent); margin-top: 1px; }


.lease-panel { display: flex; flex-direction: column; gap: var(--space-4); }
.lease-sim { display: flex; flex-direction: column; gap: var(--space-4); }
.lease-cta-wrap .btn { width: 100%; }
.lease-step-group { display: flex; flex-direction: column; gap: 12px; }
.lease-sim > .lease-step-group + .lease-step-group { margin-top: var(--space-4); }
.lease-step { display: flex; align-items: center; gap: 12px; }
.lease-step__num { flex: none; width: 30px; height: 30px; border-radius: var(--radius-pill); border: 1px solid var(--accent-muted);
  color: var(--accent); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display);
  font-size: 15px; font-variant-numeric: tabular-nums; line-height: 1; }
.lease-step__txt { font-size: var(--eyebrow-size); font-weight: var(--eyebrow-weight); letter-spacing: var(--eyebrow-tracking);
  text-transform: uppercase; color: var(--ink-soft); }


.lease-synth { border: 1px solid var(--accent-muted); background: var(--surface-1); }
.lease-synth__hero { padding: var(--space-3) var(--space-3) var(--space-2); border-bottom: 1px solid var(--border-divider); }
.lease-synth__rent { font-family: var(--font-display); font-size: var(--display-l-size); line-height: 1; color: var(--ink-primary);
  font-variant-numeric: tabular-nums; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.lease-synth__rentunit { font-family: var(--font-body); font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); }
.lease-synth__ctx { margin-top: 12px; font-size: var(--body-s-size); color: var(--ink-muted); letter-spacing: 0.01em; }
.lease-synth__rows { margin: 0; padding: var(--space-2) var(--space-3); display: flex; flex-direction: column; gap: 0; }
.lease-synth__row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2); padding: 11px 0; border-bottom: 1px solid var(--border-divider); }
.lease-synth__row:last-child { border-bottom: 0; }
.lease-synth__row dt { font-size: var(--body-s-size); color: var(--ink-soft); letter-spacing: 0.02em; }
.lease-synth__row dd { margin: 0; font-family: var(--font-display); font-size: 19px; color: var(--ink-primary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.lease-synth__row dd small { font-family: var(--font-body); font-size: 10px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); margin-left: 6px; }
.lease-synth__row--save dd { color: var(--accent); }
.lease-synth__net { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); flex-wrap: wrap;
  padding: var(--space-2) var(--space-3); background: var(--surface-2); border-top: 1px solid var(--accent-muted); }
.lease-synth__netlabel { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; line-height: 1.3; text-transform: uppercase; color: var(--ink-soft); max-width: none; }
.lease-synth__netval { font-family: var(--font-display); font-size: var(--display-s-size); line-height: 1; color: var(--accent); font-variant-numeric: tabular-nums; display: inline-flex; align-items: baseline; gap: 10px; }
.lease-synth__netwas { font-size: var(--body-m-size); color: var(--ink-muted); text-decoration: line-through; }
.lease-synth__pts { list-style: none; margin: 0; padding: var(--space-2) var(--space-3) var(--space-3); display: flex; flex-direction: column; gap: 10px; }
.lease-synth__pts li { position: relative; padding-left: 26px; font-size: var(--body-s-size); line-height: 1.45; color: var(--ink-soft); }
.lease-synth__pts li::before { content: ""; position: absolute; left: 0; top: 6px; width: 11px; height: 6px;
  border-left: 1.5px solid var(--accent); border-bottom: 1.5px solid var(--accent); transform: rotate(-45deg); }


.lease-media { margin: var(--space-3) 0 0; max-width: 600px; }


.lease-dur { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.lease-dur__opt { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  min-height: 88px; padding: 14px 8px; background: transparent; cursor: pointer; text-align: center;
  border: 1px solid var(--border-hairline); border-radius: var(--radius-1); color: var(--ink-soft);
  transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.lease-dur__opt.is-active { border-color: var(--accent); background: var(--surface-1); color: var(--ink-primary); }
.lease-dur__opt:not(.is-active):hover { border-color: var(--accent-hover); }
.lease-dur__mo { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); }
.lease-dur__amt { font-family: var(--font-display); font-size: 19px; line-height: 1.05; display: flex; flex-direction: column; align-items: center; gap: 3px; font-variant-numeric: tabular-nums; }
.lease-dur__opt.is-active .lease-dur__amt { color: var(--accent); }
.lease-dur__unit { font-family: var(--font-body); font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }
@media (max-width: 720px) { .lease-dur { gap: 6px; } .lease-dur__opt { min-height: 80px; padding: 12px 4px; } .lease-dur__amt { font-size: 16px; } }


.lease-step--scene { margin: 0; }


.detail--lease { display: block; }
.detail--lease .scene-col { gap: 12px; }
.detail--lease .lease-panel { margin-top: var(--space-4); }



.specs-mob { display: none; }
@media (max-width: 860px) { .specs-mob { display: block; } .specs-desk { display: none; } }
.cq { border: 1px solid var(--border-hairline); padding: 20px; margin-bottom: 14px; }
.cq__q { font-family: var(--font-display); font-size: 19px; line-height: 1.35; color: var(--ink-primary); }
.cercle-panel { position: relative; background: var(--surface-1); border: 1px solid var(--border-hairline); padding: 36px 32px 32px; max-width: 460px; width: 100%; max-height: 90vh; overflow: auto; }
@media (max-width: 520px) { .lb-modal { padding: 14px; } .cercle-panel { padding: 46px 18px 22px; max-height: calc(100dvh - 28px); } .cercle-panel__title { font-size: 22px; } .btn--sentence { font-size: 12.5px; padding-left: 14px; padding-right: 14px; } }
.cercle-panel__title { font-family: var(--font-display); font-weight: 400; font-size: 26px; line-height: 1.2; margin: 10px 0 0; color: var(--ink-primary); }
.cercle-count { display: inline-block; font-size: 13px; color: var(--ink-soft); font-variant-numeric: tabular-nums; letter-spacing: 0.04em; }
.cercle-nextdrop { display: flex; flex-direction: column; gap: 6px; }
.cercle-nextdrop--card { border-top: 1px solid var(--border-divider); padding-top: 14px; }
.cercle-status { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); border: 1px solid var(--border-hairline); padding: 6px 12px; }
.cercle-status.is-on { color: var(--accent); border-color: var(--accent); }
.cercle-status.is-mid { color: var(--ink-soft); border-color: rgba(212, 197, 169, 0.35); }
.cercle-preview { display: flex; gap: 14px; align-items: center; margin-top: 10px; }
.cercle-preview img { width: 64px; height: 64px; object-fit: cover; border: 1px solid var(--border-hairline); display: block; }
.cercle-preview__t { font-size: 16px; }

.btn--sentence { text-transform: none; letter-spacing: 0.02em; font-size: 13px; font-weight: 600; line-height: 1.45; text-align: left; justify-content: flex-start; padding-top: 14px; padding-bottom: 14px; }
.btn--sentence .arrow, .btn--sentence svg:last-child { margin-left: auto; }
.btn__ico { flex: none; }


.lease-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-4); align-items: start; margin-top: var(--space-3); }
.lease-body__left { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.lease-body__left .lease-media { margin: 0; max-width: none; }
.lease-body__left .lease-desc { margin: 0; }
.lease-body > .detail--lease { margin-top: 0; }
.lease-body > .detail--lease .lease-panel { margin-top: var(--space-4); }
@media (max-width: 980px) {
  .lease-body { display: block; }
  .lease-body__left { gap: var(--space-4); }
  .lease-body > .detail--lease { margin-top: var(--space-4); }
}
.lease-fmt { display: flex; flex-direction: column; gap: var(--space-3); }
.lease-fmt__scene { max-width: none; width: 100%; margin: 0; }
.lease-fmt__scene .scene-frame { padding: 0; }

.lease-giant { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  aspect-ratio: 820 / 520; width: 100%; border: 1px solid var(--accent-muted); background: var(--surface-1); padding: var(--space-3); text-align: center; }
.lease-giant__ey { font-family: var(--font-display); font-size: var(--display-s-size); line-height: 1.15; color: var(--accent); }
.lease-giant__t { font-size: var(--body-s-size); line-height: 1.55; color: var(--ink-muted); max-width: 42ch; }
.format-opt--giant .format-opt__name { color: var(--accent); }
.lease-fmt__choices { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.lease-fmt__choices .format-list { margin: 0; border-top: 0; border: 1px solid var(--border-hairline); }
.lease-fmt__choices .format-opt { padding: 15px 16px; border-bottom: 1px solid var(--border-divider); }
.lease-fmt__choices .format-opt:last-child { border-bottom: 0; }
.lease-fmt__choices .format-opt .grow { flex: 1; min-width: 0; }
.lease-fmt__choices .format-opt__name { font-size: var(--body-l-size); font-variant-numeric: tabular-nums; }
.lease-fmt__choices .format-opt__price { font-family: var(--font-display); font-size: 18px; color: var(--accent); }
@media (max-width: 860px) { .detail--lease .lease-panel { margin-top: var(--space-4); } }
.seg--orient { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; }
.seg--orient button { padding: 13px 8px; font-size: 11px; letter-spacing: 0.14em; }
.seg--orient button:disabled { opacity: 0.32; cursor: not-allowed; }
.seg--orient button + button { border-left: 1px solid var(--border-hairline); }
@media (max-width: 720px) {
}

.lease-desc { margin: var(--space-3) 0 0; max-width: 80ch; }
.lease-desc__title { font-family: var(--font-display); font-size: var(--display-m-size); line-height: 1.15; margin-bottom: 14px; }
.lease-desc__text { color: var(--ink-soft); font-size: var(--body-l-size); line-height: 1.65; }
.lease-desc__text--short { display: none; }
@media (max-width: 720px) { .lease-desc__text--full { display: none; } .lease-desc__text--short { display: block; } }
.lease-faq { margin: var(--space-5) 0 var(--space-4); }
.lease-faq__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(26px, 3.4vw, var(--display-m-size)); line-height: 1.18; margin: 12px 0 var(--space-4); }
.lease-faq__list { display: flex; flex-direction: column; border-top: 1px solid var(--border-divider); }
.lease-faq__item { border-bottom: 1px solid var(--border-divider); }
.lease-faq__q { list-style: none; cursor: pointer; display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-2);
  padding: var(--space-2) 0; font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); color: var(--ink-primary); }
.lease-faq__q::-webkit-details-marker { display: none; }
.lease-faq__q::after { content: "+"; color: var(--accent); font-family: var(--font-body); font-size: 22px; line-height: 1; flex: none; transition: transform var(--dur-fast) var(--ease); }
.lease-faq__item[open] .lease-faq__q::after { content: "−"; }
.lease-faq__a { color: var(--ink-soft); font-size: var(--body-l-size); line-height: 1.6; margin: 0 0 var(--space-2); max-width: 70ch; padding-right: var(--space-3); }
.lease-cta-final { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap;
  margin-top: var(--space-4); padding: var(--space-3); border: 1px solid var(--accent); border-radius: var(--radius-1); background: var(--surface-1); }
.lease-cta-final__title { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); margin-bottom: 6px; }
.lease-cta-final__sub { color: var(--ink-soft); font-size: var(--body-s-size); line-height: 1.55; max-width: 60ch; margin: 0; }


.sim-grid { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: var(--space-4); align-items: start; }
.sim-grid > * { min-width: 0; }
@media (max-width: 980px) { .sim-grid { grid-template-columns: 1fr; } }
.kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); gap: 2px; border: 1px solid var(--border-hairline); }
.kpi { padding: 18px; background: var(--surface-1); }
.kpi__label { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); }
.kpi__val { font-family: var(--font-display); font-size: var(--display-s-size); margin-top: 8px; }
.kpi__val--accent { color: var(--accent); }
.lease-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.lease-table th, .lease-table td { padding: 12px 10px; text-align: right; font-size: 13px; border-bottom: 1px solid var(--border-divider); }
.lease-table th { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; }
.lease-table th:first-child, .lease-table td:first-child { text-align: left; }
.lease-table tr.is-sel td { background: rgba(212,197,169,0.08); color: var(--ink-primary); }
.lease-table .neg { color: var(--ink-muted); }


.crumbs { display: flex; gap: 10px; align-items: center; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); padding: var(--space-2) 0 0; }
.crumbs button:hover { color: var(--accent); }
.empty { text-align: center; padding: var(--space-5) var(--space-2); color: var(--ink-muted); }
.toast { position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%); background: var(--surface-2);
  border: 1px solid var(--accent-muted); color: var(--ink-primary); padding: 14px 24px; z-index: 200;
  font-size: 13px; letter-spacing: 0.04em; animation: toastIn var(--dur-medium) var(--ease); border-radius: var(--radius-1); }
@keyframes toastIn { from { opacity: 0; transform: translateX(-50%) translateY(12px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }

.fade-in { animation: fadeIn var(--dur-slow) var(--ease); }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }


@media print {
  @page { size: A4; margin: 12mm; }
  html, body { background: #fff !important; width: auto !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; }
  .no-print { display: none !important; }
  
  body * { max-width: 100% !important; }
.app,[class*="wrap"],[class*="checkout"],[class*="page-main"],[class*="cart"],[class*="container"]{
    max-width: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; transform: none !important; overflow: visible !important; float: none !important; }
  .devis-doc { padding: 0 !important; max-width: none !important; width: 100% !important; margin: 0 0 8mm !important; font-size: 12px; color: #000; box-sizing: border-box; }
  .devis-doc h1 { font-size: 22px; }
  .devis-doc h2, .devis-doc h3 { font-size: 15px; }
  .devis-head { display: flex !important; flex-wrap: wrap; gap: 12px; }
  .devis-head > * { min-width: 0 !important; flex: 1 1 100%; width: 100%; }
  .devis-head__meta { text-align: right !important; }
  .devis-table { width: 100% !important; table-layout: fixed !important; border-collapse: collapse; }
  .devis-table th, .devis-table td { padding: 6px 4px; font-size: 10px; word-break: break-word; overflow-wrap: anywhere; }
  .devis-table th:nth-child(1), .devis-table td:nth-child(1) { width: 24%; }
  .devis-table th:nth-child(2), .devis-table td:nth-child(2) { width: 13%; }
  .devis-table th:nth-child(3), .devis-table td:nth-child(3) { width: 7%; }
  .devis-table th:nth-child(n+4), .devis-table td:nth-child(n+4) { width: 14%; }
  .devis-table .t-art { white-space: normal; }
  .devis-totals { width: 60% !important; margin-left: auto; }
  .devis-legal { font-size: 9.5px; line-height: 1.45; }
  .print-page { page-break-after: always; }
  .print-page:last-child { page-break-after: auto; }
  .devis-doc, .devis-table, .devis-totals, .devis-sign, .devis-legal { page-break-inside: avoid; }
  tr { page-break-inside: avoid; }
}


@media (max-width: 560px) {
  .devis-doc { padding: 22px 18px; }
  .devis-head { flex-direction: column; gap: 16px; }
  .devis-head > * { width: 100%; }
  .devis-head__meta { text-align: right !important; }
  .devis-table { table-layout: fixed; width: 100%; }
  .devis-table th, .devis-table td { padding: 7px 3px; font-size: 10px; word-break: break-word; overflow-wrap: anywhere; }
  .devis-table th { font-size: 8px; letter-spacing: 0.04em; }
  .devis-table th:nth-child(1), .devis-table td:nth-child(1) { width: 22%; }
  .devis-table th:nth-child(2), .devis-table td:nth-child(2) { width: 13%; }
  .devis-table th:nth-child(3), .devis-table td:nth-child(3) { width: 7%; }
  .devis-table th:nth-child(n+4), .devis-table td:nth-child(n+4) { width: 14.5%; }
  .devis-table .t-finish { font-size: 8.5px; }
  .devis-totals { width: 100%; }
  .devis-totals .tt-row--grand { font-size: 17px; }
  .devis-sign { grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
}


.welcome { position: fixed; inset: 0; z-index: 1200; background: var(--canvas); color: var(--ink-primary);
  display: flex; flex-direction: column; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.welcome__bg { position: fixed; inset: 0; z-index: 0; overflow: hidden; }
.welcome__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.3s cubic-bezier(0.4, 0, 0.2, 1); will-change: opacity; }
.welcome__slide.is-active { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  
  .welcome__slide img, .welcome__slide image-slot { transform: scale(1.04); }
  .welcome__slide--current img, .welcome__slide--current image-slot { animation: welcomeKen 9s linear forwards; }
  @keyframes welcomeKen { from { transform: scale(1.04); } to { transform: scale(1.16); } }
}
.welcome__slide image-slot { width: 100%; height: 100%; display: block; }
.welcome__scrim { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, rgba(0,0,0,0.86) 0%, rgba(0,0,0,0.62) 38%, rgba(0,0,0,0.30) 66%, rgba(0,0,0,0.55) 100%); }

.welcome__bar { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between;
  padding: clamp(18px, 3vw, 34px) clamp(20px, 5vw, 64px); }
.welcome__brand { font-family: var(--font-display); font-size: clamp(15px, 1.4vw, 19px); letter-spacing: 0.16em; color: var(--ink-primary); }
.welcome__dots { display: flex; gap: 9px; }
.welcome__dot { width: 26px; height: 2px; border: 0; padding: 0; cursor: pointer; background: rgba(255,255,255,0.28);
  transition: background var(--dur-fast) var(--ease); }
.welcome__dot.is-active { background: var(--accent); }

.welcome__inner { position: relative; z-index: 2; margin-top: auto; width: 100%;
  display: flex; flex-direction: column; gap: clamp(28px, 4vw, 52px);
  padding: clamp(28px, 5vw, 72px) clamp(20px, 5vw, 64px) clamp(34px, 5vw, 64px); }
.welcome__copy { max-width: min(760px, 64vw); }
.welcome__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--accent); margin-bottom: 18px; }
.welcome__title { font-family: var(--font-display); font-weight: 400; color: var(--ink-primary);
  font-size: clamp(28px, 3.6vw, 50px); line-height: 1.12; letter-spacing: -0.01em; text-wrap: balance; }
.welcome__value { margin-top: 18px; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.5;
  color: var(--ink-soft, #d8d2c6); max-width: 54ch; }
.welcome__benefits { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; max-width: 56ch; }
.welcome__benefits li { display: flex; align-items: flex-start; gap: 11px; color: var(--ink-soft, #d8d2c6); font-size: clamp(14px, 1.3vw, 16px); line-height: 1.4; }
.welcome__benefits svg { flex: none; color: var(--accent); margin-top: 1px; }
.welcome__formhead { font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 16px; }

.welcome__form { width: 100%; max-width: 760px; }
.welcome__fields { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: clamp(14px, 2vw, 26px); }
.welcome__field { display: flex; flex-direction: column; gap: 9px; }
.welcome__field > span { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft, #b8b1a4); }
.welcome__input { background: transparent; border: 0; border-bottom: 1px solid rgba(212,197,169,0.4);
  color: var(--ink-primary); font-size: clamp(15px, 1.4vw, 18px); padding: 8px 2px; outline: none; border-radius: 0;
  transition: border-color var(--dur-fast) var(--ease); }
.welcome__input::placeholder { color: rgba(255,255,255,0.32); }
.welcome__input:focus { border-bottom-color: var(--accent); }
.welcome__input.is-err { border-bottom-color: var(--ink-soft, #b8b1a4); }
.welcome__cta { margin-top: clamp(22px, 3vw, 34px); display: inline-flex; align-items: center; gap: 12px; white-space: nowrap;
  background: var(--ink-primary); color: var(--canvas); border: 0; cursor: pointer; border-radius: var(--radius-pill);
  font-family: var(--font-body); font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  padding: 16px 30px; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.welcome__cta:hover { background: var(--accent); color: var(--canvas); }
.welcome__cta svg { transition: transform var(--dur-fast) var(--ease); }
.welcome__cta:hover svg { transform: translateX(3px); }
.welcome__note { margin-top: 16px; font-size: var(--body-s-size); color: var(--ink-soft, #b8b1a4); max-width: 52ch; }
.welcome__login { margin-top: 14px; background: transparent; border: 0; border-bottom: 1px solid var(--accent-muted); padding: 4px 0; cursor: pointer; color: var(--accent); font-size: 13px; transition: border-color var(--dur-fast) var(--ease); }
.welcome__login:hover { border-bottom-color: var(--accent); }
.welcome-login-overlay { position: fixed; inset: 0; z-index: 60; background: var(--canvas); overflow-y: auto; }
.welcome-login-overlay__bar { padding: 16px clamp(16px, 5vw, 48px) 0; }
.welcome__artiste { position: absolute; bottom: 14px; right: clamp(20px, 5vw, 64px); z-index: 3;
  background: transparent; border: 0; cursor: pointer; color: rgba(255,255,255,0.4); font-size: 11px;
  letter-spacing: 0.12em; text-transform: uppercase; transition: color var(--dur-fast) var(--ease); }
.welcome__artiste:hover { color: var(--accent); }

@media (max-width: 720px) {
  .welcome__copy { max-width: 100%; }
  .welcome__fields { grid-template-columns: 1fr; }
  .welcome__title { font-size: clamp(25px, 7vw, 34px); }
  .welcome__cta { width: 100%; justify-content: center; }
}



.scarcity-note { display: flex; align-items: flex-start; gap: 12px; margin-top: 12px; padding: 14px 16px;
  border: 1px solid var(--accent); border-radius: var(--radius-1); background: rgba(212, 197, 169, 0.08);
  color: var(--ink-soft); font-size: var(--body-s-size); line-height: 1.55; }
.scarcity-note--plain { border: 0; background: transparent; padding: 0; }
.scarcity-note svg { flex: none; width: 22px; height: 22px; color: var(--accent); margin-top: 1px; }
.scarcity-note strong { color: var(--ink-primary); }
@media (prefers-reduced-motion: no-preference) {
  .scarcity-note svg { animation: scarcity-tick 1.8s var(--ease) infinite; }
}
@keyframes scarcity-tick { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
.acq-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.acq-opt { display: flex; gap: 12px; align-items: flex-start; text-align: left; cursor: pointer;
  border: 1px solid var(--border-hairline); border-radius: var(--radius-1); padding: 16px; background: transparent;
  transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.acq-opt:hover { border-color: var(--accent); }
.acq-opt.is-on { border-color: var(--accent); background: var(--surface-1); }
.acq-opt__radio { flex: none; width: 18px; height: 18px; margin-top: 2px; border-radius: 999px;
  border: 1px solid var(--border-active); position: relative; transition: all var(--dur-fast) var(--ease); }
.acq-opt.is-on .acq-opt__radio { border-color: var(--accent); }
.acq-opt.is-on .acq-opt__radio::after { content: ""; position: absolute; inset: 3px; border-radius: 999px; background: var(--accent); }
.acq-opt__body { display: flex; flex-direction: column; gap: 5px; }
.acq-opt__title { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); line-height: 1.2; }
.acq-opt__desc { font-size: var(--body-s-size); color: var(--ink-soft); line-height: 1.5; }
@media (max-width: 720px) { .acq-choice { grid-template-columns: 1fr; } }
.reserve-banner { display: flex; align-items: center; gap: 18px; padding: 16px 18px; border: 1px solid var(--accent);
  border-radius: var(--radius-1); background: var(--surface-1); margin-bottom: 18px; flex-wrap: wrap; }
.reserve-banner__body { flex: 1; min-width: 220px; }
.reserve-banner__title { font-size: var(--body-m-size); color: var(--ink-primary); margin-bottom: 4px; }
.reserve-banner__txt { font-size: var(--body-s-size); color: var(--ink-soft); line-height: 1.5; }
.mesdevis-row--reserve { border: 1px solid var(--accent); border-radius: var(--radius-1); padding: 14px 16px; background: var(--surface-1); }
.mesdevis-row--offer { border: 1px solid var(--accent); border-radius: var(--radius-1); padding: 14px 16px; background: var(--surface-1); }
.mesdevis-row--expired { border: 1px solid var(--border-divider); border-radius: var(--radius-1); padding: 14px 16px; opacity: 0.62; }
.mesdevis-row--expired .mesdevis-row__title { text-decoration: line-through; text-decoration-color: var(--ink-muted); }
.offer-banner { border-color: var(--accent); }
.offer-urgency { display: flex; flex-direction: column; gap: 4px; margin: 0 0 14px; padding: 12px 14px; border: 1px solid var(--accent); border-radius: var(--radius-1); background: var(--surface-1); }
.offer-urgency strong { color: var(--ink-primary); font-size: var(--body-s-size); }
.offer-urgency__cd { color: var(--accent); font-size: var(--body-s-size); font-variant-numeric: tabular-nums; }
.offer-urgency--urgent { animation: onlinePulse 1.4s var(--ease) infinite; }
.mesdevis-row--await { border: 1px dashed var(--accent-muted); border-radius: var(--radius-1); padding: 14px 16px; }
.reserve-pill { display: inline-block; margin-left: 10px; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--canvas); background: var(--accent); border-radius: var(--radius-pill); padding: 3px 9px; vertical-align: middle; font-variant-numeric: tabular-nums; }
.reserve-pill--urgent { animation: onlinePulse 1.4s var(--ease) infinite; }

.reserve-banner--urgent { border-width: 1px; }
.reserve-countdown { flex: none; min-width: 200px; }
.reserve-countdown__label { font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 6px; }
.reserve-countdown__clock { display: flex; align-items: baseline; gap: 4px; color: var(--accent); }
.rc-unit { display: inline-flex; flex-direction: column; align-items: center; }
.rc-unit b { font-family: var(--font-display); font-size: 26px; line-height: 1; font-variant-numeric: tabular-nums; }
.rc-unit i { font-style: normal; font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); margin-top: 3px; }
.rc-sep { font-family: var(--font-display); font-size: 22px; line-height: 1; color: var(--accent-muted); }
.reserve-banner--urgent .reserve-countdown__clock { animation: onlinePulse 1.4s var(--ease) infinite; }
.reserve-banner__decline { margin-top: 10px; background: none; border: 0; padding: 0; cursor: pointer;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); border-bottom: 1px solid transparent; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.reserve-banner__decline:hover { color: var(--ink-soft); border-bottom-color: var(--ink-muted); }
.reserve-split { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--border-divider); }
.reserve-split__tag { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }


.reserve-confirm { position: relative; border: 1px solid var(--accent); border-radius: var(--radius-1);
  background: var(--surface-1); padding: 16px 18px; margin-bottom: 16px; }
.reserve-confirm__close { position: absolute; top: 10px; right: 10px; width: 26px; height: 26px; display: inline-flex;
  align-items: center; justify-content: center; border-radius: 50%; border: 1px solid var(--border-hairline);
  background: transparent; color: var(--ink-muted); cursor: pointer; transition: all var(--dur-fast) var(--ease); }
.reserve-confirm__close:hover { border-color: var(--accent); color: var(--accent); }
.reserve-confirm__eyebrow { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; padding-right: 28px; }
.reserve-confirm__amount { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); font-variant-numeric: tabular-nums; }
.reserve-confirm__amount small { font-family: var(--font-body); font-size: 12px; color: var(--ink-muted); margin-left: 6px; }
.reserve-confirm__note { font-size: var(--body-s-size); color: var(--ink-soft); line-height: 1.5; margin-top: 8px; }
.artpage__sig { font-family: var(--font-display); font-style: italic; color: var(--accent);
  font-size: clamp(18px, 2.2vw, 24px); line-height: 1.4; max-width: 52ch; margin: var(--space-3) 0 0; }
.artpage__h2 { font-family: var(--font-display); font-weight: 400; color: var(--ink-primary);
  font-size: clamp(26px, 3.4vw, var(--display-m-size)); line-height: 1.18; max-width: 24ch; margin: 12px 0 var(--space-4); }
.refmarquee { margin-top: var(--space-4); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.refmarquee__track { display: flex; gap: var(--space-2); width: max-content; animation: refmarquee 60s linear infinite; }
.refmarquee:hover .refmarquee__track { animation-play-state: paused; }
.refmarquee__cell { flex: none; width: 200px; height: 200px; background: #000; border: 1px solid var(--border-hairline); }
.refmarquee__cell img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
@keyframes refmarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .refmarquee__track { animation: none; } }
.artpage__faq { border-top: 1px solid var(--border-divider); }
.artpage__faq details { border-bottom: 1px solid var(--border-divider); padding: var(--space-2) 0; }
.artpage__faq summary { cursor: pointer; list-style: none; font-family: var(--font-display);
  font-size: clamp(18px, 2.2vw, 22px); color: var(--ink-primary); display: flex; justify-content: space-between;
  gap: var(--space-2); align-items: baseline; }
.artpage__faq summary::-webkit-details-marker { display: none; }
.artpage__faq summary::after { content: "+"; color: var(--accent); font-family: var(--font-body); font-size: 22px; line-height: 1; flex: none; }
.artpage__faq details[open] summary::after { content: "\2013"; }
.artpage__faq-a { margin: var(--space-2) 0 0; color: var(--ink-soft); max-width: 70ch; }

.prod-specs { border-top: 1px solid var(--border-divider); margin-top: var(--space-4); padding-top: var(--space-5); }
.prod-specs__cols { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: var(--space-4); align-items: start; }
.prod-specs__title { font-family: var(--font-display); font-weight: 400; font-size: var(--display-m-size); line-height: var(--display-m-lh); color: var(--ink-primary); margin: var(--space-2) 0 0; }
.prod-specs__blocks { display: flex; flex-direction: column; gap: var(--space-3); }
.prod-specs__block { }
.prod-specs__h { font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); margin: 0 0 8px; }
.prod-specs__p { color: var(--ink-soft); font-size: var(--body-s-size); line-height: 1.6; margin: 0; max-width: 64ch; }
.frame-mockup { position: relative; width: 100%; margin-top: var(--space-3); overflow: hidden; background: transparent; }
.frame-mockup__frame { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; }
.frame-mockup__art { position: absolute; top: 0; left: 0; object-fit: fill; will-change: transform; max-width: none; }
@media (max-width: 820px) { }
.frame-comp { position: relative; width: 100%; overflow: hidden; background: transparent; }
.prod-specs__intro .frame-comp { margin-top: var(--space-2); }
.frame-comp__art { position: absolute; top: 0; left: 0; object-fit: fill; will-change: transform; max-width: none; filter: brightness(0.86) contrast(1.04) saturate(0.95); }
.frame-comp__grain { position: absolute; top: 0; left: 0; pointer-events: none; max-width: none; mix-blend-mode: soft-light; opacity: 0.5; }
.frame-comp__frame { position: absolute; display: block; pointer-events: none; max-width: none; }
.prod-faq { margin-top: var(--space-5); border-top: 1px solid var(--border-divider); padding-top: var(--space-4); }
.prod-faq__list { margin-top: var(--space-2); }
.prod-faq__item { border-bottom: 1px solid var(--border-divider); padding: var(--space-2) 0; }
.prod-faq__q { cursor: pointer; list-style: none; font-family: var(--font-display); font-weight: 400; font-size: clamp(17px, 2vw, 21px); color: var(--ink-primary); display: flex; justify-content: space-between; gap: var(--space-2); align-items: baseline; }
.prod-faq__q::-webkit-details-marker { display: none; }
.prod-faq__q::after { content: "+"; color: var(--accent); font-family: var(--font-body); font-size: 22px; line-height: 1; flex: none; }
.prod-faq__item[open] .prod-faq__q::after { content: "\2013"; }
.prod-faq__a { margin: var(--space-2) 0 0; color: var(--ink-soft); font-size: var(--body-s-size); line-height: 1.6; max-width: 72ch; }
@media (max-width: 860px) { .prod-specs__cols { grid-template-columns: 1fr; gap: var(--space-3); } }
@media (max-width: 860px) { }
@media (max-width: 860px) {
}
.cc-system { align-self: center; text-align: center; font-size: 11px; letter-spacing: 0.04em; color: var(--ink-muted); padding: 6px 10px; }
@media (max-width: 880px) {
}

.push-row { display: flex; align-items: flex-start; gap: 14px; cursor: pointer; padding: 4px 0; }
.push-row--main { padding-bottom: 4px; }
.push-switch { flex: none; width: 42px; height: 24px; border-radius: var(--radius-pill); border: 1px solid var(--border-active);
  background: var(--surface-2); position: relative; transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); margin-top: 1px; }
.push-switch.is-on { background: var(--accent); border-color: var(--accent); }
.push-switch__dot { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--ink-muted);
  transition: transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.push-switch.is-on .push-switch__dot { transform: translateX(18px); background: var(--canvas); }
.push-row__txt { display: flex; flex-direction: column; gap: 2px; }
.push-row__hint { font-size: 11px; color: var(--ink-muted); line-height: 1.45; }
@keyframes aiBlink { 0%, 60%, 100% { opacity: 0.25; } 30% { opacity: 1; } }
@media (max-width: 480px) { }
@media (max-width: 700px) { }


.blog-wrap { max-width: 1100px; margin: 0 auto; padding: var(--space-5) var(--pad-x); }
.blog-head { text-align: center; max-width: 720px; margin: 0 auto var(--space-4); padding-top: var(--space-3); }
.blog-title { font-family: var(--font-display); font-size: var(--display-l-size); line-height: var(--display-l-lh); color: var(--ink-primary); margin: var(--space-2) 0 var(--space-1); }
.blog-lede { font-size: var(--body-l-size); line-height: var(--body-l-lh); color: var(--ink-soft); }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4) var(--space-3); }

.blog-filters { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: var(--space-4); }
.blog-filter { border: 1px solid var(--border-hairline); background: none; color: var(--ink-muted); border-radius: var(--radius-pill); padding: 8px 18px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.blog-filter:hover { color: var(--ink-primary); }
.blog-filter.is-on { color: var(--accent); border-color: var(--accent); }

.blog-feature { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-4); align-items: center; margin-bottom: var(--space-5); cursor: pointer; }
.blog-feature__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--surface-2); border: 1px solid var(--border-hairline); }
.blog-feature__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity var(--dur-slow) var(--ease); }
.blog-feature:hover .blog-feature__media { border-color: var(--accent); }
.blog-feature__title { font-family: var(--font-display); font-size: var(--display-l-size); line-height: var(--display-l-lh); letter-spacing: var(--display-l-tracking); color: var(--ink-primary); margin: var(--space-2) 0; text-wrap: balance; }
.blog-feature:hover .blog-feature__title { color: var(--accent); }
.blog-feature__excerpt { font-size: var(--body-l-size); line-height: var(--body-l-lh); color: var(--ink-soft); }
.blog-feature__meta { display: block; margin-top: var(--space-2); font-size: var(--caption-size); letter-spacing: var(--caption-tracking); color: var(--ink-muted); }
.blog-feature__cta { display: inline-block; margin-top: var(--space-2); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); }
.blog-card { cursor: pointer; display: flex; flex-direction: column; gap: 0; transition: none; border: 0; background: none; }
.blog-card__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--surface-2); border: 1px solid var(--border-hairline); }
.blog-card__media img { transition: opacity var(--dur-slow) var(--ease); object-position: center 28%; }
.blog-feature__media img { object-position: center 28%; }
.blog-article__foot { text-align: center; }
.blog-article__foot .eyebrow, .blog-article__foot .blog-foot__title { text-align: center; }
.blog-card:hover .blog-card__media { border-color: var(--accent); }
.blog-card__body { padding: var(--space-2) 0 0; display: flex; flex-direction: column; gap: 8px; }
.blog-card__cat { font-size: var(--eyebrow-size); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--accent); }
.blog-card:hover .blog-card__title { color: var(--accent); }
.blog-card__title { transition: color var(--dur-fast) var(--ease); }
@media (max-width: 900px) { .blog-grid { grid-template-columns: 1fr 1fr; } .blog-feature { grid-template-columns: 1fr; } .blog-feature__media { aspect-ratio: 16 / 9; } .blog-feature__title { font-size: var(--display-m-size); } }
.blog-card { cursor: pointer; border: 1px solid var(--border-hairline); background: var(--surface-1); display: flex; flex-direction: column; transition: border-color var(--dur-fast) var(--ease); }
.blog-card:hover { border-color: var(--accent); }
.blog-card__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--surface-2); }
.blog-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-card__ph { width: 100%; height: 100%; background: linear-gradient(135deg, var(--surface-2), #E5E1D8); }
.blog-card__body { padding: var(--space-3); display: flex; flex-direction: column; gap: 8px; flex: 1; }
.blog-card__cat { font-size: var(--eyebrow-size); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--accent); }
.blog-card__title { font-family: var(--font-display); font-size: var(--display-s-size); line-height: var(--display-s-lh); color: var(--ink-primary); }
.blog-card__excerpt { font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--ink-muted); flex: 1; }
.blog-card__meta { font-size: var(--caption-size); letter-spacing: var(--caption-tracking); color: var(--ink-muted); }

.blog-article { max-width: 920px; margin: 0 auto; padding: var(--space-3) var(--space-3) var(--space-5); }
.blog-back { margin: 0; white-space: nowrap; }
.blog-article__topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: var(--space-2); }
.blog-article__title { font-family: var(--font-display); font-size: var(--display-xl-size); line-height: var(--display-xl-lh); letter-spacing: var(--display-xl-tracking); color: var(--ink-primary); margin: var(--space-1) 0; }
.blog-article__meta { font-size: var(--body-s-size); color: var(--ink-muted); }
.blog-article__cover { margin: var(--space-4) 0; }
.blog-article__cover img { width: 100%; display: block; }
.blog-article__body { display: flex; flex-direction: column; }
.blog-h2 { font-family: var(--font-display); font-size: var(--display-m-size); line-height: var(--display-m-lh); color: var(--ink-primary); margin: var(--space-4) 0 var(--space-1); }
.blog-p { font-size: var(--body-l-size); line-height: 1.75; color: var(--ink-soft); margin: 0 0 var(--space-2); text-wrap: pretty; }
.blog-quote { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--accent); border-left: 1px solid var(--accent); padding-left: var(--space-2); margin: var(--space-3) 0; }
.blog-figure { margin: var(--space-3) 0; }
.blog-figure img { width: 100%; display: block; }
.blog-cap { font-size: var(--caption-size); color: var(--ink-muted); margin-top: 8px; text-align: center; }
.blog-cta-row { display: flex; gap: var(--space-2); flex-wrap: wrap; margin: var(--space-3) 0; }

.blog-h3 { font-family: var(--font-display); font-size: var(--display-s-size); line-height: var(--display-s-lh); color: var(--ink-primary); margin: var(--space-3) 0 var(--space-1); }
.blog-lead { font-family: var(--font-display); font-size: var(--display-s-size); line-height: 1.4; color: var(--ink-soft); margin: 0 0 var(--space-3); }
.blog-spacer { height: var(--space-4); }
.blog-divider { display: flex; justify-content: center; margin: var(--space-4) 0; }
.blog-divider span { width: 64px; height: 1px; background: var(--accent); display: block; }
.blog-pull { margin: var(--space-5) 0; text-align: center; }
.blog-pull__text { font-family: var(--font-display); font-size: var(--display-l-size); line-height: 1.25; color: var(--accent); margin: 0; text-wrap: balance; }
.blog-pull__by { display: block; margin-top: var(--space-2); font-size: var(--eyebrow-size); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--ink-muted); }

.blog-fullbleed { position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; width: 100vw; margin-top: var(--space-5); margin-bottom: var(--space-5); }
.blog-fullbleed img { width: 100%; max-height: 86vh; object-fit: cover; object-position: center; display: block; }
.blog-fullbleed__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--space-4) var(--pad-x); background: linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%); text-align: center; }
.blog-fullbleed__title { display: block; font-family: var(--font-display); font-size: var(--display-l-size); color: var(--accent); }
.blog-duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); align-items: center; margin: var(--space-5) 0; }
.blog-duo--flip .blog-duo__media { order: 2; }
.blog-duo__media { aspect-ratio: 3 / 4; overflow: hidden; background: var(--surface-2); }
.blog-duo__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-gallery { margin: var(--space-4) 0; display: grid; gap: var(--space-1); }
.blog-gallery__cell { aspect-ratio: 3 / 4; overflow: hidden; background: var(--surface-2); }
.blog-gallery__cell img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-gallery__cap { grid-column: 1 / -1; }
@media (max-width: 700px) { .blog-duo { grid-template-columns: 1fr; } .blog-duo--flip .blog-duo__media { order: 0; } .blog-pull__text { font-size: var(--display-m-size); } .blog-fullbleed__title { font-size: var(--display-m-size); } }

.blog-sim, .blog-poll { border: 1px solid var(--accent-muted); background: var(--surface-1); padding: var(--space-4); margin: var(--space-4) 0; }
.blog-sim__title, .blog-poll__q { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); margin: 8px 0 var(--space-1); }
.blog-sim__lede { font-size: var(--body-m-size); color: var(--ink-soft); margin: 0 0 var(--space-3); }
.blog-sim__field { margin-bottom: var(--space-2); }
.blog-sim__lbl { display: block; font-size: var(--eyebrow-size); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--ink-muted); margin-bottom: 8px; }
.blog-sim__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.blog-sim__chip { border: 1px solid var(--border-hairline); background: none; color: var(--ink-soft); border-radius: var(--radius-pill); padding: 8px 14px; font-family: var(--font-body); font-size: var(--body-s-size); cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.blog-sim__chip:hover { color: var(--accent); border-color: var(--accent); }
.blog-sim__chip.is-on { background: var(--accent); color: var(--canvas); border-color: var(--accent); }
.blog-sim__result { display: flex; gap: var(--space-4); flex-wrap: wrap; margin: var(--space-3) 0 var(--space-1); padding-top: var(--space-3); border-top: 1px solid var(--border-divider); }
.blog-sim__rk { display: block; font-size: var(--caption-size); letter-spacing: var(--caption-tracking); text-transform: uppercase; color: var(--ink-muted); }
.blog-sim__rv { font-family: var(--font-display); font-size: var(--display-m-size); color: var(--accent); }
.blog-sim__rv--soft { color: var(--ink-soft); }
.blog-sim__note { font-size: var(--caption-size); color: var(--ink-muted); margin: 4px 0 0; }
.blog-sim .blog-cta-row, .blog-poll .blog-cta-row { justify-content: center; }

.deco-sim__stage { border: 1px solid var(--border-hairline); background: #efece5; margin-bottom: var(--space-3); }
.deco-sim__svg { display: block; width: 100%; height: auto; }
.deco-sim__verdict { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 14px var(--space-3) 16px; border-top: 1px solid rgba(0,0,0,0.08); background: #f6f3ee; }
.deco-sim__mark { flex: 0 0 auto; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-pill); font-size: 16px; font-weight: 700; }
.deco-sim__verdict.is-ok .deco-sim__mark { background: var(--accent); color: #fff; }
.deco-sim__verdict.is-no .deco-sim__mark { background: #d9d3c7; color: #6b6453; }
.deco-sim__vtxt { font-size: var(--body-m-size); color: #2a2620; line-height: 1.3; }
.deco-sim__vtxt strong { font-weight: 600; }
.deco-sim__vnote { display: block; font-size: var(--caption-size); color: #6b6453; margin-top: 2px; }
.deco-sim__row { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; flex-wrap: wrap; }
.deco-sim__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--space-3); }
.deco-chip { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--border-hairline); background: none; color: var(--ink-soft); border-radius: var(--radius-pill); padding: 7px 14px; font-family: var(--font-body); font-size: var(--body-s-size); cursor: pointer; transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.deco-chip:hover { border-color: var(--accent); color: var(--accent); }
.deco-chip.is-sel { border-color: var(--accent); color: var(--ink-primary); }
.deco-chip__mark { display: inline-flex; width: 16px; height: 16px; align-items: center; justify-content: center; border-radius: var(--radius-pill); font-size: 11px; font-weight: 700; }
.deco-chip.is-ok .deco-chip__mark { background: var(--accent); color: #fff; }
.deco-chip.is-no .deco-chip__mark { background: #d9d3c7; color: #6b6453; }
.deco-chip.is-no { opacity: 0.7; }
.deco-sim__group { margin-bottom: var(--space-2); }
.deco-sim__glbl { display: block; font-size: var(--eyebrow-size); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; margin-bottom: 8px; }
.deco-sim__glbl--ok { color: var(--accent); }
.deco-sim__glbl--no { color: var(--ink-muted); }
.blog-poll__opts { display: flex; flex-direction: column; gap: 8px; margin-top: var(--space-2); }
.blog-poll__opt { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; border: 1px solid var(--border-hairline); background: none; color: var(--ink-soft); padding: 13px 16px; cursor: pointer; font-family: var(--font-body); font-size: var(--body-m-size); transition: border-color var(--dur-fast) var(--ease); }
.blog-poll__opt:not(.is-result):hover { border-color: var(--accent); color: var(--accent); }
.blog-poll__opt.is-result { cursor: default; }
.blog-poll__opt.is-mine { border-color: var(--accent); }
.blog-poll__bar { position: absolute; left: 0; top: 0; bottom: 0; background: var(--accent-muted); z-index: 0; transition: width var(--dur-medium) var(--ease); }
.blog-poll__lbl, .blog-poll__pct { position: relative; z-index: 1; }
.blog-poll__pct { font-variant-numeric: tabular-nums; color: var(--ink-primary); }
.blog-poll__thanks { font-size: var(--caption-size); color: var(--ink-muted); margin: var(--space-2) 0 0; }
.blog-product { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); align-items: center; margin: var(--space-4) 0; border: 1px solid var(--border-hairline); }
.blog-product__media { aspect-ratio: 4 / 5; overflow: hidden; background: var(--surface-2); }
.blog-product__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-product__body { padding: var(--space-4) var(--space-4) var(--space-4) 0; }
.blog-product__title { font-family: var(--font-display); font-size: var(--display-m-size); color: var(--ink-primary); margin: 8px 0; }
.blog-product__desc { font-size: var(--body-m-size); color: var(--ink-soft); }
.blog-product__price { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--accent); margin: var(--space-2) 0; }
@media (max-width: 700px) { .blog-product { grid-template-columns: 1fr; } .blog-product__body { padding: 0 var(--space-3) var(--space-3); } }
@media (max-width: 1000px) { }
.blog-article__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-divider); text-align: center; }
.blog-foot__title { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--ink-primary); margin: 8px 0 var(--space-2); }
.blog-article__foot .blog-cta-row { justify-content: center; }
.blog-article__body > .blog-cta-row { justify-content: center; }
.blog-related { margin-top: var(--space-4); }
.blog-related__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); margin-top: var(--space-2); }
.blog-related__item { text-align: left; background: var(--surface-1); border: 1px solid var(--border-hairline); padding: var(--space-2); cursor: pointer; display: flex; flex-direction: column; gap: 6px; transition: border-color var(--dur-fast) var(--ease); }
.blog-related__item:hover { border-color: var(--accent); }
.blog-related__t { font-family: var(--font-display); font-size: 18px; color: var(--ink-primary); }
.blog-related__m { font-size: var(--caption-size); color: var(--ink-muted); }
@media (max-width: 900px) { .blog-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .blog-grid { grid-template-columns: 1fr; } .blog-related__grid { grid-template-columns: 1fr; }
  .blog-wrap { padding: var(--space-3) var(--space-2); }
  .blog-title { font-size: clamp(26px, 8vw, 34px); }
  .blog-lede { font-size: 15px; }
  .blog-feature__title { font-size: var(--display-s-size); }
  .blog-article { padding: var(--space-3) var(--space-2); }
  .blog-article__title { font-size: clamp(26px, 8vw, 34px); line-height: 1.18; }
  .blog-h2 { font-size: var(--display-s-size); }
  .blog-p { font-size: 16px; }
  .blog-pull__text { font-size: 22px; }
  .blog-fullbleed { left: auto; right: auto; margin-left: calc(-1 * var(--space-2)); margin-right: calc(-1 * var(--space-2)); width: auto; }
  .blog-fullbleed img { max-height: 60vh; }
  .blog-fullbleed__title { font-size: var(--display-s-size); }
  .blog-cta-row { flex-direction: column; align-items: stretch; }
  .blog-cta-row .btn { width: 100%; justify-content: center; }
  .blog-sim, .blog-poll, .blog-product { padding: var(--space-3); }
}
.cart-pay__opt:not(.is-on):hover,.encadre-opt:not(.is-on):hover,.encadre-card:not(.is-sel):hover,.pay-teaser__opt:not(.is-on):hover,.cat-chip:not(.is-on):not(:disabled):hover{
  border-color: var(--accent-hover);
  background: rgba(212, 197, 169, 0.07);
}
.seg button:not(.is-active):hover{
  background: rgba(212, 197, 169, 0.16);
  color: var(--ink-primary);
}


.format-opt:not(.is-sel):hover { background: rgba(212, 197, 169, 0.07); box-shadow: inset 3px 0 0 var(--accent-hover); }


.legal-close { position: fixed; top: 74px; right: 20px; z-index: 60; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: var(--canvas); color: var(--ink-soft); border: 1px solid var(--border-hairline); border-radius: var(--radius-pill); cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.legal-close:hover { color: var(--accent); border-color: var(--accent); }
.legal-wrap { padding-top: var(--space-3); padding-bottom: var(--space-6); max-width: 760px; }
.legal-title { font-family: var(--font-display); font-size: var(--display-l-size); line-height: var(--display-l-lh); margin: 10px 0 18px; }
.legal-intro { color: var(--ink-soft); font-size: var(--body-m-size); line-height: var(--body-m-lh); max-width: 64ch; margin-bottom: var(--space-4); }
.legal-sec { padding: var(--space-3) 0; border-top: 1px solid var(--border-divider); }
.legal-sec__title { font-family: var(--font-display); font-size: var(--display-s-size); line-height: var(--display-s-lh); margin: 0 0 14px; display: flex; align-items: baseline; gap: 12px; }
.legal-sec__num { font-family: var(--font-body); font-size: 12px; font-weight: 600; letter-spacing: 0.12em; color: var(--accent); flex: none; min-width: 22px; }
.legal-sec__body { color: var(--ink-soft); font-size: var(--body-m-size); line-height: 1.7; }
.legal-sec__body p { margin: 0 0 12px; max-width: 66ch; }
.legal-sec__body p:last-child { margin-bottom: 0; }
.legal-sec__body strong { color: var(--ink-primary); font-weight: 600; }
.legal-list { margin: 0 0 12px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; max-width: 66ch; }
.legal-list li { position: relative; padding-left: 18px; }
.legal-list li::before { content: "·"; position: absolute; left: 4px; top: -1px; color: var(--accent); font-weight: 700; }
.legal-strong { color: var(--ink-primary) !important; border-left: 2px solid var(--accent); padding-left: 16px; }
.legal-entities { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); margin: 14px 0; }
.legal-entity { background: var(--surface-1); border: 1px solid var(--border-hairline); padding: var(--space-2); }
.legal-entity__name { font-family: var(--font-display); color: var(--accent); font-size: 16px; margin-bottom: 6px; }
.legal-entity__line { font-size: 12.5px; line-height: 1.55; color: var(--ink-muted); }
.legal-foot { margin-top: var(--space-4); }
@media (max-width: 600px) { .legal-entities { grid-template-columns: 1fr; } .legal-title { font-size: var(--display-m-size); } }
.prod-rating { display: inline-flex; align-items: center; gap: 8px; background: transparent; border: 0; padding: 0; cursor: pointer; color: var(--accent); }
.prod-rating .stars { color: var(--accent); }
.prod-rating__txt { font-size: var(--body-s-size); color: var(--ink-soft); letter-spacing: 0.02em; }
.prod-rating__txt strong { color: var(--ink-primary); }
.prod-rating:hover .prod-rating__txt { color: var(--ink-primary); }
.stock-signal { display: inline-flex; align-items: flex-start; gap: 10px; padding: 10px 14px; border: 1px solid var(--border-hairline); background: var(--surface-1); font-size: var(--body-s-size); line-height: 1.5; color: var(--ink-soft); text-align: left; width: 100%; }
.stock-signal strong { color: var(--ink-primary); font-weight: 600; }
.stock-signal--rare { cursor: pointer; transition: border-color var(--dur-fast) var(--ease); }
.stock-signal--rare:hover { border-color: #B4650F; }
.stock-signal--rare strong { color: #B4650F; }
.stock-signal--rare .stock-dot { background: #B4650F; }
.dispo-hint__rare { color: #B4650F; }

.pay-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-family: var(--font-body); font-size: var(--body-s-size); }
.pay-steps__item { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-muted); letter-spacing: 0.02em; }
.pay-steps__item.is-on { color: var(--ink-primary); }
.pay-steps__num { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 999px; border: 1px solid var(--border-hairline); font-size: 11px; font-weight: 600; color: var(--ink-muted); }
.pay-steps__item.is-on .pay-steps__num { border-color: var(--accent); color: var(--accent); }
.pay-steps__sep { color: var(--ink-muted); }
.stock-signal__txt { flex: 1; }
.stock-dot { flex: none; width: 9px; height: 9px; margin-top: 5px; border-radius: 999px; background: var(--accent); }
.stock-signal--in .stock-dot { background: #23824A; }
@keyframes lbStockPulse { 0% { transform: scale(0.7); opacity: 0.8; } 100% { transform: scale(1.6); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { }

.quality-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
.quality-tag { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--accent); border-radius: 999px; padding: 7px 14px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); white-space: nowrap; }
.quality-tag svg { flex: none; }
.reassure { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; border: 1px solid var(--border-hairline); background: var(--surface-1); }
.reassure__row { display: flex; align-items: flex-start; gap: 11px; font-size: var(--body-s-size); line-height: 1.5; color: var(--ink-soft); }
.reassure__ic { flex: none; color: var(--accent); margin-top: 1px; }



.opt-detail__media--natural { aspect-ratio: auto; }
.opt-detail__media--natural img { height: auto; object-fit: contain; }
.opt-detail__gallery { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-4); }
.opt-detail__gallery img { width: 100%; height: auto; display: block; border: 1px solid var(--border-hairline); }
.opt-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.opt-card { display: flex; flex-direction: column; text-align: left; background: var(--surface-1); border: 1px solid var(--border-hairline); border-radius: 0; padding: 0; cursor: pointer; color: inherit; transition: border-color var(--dur-fast) var(--ease); }
.opt-card:hover { border-color: var(--accent); }
.opt-card__img { display: block; width: 100%; aspect-ratio: 1 / 1; background: #000; overflow: hidden; position: relative; }
.opt-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.opt-card__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; background: linear-gradient(135deg, var(--surface-2), #050505); }
.opt-card__body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; }
.opt-card__title { font-family: var(--font-display); font-size: 18px; line-height: 1.25; color: var(--ink-primary); }
.opt-card__price { font-family: var(--font-body); font-variant-numeric: tabular-nums; color: var(--accent); font-size: var(--body-m-size); }
@media (max-width: 900px) { .opt-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .opt-grid { grid-template-columns: 1fr 1fr; gap: var(--space-2); } .opt-card__title { font-size: 15px; } }


.opt-detail { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); align-items: start; }
.opt-detail__media { aspect-ratio: 1 / 1; background: #000; border: 1px solid var(--border-hairline); overflow: hidden; position: relative; }
.opt-detail__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.opt-detail__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; }
.opt-detail__title { font-family: var(--font-display); font-weight: 400; font-size: var(--display-l-size); line-height: var(--display-l-lh); color: var(--ink-primary); margin: 10px 0 12px; }
.opt-detail__price { font-family: var(--font-display); font-size: var(--display-s-size); color: var(--accent); font-variant-numeric: tabular-nums; }
.opt-detail__tva { font-family: var(--font-body); font-size: 12px; color: var(--ink-muted); letter-spacing: 0.02em; }
.opt-detail__desc { margin: var(--space-2) 0 var(--space-3); max-width: 56ch; white-space: pre-wrap; }
.opt-row { display: flex; align-items: center; gap: 16px; margin-top: var(--space-2); }
.opt-stepper { display: inline-flex; align-items: center; border: 1px solid var(--border-hairline); border-radius: var(--radius-pill); overflow: hidden; }
.opt-stepper button { width: 38px; height: 38px; background: none; border: 0; color: var(--ink-soft); font-size: 18px; cursor: pointer; transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.opt-stepper button:hover { color: var(--accent); background: rgba(212,197,169,0.08); }
.opt-stepper span { min-width: 36px; text-align: center; font-variant-numeric: tabular-nums; color: var(--ink-primary); }
.opt-pay { margin-top: var(--space-3); }
.opt-pay__opts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.opt-pay__opt { display: flex; flex-direction: column; gap: 3px; min-width: 110px; text-align: left; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); padding: 10px 14px; background: transparent; cursor: pointer; transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.opt-pay__opt:hover { border-color: var(--accent-hover); background: rgba(212,197,169,0.07); }
.opt-pay__opt.is-on { border-color: var(--accent); background: var(--surface-1); }
.opt-pay__n { font-size: var(--body-s-size); color: var(--ink-primary); }
.opt-pay__per { font-size: 12px; color: var(--accent); font-variant-numeric: tabular-nums; }
@media (max-width: 760px) { .opt-detail { grid-template-columns: 1fr; gap: var(--space-3); } .opt-detail__title { font-size: var(--display-m-size); } }


.opt-admin { display: flex; gap: var(--space-3); align-items: flex-start; }
.opt-admin__order { flex: none; display: flex; flex-direction: column; align-items: center; gap: 6px; padding-top: 4px; }
.opt-admin__grip { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; color: var(--ink-muted); cursor: grab; border: 1px solid var(--border-hairline); }
.opt-admin__grip:active { cursor: grabbing; color: var(--accent); border-color: var(--accent); }
.opt-admin__arrow { width: 28px; height: 26px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 1px solid var(--border-hairline); color: var(--ink-soft); cursor: pointer; font-size: 13px; }
.opt-admin__arrow:hover:not(:disabled) { color: var(--accent); border-color: var(--accent); }
.opt-admin__arrow:disabled { opacity: 0.3; cursor: default; }
.opt-admin__media { flex: none; width: 150px; display: flex; flex-direction: column; gap: 8px; }
.opt-admin__media img { width: 150px; height: 150px; object-fit: cover; background: #000; border: 1px solid var(--border-hairline); display: block; }
.opt-admin__ph { width: 150px; height: 150px; display: flex; align-items: center; justify-content: center; color: var(--ink-muted); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; background: var(--surface-2); border: 1px solid var(--border-hairline); }
.opt-admin__upload { display: inline-flex; align-items: center; justify-content: center; padding: 8px 10px; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); font-size: 12px; color: var(--ink-soft); cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.opt-admin__upload:hover { color: var(--accent); border-color: var(--accent); }
.opt-admin__fields { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.opt-admin__row { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.opt-admin__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.opt-admin__active { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: var(--ink-soft); cursor: pointer; }
.opt-admin__active input { width: 16px; height: 16px; accent-color: var(--accent); cursor: pointer; }
@media (max-width: 700px) { .opt-admin { flex-direction: column; } .opt-admin__media, .opt-admin__media img, .opt-admin__ph { width: 100%; } .opt-admin__media img, .opt-admin__ph { height: 200px; } }

.opt-pub { display: inline-flex; align-items: center; gap: 8px; font-size: var(--body-s-size); color: var(--ink-muted); letter-spacing: 0.01em; }
.opt-pub__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ink-muted); flex: none; }
.opt-pub--saving .opt-pub__dot { background: var(--accent); animation: onlinePulse 1.4s var(--ease) infinite; }
.opt-pub--saving { color: var(--accent); }
.opt-pub--done .opt-pub__dot { background: #3E7D46; }
.opt-pub--done { color: var(--ink-soft); }


.lease-fineprint { margin: var(--space-4) auto 0; max-width: 64ch; text-align: center; padding-top: var(--space-3);
  border-top: 1px solid var(--border-divider); font-size: var(--body-s-size); line-height: 1.6; color: var(--ink-muted); }
.lease-fineprint__lead { color: var(--ink-soft); }
.lease-fineprint__link { background: none; border: 0; padding: 0; cursor: pointer; font-family: var(--font-body);
  font-size: var(--body-s-size); letter-spacing: 0.04em; color: var(--accent); white-space: nowrap;
  border-bottom: 1px solid transparent; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.lease-fineprint__link:hover { color: var(--accent-hover); border-bottom-color: var(--accent-hover); }


.ec-overlay { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: var(--space-3);
  background: radial-gradient(120% 100% at 50% 40%, rgba(0,0,0,0.72), rgba(0,0,0,0.9)); animation: ecFade var(--dur-slow) var(--ease) both; }
@keyframes ecFade { from { opacity: 0; } to { opacity: 1; } }
.ec-card { position: relative; width: 100%; max-width: 480px; background: #0B0B0B; border: 1px solid var(--border-hairline);
  border-top: 2px solid var(--accent); border-radius: var(--radius-0); padding: var(--space-5) clamp(28px, 6vw, 56px);
  text-align: center; animation: ecRise var(--dur-medium) var(--ease) both; }
@keyframes ecRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.ec-eyebrow { font-family: var(--font-body); font-size: var(--eyebrow-size); font-weight: var(--eyebrow-weight);
  letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--ink-muted); }
.ec-rule { display: block; width: 32px; height: 1px; background: var(--accent); margin: var(--space-2) auto var(--space-3); opacity: 0.7; }
.ec-title { font-family: var(--font-display); font-style: normal; font-weight: 400; font-size: clamp(26px, 3.2vw, 34px);
  line-height: 1.18; letter-spacing: -0.01em; color: var(--ink-primary); margin: 0 0 var(--space-4); text-wrap: balance; }
.ec-form { display: flex; flex-direction: column; gap: var(--space-3); }
.ec-fields { display: flex; flex-direction: column; gap: var(--space-3); text-align: left; }
.ec-field { display: flex; flex-direction: column; gap: 7px; }
.ec-label { font-family: var(--font-body); font-size: 10px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); }
.ec-label--opt { color: var(--ink-muted); }
.ec-label--opt::after { content: " · facultatif"; font-weight: 400; letter-spacing: 0.08em; text-transform: none; color: var(--ink-muted); opacity: 0.7; }
.ec-input { width: 100%; background: #F2EEE6; border: 1px solid transparent; border-radius: var(--radius-1);
  padding: 13px 14px; font-family: var(--font-body); font-size: var(--body-l-size); color: #161310;
  transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.ec-input::placeholder { color: #8A8378; opacity: 1; }
.ec-input:focus { outline: none; background: #FFFFFF; border-color: var(--accent); }
.ec-input--invalid { border-color: #B7332B; }
.ec-cta { margin-top: var(--space-2); width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--ink-primary); color: var(--canvas); border: 1px solid var(--ink-primary); border-radius: var(--radius-pill);
  padding: 15px 24px; font-family: var(--font-body); font-size: var(--body-s-size); font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; white-space: nowrap;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.ec-cta:hover { background: var(--accent); border-color: var(--accent); color: var(--canvas); }
.ec-note { margin: var(--space-3) 0 0; font-size: 11px; letter-spacing: 0.04em; color: var(--ink-muted); }
.ec-note--err { color: var(--ink-soft); }
@media (max-width: 520px) { .ec-card { padding: var(--space-4) var(--space-3); } }
.home-hero,.univ-card,.drop-band,.offerbar,.welcome,.ec-card,.blog-fullbleed__cap,.work-pop__media,.cat-card--locked .cat-card__media,.cat-card__lock,.tile-frame,.insitu{
  color: var(--ink-primary);
  --canvas: #000000;
  --surface-1: #0D0D0D;
  --surface-2: #141414;
  --surface-2-hover: #1F1F1F;
  --ink-primary: #FFFFFF;
  --ink-soft: #E8E8E8;
  --ink-muted: #999999;
  --accent: #D4C5A9;
  --accent-hover: #BFAE91;
  --accent-muted: #4A4337;
  --border-hairline: rgba(212, 197, 169, 0.15);
  --border-active: #D4C5A9;
  --border-divider: rgba(255, 255, 255, 0.08);
}


.price-gate { border: 1px solid var(--accent-muted); background: var(--surface-1); padding: var(--space-3); position: relative; margin-top: var(--space-2); }
.price-gate::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: var(--accent); }
.price-gate__eyebrow { display: block; font-family: var(--font-body); font-size: var(--eyebrow-size); font-weight: var(--eyebrow-weight); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--accent-hover); }
.price-gate__txt { margin: 10px 0 16px; font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--ink-soft); max-width: 46ch; }

.drop-band__flag, .drop-band__count, .chip, .univ-card__new, .nav__pro-btn--hot, .nav__mode, .nav__modequick, .cat-chip, .gallery__count { border-radius: 0; }
.drop-band__flag { border: 0; padding: 0; letter-spacing: 0.24em; gap: 12px; }
.drop-band__flag::before, .drop-band__flag::after { content: ""; flex: none; width: 44px; height: 1px; background: linear-gradient(90deg, transparent, var(--accent)); }
.drop-band__flag::after { background: linear-gradient(90deg, var(--accent), transparent); }
.drop-band__count { border: 0; background: none; padding: 7px 0 0; }
.univ-card__new { background: rgba(0,0,0,0.72); color: var(--accent); border: 1px solid var(--accent); padding: 8px 16px; letter-spacing: 0.22em; }
.chip { letter-spacing: 0.2em; padding: 7px 16px; }
.nav__pro-btn--hot, .nav__mode, .nav__modequick { letter-spacing: 0.2em; }
@media (max-width: 560px) { .drop-band__flag::before, .drop-band__flag::after { width: 20px; } }


@media (max-width: 560px) { .home-hero__sig--drop { visibility: hidden; } }


.drop-story{margin-top:18px;padding:20px 22px;border:1px solid rgba(74,67,55,0.25);display:flex;flex-direction:column;gap:10px}
.drop-story__title{font-family:var(--font-display,"Playfair Display",serif);font-size:22px;line-height:1.3;font-weight:400;color:var(--accent,#D4C5A9);margin:0}
.drop-story__txt{font-size:var(--body-s-size);line-height:1.6;color:var(--ink-soft);margin:0;white-space:pre-line;text-wrap:pretty}

.drop-story__cta{display:none}


.dropwiz { margin-top: 6px; }
.dropwiz__head { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.dropwiz__step { font-family: var(--font-display); font-size: 20px; color: var(--accent); font-variant-numeric: tabular-nums; white-space: nowrap; }
.dropwiz__of { font-size: 12px; color: var(--ink-muted); }
.dropwiz__bar { flex: 1; height: 1px; background: var(--border-divider); position: relative; }
.dropwiz__fill { position: absolute; left: 0; top: -0.5px; height: 2px; background: var(--accent); transition: width 400ms cubic-bezier(0.4, 0, 0.2, 1); }
.dropwiz__q { font-family: var(--font-display); font-weight: 400; font-size: 22px; line-height: 1.3; color: var(--ink-primary); margin: 0; text-wrap: pretty; }
.dropwiz__hint { font-size: 12px; color: var(--ink-muted); margin: 6px 0 0; letter-spacing: 0.04em; }
.dropwiz__body { margin-top: 16px; }
.dropwiz__photo { display: block; width: min(100%, 300px); margin: 0 auto 14px; }
.dropwiz__intro { font-size: 15px; line-height: 1.6; color: var(--ink-soft); margin: 0 0 14px; text-wrap: pretty; }
.drop-modal--light .dropwiz__intro { color: rgba(17,17,17,0.75); }
.dropwiz__body .ag-checks { gap: 8px; }
.dropwiz__nav { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--border-divider); }
.dropwiz__nav .btn { flex: 1; min-width: 180px; }
.dropwiz__prev.is-ghost { opacity: 0.25; pointer-events: none; }
.dropwiz__skip { margin-left: auto; color: var(--ink-muted); }
.dropwiz__req { color: var(--ink-muted); font-family: var(--font-body); font-size: 0.6em; vertical-align: super; letter-spacing: 0; }
.drop-modal--light .dropwiz__req { color: rgba(17,17,17,0.4); }
.dropwiz__reqnote { margin-left: auto; font-size: 12px; color: var(--ink-muted); letter-spacing: 0.02em; }
.drop-modal--light .dropwiz__reqnote { color: rgba(17,17,17,0.5); }
.dropwiz__nav .btn:disabled { opacity: 0.4; pointer-events: none; }

.drop-fmt-tile__l1 { display: block; font-size: 13px; color: var(--ink-primary); }
.drop-fmt-tile__l2 { display: block; font-size: 11px; color: var(--ink-muted); margin-top: 2px; }


.rdv{display:flex;flex-direction:column;gap:20px;margin-top:16px}
.rdv__lbl{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}
.rdv-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rdv-mode{border:1px solid var(--border-hairline);background:none;color:var(--ink-soft);padding:11px 10px;cursor:pointer;display:flex;flex-direction:column;gap:3px;text-align:left;transition:all var(--dur-fast) var(--ease)}
.rdv-mode:hover{border-color:var(--accent)}
.rdv-mode.is-on{border-color:var(--accent)}
.rdv-mode__t{font-size:13px;font-weight:600;color:var(--ink-primary)}
.rdv-mode.is-on .rdv-mode__t{color:var(--accent)}
.rdv-mode__s{font-size:11px;color:var(--ink-muted);line-height:1.4}
.rdv-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.rdv-day{flex:none;border:1px solid var(--border-hairline);background:none;color:var(--ink-soft);padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:62px;transition:all var(--dur-fast) var(--ease)}
.rdv-day:hover{border-color:var(--accent)}
.rdv-day.is-on{border-color:var(--accent)}
.rdv-day__d{font-size:10px;letter-spacing:0.12em;text-transform:uppercase}
.rdv-day__n{font-family:var(--font-display);font-size:20px;line-height:1.2;color:var(--ink-primary)}
.rdv-day.is-on .rdv-day__n{color:var(--accent)}
.rdv-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px}
.rdv-slot{border:1px solid var(--border-hairline);background:none;color:var(--ink-soft);padding:9px 4px;cursor:pointer;font-size:13px;font-variant-numeric:tabular-nums;transition:all var(--dur-fast) var(--ease)}
.rdv-slot:hover{border-color:var(--accent);color:var(--accent)}
.rdv-slot.is-on{border-color:var(--accent);background:var(--accent);color:#000}
.rdv-confirm__when{font-family:var(--font-display);font-size:24px;line-height:1.25;color:var(--accent);margin:4px 0 2px}
@media (max-width:520px){.rdv-modes{grid-template-columns:1fr}}



.tier-path{border:1px solid var(--border-hairline);padding:16px 16px 14px}
.tier-path__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tier-path__pos{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.tier-path__track{height:2px;background:rgba(255,255,255,0.08);margin:12px 0 16px;position:relative}
.tier-path__fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent);transition:width var(--dur-slow) var(--ease)}
.tier-path__steps{display:flex;flex-direction:column}
.tier-step{display:flex;gap:14px;opacity:0.5}
.tier-step.is-done{opacity:0.85}
.tier-step.is-cur{opacity:1}
.tier-step.is-next{opacity:0.85}
.tier-step__rail{display:flex;flex-direction:column;align-items:center;flex:0 0 26px}
.tier-step__dot{width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(212,197,169,0.4);font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums;background:var(--canvas)}
.tier-step.is-done .tier-step__dot{background:var(--accent);color:#000;border-color:var(--accent)}
.tier-step.is-cur .tier-step__dot{border-color:var(--accent);box-shadow:none;color:var(--accent)}
.tier-step__line{width:1px;flex:1;min-height:16px;background:rgba(212,197,169,0.25);margin:4px 0}
.tier-step.is-done .tier-step__line{background:var(--accent)}
.tier-step__body{display:flex;flex-direction:column;gap:3px;padding-bottom:16px}
.tier-step:last-child .tier-step__body{padding-bottom:0}
.tier-step__lbl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-primary)}
.tier-step.is-cur .tier-step__lbl{color:var(--accent)}
.tier-step__badge{font-size:9px;letter-spacing:0.14em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:2px 8px;font-weight:600}
.tier-step__badge--next{border-color:rgba(212,197,169,0.35);color:var(--ink-soft)}
.tier-step__desc{font-size:12px;line-height:1.5;color:var(--ink-muted);max-width:52ch}


.form-err{display:block;color:#c0392b;font-size:12px;line-height:1.5;margin-top:8px}


.nav__carticon, .nav__carticon svg { flex: none; }
.cercle-status { white-space: nowrap; flex: none; }
.rdv-days { scrollbar-width: none; }
.rdv-days::-webkit-scrollbar { display: none; }


.msgr-compose { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; padding: 14px; border: 1px solid var(--border-hairline); }
.msgr-attach { display: flex; flex-wrap: wrap; gap: 10px; }
.msgr-attach:empty { display: none; }
.msgr-thumb { position: relative; width: 72px; height: 72px; border: 1px solid var(--border-hairline); }
.msgr-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; cursor: zoom-in; }
.msgr-thumb button { position: absolute; top: -9px; right: -9px; width: 22px; height: 22px; border-radius: var(--radius-pill); border: 1px solid var(--border-active); background: var(--canvas); color: var(--ink-primary); cursor: pointer; font-size: 13px; line-height: 1; display: flex; align-items: center; justify-content: center; }
.msgr-add { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border: 1px dashed var(--accent-muted); color: var(--accent); font-size: 24px; cursor: pointer; transition: border-color var(--dur-fast) var(--ease); }
.msgr-add:hover { border-color: var(--accent); }
.msgr-list { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.msgr-item { border: 1px solid var(--border-hairline); padding: 12px 14px; }
.msgr-item__head { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.msgr-item__who { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; }
.msgr-item__who.is-me { color: var(--accent); }
.msgr-item__date { font-size: 12px; color: var(--ink-muted); font-variant-numeric: tabular-nums; }
.msgr-item__subject { font-weight: 600; color: var(--ink-primary); margin-top: 6px; font-size: var(--body-m-size); }
.msgr-item__txt { margin: 6px 0 0; white-space: pre-wrap; color: var(--ink-soft); font-size: var(--body-s-size); line-height: var(--body-s-lh); }
.msgr-item__imgs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.msgr-item__imgs img { width: 84px; height: 84px; object-fit: cover; border: 1px solid var(--border-hairline); cursor: zoom-in; display: block; }
.msgr-zoom { position: fixed; inset: 0; z-index: 200; background: rgba(0,0,0,0.88); display: flex; align-items: center; justify-content: center; padding: 24px; cursor: zoom-out; }
.msgr-zoom img { max-width: 100%; max-height: 100%; }
.cc-bubble__txt{ white-space: pre-wrap; }
.achat-subject { display: block; font-weight: 700; margin-bottom: 4px; }
.achat-imgs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.achat-imgs a { display: block; }
.achat-imgs img { width: 84px; height: 84px; object-fit: cover; border: 1px solid var(--border-hairline); display: block; }

.rdv-opt { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--border-divider); display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.rdv-opt__lbl { font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }
.rdv-opt__check { align-items: flex-start; gap: 10px; max-width: 420px; width: 100%; }
.rdv-opt__check > span { display: flex; flex-direction: column; gap: 2px; }
.rdv-opt__ttl { display: block; }
.rdv-opt__check--fixed { opacity: 0.85; cursor: default; }
.rdv-opt__px { font-size: 11px; letter-spacing: 0.06em; color: var(--ink-muted); }
.rdv-opt__check.is-on .rdv-opt__px { color: var(--accent); }
.rdv-opt__note { font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--ink-muted); margin: 0; max-width: 52ch; }

.rdv-daysnav { display: flex; align-items: stretch; gap: 8px; }
.rdv-daysnav .rdv-days { flex: 1; }
.rdv-arrow { flex: none; width: 34px; background: transparent; border: 1px solid var(--border-hairline); color: var(--ink-soft); font-size: 18px; line-height: 1; cursor: pointer; border-radius: 0; transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.rdv-arrow:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); }
.rdv-arrow:disabled { opacity: 0.3; cursor: default; }

.tea-note { margin-top: 16px; padding: 16px 0 0; border-top: 1px solid var(--border-divider); display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.tea-note__lbl { font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); }
.tea-note__txt { margin: 0; font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--ink-soft); max-width: 56ch; text-wrap: pretty; }


.offerbar { position: sticky; top: 0; z-index: 61; background: #000; border-bottom: 0; display: flex; align-items: center; justify-content: center; gap: var(--space-3); min-height: 56px; padding: 0 var(--space-4); }
.offerbar__slide { display: inline-flex; align-items: baseline; gap: 10px; background: none; border: 0; padding: 18px 0; cursor: pointer; opacity: 0; transition: opacity var(--dur-slow) var(--ease); }
.offerbar__slide.is-in { opacity: 1; }
.offerbar__eyebrow { font-family: var(--font-body); font-size: 9px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); white-space: nowrap; line-height: 1; margin-right: -0.22em; }
.offerbar__rule { width: 1px; height: 12px; background: var(--border-hairline); flex: none; margin: 0 2px; align-self: center; position: relative; top: -1px; }
.offerbar__offer { display: inline-flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.offerbar__gamme { font-family: var(--font-body); font-size: 9px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); line-height: 1; margin-right: -0.22em; }
.offerbar__item { font-family: var(--font-display); font-size: 16px; line-height: 1; letter-spacing: 0.01em; color: var(--ink-primary); }
.offerbar__pct { font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); font-variant-numeric: tabular-nums; line-height: 1; }
.offerbar__left { font-family: var(--font-body); font-size: 9px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-muted); white-space: nowrap; line-height: 1; }
.offerbar__arrow { color: var(--accent); line-height: 1; font-size: 13px; transition: color var(--dur-fast) var(--ease); }
.offerbar__slide:hover .offerbar__arrow, .offerbar__slide:hover .offerbar__pct { color: var(--accent-hover); }
.offerbar__dots { display: inline-flex; gap: 8px; align-self: center; }
.offerbar__dot { width: 4px; height: 4px; border-radius: 999px; background: rgba(212,197,169,0.3); transition: background var(--dur-fast) var(--ease); }
.offerbar__dot.is-on { background: var(--accent); }
@media (max-width: 820px) { .offerbar { padding: 0 var(--space-3); gap: var(--space-2); } .offerbar__slide { gap: var(--space-2); } .offerbar__eyebrow, .offerbar__left { display: none; } .offerbar__slide > .offerbar__rule { display: none; } }
@media (max-width: 600px) { .offerbar { min-height: 48px; } .offerbar__slide { padding: 14px 0; } .offerbar__item { font-size: 14px; } .offerbar__gamme { font-size: 8px; letter-spacing: 0.18em; } }
body.has-offerbar .nav { top: calc(var(--offerbar-h, 46px) - 1px); }


.rdv-miss { margin: 4px 0 12px; padding: 12px 14px; border: 1px solid var(--border-hairline); }
.rdv-miss__lbl { display: block; font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 6px; }
.rdv-miss__list { margin: 0; padding-left: 16px; font-size: var(--body-s-size); line-height: 1.7; color: var(--ink-soft); }


.field.is-required .input, .field.is-required select.input, .field.is-required textarea.input { border-color: #C0392B; }
.field.is-required .field__label { color: #C0392B; }
.ag-check.is-required { border-color: #C0392B; }
.rdv-slots.is-required { border: 1px solid #C0392B; padding: 8px; }
.rdv-miss { border-color: #C0392B; }
.rdv-miss__lbl { color: #C0392B; }


@media (max-width: 760px) {
  .footer__link { min-height: 40px; display: inline-flex; align-items: center; }
  .footer__col { gap: 2px; }
.footer__cgv-mini{ min-height: 40px; display: inline-flex; align-items: center; }
  .text-link { padding: 11px 0; margin: -11px 0; }
}
a.cat-card__media,a.cat-card__body{ color: inherit; text-decoration: none; }
a.cat-card__media { display: block; cursor: pointer; }
a.cat-card__body { display: block; }

a.univ-card { display: flex; flex-direction: column; justify-content: flex-end; color: var(--ink-primary); text-decoration: none; }


@media (max-width: 560px) {
  .lb-modal__close, .modal__close, .drop-modal .modal__close {
    position: fixed; top: calc(env(safe-area-inset-top, 0px) + 12px); right: 14px; z-index: 30;
    width: 44px; height: 44px; border-radius: 999px;
    background: rgba(0,0,0,0.78); border: 1px solid rgba(212,197,169,0.35); color: #fff;
    display: inline-flex; align-items: center; justify-content: center; }
  .drop-modal--light .modal__close { background: rgba(255,255,255,0.9); border-color: rgba(17,19,16,0.2); color: #161310; }
  .cercle-panel { padding-top: 58px; }
}


@media (max-width: 1024px) {
  .nav__inner { gap: 8px; flex-wrap: nowrap; }
  .nav__carticon { margin: 0; padding: 5px; flex: none; }
  .nav__carticon + .nav__carticon { margin-left: 2px; }
  .nav__carticon--fav { margin-left: 0; }
  .nav__carticon svg { width: 21px; height: 21px; }
  .nav__carticon .nav__cart-badge { top: -3px; right: -3px; }
}
@media (max-width: 400px) {
  .nav__inner { gap: 6px; padding-left: 14px; padding-right: 14px; }
  .nav__carticon { padding: 4px; }
  .nav__carticon svg { width: 20px; height: 20px; }
}



.page-close { display: none; }
@media (max-width: 1024px) {
  .page-close { display: inline-flex; align-items: center; justify-content: center;
    position: absolute; top: 14px; right: 14px; z-index: 5; width: 40px; height: 40px;
    border-radius: 999px; border: 1px solid var(--border-hairline); background: transparent;
    color: var(--ink-muted); cursor: pointer; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
  .page-close:hover { color: var(--accent); border-color: var(--accent); }
}

body.has-offerbar .nav { border-top: 0; box-shadow: none; }
.offerbar { border-bottom: 0 !important; }

@media (max-width: 600px) {
  .fav-floater__tab, .callback-fab { display: none !important; }
  
  .fav-floater__panel { top: auto; bottom: 16px; }
}


.icon-page__in { position: relative; width: 100%; max-width: 640px; margin: 0 auto; padding: var(--space-3) var(--space-3) var(--space-5); text-align: left; }
.icon-page__title { font-family: var(--font-display); font-style: normal; font-weight: 400; font-size: var(--display-l-size);
  line-height: var(--display-l-lh); letter-spacing: var(--display-l-tracking); color: var(--ink-primary); margin: 10px 0 0; padding-right: 56px; }
.icon-page__sub { margin: 12px 0 0; max-width: 52ch; }
.icon-page__body { margin-top: var(--space-3); }
.icon-page__cta { margin-top: var(--space-3); }
@media (max-width: 1024px) { .icon-page__title { font-size: var(--display-m-size); line-height: var(--display-m-lh); letter-spacing: var(--display-m-tracking); } }
.fav-page__save { margin-top: var(--space-3); border: 1px solid var(--border-hairline); }
.fav-page__save .fav-floater__cta { border-bottom: 0; }
.fav-page__list { margin-top: var(--space-3); border-top: 1px solid var(--border-divider); }
.fav-page__list .fav-floater__item { padding: 14px 2px; min-height: 60px; }
.fav-page__list .fav-floater__thumb { width: 58px; height: 58px; }
@media (max-width: 1024px) {
  
  .conseil-page { padding-top: var(--space-3) !important; }
  .empty { padding-top: var(--space-3); }
  
  .overlay--page { padding: 0; align-items: stretch; justify-content: stretch; background: #FDFCFA; overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .overlay--page .modal { width: 100%; max-width: none; min-height: 100%; max-height: none; border: 0; overflow: visible;
    padding: 62px var(--space-3) calc(var(--space-5) + env(safe-area-inset-bottom)); }
  .overlay--page .modal__close { position: fixed; top: 12px; right: 12px; width: 44px; height: 44px; z-index: 3;
    border: 1px solid rgba(17,17,17,0.15); border-radius: 999px; background: #FDFCFA; }
}


.cart-head { align-items: flex-start; text-align: left; }
.cart-head .icon-page__title, .cart-head .icon-page__sub { padding-right: 0; }
@media (max-width: 1024px) { .cart-head { flex-direction: column; gap: 12px; } .cart-head .icon-page__title { padding-right: 56px; } }


.drop-done { text-align: left; }
.drop-done .confirm-check { display: flex; width: 48px; height: 48px; margin-bottom: 16px; border-color: #8a744a; color: #8a744a; }
.drop-done .drop-modal__title { margin-top: 8px; }
.drop-done__lead { margin: 12px 0 0; font-size: var(--body-m-size); line-height: var(--body-m-lh); color: #161310; max-width: 46ch; }
.drop-done__cta { margin-top: var(--space-3); }
@media (min-width: 700px) { }


.ct-form .ct-block { margin-top: var(--space-3); display: flex; flex-direction: column; gap: 10px; }
.ct-form .ct-block > .field__label { display: block; }
.ct-hint { margin: -2px 0 0; font-size: 12px; line-height: 1.5; color: var(--ink-muted); }
.ct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: var(--space-3); }
.ct-grid .field { min-width: 0; }
@media (max-width: 620px) { .ct-grid { grid-template-columns: 1fr; } }
.select-wrap { position: relative; }
select.input { appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A8378' stroke-width='1.8'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; }
.ct-err { margin: var(--space-3) 0 0; font-size: var(--body-s-size); color: #c0392b; }
.ct-legal { margin: 14px 0 0; font-size: 12px; line-height: 1.5; color: var(--ink-muted); }


.ct-form select.input { min-height: 48px; }
.ct-form .select-wrap + .input { margin-top: 10px; }


.ct-form .input, .ct-form select.input, .ct-form textarea.input,
.ct-form .seg, .ct-form .seg button, .ct-form .btn { border-radius: 0; }
.ct-form .seg button { min-height: 46px; }
.icon-page__in .confirm-check { border-radius: 0; }


.ct-file { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 16px;
  border: 1px solid var(--accent-muted); background: transparent; color: var(--ink-soft); cursor: pointer;
  font-size: var(--body-s-size); letter-spacing: 0.04em; transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.ct-file:hover { border-color: var(--accent); color: var(--ink-primary); }
.ct-file input { display: none; }
.ct-files { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ct-files__row { display: flex; align-items: center; gap: 12px; padding: 8px; border: 1px solid var(--border-hairline); }
.ct-files__thumb { flex: none; width: 44px; height: 44px; object-fit: cover; display: block; background: var(--surface-2); }
.ct-files__thumb--doc { display: inline-flex; align-items: center; justify-content: center; font-size: 10px; letter-spacing: 0.12em; color: var(--ink-muted); border: 1px solid var(--border-hairline); }
.ct-files__name { flex: 1; min-width: 0; font-size: var(--body-s-size); color: var(--ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-files__size { display: block; font-size: 11px; color: var(--ink-muted); }
.ct-files__x { flex: none; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; color: var(--ink-muted); cursor: pointer; }
.ct-files__x:hover { color: var(--accent); }


.ct-gauge { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.ct-gauge__bar { display: block; height: 3px; background: var(--border-hairline); overflow: hidden; }
.ct-gauge__fill { display: block; height: 100%; background: var(--accent); transition: width 160ms var(--ease); }
.ct-gauge__lbl { font-size: 11px; letter-spacing: 0.08em; color: var(--ink-muted); }


.gate-close { position: fixed; top: 14px; right: 14px; z-index: 2650; width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.45);
  border: 1px solid var(--accent-muted); color: var(--accent); cursor: pointer;
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.gate-close:hover { color: var(--ink-primary); border-color: var(--accent); }
.gate-close--in { position: absolute; top: 10px; right: 10px; background: transparent; }


.consent { display: flex; align-items: center; gap: 10px; margin-top: 12px; cursor: pointer; }
.consent input { flex: none; width: 15px; height: 15px; margin: 0; accent-color: var(--accent); cursor: pointer; }
.consent__txt { font-size: 11px; line-height: 1.5; color: var(--ink-muted); }
.consent--compact .consent__txt { font-size: 10px; }


.reco { border: 1px solid var(--accent); background: var(--surface-1); margin-top: var(--space-3); }
.reco__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding: 22px 24px 16px; }
.reco__title { font-family: var(--font-display); font-weight: 400; font-size: var(--display-m-size); line-height: var(--display-m-lh); margin: 8px 0; }
.reco__stats { display: flex; flex-wrap: wrap; border-top: 1px solid var(--border-hairline); }
.reco__stat { flex: 1 1 150px; padding: 13px 24px; border-left: 1px solid var(--border-hairline); min-width: 0; }
.reco__stat:first-child { border-left: 0; }
.reco__stat-k { display: block; font-size: var(--eyebrow-size); font-weight: var(--eyebrow-weight); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--ink-muted); margin-bottom: 4px; }
.reco__stat b { font-family: var(--font-display); font-weight: 400; font-size: 23px; }
.reco__foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 24px 20px; border-top: 1px solid var(--border-hairline); }
.reco__body { padding: 4px 24px 24px; }
.reco__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.reco__cell { border: 1px solid var(--border-hairline); border-top: 2px solid var(--accent); padding: 14px 16px; }
.reco__list { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.reco__it { display: flex; align-items: flex-start; gap: 10px; font-size: var(--body-s-size); line-height: 1.45; }
.reco__it svg { flex: none; color: var(--accent); margin-top: 1px; }
.reco__fine { margin: 12px 0 0; font-size: 11.5px; }
.reco__gains { margin-top: 14px; border-top: 1px solid var(--border-hairline); padding-top: 12px; }
.reco__gains-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.reco__gains-tot { font-family: var(--font-display); font-size: 15px; color: var(--accent-hover); }
.reco__glist { display: flex; flex-direction: column; gap: 10px; }
.reco__gl { border: 1px solid var(--border-hairline); padding: 12px 14px; display: grid; grid-template-columns: 1fr 240px; grid-template-areas: "e v" "bar btn"; gap: 9px 18px; align-items: center; }
.reco__gl.is-ready { border-color: var(--accent); background: rgba(212, 197, 169, 0.09); }
.reco__gl.is-asked { border-color: var(--accent); }
.reco__gl.is-dim { opacity: 0.55; }
.reco__gl-e { grid-area: e; font-size: 11px; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; }
.reco__gl-m { display: block; margin-top: 2px; color: var(--ink-muted); font-weight: 400; letter-spacing: 0.08em; white-space: nowrap; }
.reco__gl-v { grid-area: v; justify-self: end; font-family: var(--font-display); font-size: 20px; line-height: 1; white-space: nowrap; }
.reco__gl-v small { font-size: 11px; font-family: var(--font-body); color: var(--ink-muted); margin-left: 4px; letter-spacing: 0.08em; }
.reco__gl-bar { grid-area: bar; height: 5px; background: rgba(212, 197, 169, 0.22); overflow: hidden; }
.reco__gl-bar span { display: block; height: 100%; background: var(--accent); transition: width var(--dur-slow) var(--ease); }
.reco__gl-btn { grid-area: btn; border: 1px solid var(--ink-primary); background: var(--ink-primary); color: var(--surface-1); font-family: var(--font-body); font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; width: 240px; height: 44px; display: flex; align-items: center; justify-content: center; text-align: center; line-height: 1.35; white-space: normal; cursor: pointer; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.reco__gl-btn:hover:not(:disabled) { background: var(--accent); border-color: var(--accent); color: var(--ink-primary); }
.reco__gl-btn:disabled { background: transparent; border: 1px solid var(--border-hairline); color: var(--ink-muted); cursor: default; }
@media (max-width: 560px) { .reco__gl { grid-template-columns: 1fr; grid-template-areas: "e" "v" "bar" "btn"; gap: 7px; } .reco__gl-v { justify-self: start; } .reco__gl-btn { width: 100%; } }

.reco-qrpop { position: fixed; inset: 0; background: var(--surface-1); z-index: 3000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 28px; text-align: center; }
.reco-qrpop__close { position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; border-radius: 999px; border: 1px solid var(--border-hairline); background: transparent; color: var(--ink-primary); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.reco-qrpop__close:hover { border-color: var(--accent); color: var(--accent-hover); }
.reco-qrpop__eye { font-size: var(--eyebrow-size); font-weight: var(--eyebrow-weight); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--accent-hover); }
.reco-qrpop__mark { font-family: var(--font-display); font-size: 34px; line-height: 1.15; }
.reco-qrpop__img { width: min(62vw, 300px); height: auto; border: 1px solid var(--border-hairline); padding: 14px; background: #FFFFFF; }
.reco-qrpop__t { font-size: var(--body-s-size); line-height: 1.6; color: var(--ink-soft); margin: 0; max-width: 46ch; }
.reco__link { display: flex; align-items: stretch; border: 1px solid var(--accent); margin-bottom: 14px; }
.reco__url { flex: 1; padding: 11px 14px; font-size: 13px; color: var(--accent-hover); word-break: break-all; align-self: center; }
.reco__copy { flex: none; display: flex; align-items: center; gap: 8px; border: 0; border-left: 1px solid var(--accent); background: var(--ink-primary); color: var(--surface-1); font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; padding: 12px 18px; cursor: pointer; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.reco__copy:hover { background: var(--accent); color: var(--ink-primary); }
.reco__fils { margin-top: 18px; }
.reco__fil { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding: 9px 0; border-bottom: 1px solid var(--border-hairline); }
.reco__fil:last-child { border-bottom: 0; }
.reco__fil-n { font-family: var(--font-display); font-size: 16px; }
.reco__fil-v { margin-left: auto; color: var(--accent-hover); font-size: 12.5px; font-weight: 600; }
@media (max-width: 700px) { .reco__grid { grid-template-columns: 1fr; } .reco__head, .reco__foot { padding-left: 18px; padding-right: 18px; } .reco__body { padding-left: 18px; padding-right: 18px; } .reco__stat { padding: 12px 18px; } .reco__fil-v { margin-left: 0; width: 100%; } }
button,.btn,a.btn,input[type="submit"],input[type="button"],.chip,.relance-btn,.nav__pro-btn--hot,.nav__mode,.nav__modequick,.drop-band__flag,.drop-band__count,.pop-cta,.wo-decline,.footer-capture__btn,.ec-cta,.welcome__cta,.seg button,.fav-panes button,.ct-file,.dropt-btn,.gallery__count,.callback-fab,.cat-tabs,.cat-tabs button{ border-radius: 0 !important; }

.cercle-panel { scrollbar-width: none; }
.cercle-panel::-webkit-scrollbar { display: none; width: 0; height: 0; }

.lb-modal:has(.cercle-panel) .lb-modal__close { background: none !important; border: 0 !important; color: var(--ink-primary) !important; }
.lb-modal:has(.cercle-panel) .lb-modal__close:hover { color: var(--accent) !important; }
.fav-floater__tab,.cc-fab,.scene-zoom-btn,.gate-close,.page-close,.simu-photo__x,.modal__close,.pop-x,.gallery__nav,.rail-nav,.ct-files__x,.home-hero__dot,.nav__cart-badge,.fav-floater__count,.fav-floater__star,.confirm-check,.encadre-opt__check,.encadre-card__radio,.encadre-card__radio.is-on::after,.ag-type__radio,.upsell__ico,.deliv-step__dot,.fav-row__ic{ border-radius: 999px !important; }


.nav__modequick-short { display: none; }
@media (max-width: 1024px) {
  .nav__modequick { padding: 7px 9px !important; letter-spacing: 0.08em; flex: none; }
  .nav__modequick-long { display: none; }
  .nav__modequick-short { display: inline; }
}
@media (max-width: 400px) { .nav__modequick { padding: 6px 7px !important; font-size: 9px; } }


.fav-page .fav-panes { border-top: 1px solid var(--border-divider); }
.fav-page__block { margin-top: var(--space-3); }
.fav-page__save { margin-top: var(--space-3); border: 1px solid var(--border-hairline); }
.fav-page__save .fav-floater__cta { border-bottom: 0; }
.fav-page__list { margin-top: var(--space-3); border-top: 1px solid var(--border-divider); }
.fav-page__list .fav-floater__item { padding: 14px 2px; min-height: 60px; }
.fav-page__list .fav-floater__thumb { width: 58px; height: 58px; }
.fav-page .reco-tab { padding: var(--space-3) 0 0; }


@media (max-width: 1024px) {
  .nav__links.is-open { padding-bottom: 0; }
  
  .nav__links > *,
  .nav__pro .nav__pro-btn,
  .nav__pro-menu .nav__link {
    box-sizing: border-box; width: 100%; min-height: 56px;
    padding: 0 var(--space-3); display: flex; align-items: center; justify-content: flex-start;
    text-align: left; font-size: 13px; letter-spacing: 0.16em; line-height: 1.3;
    border-bottom: 1px solid var(--border-divider); }
  
  .nav__pro-menu .nav__link { padding-left: calc(var(--space-3) + 18px); font-size: 12px; color: var(--ink-muted); }
  .nav__pro-menu .nav__link.is-active { color: var(--accent); }
  
  .nav__links > .nav__pro { padding: 0; min-height: 0; border-bottom: 0; display: block; }
  .nav__pro .nav__pro-btn--hot { border-radius: 0; border-top: 0; border-left: 0; border-right: 0; }
  
  .nav__links .nav__link:has(.nav__lockup) { padding-top: 0; padding-bottom: 0; margin-bottom: 0; }
  .nav__lockup { gap: 3px; }
  .nav__lockup-sub { font-size: 8px; letter-spacing: 0.22em; }
  
  .nav__links > *:last-child { border-bottom: 0; }
  
  .nav__links .nav__mode { margin: 0; border: 0; border-bottom: 1px solid var(--border-divider);
    justify-content: flex-start; font-size: 12px; color: var(--accent); }
}


@media (max-width: 1024px) {
  .nav__links.is-open { max-height: calc(100dvh - var(--nav-b, 124px)); overflow-y: auto; -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  .nav__pro-menu .nav__link:last-child { border-bottom: 0; }
}


.dropsale-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 50; }


.profil-card { display: flex; align-items: center; gap: 18px; width: 100%; text-align: left; background: var(--surface-1); border: 1px solid var(--border-hairline); padding: var(--space-3); margin-top: var(--space-3); cursor: pointer; transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.profil-card:hover { border-color: var(--accent); background: var(--surface-2); }
.profil-card__ico { flex: none; width: 48px; height: 48px; border-radius: 999px; border: 1px solid var(--accent); color: var(--accent); display: flex; align-items: center; justify-content: center; }
.profil-card__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.profil-card__eye { display: block; font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }
.profil-card__t { display: block; font-family: var(--font-display); font-size: var(--display-s-size); line-height: var(--display-s-lh); color: var(--ink-primary); margin: 3px 0 5px; }
.profil-card__sub { display: block; font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--ink-soft); max-width: 56ch; }
.profil-card__go { flex: none; color: var(--accent); display: flex; align-items: center; transition: transform var(--dur-fast) var(--ease); }
.profil-card:hover .profil-card__go { transform: translateX(3px); }
.profil-card__badge { align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; margin-top: 7px; font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); }
.profil-card.is-done .profil-card__ico { background: var(--accent); border-color: var(--accent); color: var(--ink-primary); }
@media (max-width: 560px) { .profil-card { gap: 14px; padding: var(--space-3) 16px; } .profil-card__ico { width: 42px; height: 42px; } }
@media (max-width: 900px) { }
@media (max-width: 900px) {
}
@keyframes lb-jump { 0%, 60% { background: rgba(212,197,169,0.10); } 100% { background: transparent; } }
@media(max-width:1100px){}
@media(max-width:760px){}

.avis-perks { margin-top: var(--space-3); border: 1px solid var(--accent); padding: 14px 16px; }
.avis-perks p { margin: 6px 0 0; font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--ink-primary); }
.avis-list { display: flex; flex-direction: column; gap: 14px; }
.avis-order { border: 1px solid var(--border-hairline); padding: 16px; }
.avis-order__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.avis-order__id { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.avis-order__num { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; }
.avis-order__meta { font-size: var(--body-m-size); color: var(--ink-soft); }
.avis-timer { display: flex; flex-direction: column; gap: 4px; margin-top: 12px; padding: 10px 12px; border-left: 2px solid var(--accent); background: var(--surface-1); }
.avis-timer__label { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); font-weight: 600; }
.avis-timer__txt { font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--ink-soft); }
.avis-form { display: flex; flex-direction: column; gap: 14px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border-divider); }
.avis-form__photo { width: 96px; height: 96px; object-fit: cover; display: block; }
.avis-form__work{display:flex;align-items:center;gap:12px}
.avis-form__wthumb{width:52px;height:52px;flex:none;object-fit:cover;border:1px solid var(--accent-muted);background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;color:var(--accent-hover)}
.avis-form__wtitle{font-family:var(--font-display);font-size:18px;color:var(--accent-hover)}
.avis-form .ct-grid{align-items:end}
.avis-form .ct-grid .input{height:52px;box-sizing:border-box}
.avis-form .ct-grid .ct-file{min-height:52px}
.avis-order__idwrap{display:flex;align-items:center;gap:12px;min-width:0}
.avis-order__thumb{width:48px;height:48px;flex:none;object-fit:cover;border:1px solid var(--accent-muted);background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;color:var(--accent-hover)}
.avis-after__back{align-self:flex-start;background:none;border:0;padding:0;margin-top:2px;font-size:13px;color:var(--accent-hover);border-bottom:1px solid var(--accent-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.avis-after__back:hover{color:var(--ink-primary);border-bottom-color:var(--accent)}
.ct-prio{display:inline-block;margin:0 0 10px;font-family:var(--font-display);font-style:italic;font-size:16px;color:var(--accent-hover)}
.avis-after { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border-divider); }
.avis-after__done { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.avis-after__perks { margin: 0; font-size: var(--body-s-size); line-height: var(--body-s-lh); color: var(--accent); }
.avis-after__act { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; text-align: left; padding: 12px 14px; background: transparent; border: 1px solid var(--accent-muted); color: var(--ink-primary); cursor: pointer; font-size: var(--body-m-size); transition: border-color var(--dur-fast) var(--ease); }
.avis-after__act:hover { border-color: var(--accent); }
.avis-after__hint { font-size: 12px; color: var(--ink-muted); }

.opt-swatches { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.opt-swatch { display: inline-block; width: 26px; height: 26px; border-radius: 999px; border: 1px solid rgba(17,17,17,0.25); box-sizing: border-box; }
.opt-swatch-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; background: none; border: 1px solid transparent; border-radius: 999px; cursor: pointer; transition: border-color var(--dur-fast) var(--ease); }
.opt-swatch-btn:hover { border-color: var(--accent-muted); }
.opt-swatch-btn.is-on { border-color: var(--accent); }
.opt-swatch-btn.is-on .opt-swatch { border-color: rgba(17,17,17,0.45); }
.opt-color-name { color: var(--accent); text-transform: none; letter-spacing: normal; }
.opt-swatch-pick { position: relative; flex: 0 0 auto; display: inline-flex; align-items: center; cursor: pointer; }
.opt-swatch-pick .opt-swatch { width: 30px; height: 30px; }
.opt-swatch-pick input[type="color"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

.opt-var-img { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; flex: 0 0 auto; }
.opt-var-img img { width: 34px; height: 34px; object-fit: cover; display: block; border: 1px solid var(--border-hairline); }
.opt-detail__img-fade { animation: optImgFade var(--dur-medium) var(--ease); }
@keyframes optImgFade { from { opacity: 0; } to { opacity: 1; } }

.avis-timer__txt strong { color: var(--ink-primary); font-weight: 600; }
.avis-perk-ico { display: inline-flex; vertical-align: -2px; margin: 0 4px 0 6px; color: var(--accent); }
.avis-later { font-size: 12px; color: var(--ink-muted); flex: none; }

.avis-after__act { line-height: 1.4; }
.avis-after__act > span:first-child { font-weight: 500; }

.avis-gate { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border-divider); }
.avis-gate__q { margin: 0; font-family: var(--font-display); font-size: var(--display-s-size); line-height: var(--display-s-lh); color: var(--ink-primary); }
.avis-gate__btns { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.avis-gate__btns .btn--block { align-self: stretch; }

.avis-gate__photos { display: flex; gap: 8px; flex-wrap: wrap; }
.avis-gate__ph { position: relative; display: inline-block; }
.avis-gate__ph img { width: 56px; height: 56px; object-fit: cover; display: block; border: 1px solid var(--border-hairline); }
.avis-gate__ph button { position: absolute; top: -8px; right: -8px; width: 22px; height: 22px; border-radius: 999px; border: 1px solid var(--border-hairline); background: #FDFCFA; color: var(--ink-muted); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.avis-gate__ph button svg { width: 12px; height: 12px; }

.nav__pro--bar { display: none; }
@media (min-width: 1025px) {
  .nav__links { margin-left: auto; }
  .nav__pro--bar { display: block; margin-left: auto; }
  .nav__pro--bar + .nav__carticon { margin-left: -12px; }
  .nav__links > .nav__pro { display: none; }
}
.nav__barmodes { display: none; }
@media (min-width: 1025px) {
  .nav__barmodes { display: inline-flex; align-items: center; gap: var(--space-3); position: absolute; top: 5px; right: var(--space-3); }
  .nav__barmodes .nav__mode--barinner { display: inline-flex; position: static; margin: 0; padding: 0 0 1px;
    border: 0; border-bottom: 1px solid var(--border-hairline); border-radius: 0; background: none; cursor: pointer;
    font-size: 9px; letter-spacing: 0.18em; color: var(--ink-muted); white-space: nowrap; }
  .nav__barmodes .nav__mode--barinner:hover { color: var(--accent); border-bottom-color: var(--accent); }
  .nav__barmodes .nav__mode--visitor.is-on { color: var(--accent); border-bottom-color: var(--accent); }
  .nav__links .nav__mode--artiste { display: none; }
}

@media (min-width: 1025px) {
  .nav__inner { position: relative; }
  .nav .nav__links { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; }
}


.nav__modequick--desk { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; white-space: nowrap;
  font-size: 10px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--accent); border: 1px solid var(--accent-muted); padding: 8px 14px; border-radius: 0;
  transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.nav__modequick--desk:hover { border-color: var(--accent); color: var(--ink-primary); }
@media (min-width: 1025px) {
.nav__modequick--desk + .nav__burger{ flex: none; } }


.home-hero__link { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; padding: 0; background: none; border: 0; cursor: pointer; }


.nav__carticon svg { width: 21px; height: 21px; display: block; }

.navico { width: 18px !important; height: 18px !important; transform-origin: center; }
.navico--phone { transform: scale(1.06); }   
.navico--cart  { transform: scale(1.0); }     
.navico--fav   { transform: scale(0.92); }    
.navico--user  { transform: scale(0.94); }    


.cart-restore { margin-top: var(--space-3); padding: 16px; border: 1px solid var(--border-hairline); display: flex; flex-direction: column; gap: 12px; }
.cart-restore .icon-page__cta { margin-top: 0; }


.nav__carticon { flex: 0 0 auto; }
.nav__carticon svg, .navico { flex: 0 0 auto !important; min-width: 19px; }
@media (max-width: 680px) {
}



.cote{border:1px solid var(--border-hairline);padding:16px 18px 14px;margin:0 0 18px}
.cote__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.cote__eye{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}
.cote__sub{font-size:11.5px;color:var(--ink-soft)}
.cote__svg{display:block;width:100%;height:auto}
.cote__foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:10px;padding:0 2.5%}
.cote__pt{display:flex;flex-direction:column;gap:3px}
.cote__pt--end{align-items:flex-end;text-align:right}
.cote__pt b{font-family:var(--font-body);font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--ink-muted)}
.cote__pt span{font-family:var(--font-display);font-size:21px;line-height:1;color:var(--ink-primary)}
.cote__pt--end span{color:var(--accent-hover)}
.cote__note{font-size:11px;line-height:1.5;color:var(--ink-muted);margin:12px 0 0}
@keyframes ptfade{from{opacity:0}to{opacity:1}}
@media(max-width:680px){}


.cote-parts{display:grid;grid-template-columns:repeat(7,1fr);gap:16px 14px;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-divider)}
.cote-parts img{width:100%;height:68px;object-fit:contain;opacity:.82}
@media(max-width:520px){.cote{padding:18px 16px 16px}.cote__head{flex-direction:column;gap:5px;margin-bottom:14px}.cote__eye,.cote__sub{width:100%}.cote__sub{font-size:11.5px;line-height:1.4}.cote__svg{height:148px}.cote__foot{margin-top:12px}.cote__pt b{font-size:10px}.cote__pt span{font-size:19px}.cote__note{font-size:11px;line-height:1.55;margin-top:14px}.cote-parts{grid-template-columns:repeat(4,1fr);gap:20px 16px;margin-top:18px;padding-top:18px}.cote-parts img{height:52px}}


.acc-cardhead{gap:14px}
@media(max-width:520px){.acc-cardhead{flex-direction:column;align-items:flex-start;gap:10px}}

@media(max-width:560px){
.reco__stats{display:block}
.reco__stat{flex:none;border-left:0;border-top:1px solid var(--border-hairline);padding:14px 20px}
.reco__stat:first-child{border-top:0}
.reco__stat b{font-size:22px}
}


.cat-card__meta{display:none}


.rdv-byemail{margin-top:-10px}


.a2hs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 20px;background:transparent;color:var(--ink-primary);border:1px solid var(--accent-muted);border-radius:0;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.a2hs-btn svg{flex:none}
.a2hs-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--canvas)}
.a2hs-btn--block{display:flex;width:100%}
.a2hs-ok{margin:10px 0 0;color:var(--ink-soft);text-align:center}
.a2hs-steps{margin:14px 0 18px;padding:0 0 0 20px;display:flex;flex-direction:column;gap:10px;color:var(--ink-soft);font-size:var(--body-s-size);line-height:var(--body-s-lh)}
.a2hs-steps li{padding-left:4px}
.a2hs-steps strong{color:var(--ink-primary);font-weight:600}


.cat-choice{display:flex;flex-direction:column;gap:12px;margin:22px 0 4px;text-align:left}
.cat-choice__act{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:none;border:1px solid var(--accent-muted);border-radius:0;padding:16px 18px;cursor:pointer;text-decoration:none;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.cat-choice__act:hover{background:var(--surface-1);border-color:var(--accent)}
.cat-choice__body{flex:1 1 auto;min-width:0}
.cat-choice__lab{display:block;font-family:var(--font-display);font-size:16px;line-height:1.3;color:var(--ink-primary)}
.cat-choice__sub{display:block;margin-top:4px;font-family:var(--font-body);font-size:12px;line-height:1.45;letter-spacing:0.02em;color:var(--ink-muted)}
.cat-choice__arrow{flex:none;color:var(--accent);transition:transform var(--dur-fast) var(--ease)}
.cat-choice__act:hover .cat-choice__arrow{transform:translateX(4px)}


.simu-tab { position: fixed; left: 0; top: 40%; z-index: 80; display: flex; flex-direction: column; align-items: center; gap: 7px; width: 86px; padding: 12px 8px; background: var(--ink-primary); color: var(--canvas); border: 1px solid var(--accent); border-left: 0; border-radius: 0; cursor: pointer; font-family: var(--font-body); transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.simu-tab__lbl { font-size: 10px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.45; text-align: center; }
.simu-tab svg { flex: none; }
.simu-tab:hover { background: var(--accent); color: var(--canvas); }
@media (max-width: 600px) { .simu-tab { top: auto; bottom: 27%; width: 76px; padding: 10px 6px; } .simu-tab__lbl { font-size: 9px; letter-spacing: 0.1em; } }
.simu-panel { max-width: 760px; padding: 40px 36px 36px; }
@media (max-width: 600px) { .simu-panel { padding: 44px 16px 24px; } }
.simu-title { font-family: var(--font-display); font-weight: 400; font-size: 28px; line-height: 1.2; margin: 8px 0 0; color: var(--ink-primary); }
.simu-steps { display: flex; align-items: flex-start; gap: 0; margin-top: 20px; }
.simu-step { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; color: var(--ink-muted); background: none; border: 0; padding: 0; font-family: var(--font-body); cursor: default; }
.simu-step.is-done { cursor: pointer; }
.simu-step.is-done:hover .simu-step__n { background: var(--accent); color: var(--canvas); }
.simu-step::before { content: ""; position: absolute; top: 12px; left: -50%; width: 100%; height: 1px; background: var(--border-hairline); }
.simu-step:first-child::before { display: none; }
.simu-step__n { position: relative; z-index: 1; width: 25px; height: 25px; border-radius: 999px; border: 1px solid var(--border-hairline); background: var(--surface-1); display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.simu-step__t { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; line-height: 1.4; max-width: 130px; }
.simu-step.is-on { color: var(--ink-primary); }
.simu-step.is-on .simu-step__n { background: var(--ink-primary); color: var(--canvas); border-color: var(--ink-primary); }
.simu-step.is-done { color: var(--accent); }
.simu-step.is-done .simu-step__n { border-color: var(--accent); color: var(--accent); }
.simu-step.is-done::before, .simu-step.is-on::before { background: var(--accent); }
.simu-body { margin-top: 22px; display: flex; flex-direction: column; gap: 18px; }
.simu-work { display: flex; align-items: center; gap: 12px; }
.simu-work__thumb { width: 54px; height: 54px; overflow: hidden; display: inline-flex; border: 1px solid var(--border-hairline); flex: none; }
.simu-work__thumb img { width: 100%; height: 100%; object-fit: cover; }
.simu-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.simu-chip { border: 1px solid var(--border-hairline); background: none; color: var(--ink-primary); padding: 10px 14px; font-size: 13px; cursor: pointer; border-radius: 0; transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.simu-chip:hover { border-color: var(--accent); }
.simu-chip.is-on { border-color: var(--accent); background: var(--accent); color: var(--canvas); }
.simu-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; max-height: 300px; overflow: auto; border: 1px solid var(--border-hairline); padding: 10px; }
.simu-cell { position: relative; border: 1px solid var(--border-hairline); background: none; padding: 0 0 6px; cursor: pointer; display: flex; flex-direction: column; gap: 6px; border-radius: 0; text-align: left; }
.simu-cell img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.simu-cell__t { font-size: 11px; line-height: 1.3; padding: 0 6px; }
.simu-cell.is-on { border-color: var(--accent); outline: 1px solid var(--accent); }
.simu-consigne { border: 1px solid var(--accent-muted); padding: 16px 18px; }
.simu-photos { display: flex; flex-wrap: wrap; gap: 12px; }
.simu-photo { position: relative; width: 132px; height: 100px; border: 1px solid var(--border-hairline); }
.simu-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.simu-photo__x { position: absolute; top: -9px; right: -9px; width: 22px; height: 22px; border-radius: 999px; border: 1px solid var(--accent); background: var(--ink-primary); color: var(--canvas); cursor: pointer; line-height: 1; padding: 0; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; }
.simu-add { width: 132px; height: 100px; border: 1px dashed var(--accent); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-size: 12px; color: var(--ink-soft); text-align: center; padding: 8px; }
.simu-add.is-busy { opacity: 0.6; pointer-events: none; }
.simu-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; position: sticky; bottom: 0; z-index: 2; background: var(--surface-1); padding: 12px 0; margin-bottom: -12px; border-top: 1px solid var(--border-hairline); }

.simu-fiche { border: 1px solid var(--border-hairline); padding: 12px 14px; margin-top: 10px; }
.simu-fiche__imgs { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.simu-fiche__imgs img { width: 170px; border: 1px solid var(--border-hairline); display: block; }

.simu-fmts { display: flex; flex-direction: column; gap: 8px; max-width: 340px; }
.simu-fmt { border: 1px solid var(--border-hairline); padding: 10px 12px; cursor: pointer; align-items: center; }
.simu-fmt > span { white-space: nowrap; }
.simu-fmt.is-on { border-color: var(--accent); }

.simu-recap { border: 1px solid var(--accent-muted); padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; }
.simu-recap__works { display: flex; flex-direction: column; gap: 10px; }
.simu-recap__row { display: flex; align-items: center; gap: 12px; }
.simu-recap__thumb { width: 44px; height: 44px; flex: none; overflow: hidden; border: 1px solid var(--border-hairline); }
.simu-recap__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.simu-recap__txt { display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.simu-recap__meta { font-size: 11px; color: var(--ink-muted); letter-spacing: 0.04em; }
.simu-recap__photos { display: flex; gap: 8px; flex-wrap: wrap; }
.simu-recap__photos img { width: 64px; height: 48px; object-fit: cover; border: 1px solid var(--border-hairline); display: block; }

.simu-acc { border: 1px solid var(--border-hairline); padding: 14px 16px; margin-top: 12px; }
.simu-acc__results { display: flex; gap: 10px; flex-wrap: wrap; }
.simu-acc__results img { width: 200px; max-width: 100%; border: 1px solid var(--border-hairline); display: block; }


.footer-capture__mini { display: flex; align-items: center; justify-content: center; gap: 22px; flex-wrap: wrap; text-align: center; }
.footer-capture__pdf { color: var(--accent); border-bottom: 1px solid var(--accent-muted); text-decoration: none; padding-bottom: 1px; font-size: 14px; transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.footer-capture__pdf:hover { color: var(--accent-hover); border-color: var(--accent); }


.prod-specs__fig { margin: 16px 0 0; }
.prod-specs__figimg { display: block; width: 100%; height: auto; border: 1px solid var(--border-hairline); }
.prod-specs__fig { max-width: 340px; }
.prod-specs__figcap { margin-top: 8px; font-size: var(--body-s-size); line-height: 1.55; color: var(--ink-muted); }


.collec-band { border-top: 1px solid var(--border-divider); }
.collec-band__title { font-family: var(--font-display); font-weight: 400; font-size: var(--display-m-size); line-height: var(--display-m-lh); color: var(--ink-primary); margin: var(--space-2) 0 0; }
.collec-band__p { color: var(--ink-muted); font-size: var(--body-s-size); line-height: 1.6; margin: 12px 0 0; max-width: 64ch; }
.collec-band__media { margin-top: var(--space-3); max-width: 720px; }


.pop-x, .modal__close, .lb-modal__close, .share-modal__close, .gate-close, .gate-close--in, .page-close, .account-close {
  background: none !important; border: 0 !important; color: var(--accent) !important; }
.pop-x:hover, .modal__close:hover, .lb-modal__close:hover, .share-modal__close:hover, .gate-close:hover, .page-close:hover, .account-close:hover {
  color: var(--ink-primary) !important; background: none !important; }
.drop-modal--light .modal__close,.scene-zoom-panel .lb-modal__close,.overlay--page .modal__close{
  background: none !important; border: 0 !important; color: rgba(17,19,16,0.65) !important; }
.drop-modal--light .modal__close:hover,.scene-zoom-panel .lb-modal__close:hover,.overlay--page .modal__close:hover{ color: #161310 !important; }


.mur-hero{position:relative;margin-top:var(--space-3);background:#000}
.mur-hero__link{display:block;position:relative}
.mur-hero__link img{width:100%;max-height:56vh;object-fit:cover;display:block}
.mur-hero__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.85),rgba(0,0,0,0.45) 34%,transparent 68%)}
.mur-hero__txt{position:absolute;left:24px;bottom:20px;z-index:2;text-shadow:0 1px 14px rgba(0,0,0,0.55)}
.mur-hero__title{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(24px,3.6vw,38px);color:#fff;margin:6px 0 8px;line-height:1.15}
.mur-hero__go{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;color:#fff;border-bottom:1px solid var(--accent);padding-bottom:3px}
.mur-crop-btn{position:absolute;bottom:14px;right:14px;z-index:4;background:rgba(0,0,0,0.55);border:0;color:#fff;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;padding:8px 12px;cursor:pointer}
.mur-crop-btn:hover{color:var(--accent)}
.mur-crop-hint{position:absolute;top:12px;left:12px;z-index:4;background:rgba(0,0,0,0.55);color:var(--accent);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;padding:8px 12px}
.mur-hero.is-cropping,.mur-banner.is-cropping{cursor:grab;outline:2px dashed var(--accent);outline-offset:-2px}
.mur-steps{padding:20px 0 2px;border-bottom:1px solid var(--border-hairline)}
.mur-steps__intro{color:var(--ink-soft);font-size:var(--body-m-size);line-height:1.6;max-width:640px;margin:0 0 14px;text-wrap:pretty}
.mur-steps__row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:16px}
.mur-steps__it{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;color:var(--ink-soft)}
.mur-steps__n{width:22px;height:22px;border-radius:var(--radius-pill);border:1px solid var(--accent);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:0}
.mur-steps__sep{color:var(--accent);font-size:13px}
.mur-rail-wrap{position:relative;margin-top:var(--space-2)}
.mur-rail{display:flex;gap:16px;overflow-x:auto;padding:6px 0;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 48px),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 48px),transparent 100%)}
.mur-rail::-webkit-scrollbar{display:none}
.mur-sub{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:9px;width:66px;background:none;border:0;padding:0;cursor:pointer;scroll-snap-align:start}
.mur-sub__m{width:56px;height:56px;border:1px solid var(--border-hairline);background:var(--surface-1);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--ink-muted);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.mur-sub__m img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--ease)}
.mur-sub__m--all{color:var(--accent);border-color:var(--accent-muted)}
.mur-sub__ph{font-family:var(--font-display);font-size:16px;color:var(--ink-soft)}
.mur-sub:hover .mur-sub__m{border-color:var(--accent-hover)}
.mur-sub:hover .mur-sub__m img{transform:scale(1.06)}
.mur-sub.is-on .mur-sub__m{border-color:#83704E;box-shadow:0 0 0 2px #83704E}
.mur-sub__l{font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);text-align:center;line-height:1.3;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mur-sub.is-on .mur-sub__l{color:var(--accent)}
.mur-sub__pick{position:absolute;top:-4px;right:0;width:20px;height:20px;border-radius:var(--radius-pill);background:rgba(0,0,0,0.65);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0.55;z-index:3}
.mur-sub__pick:hover{opacity:1}
.mur-rail__next{position:absolute;right:-6px;top:24px;z-index:5;width:36px;height:36px;border-radius:var(--radius-pill);border:1px solid var(--border-hairline);background:var(--canvas);color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.mur-rail__next:hover{border-color:var(--accent);color:var(--ink-primary)}
.mur-rail__prev{right:auto;left:-6px}
.mur-rail-wrap:has(.mur-rail__prev) .mur-rail{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%)}
.mur-chaps{margin-top:var(--space-3)}
.mur-chap{margin-bottom:var(--space-3)}
.mur-banner{position:relative;background:#000;margin:0 0 16px}
.mur-banner__link{display:block;position:relative}
.mur-banner__link img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block}
@media(max-width:700px){.mur-banner__link img{aspect-ratio:16/9}}
@media(max-width:560px){.mur-banner__link img{aspect-ratio:4/5}}
.mur-banner__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.55),transparent 50%)}
.mur-banner__txt{position:absolute;left:0;right:0;bottom:34px;color:#fff;text-align:center}
.mur-banner__ey{display:block;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;color:var(--accent)}
.mur-banner__ti{display:block;font-family:var(--font-display);font-size:clamp(23px,3.4vw,34px);color:#fff;line-height:1.12}
.mur-grid{margin-top:0}
.mur-cell{position:relative}
.mur-cell.is-cropping{outline:2px dashed var(--accent);outline-offset:-2px;cursor:grab}
.mur-cell img{object-position:var(--mur-pos,50% 50%)}
.mur-tools{position:absolute;bottom:44px;right:8px;z-index:3;display:inline-flex;gap:6px;opacity:0.55;transition:opacity var(--dur-fast) var(--ease)}
.mur-cell:hover .mur-tools,.mur-cell.is-cropping .mur-tools{opacity:1}
.mur-tool{width:30px;height:30px;border-radius:var(--radius-pill);background:rgba(0,0,0,0.55);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--dur-fast) var(--ease)}
.mur-tool:hover,.mur-tool.is-on{color:var(--accent)}
.cat-card__value{font-size:12px;color:var(--ink-muted);margin-top:4px;line-height:1.45}
.cat-card__flag{position:absolute;top:10px;left:10px;z-index:2;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;color:var(--canvas);background:var(--ink-primary);padding:5px 8px}
.cat-card__flag--new{background:var(--accent);color:#161310}
.mur-scrim{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:88;opacity:0;pointer-events:none;transition:opacity var(--dur-medium) var(--ease)}
.mur-scrim.on{opacity:1;pointer-events:auto}
.mur-panel{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--canvas);border-left:1px solid var(--border-hairline);z-index:89;transform:translateX(100%);transition:transform var(--dur-medium) var(--ease);overflow-y:auto}
.mur-panel.open{transform:none}
.mur-panel__x{position:absolute;top:10px;right:14px;background:none;border:0;color:var(--accent);font-size:26px;cursor:pointer;z-index:2}
.mur-panel__x:hover{color:var(--ink-primary)}
.mur-panel__img{width:100%;max-height:44vh;object-fit:contain;background:#000;display:block}
.mur-panel__body{padding:24px}
.mur-panel__title{font-family:var(--font-display);font-weight:400;font-size:25px;margin:8px 0 4px}
.mur-panel__desc{color:var(--ink-soft);font-size:14px;line-height:1.6;margin:4px 0 12px;text-wrap:pretty}
.mur-more{background:none;border:0;color:var(--accent);font-size:9.5px;letter-spacing:0.1em;text-transform:uppercase;font-weight:600;cursor:pointer;padding:0 0 2px;margin-left:7px}
.mur-more:hover{color:var(--accent-hover)}
.mur-pfav{display:inline-flex;align-items:center;gap:8px;background:none;border:0;color:var(--ink-soft);padding:9px 0;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;font-weight:600;cursor:pointer;margin:2px 0 4px;transition:color var(--dur-fast) var(--ease)}
.mur-pfav:hover,.mur-pfav.is-on{color:var(--accent)}
.mur-buy__lead{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;font-weight:600;color:var(--ink-muted);margin:18px 0 10px}
.mur-buy{display:block;width:100%;text-align:left;border:1px solid var(--border-hairline);background:none;padding:16px;cursor:pointer;margin:0 0 10px;transition:border-color var(--dur-fast) var(--ease);box-sizing:border-box;color:var(--ink-primary)}
.mur-buy:hover{border-color:var(--accent)}
.mur-buy__name{display:block;font-family:var(--font-display);font-size:20px;margin:0 0 4px}
.mur-buy__sub{font-style:normal;font-weight:400;color:var(--accent);font-size:17px}
.mur-buy__desc{display:block;font-size:12.5px;color:var(--ink-muted);line-height:1.55}
.mur-buy__go{display:inline-block;margin-top:9px;font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;color:var(--ink-primary);border-bottom:1px solid var(--accent);padding-bottom:2px}
.mur-more--tel{display:inline-flex;align-items:center;gap:7px;margin:16px 0 0;font-size:11px;border-bottom:1px solid var(--accent)}
.mur-more--fiche{display:block;margin:12px 0 0;font-size:10.5px;color:var(--ink-muted)}
.mur-more--fiche:hover{color:var(--accent)}
.mur-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(80px);background:var(--ink-primary);color:var(--canvas);padding:13px 22px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;font-weight:600;z-index:99;transition:transform var(--dur-fast) var(--ease)}
.mur-toast.on{transform:translateX(-50%)}
@media(max-width:560px){
  .mur-hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
  .mur-hero__link img{max-height:64vh;min-height:380px}
  .mur-banner{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
  .mur-panel__img{max-height:30vh}
  .mur-panel__body{padding:16px 18px}
  .mur-panel__title{font-size:21px;margin:6px 0 2px}
  .mur-panel__desc{font-size:13px;margin:2px 0 8px}
  .mur-pfav{margin:0 0 2px;padding:7px 0}
  .mur-buy__lead{margin:12px 0 8px}
  .mur-buy{padding:11px 13px;margin:0 0 8px}
  .mur-buy__name{font-size:17px;margin:0 0 2px}
  .mur-buy__sub{font-size:15px}
  .mur-buy__desc{font-size:12px}
  .mur-buy__go{margin-top:6px}
}


.selwork__peekthumb{position:relative}
.selwork__peekfav{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:var(--radius-pill);background:rgba(0,0,0,0.55);color:var(--accent);display:flex;align-items:center;justify-content:center}
.selwork__peekthumb.is-fav{border-color:var(--accent)}


.selwork__peek{flex-wrap:wrap}
.selwork__peeklabel{flex:1 0 100%;width:100%;font-size:8.5px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;color:var(--ink-muted);margin:0 0 2px;display:flex;align-items:center;gap:5px}
.selwork__peeklabel svg{color:var(--accent);vertical-align:-1px}
.selwork__peekthumb--ghost{display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--accent-muted);background:none;color:var(--accent);cursor:pointer}
.selwork__peekthumb--ghost:hover{border-color:var(--accent);color:var(--accent-hover)}


.selwork__peektab{background:none;border:0;padding:0 0 2px;cursor:pointer;font-size:8.5px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;color:var(--ink-muted);display:inline-flex;align-items:center;gap:4px;transition:color var(--dur-fast) var(--ease)}
.selwork__peektab svg{color:var(--accent)}
.selwork__peektab:hover{color:var(--ink-soft)}
.selwork__peektab.is-on{color:var(--accent);border-bottom:1px solid var(--accent)}
.selwork__peeksep{color:var(--ink-muted);font-size:9px}


.cart-return{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;background:var(--surface-1);border:0;border-bottom:1px solid var(--accent);color:var(--ink-primary);padding:13px 22px;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;cursor:pointer;box-sizing:border-box}
.cart-return__go{color:var(--accent);white-space:nowrap}
.cart-return:hover .cart-return__go{color:var(--accent-hover)}
.mur-up{position:fixed;bottom:22px;left:22px;z-index:60;background:rgba(0,0,0,0.7);border:1px solid var(--accent-muted);color:var(--accent);padding:11px 16px;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.mur-up:hover{color:#fff;border-color:var(--accent)}


.mur-banner__ey{color:var(--accent-muted)}
.mur-banner__ti{text-shadow:0 1px 12px rgba(0,0,0,0.5)}
.mur-hero__go{border-bottom-color:var(--accent-muted)}
.mur-up{color:var(--accent-muted);border-color:rgba(212,197,169,0.4)}
.mur-up:hover{color:#fff;border-color:var(--accent-muted)}
.mur-crop-btn:hover{color:var(--accent-muted)}
.mur-crop-hint{color:var(--accent-muted)}
.mur-tool:hover,.mur-tool.is-on{color:var(--accent-muted)}
.selwork__peekfav{color:var(--accent-muted)}
.mur-panel__x{color:var(--accent-muted)}
.mur-panel__x:hover{color:#fff}
.cat-card__fav:hover{color:var(--accent-muted)}
.cat-card__fav.is-on{color:var(--accent-muted)}


.wo-int-media{width:100%;max-width:340px;margin:4px auto 15px;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--border-hairline);background:var(--surface-1)}
.wo-int-media img{display:block;width:100%;height:100%;object-fit:cover}
.wo-card--interest .consent{align-items:flex-start}
.wo-card--interest .consent input{-webkit-appearance:none;appearance:none;flex:none;width:16px;height:16px;margin:1px 0 0;border:1px solid #83704E;border-radius:0;background:#fff center/12px 12px no-repeat;cursor:pointer}
.wo-card--interest .consent input:checked{background-color:#83704E;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='square'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.wo-card--interest .consent input:focus-visible{outline:1px solid #83704E;outline-offset:2px}


.fav-row{display:flex;align-items:center;gap:8px}
.fav-row>.fav-floater__item{flex:1;min-width:0}
.fav-row__acts{flex:none;display:flex;gap:8px}
.fav-row__ic{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-hairline);background:var(--canvas,#fff);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.fav-row__ic:hover,.fav-row__ic:focus-visible{border-color:var(--accent);color:var(--ink-primary)}
.fav-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;background:#141414;color:#fff;font-size:13px;border-radius:0}
.fav-undo__txt{min-width:0;text-wrap:pretty}
.fav-undo__btn{flex:none;background:none;border:0;border-bottom:1px solid #D4C5A9;border-radius:0;color:#D4C5A9;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:2px 0;cursor:pointer}


.cart-mail{margin-bottom:16px;padding:14px 18px;border:1px solid var(--accent-muted);border-radius:0;background:var(--surface-1)}
.cart-mail__head{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:10px}
.cart-mail__head svg{color:var(--accent)}
.cart-mail__head em{font-style:normal;letter-spacing:.08em;text-transform:none}
.cart-mail__row{display:flex;gap:10px;max-width:460px}
.cart-mail__row .input{flex:1;min-width:0}
.cart-mail__row .btn{flex:none}
.cart-mail__note{font-size:var(--body-s-size);line-height:1.5;color:var(--ink-muted);margin:8px 0 0}
.cart-mail--ok{display:flex;align-items:center;gap:10px;padding:10px 18px;font-size:var(--body-s-size);color:var(--ink-soft)}
.cart-mail--ok b{font-weight:600;color:var(--ink-primary);word-break:break-all}
.cart-mail__tick{width:20px;height:20px;border-radius:50%;background:#EFE6D2;border:1px solid var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#1b1a18;flex:none}
@media (max-width:520px){.cart-mail__row{flex-direction:column}.cart-mail__row .btn{width:100%}}


@media (max-width: 900px) { .cart-grid { grid-template-columns: minmax(0, 1fr); } .cart-grid > * { min-width: 0; } .cart-line { max-width: 100%; box-sizing: border-box; } }
@media (max-width: 520px) { .cart-controls { flex-wrap: wrap; row-gap: 10px; } .cart-controls .text-link { white-space: nowrap; } }


.fc2.footer-capture{padding:var(--space-5) var(--space-3)}
.fc2 .footer-capture__inner{position:relative;max-width:640px !important;box-sizing:border-box;width:100%;max-width:640px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-4);border:1px solid var(--accent-muted);background:var(--surface-1);display:flex;flex-direction:column;align-items:center;text-align:center}
.fc2 .footer-capture__inner::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:var(--accent)}
.fc2 .footer-capture__inner::after{content:"";position:absolute;inset:6px;border:1px solid rgba(212,197,169,.35);pointer-events:none}
.fc2 .footer-capture__eyebrow{font:600 11px var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0 0 14px;padding-left:.24em}
.fc2 .footer-capture__title{font-family:var(--font-display);font-weight:400;font-size:clamp(26px,5.2vw,36px);line-height:1.12;letter-spacing:.04em;text-transform:uppercase;margin:0;color:var(--ink-primary);text-wrap:balance}
.fc2 .fc2-rule{display:flex;align-items:center;gap:10px;width:120px;margin:18px auto 16px;color:var(--accent)}
.fc2 .fc2-rule::before,.fc2 .fc2-rule::after{content:"";flex:1;height:1px;background:currentColor;opacity:.7}
.fc2 .fc2-rule i{width:6px;height:6px;border:1px solid currentColor;transform:rotate(45deg);flex:none}
.fc2 .footer-capture__sub{font-size:15px;line-height:1.55;color:var(--ink-soft);margin:0;max-width:36ch;text-wrap:balance}
.fc2 .footer-capture__form{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:10px;width:100%;max-width:400px;margin:var(--space-3) 0 0}
.fc2 .footer-capture__form>*{flex:0 0 auto}
.fc2 .footer-capture__input{flex:0 0 auto;box-sizing:border-box;width:100%;height:52px;padding:0 16px;text-align:center;font-size:16px;background:var(--canvas);border:1px solid var(--accent-muted);border-radius:0;color:var(--ink-primary)}
.fc2 .footer-capture__input:focus{outline:none;border-color:var(--accent)}
.fc2 .footer-capture__btn{flex:0 0 auto;box-sizing:border-box;width:100%;height:52px;min-height:52px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink-primary);border:1px solid var(--ink-primary);color:var(--canvas);font:600 12px var(--font-body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:0}
.fc2 .footer-capture__btn:hover{background:var(--accent);border-color:var(--accent)}
.fc2 .consent{flex:0 0 auto;justify-content:center;margin:6px 0 0;gap:8px}
.fc2 .consent input{width:14px;height:14px}
.fc2 .consent__txt{font-size:12px;color:var(--ink-muted)}
.fc2 .fc2-sep{width:40px;height:1px;background:var(--accent-muted);margin:var(--space-3) auto 0}
.fc2 .footer-capture__connect{display:block;margin:var(--space-3) auto 0;background:none;border:0;padding:0;font:13px/1.6 var(--font-body);letter-spacing:.01em;text-transform:none;color:var(--ink-soft);cursor:pointer;text-wrap:balance}
.fc2 .footer-capture__connect b{font-weight:400;color:var(--ink-primary);border-bottom:1px solid var(--accent);padding-bottom:1px}
.fc2 .footer-capture__connect:hover b{color:var(--accent)}
.fc2 .footer-gift{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:4px}
.fc2 .footer-capture__gift{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;font:600 11px var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);cursor:pointer}
.fc2 .footer-gift__url{background:none;border:0;padding:0;font:12px var(--font-body);color:var(--ink-muted);text-decoration:none;overflow-wrap:anywhere;cursor:pointer}
@media (max-width:600px){.fc2.footer-capture{padding:var(--space-4) var(--space-2)}.fc2 .footer-capture__inner{padding:var(--space-4) var(--space-3) var(--space-3)}}
.fc2 .footer-capture__form>*{width:100%;max-width:100%;margin-left:0;margin-right:0}.fc2 .footer-capture__form .consent{width:auto;margin-left:auto;margin-right:auto}


.drop-ori-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.drop-ori-tile__media{aspect-ratio:1/1;background:#F8F4EC;display:flex;align-items:center;justify-content:center}
.drop-ori-tile__media svg{width:78%;height:78%}
.drop-done__sel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 6px;width:100%}
@media (max-width:600px){.drop-done__sel{grid-template-columns:repeat(2,minmax(0,1fr))}}
.drop-done__work{padding:0;background:var(--surface-1);border:1px solid rgba(212,197,169,.25);cursor:pointer;text-align:center;min-width:0;transition:border-color var(--dur-fast) var(--ease)}
.drop-done__work:hover{border-color:var(--accent)}
.drop-done__img{position:relative;display:block;aspect-ratio:1/1;overflow:hidden}
.drop-done__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.drop-done__fav{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:50%;background:#EFE6D2;border:1px solid var(--accent);color:#1b1a18;font-size:11px;display:flex;align-items:center;justify-content:center}
.drop-done__name{display:block;padding:6px 4px;font-size:11px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drop-fmt-autre{background:#F8F4EC;display:flex;align-items:center;justify-content:center}.drop-fmt-autre svg{width:70%;height:70%;transform:none !important}
.drop-reveal{text-align:center}.drop-reveal__form{display:flex;flex-direction:column;gap:10px;margin:18px auto 0;max-width:420px}.drop-reveal__form .consent{justify-content:center}.drop-reveal__note{margin:12px auto 0;max-width:420px}
.cat-gouts-note{margin:var(--space-3) 0 0;font-size:var(--body-m-size);line-height:var(--body-m-lh);color:var(--ink-soft);max-width:62ch;text-wrap:pretty}.cat-gouts-note strong{font-weight:600;color:var(--ink-primary)}

.drop-wish-tile__check{background:#EFE6D2 !important;color:#1b1a18 !important;border:1px solid #D4C5A9}
.cat-gouts-note__heart{display:inline-flex;vertical-align:-3px;margin:0 2px;color:var(--accent)}.cat-gouts-note__heart svg{width:16px;height:16px}
.cat-rm{position:absolute;top:8px;left:8px;z-index:3;width:30px;height:30px;border-radius:50%;border:1px solid var(--accent);background:#EFE6D2;color:#1b1a18;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.cat-rm:hover{background:var(--accent);color:#fff}
.cat-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:var(--space-3);padding:10px 14px;border:1px solid var(--accent-muted);background:var(--surface-1);font-size:var(--body-s-size);color:var(--ink-soft)}

.cat-rm{top:auto !important;left:6px !important;bottom:auto;width:32px !important;height:32px !important;border:0 !important;border-radius:50% !important;background:rgba(255,255,255,0.72) !important;color:#1b1a18 !important;opacity:.85}
.cat-rm:hover{background:rgba(255,255,255,0.95) !important;color:var(--accent) !important;opacity:1}

.cat-card{position:relative}
.cat-card__over{position:absolute;left:0;right:0;top:0;aspect-ratio:1/1;pointer-events:none;z-index:3}
.cat-card__over .cat-rm{position:absolute !important;left:8px !important;bottom:8px !important;top:auto !important;width:32px !important;height:32px !important;padding:0;border:0 !important;background:none !important;border-radius:0 !important;color:var(--accent) !important;opacity:1;pointer-events:auto;display:flex;align-items:center;justify-content:center;cursor:pointer}
.cat-card__over .cat-rm:hover{color:#fff !important}

.drop-band-slot--after-cta{margin-top:var(--space-4)}


.home-immersive{position:relative;overflow:hidden;margin-top:var(--space-2);aspect-ratio:1214/458;background:#000;border:1px solid var(--border-hairline);cursor:pointer;transition:border-color var(--dur-medium) var(--ease)}
.home-immersive:hover{border-color:var(--accent)}
.home-immersive__stage{position:absolute;inset:0;opacity:1;transition:opacity 900ms var(--ease)}
.home-immersive__stage.is-out{opacity:0}
.home-immersive__img{--hp:var(--hp-d,50% 50%);--hz:var(--hz-d,1);position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hp);display:block;transform-origin:var(--hp);transform:scale(var(--hz));animation:hiIn .9s var(--ease) both,hiZoom 7.2s linear both}
@keyframes hiIn{from{opacity:0}to{opacity:1}}
@keyframes hiZoom{from{transform:scale(var(--hz))}to{transform:scale(calc(var(--hz) * 1.06))}}
.home-immersive__preload{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.home-immersive__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0) 45%);pointer-events:none}
.home-immersive__cta{position:absolute;left:0;right:0;bottom:var(--space-4);display:flex;justify-content:center;padding:0 var(--space-3)}
@media (min-width:721px) and (max-width:1024px){.home-immersive{aspect-ratio:6/4}.home-immersive__img{--hp:var(--hp-t,50% 50%);--hz:var(--hz-t,1)}}
@media (max-width:720px){.home-immersive{aspect-ratio:7/10}.home-immersive__img{--hp:var(--hp-m,50% 50%);--hz:var(--hz-m,1)}.home-immersive__cta{bottom:var(--space-3)}}
@media (max-width:720px){}
@media (prefers-reduced-motion:reduce){.home-immersive__img{animation:none}.home-immersive__stage{transition:none}}

.home-immersive__cta .btn{background:#fff;color:#111;border-color:#fff}
.home-immersive__cta .btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.home-immersive__cta .btn:hover svg{color:#fff;stroke:currentColor}
.btn--primary:not(:disabled):hover,.btn--primary:not(:disabled):hover span,.btn--primary:not(:disabled):hover strong,.btn--primary:not(:disabled):hover b,.nav__cart-badge,.nav__cart-badge span,.nav__cart-badge strong,.nav__cart-badge b,.nav__mode:hover,.nav__mode:hover span,.nav__mode:hover strong,.nav__mode:hover b,.fav-floater__tab:hover,.fav-floater__tab:hover span,.fav-floater__tab:hover strong,.fav-floater__tab:hover b,.fav-floater__tab.is-open,.fav-floater__tab.is-open span,.fav-floater__tab.is-open strong,.fav-floater__tab.is-open b,.fav-floater__star,.fav-floater__star span,.fav-floater__star strong,.fav-floater__star b,.fav-floater__count,.fav-floater__count span,.fav-floater__count strong,.fav-floater__count b,.upsell.is-on .upsell__ico,.upsell.is-on .upsell__ico span,.upsell.is-on .upsell__ico strong,.upsell.is-on .upsell__ico b,.cat-card__tick.is-on,.cat-card__tick.is-on span,.cat-card__tick.is-on strong,.cat-card__tick.is-on b,.wp-batch__btn:hover,.wp-batch__btn:hover span,.wp-batch__btn:hover strong,.wp-batch__btn:hover b,.title-ac__opt:hover,.title-ac__opt:hover span,.title-ac__opt:hover strong,.title-ac__opt:hover b,.title-ac__opt.is-active,.title-ac__opt.is-active span,.title-ac__opt.is-active strong,.title-ac__opt.is-active b,.perks__tier-badge,.perks__tier-badge span,.perks__tier-badge strong,.perks__tier-badge b,.seg button.is-active,.seg button.is-active span,.seg button.is-active strong,.seg button.is-active b,.checkbox-box.is-on,.checkbox-box.is-on span,.checkbox-box.is-on strong,.checkbox-box.is-on b,.rail-nav:hover,.rail-nav:hover span,.rail-nav:hover strong,.rail-nav:hover b,.format-opt__promo,.format-opt__promo span,.format-opt__promo strong,.format-opt__promo b,.fav-tile--accent,.fav-tile--accent span,.fav-tile--accent strong,.fav-tile--accent b,.fav-tile--accent:hover,.fav-tile--accent:hover span,.fav-tile--accent:hover strong,.fav-tile--accent:hover b,.footer__cb:hover,.footer__cb:hover span,.footer__cb:hover strong,.footer__cb:hover b,.callback-fab:hover,.callback-fab:hover span,.callback-fab:hover strong,.callback-fab:hover b,.cc-fab:hover,.cc-fab:hover span,.cc-fab:hover strong,.cc-fab:hover b,.cc-fab.is-open,.cc-fab.is-open span,.cc-fab.is-open strong,.cc-fab.is-open b,.cc-fab__badge,.cc-fab__badge span,.cc-fab__badge strong,.cc-fab__badge b,.cc-msg--me .cc-bubble,.cc-msg--me .cc-bubble span,.cc-msg--me .cc-bubble strong,.cc-msg--me .cc-bubble b,.cc-send,.cc-send span,.cc-send strong,.cc-send b,.relance-btn--accent:hover:not(:disabled),.relance-btn--accent:hover:not(:disabled) span,.relance-btn--accent:hover:not(:disabled) strong,.relance-btn--accent:hover:not(:disabled) b,.pop-cta:hover,.pop-cta:hover span,.pop-cta:hover strong,.pop-cta:hover b,.cat-landing .footer-capture__btn:hover,.cat-landing .footer-capture__btn:hover span,.cat-landing .footer-capture__btn:hover strong,.cat-landing .footer-capture__btn:hover b,.footer-capture__btn:hover,.footer-capture__btn:hover span,.footer-capture__btn:hover strong,.footer-capture__btn:hover b,.cookiebar__btn,.cookiebar__btn span,.cookiebar__btn strong,.cookiebar__btn b,.title-pick,.title-pick span,.title-pick strong,.title-pick b,.title-pick:hover,.title-pick:hover span,.title-pick:hover strong,.title-pick:hover b,.selwork__peeknext:hover,.selwork__peeknext:hover span,.selwork__peeknext:hover strong,.selwork__peeknext:hover b,.selwork__browse:hover,.selwork__browse:hover span,.selwork__browse:hover strong,.selwork__browse:hover b,.welcome__cta:hover,.welcome__cta:hover span,.welcome__cta:hover strong,.welcome__cta:hover b,.reserve-pill,.reserve-pill span,.reserve-pill strong,.reserve-pill b,.push-switch.is-on,.push-switch.is-on span,.push-switch.is-on strong,.push-switch.is-on b,.blog-sim__chip.is-on,.blog-sim__chip.is-on span,.blog-sim__chip.is-on strong,.blog-sim__chip.is-on b,.ec-cta:hover,.ec-cta:hover span,.ec-cta:hover strong,.ec-cta:hover b,.rdv-slot.is-on,.rdv-slot.is-on span,.rdv-slot.is-on strong,.rdv-slot.is-on b,.reco__gl-btn:hover:not(:disabled),.reco__gl-btn:hover:not(:disabled) span,.reco__gl-btn:hover:not(:disabled) strong,.reco__gl-btn:hover:not(:disabled) b,.reco__copy:hover,.reco__copy:hover span,.reco__copy:hover strong,.reco__copy:hover b,.profil-card.is-done .profil-card__ico,.profil-card.is-done .profil-card__ico span,.profil-card.is-done .profil-card__ico strong,.profil-card.is-done .profil-card__ico b,.a2hs-btn:hover,.a2hs-btn:hover span,.a2hs-btn:hover strong,.a2hs-btn:hover b,.simu-tab:hover,.simu-tab:hover span,.simu-tab:hover strong,.simu-tab:hover b,.simu-step.is-done:hover .simu-step__n,.simu-step.is-done:hover .simu-step__n span,.simu-step.is-done:hover .simu-step__n strong,.simu-step.is-done:hover .simu-step__n b,.simu-chip.is-on,.simu-chip.is-on span,.simu-chip.is-on strong,.simu-chip.is-on b,.cat-card__flag--new,.cat-card__flag--new span,.cat-card__flag--new strong,.cat-card__flag--new b,.fc2 .footer-capture__btn:hover,.fc2 .footer-capture__btn:hover span,.fc2 .footer-capture__btn:hover strong,.fc2 .footer-capture__btn:hover b{color:#fff !important}


.drop-done__work--pick .drop-done__img{position:relative}
.drop-done__heart{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;background:#fff;color:#161310;border:1px solid var(--border-hairline);display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.drop-done__work--pick.is-fav .drop-done__heart{background:var(--accent);border-color:var(--accent);color:#fff}
.drop-done__work--pick.is-fav .drop-done__img{outline:1px solid var(--accent);outline-offset:-1px}


.drop-modal--light.drop-modal--light.drop-modal--light .btn--primary:not(:disabled):hover,.drop-modal--light.drop-modal--light.drop-modal--light .btn--primary:not(:disabled):hover span,.drop-modal--light.drop-modal--light.drop-modal--light .btn--primary:not(:disabled):hover svg{color:#fff !important}
.btn--primary:not(:disabled):hover,.nav__cart-badge,.nav__mode:hover,.fav-floater__tab:hover,.fav-floater__tab.is-open,.fav-floater__star,.fav-floater__count,.upsell.is-on .upsell__ico,.cat-card__tick.is-on,.wp-batch__btn:hover,.title-ac__opt:hover,.title-ac__opt.is-active,.perks__tier-badge,.seg button.is-active,.checkbox-box.is-on,.rail-nav:hover,.format-opt__promo,.fav-tile--accent,.fav-tile--accent:hover,.footer__cb:hover,.callback-fab:hover,.cc-fab:hover,.cc-fab.is-open,.cc-fab__badge,.cc-msg--me .cc-bubble,.cc-send,.relance-btn--accent:hover:not(:disabled),.pop-cta:hover,.cat-landing .footer-capture__btn:hover,.footer-capture__btn:hover,.cookiebar__btn,.title-pick,.title-pick:hover,.selwork__peeknext:hover,.selwork__browse:hover,.welcome__cta:hover,.reserve-pill,.push-switch.is-on,.blog-sim__chip.is-on,.ec-cta:hover,.rdv-slot.is-on,.reco__gl-btn:hover:not(:disabled),.reco__copy:hover,.profil-card.is-done .profil-card__ico,.a2hs-btn:hover,.simu-tab:hover,.simu-step.is-done:hover .simu-step__n,.simu-chip.is-on,.cat-card__flag--new,.fc2 .footer-capture__btn:hover,.drop-modal--light.drop-modal--light.drop-modal--light .btn--primary:not(:disabled):hover{background:#83704E !important;border-color:#83704E !important}
.btn--primary:not(:disabled):hover,.btn--primary:not(:disabled):hover span,.btn--primary:not(:disabled):hover strong,.btn--primary:not(:disabled):hover b,.btn--primary:not(:disabled):hover svg,.nav__cart-badge,.nav__cart-badge span,.nav__cart-badge strong,.nav__cart-badge b,.nav__cart-badge svg,.nav__mode:hover,.nav__mode:hover span,.nav__mode:hover strong,.nav__mode:hover b,.nav__mode:hover svg,.fav-floater__tab:hover,.fav-floater__tab:hover span,.fav-floater__tab:hover strong,.fav-floater__tab:hover b,.fav-floater__tab:hover svg,.fav-floater__tab.is-open,.fav-floater__tab.is-open span,.fav-floater__tab.is-open strong,.fav-floater__tab.is-open b,.fav-floater__tab.is-open svg,.fav-floater__star,.fav-floater__star span,.fav-floater__star strong,.fav-floater__star b,.fav-floater__star svg,.fav-floater__count,.fav-floater__count span,.fav-floater__count strong,.fav-floater__count b,.fav-floater__count svg,.upsell.is-on .upsell__ico,.upsell.is-on .upsell__ico span,.upsell.is-on .upsell__ico strong,.upsell.is-on .upsell__ico b,.upsell.is-on .upsell__ico svg,.cat-card__tick.is-on,.cat-card__tick.is-on span,.cat-card__tick.is-on strong,.cat-card__tick.is-on b,.cat-card__tick.is-on svg,.wp-batch__btn:hover,.wp-batch__btn:hover span,.wp-batch__btn:hover strong,.wp-batch__btn:hover b,.wp-batch__btn:hover svg,.title-ac__opt:hover,.title-ac__opt:hover span,.title-ac__opt:hover strong,.title-ac__opt:hover b,.title-ac__opt:hover svg,.title-ac__opt.is-active,.title-ac__opt.is-active span,.title-ac__opt.is-active strong,.title-ac__opt.is-active b,.title-ac__opt.is-active svg,.perks__tier-badge,.perks__tier-badge span,.perks__tier-badge strong,.perks__tier-badge b,.perks__tier-badge svg,.seg button.is-active,.seg button.is-active span,.seg button.is-active strong,.seg button.is-active b,.seg button.is-active svg,.checkbox-box.is-on,.checkbox-box.is-on span,.checkbox-box.is-on strong,.checkbox-box.is-on b,.checkbox-box.is-on svg,.rail-nav:hover,.rail-nav:hover span,.rail-nav:hover strong,.rail-nav:hover b,.rail-nav:hover svg,.format-opt__promo,.format-opt__promo span,.format-opt__promo strong,.format-opt__promo b,.format-opt__promo svg,.fav-tile--accent,.fav-tile--accent span,.fav-tile--accent strong,.fav-tile--accent b,.fav-tile--accent svg,.fav-tile--accent:hover,.fav-tile--accent:hover span,.fav-tile--accent:hover strong,.fav-tile--accent:hover b,.fav-tile--accent:hover svg,.footer__cb:hover,.footer__cb:hover span,.footer__cb:hover strong,.footer__cb:hover b,.footer__cb:hover svg,.callback-fab:hover,.callback-fab:hover span,.callback-fab:hover strong,.callback-fab:hover b,.callback-fab:hover svg,.cc-fab:hover,.cc-fab:hover span,.cc-fab:hover strong,.cc-fab:hover b,.cc-fab:hover svg,.cc-fab.is-open,.cc-fab.is-open span,.cc-fab.is-open strong,.cc-fab.is-open b,.cc-fab.is-open svg,.cc-fab__badge,.cc-fab__badge span,.cc-fab__badge strong,.cc-fab__badge b,.cc-fab__badge svg,.cc-msg--me .cc-bubble,.cc-msg--me .cc-bubble span,.cc-msg--me .cc-bubble strong,.cc-msg--me .cc-bubble b,.cc-msg--me .cc-bubble svg,.cc-send,.cc-send span,.cc-send strong,.cc-send b,.cc-send svg,.relance-btn--accent:hover:not(:disabled),.relance-btn--accent:hover:not(:disabled) span,.relance-btn--accent:hover:not(:disabled) strong,.relance-btn--accent:hover:not(:disabled) b,.relance-btn--accent:hover:not(:disabled) svg,.pop-cta:hover,.pop-cta:hover span,.pop-cta:hover strong,.pop-cta:hover b,.pop-cta:hover svg,.cat-landing .footer-capture__btn:hover,.cat-landing .footer-capture__btn:hover span,.cat-landing .footer-capture__btn:hover strong,.cat-landing .footer-capture__btn:hover b,.cat-landing .footer-capture__btn:hover svg,.footer-capture__btn:hover,.footer-capture__btn:hover span,.footer-capture__btn:hover strong,.footer-capture__btn:hover b,.footer-capture__btn:hover svg,.cookiebar__btn,.cookiebar__btn span,.cookiebar__btn strong,.cookiebar__btn b,.cookiebar__btn svg,.title-pick,.title-pick span,.title-pick strong,.title-pick b,.title-pick svg,.title-pick:hover,.title-pick:hover span,.title-pick:hover strong,.title-pick:hover b,.title-pick:hover svg,.selwork__peeknext:hover,.selwork__peeknext:hover span,.selwork__peeknext:hover strong,.selwork__peeknext:hover b,.selwork__peeknext:hover svg,.selwork__browse:hover,.selwork__browse:hover span,.selwork__browse:hover strong,.selwork__browse:hover b,.selwork__browse:hover svg,.welcome__cta:hover,.welcome__cta:hover span,.welcome__cta:hover strong,.welcome__cta:hover b,.welcome__cta:hover svg,.reserve-pill,.reserve-pill span,.reserve-pill strong,.reserve-pill b,.reserve-pill svg,.push-switch.is-on,.push-switch.is-on span,.push-switch.is-on strong,.push-switch.is-on b,.push-switch.is-on svg,.blog-sim__chip.is-on,.blog-sim__chip.is-on span,.blog-sim__chip.is-on strong,.blog-sim__chip.is-on b,.blog-sim__chip.is-on svg,.ec-cta:hover,.ec-cta:hover span,.ec-cta:hover strong,.ec-cta:hover b,.ec-cta:hover svg,.rdv-slot.is-on,.rdv-slot.is-on span,.rdv-slot.is-on strong,.rdv-slot.is-on b,.rdv-slot.is-on svg,.reco__gl-btn:hover:not(:disabled),.reco__gl-btn:hover:not(:disabled) span,.reco__gl-btn:hover:not(:disabled) strong,.reco__gl-btn:hover:not(:disabled) b,.reco__gl-btn:hover:not(:disabled) svg,.reco__copy:hover,.reco__copy:hover span,.reco__copy:hover strong,.reco__copy:hover b,.reco__copy:hover svg,.profil-card.is-done .profil-card__ico,.profil-card.is-done .profil-card__ico span,.profil-card.is-done .profil-card__ico strong,.profil-card.is-done .profil-card__ico b,.profil-card.is-done .profil-card__ico svg,.a2hs-btn:hover,.a2hs-btn:hover span,.a2hs-btn:hover strong,.a2hs-btn:hover b,.a2hs-btn:hover svg,.simu-tab:hover,.simu-tab:hover span,.simu-tab:hover strong,.simu-tab:hover b,.simu-tab:hover svg,.simu-step.is-done:hover .simu-step__n,.simu-step.is-done:hover .simu-step__n span,.simu-step.is-done:hover .simu-step__n strong,.simu-step.is-done:hover .simu-step__n b,.simu-step.is-done:hover .simu-step__n svg,.simu-chip.is-on,.simu-chip.is-on span,.simu-chip.is-on strong,.simu-chip.is-on b,.simu-chip.is-on svg,.cat-card__flag--new,.cat-card__flag--new span,.cat-card__flag--new strong,.cat-card__flag--new b,.cat-card__flag--new svg,.fc2 .footer-capture__btn:hover,.fc2 .footer-capture__btn:hover span,.fc2 .footer-capture__btn:hover strong,.fc2 .footer-capture__btn:hover b,.fc2 .footer-capture__btn:hover svg,.drop-modal--light.drop-modal--light.drop-modal--light .btn--primary:not(:disabled):hover *{color:#fff !important}


.drop-done__sel.drop-done__sel--pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.drop-done__sel--pick .drop-done__name{font-size:13px;white-space:normal;text-wrap:balance}


.drop-done__why{display:block;padding:0 6px 8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:rgba(17,17,17,.55);line-height:1.4;text-wrap:balance}
.drop-done__keepall{display:flex;justify-content:flex-end;margin:14px 0 -6px}
.drop-done__warn{margin:12px 0 0;color:rgba(17,17,17,.65);text-align:center}

/* Bandeau cookies v2 (10/10/2026) · Accepter / Refuser au même niveau · angles droits, aucune ombre */
.ck2{position:fixed;left:16px;bottom:16px;z-index:90;width:360px;max-width:calc(100vw - 32px);background:var(--canvas);border:1px solid var(--border-hairline);padding:20px;display:flex;flex-direction:column;gap:12px;border-radius:0;box-shadow:none}
.ck2__eyebrow{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}
.ck2__txt{margin:0;font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--ink-primary);text-wrap:pretty}
.ck2__row{display:flex;gap:8px}
/* Cookies (25/10/2026) : Accepter à droite, sous le pouce · Refuser à gauche, même niveau visuel */
.ck2__row .ck2__btn--fill{order:2}

.ck2__btn{flex:1 1 0;min-height:44px;padding:10px;border:1px solid var(--ink-primary);border-radius:0;background:transparent;color:var(--ink-primary);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background-color 200ms cubic-bezier(.4,0,.2,1),color 200ms cubic-bezier(.4,0,.2,1),border-color 200ms cubic-bezier(.4,0,.2,1)}
.ck2__btn--fill{background:var(--ink-primary);color:var(--canvas)}
.ck2__btn:hover{background:#83704E;border-color:#83704E;color:#fff}
.ck2__link{align-self:flex-start;background:none;border:0;padding:0;font-family:var(--font-body);font-size:12px;color:var(--ink-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ck2__link:hover{color:var(--ink-primary)}
.ck2__opts{display:flex;flex-direction:column;gap:10px}
.ck2__opt{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-soft);cursor:pointer}
.ck2__opt input{flex:none;margin:2px 0 0;accent-color:#83704E}
.ck2__note{margin:0;font-size:11px;line-height:1.5;color:var(--ink-muted)}
@media (max-width:600px){.ck2{left:10px;right:10px;width:auto;max-width:none;bottom:calc(80px + env(safe-area-inset-bottom));padding:16px}}

/* Bandeau cookies v2 · ordinateur : bandeau centré en bas, étiré, texte à gauche / boutons à droite (10/10/2026) */
@media (min-width:901px){.ck2{left:50%;right:auto;transform:translateX(-50%);width:min(880px,calc(100vw - 48px));max-width:none;bottom:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;row-gap:8px;align-items:center;padding:22px 32px}
.ck2__eyebrow{grid-column:1;grid-row:1}.ck2__txt{grid-column:1;grid-row:2}
.ck2>.ck2__row{grid-column:2;grid-row:2;align-self:start}.ck2__txt{align-self:start}.ck2>.ck2__row .ck2__btn{min-width:150px}
.ck2__link{grid-column:2;grid-row:3;justify-self:end}.ck2__note{grid-column:1;grid-row:3}
.ck2__opts{grid-column:1/-1;grid-row:3;padding-top:6px}.ck2__opts~.ck2__note{grid-row:4}.ck2__opts .ck2__row{max-width:360px}}

/* Confirmation catalogue (24/10/2026) : espaces haut et bas identiques dans le cadre */
.fc2 .footer-capture__inner.is-done{padding:var(--space-4)}
.fc2 .footer-capture__inner.is-done .footer-capture__done{margin-top:0}
.fc2 .footer-capture__inner.is-done .footer-capture__done>:last-child{margin-bottom:0}
.fc2 .footer-capture__inner.is-done .footer-capture__done .cat-choice{margin-bottom:0}
@media (max-width:600px){.fc2 .footer-capture__inner.is-done{padding:var(--space-3) var(--space-3)}}

/* Bandeau Leasing d'art · accueil (24/10/2026) */
.home-lease__in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);border:1px solid var(--border-hairline);border-top:1px solid var(--accent);background:var(--canvas)}
.home-lease__media{position:relative;min-height:360px;overflow:hidden;cursor:pointer;background:var(--surface-1)}
.home-lease__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.home-lease__body{padding:var(--space-4);display:flex;flex-direction:column;justify-content:center}
.home-lease__t{font-family:var(--font-display);font-weight:400;font-size:var(--display-m-size);line-height:var(--display-m-lh);margin:16px 0;text-wrap:balance;max-width:22ch}
.home-lease__p{font-size:var(--body-m-size);line-height:var(--body-m-lh);color:var(--ink-soft);margin:0;max-width:52ch;text-wrap:pretty}
.home-lease__pts{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:8px;border-top:1px solid var(--border-hairline);padding-top:16px}
.home-lease__pts li{display:flex;gap:16px;font-size:14px;color:var(--ink-primary)}
.home-lease__pts span{flex:none;width:84px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);padding-top:2px}
.home-lease__from{margin:16px 0 0;font-size:14px;color:var(--ink-soft)}.home-lease__from strong{color:var(--ink-primary);font-weight:600}
.home-lease__cta{margin-top:24px}
@media (max-width:800px){.home-lease__in{grid-template-columns:minmax(0,1fr)}.home-lease__media{min-height:0;aspect-ratio:4/3}.home-lease__body{padding:var(--space-3)}}

/* Leasing 13 → 48 mois (28/10/2026) : 5 durées, % d'économie, pièces & méthode de calcul */
.lease-dur { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.lease-dur__eco { font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.3; color: var(--ink-muted); }
.lease-dur__eco.is-pos { color: var(--accent); }
@media (max-width: 720px) { .lease-dur { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lease-synth__rows--fine { margin-top: 8px; opacity: 0.85; }
.lease-synth__rows--fine dt, .lease-synth__rows--fine dd { font-size: 12px; }
.lease-guide { margin: var(--space-5) 0 0; padding-top: var(--space-4); border-top: 1px solid var(--border-divider); }
.lease-guide__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.lease-guide__ey { display: block; color: var(--accent); margin-bottom: var(--space-2); }
.lease-guide__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lease-guide__list li { position: relative; padding-left: 18px; font-size: var(--body-m-size); line-height: 1.55; color: var(--ink-soft); text-wrap: pretty; }
.lease-guide__list li::before { content: "·"; position: absolute; left: 4px; color: var(--accent); }
.lease-guide__method { margin-top: var(--space-5); }
.lease-guide__title { font-family: var(--font-display); font-weight: 400; font-size: var(--display-s-size); line-height: var(--display-s-lh); margin: 0 0 var(--space-3); text-wrap: balance; }
.lease-guide__steps { margin: 0 0 var(--space-4); padding-left: 20px; display: grid; gap: 10px; color: var(--ink-soft); font-size: var(--body-m-size); line-height: 1.55; }
.lease-guide__steps strong { color: var(--ink-primary); font-weight: 600; }
.lease-guide__scroll { overflow-x: auto; border: 1px solid var(--border-hairline); }
.lease-guide__table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.lease-guide__table caption { caption-side: top; text-align: left; padding: 12px 16px; font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); border-bottom: 1px solid var(--border-hairline); }
.lease-guide__table th, .lease-guide__table td { padding: 10px 16px; text-align: right; border-bottom: 1px solid var(--border-divider); white-space: nowrap; }
.lease-guide__table th[scope="row"] { text-align: left; font-weight: 400; color: var(--ink-muted); }
.lease-guide__table thead th { color: var(--accent); font-weight: 600; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.lease-guide__table tr.is-key td { color: var(--ink-primary); font-weight: 600; }
.lease-guide__table tbody tr:last-child th, .lease-guide__table tbody tr:last-child td { border-bottom: 0; }
.lease-guide__note { margin-top: var(--space-2); font-size: var(--body-s-size); line-height: 1.55; color: var(--ink-muted); text-wrap: pretty; }
.lease-guide--compact { margin-top: var(--space-4); }
@media (max-width: 720px) { .lease-guide__cols { grid-template-columns: 1fr; gap: var(--space-3); } }

/* Journal · mur d'œuvres (article leasing) */
.blog-wall { margin: 0 0 var(--space-4); cursor: pointer; }
.blog-wall__cols { columns: 4; column-gap: 8px; }
.blog-wall__cols img { display: block; width: 100%; height: auto; margin: 0 0 8px; break-inside: avoid; border: 1px solid transparent; border-radius: 0; transition: border-color var(--dur-fast) var(--ease); }
.blog-wall:hover .blog-wall__cols img { border-color: var(--border-hairline); }
.blog-wall__cap { margin-top: var(--space-1); font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); text-align: center; }
@media (max-width: 720px) { .blog-wall__cols { columns: 3; column-gap: 6px; } .blog-wall__cols img { margin-bottom: 6px; } }

.lease-synth__row dd small.lease-synth__pct { display: block; margin: 2px 0 0; text-align: right; color: var(--accent); }

/* Synthèse de financement (28/10/2026) : coût après impôt, comparaison comptant, phrase dirigeant */
.lease-synth__after { margin-top: 10px; font-size: var(--body-s-size); line-height: 1.5; color: var(--ink-soft); }
.lease-synth__after strong { color: var(--accent); font-weight: 600; }
.lease-synth__cmp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--accent-muted); border-top: 1px solid var(--accent-muted); }
.lease-synth__cmpcol { display: flex; flex-direction: column; gap: 6px; padding: var(--space-2) var(--space-3); background: var(--surface-2); }
.lease-synth__cmpk { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; line-height: 1.3; text-transform: uppercase; color: var(--ink-muted); }
.lease-synth__cmpcol--on .lease-synth__cmpk { color: var(--ink-soft); }
.lease-synth__cmpv { font-family: var(--font-display); font-size: var(--display-s-size); line-height: 1; color: var(--ink-soft); font-variant-numeric: tabular-nums; white-space: nowrap; }
.lease-synth__cmpv--was { color: var(--ink-muted); }
.lease-synth__cmpcol--on .lease-synth__cmpv { color: var(--accent); }
.lease-synth__cmpv small { font-family: var(--font-body); font-size: 10px; font-weight: 600; letter-spacing: 0.12em; color: var(--ink-muted); margin-left: 6px; }
.lease-synth__verdict { grid-column: 1 / -1; padding: 12px var(--space-3); background: var(--surface-2); font-size: var(--body-s-size); line-height: 1.5; color: var(--ink-soft); text-wrap: pretty; }
.lease-synth__verdict strong { color: var(--accent); font-weight: 600; }
.lease-synth__claim { margin: 0; padding: var(--space-2) var(--space-3) 0; font-family: var(--font-display); font-size: 18px; line-height: 1.4; color: var(--ink-primary); text-wrap: balance; }
@media (max-width: 480px) { .lease-synth__cmpv { font-size: 20px; } .lease-synth__claim { font-size: 16px; } }

.lease-synth__row dt { flex: 1 1 auto; min-width: 0; }
.lease-synth__row dd { flex: none; text-align: right; }

/* Formulaire leasing · choix d'œuvres (28/10/2026) */
.wpick__chosen { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.wpick__chip { display: inline-flex; align-items: center; gap: 8px; padding: 4px 6px 4px 4px; border: 1px solid var(--accent); border-radius: var(--radius-1); font-size: 13px; }
.wpick__chip img { width: 32px; height: 32px; object-fit: contain; background: var(--surface-2); border-radius: 0; }
.wpick__chip button { background: none; border: 0; color: var(--ink-muted); font-size: 18px; line-height: 1; cursor: pointer; padding: 0 4px; }
.wpick__chip button:hover { color: var(--accent); }
.wpick__hits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.wpick__hit { display: flex; flex-direction: column; gap: 6px; padding: 0; background: none; border: 1px solid var(--border-hairline); cursor: pointer; text-align: left; transition: border-color var(--dur-fast) var(--ease); }
.wpick__hit:hover { border-color: var(--accent); }
.wpick__img { display: block; aspect-ratio: 1 / 1; background: var(--surface-2); }
.wpick__img img { width: 100%; height: 100%; object-fit: contain; display: block; border-radius: 0; }
.wpick__t { padding: 0 8px 8px; font-family: var(--font-display); font-size: 13px; line-height: 1.3; color: var(--accent); }
.wpick__advice { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 0; background: none; border: 0; cursor: pointer; font-size: var(--body-s-size); color: var(--ink-soft); text-align: left; }
.wpick__box { flex: none; width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border-hairline); border-radius: var(--radius-1); font-size: 12px; color: var(--canvas); }
.wpick__advice.is-on .wpick__box { background: var(--accent); border-color: var(--accent); }
.wpick__advice:hover .wpick__box { border-color: var(--accent); }
@media (max-width: 560px) { .wpick__hits { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ===== Page Leasing immersive (28/10/2026) ===== */
.lx-hero { position: relative; min-height: min(86vh, 820px); display: flex; align-items: flex-end; overflow: hidden; background: var(--canvas); margin-bottom: var(--space-5); }
.lx-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; animation: lxFade var(--dur-slow) var(--ease) both; }
.lx-hero__grad { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.55) 38%, rgba(0,0,0,0) 72%); }
.lx-hero__in { position: relative; width: 100%; max-width: 1240px; margin: 0 auto; padding: var(--space-5) var(--space-3) var(--space-5); }
.lx-hero__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(32px, 5vw, var(--display-xl-size)); line-height: var(--display-xl-lh); letter-spacing: var(--display-xl-tracking); color: var(--ink-primary); max-width: 20ch; margin: 12px 0 16px; text-wrap: balance; }
.lx-hero__sub { font-size: var(--body-l-size); line-height: var(--body-l-lh); color: var(--ink-soft); max-width: 56ch; margin: 0 0 var(--space-3); text-wrap: pretty; }
.lx-hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-2); }
@keyframes lxFade { from { opacity: 0; } to { opacity: 1; } }
.lx-figs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--border-hairline); border-bottom: 1px solid var(--border-hairline); margin-bottom: var(--space-5); }
.lx-fig { display: flex; flex-direction: column; gap: 8px; padding: var(--space-3) var(--space-2); border-left: 1px solid var(--border-divider); }
.lx-fig:first-child { border-left: 0; }
.lx-fig__v { font-family: var(--font-display); font-size: clamp(28px, 3.4vw, 40px); line-height: 1; color: var(--accent); font-variant-numeric: tabular-nums; white-space: nowrap; }
.lx-fig__v small { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.08em; color: var(--ink-muted); }
.lx-fig__k { font-size: var(--body-s-size); line-height: 1.45; color: var(--ink-soft); text-wrap: pretty; }
.lx-h2 { font-family: var(--font-display); font-weight: 400; font-size: clamp(26px, 3.2vw, var(--display-l-size)); line-height: var(--display-l-lh); color: var(--ink-primary); margin: 10px 0 var(--space-3); text-wrap: balance; }
.lx-p { font-size: var(--body-l-size); line-height: var(--body-l-lh); color: var(--ink-soft); max-width: 60ch; text-wrap: pretty; }
.lx-uses { margin-bottom: var(--space-5); }
.lx-uses__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); }
.lx-use { margin: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.lx-use__img { aspect-ratio: 4 / 5; overflow: hidden; background: var(--surface-1); }
.lx-use__img img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; transition: opacity var(--dur-slow) var(--ease); }
.lx-use figcaption { display: flex; flex-direction: column; gap: 6px; }
.lx-use__t { font-family: var(--font-display); font-size: var(--display-s-size); line-height: var(--display-s-lh); color: var(--ink-primary); }
.lx-use__d { font-size: var(--body-m-size); line-height: var(--body-m-lh); color: var(--ink-soft); text-wrap: pretty; }
.lx-proof { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-4); align-items: start; padding: var(--space-4) 0; border-top: 1px solid var(--border-divider); margin-bottom: var(--space-5); }
.lx-proof__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--border-hairline); }
.lx-proof__list li { display: flex; justify-content: space-between; gap: var(--space-2); align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--border-hairline); }
.lx-proof__list strong { font-family: var(--font-display); font-weight: 400; font-size: 22px; color: var(--accent); }
.lx-proof__list span { font-size: var(--body-s-size); color: var(--ink-soft); text-align: right; }
.lx-press { grid-column: 1 / -1; margin: 0; font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }
.lx-fiscal { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); flex-wrap: wrap; padding: var(--space-4); background: var(--surface-1); border: 1px solid var(--accent-muted); margin-bottom: var(--space-5); }
.lx-fiscal > div { flex: 1 1 420px; }
.lx-fiscal__t { font-family: var(--font-display); font-size: var(--display-s-size); line-height: 1.35; color: var(--ink-primary); margin: 10px 0 8px; text-wrap: pretty; }
.lx-fiscal__n { font-size: var(--body-s-size); color: var(--ink-muted); margin: 0; }
.lx-steps { margin-bottom: var(--space-5); }
.lx-steps__list { list-style: none; margin: var(--space-2) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.lx-steps__list li { display: flex; flex-direction: column; gap: 8px; padding-top: var(--space-2); border-top: 1px solid var(--accent-muted); }
.lx-steps__n { font-family: var(--font-display); font-size: 30px; line-height: 1; color: var(--accent); }
.lx-steps__list strong { font-size: var(--body-l-size); font-weight: 600; color: var(--ink-primary); }
.lx-steps__list span:last-child { font-size: var(--body-m-size); line-height: var(--body-m-lh); color: var(--ink-soft); }
.lx-sticky { display: none; }
@media (max-width: 900px) {
  .lx-figs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lx-fig:nth-child(3) { border-left: 0; }
  .lx-fig:nth-child(n+3) { border-top: 1px solid var(--border-divider); }
  .lx-uses__grid { grid-template-columns: 1fr; }
  .lx-use__img { aspect-ratio: 16 / 10; }
  .lx-proof { grid-template-columns: 1fr; }
  .lx-steps__list { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .lx-hero { min-height: 78vh; }
  .lx-hero__in { padding: var(--space-4) var(--space-2); }
  .lx-hero__cta .btn { flex: 1 1 100%; justify-content: center; }
  .lx-fiscal { padding: var(--space-3); }
  .lx-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--canvas); border-top: 1px solid var(--border-hairline); }
  .lx-sticky__t { font-size: 12px; line-height: 1.35; color: var(--ink-soft); }
  .lx-sticky .btn { min-height: 44px; flex: none; }
}

/* Leasing immersif · texte sur image : couleurs FIXES (le site tourne en thème clair, les jetons s'inversent) */
.lx-hero { background: #000; }
.lx-hero .eyebrow { color: #D4C5A9 !important; }
.lx-hero__title { color: #FFFFFF; }
.lx-hero__sub { color: rgba(255,255,255,0.88); }
.lx-hero .btn--primary { background: #FFFFFF; border-color: #FFFFFF; color: #000; }
.lx-hero .btn--primary:hover { background: #D4C5A9; border-color: #D4C5A9; color: #000; }
.lx-hero .btn--outline { background: transparent; border-color: #FFFFFF; color: #FFFFFF; }
.lx-hero .btn--outline:hover { background: #FFFFFF; border-color: #FFFFFF; color: #000; }
.lx-hero .btn svg { stroke: currentColor; }

/* Leasing immersif · logos collaborations + presse repris de l'accueil, pleine largeur */
.lx-bleed { width: 100vw; margin-left: calc(50% - 50vw); margin-bottom: var(--space-5); }
.lx-bleed .partners, .lx-bleed .press { margin: 0; }

/* Leasing immersif v2 (28/10/2026) · secteurs, œuvres, comparaison */
.lx-sector { margin-bottom: var(--space-5); }
.lx-sector__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--space-3); }
.lx-sector__tab { padding: 10px 18px; min-height: 44px; border: 1px solid var(--border-hairline); border-radius: var(--radius-pill); background: transparent; color: var(--ink-soft); font-size: 13px; letter-spacing: 0.02em; cursor: pointer; transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.lx-sector__tab:hover { border-color: var(--accent); }
.lx-sector__tab.is-on { border-color: var(--accent); background: var(--accent); color: var(--canvas); }
.lx-sector__panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: var(--space-3) var(--space-4); align-items: start; padding: var(--space-4); background: var(--surface-1); border: 1px solid var(--border-hairline); animation: lxFade var(--dur-medium) var(--ease) both; }
.lx-sector__panel > .btn { grid-column: 1 / -1; justify-self: start; }
.lx-sector__t { font-family: var(--font-display); font-weight: 400; font-size: var(--display-m-size); line-height: var(--display-m-lh); color: var(--ink-primary); margin: 0 0 10px; text-wrap: balance; }
.lx-sector__p { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); margin: 0; }
.lx-sector__r { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.lx-sector__r li { position: relative; padding-left: 26px; font-size: var(--body-l-size); line-height: 1.55; color: var(--ink-soft); text-wrap: pretty; }
.lx-sector__r li::before { content: ""; position: absolute; left: 0; top: 9px; width: 11px; height: 6px; border-left: 1.5px solid var(--accent); border-bottom: 1.5px solid var(--accent); transform: rotate(-45deg); }
.lx-pick { margin-bottom: var(--space-5); }
.lx-pick__head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-2); flex-wrap: wrap; }
.lx-pick__from { margin: 0 0 var(--space-3); font-size: var(--body-m-size); color: var(--ink-soft); }
.lx-pick__from strong { color: var(--accent); font-weight: 600; }
.lx-pick__row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 300px); gap: var(--space-2); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; -webkit-overflow-scrolling: touch; }
.lx-pick__card { margin: 0; scroll-snap-align: start; display: flex; flex-direction: column; gap: 10px; }
.lx-pick__img { aspect-ratio: 4 / 3; background: var(--surface-1); display: flex; align-items: center; justify-content: center; padding: 14px; border: 1px solid transparent; transition: border-color var(--dur-fast) var(--ease); }
.lx-pick__card:hover .lx-pick__img { border-color: var(--accent); }
.lx-pick__img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 0; display: block; }
.lx-pick__card figcaption { display: flex; flex-direction: column; gap: 6px; }
.lx-pick__t { font-size: 17px; line-height: 1.3; }
.lx-pick__cta { align-self: flex-start; font-size: 13px; }
.lx-pick__more { margin-top: var(--space-2); }
.lx-vs { margin-bottom: var(--space-5); }
.lx-vs__tbl { border-top: 1px solid var(--border-hairline); }
.lx-vs__row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-2); padding: 16px 0; border-bottom: 1px solid var(--border-hairline); align-items: baseline; font-size: var(--body-m-size); color: var(--ink-soft); }
.lx-vs__row > span:first-child { color: var(--ink-muted); }
.lx-vs__row .is-on { color: var(--ink-primary); font-weight: 600; }
.lx-vs__row--h { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); }
.lx-vs__row--h .is-on { color: var(--accent); }
.lx-vs__row:not(.lx-vs__row--h) .is-on { font-family: var(--font-display); font-weight: 400; font-size: 20px; color: var(--accent); }
.lx-vs__note { margin-top: 12px; font-size: var(--body-s-size); color: var(--ink-muted); max-width: 80ch; }
@media (max-width: 900px) {
  .lx-sector__panel { grid-template-columns: 1fr; padding: var(--space-3); }
  .lx-vs__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .lx-vs__row > span:first-child { grid-column: 1 / -1; }
}

.lx-proof__list li { flex-direction: column; align-items: flex-start; gap: 4px; }
.lx-proof__list span { text-align: left; }


/* Leasing · valeur perçue sous la description (28/10/2026) : collaborations + presse de l'accueil, remis en page pour la colonne */
.lease-trust{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-divider)}
.lease-trust .wrap{padding:0;max-width:none}
.lease-trust .partners{padding:0;border:0}
.lease-trust .partners__head,.lease-trust .press__head{text-align:left;padding-bottom:0}
.lease-trust .press__head::after{display:none}
.lease-trust .partners__grid{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2) 0;margin:var(--space-2) 0 0}
.lease-trust .partners__logo{flex:0 0 20%;width:20%;height:auto;max-width:none;opacity:0.7}
.lease-trust .press{background:transparent;border:0;padding:0}
.lease-trust .press__grid{display:flex;flex-direction:column;gap:0;margin-top:var(--space-2);border-top:1px solid var(--border-divider)}
.lease-trust .press__item{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:var(--space-3);text-align:left;padding:var(--space-2) 0;border:0;border-bottom:1px solid var(--border-divider)}
.lease-trust .press__logo{height:30px;width:auto;max-width:120px;justify-self:start}
.lease-trust .press__logo--normal{height:18px;margin:0}
.lease-trust .press__quote{font-size:16px;line-height:1.45;max-width:none}
.lease-trust .press__quote::before{content:"« "}.lease-trust .press__quote::after{content:" »"}
@media (max-width:600px){.lease-trust .partners__logo{flex-basis:25%;width:25%}.lease-trust .press__item{grid-template-columns:96px minmax(0,1fr);gap:var(--space-2)}.lease-trust .press__logo{max-width:96px;height:24px}.lease-trust .press__quote{font-size:15px}}

/* Leasing · valeur perçue · passe 2 : marges transparentes des PNG rognées (recadrage centré du logo, jamais d'une œuvre) */
.lease-trust .partners__grid{gap:var(--space-1) 0}
.lease-trust .partners__logo{aspect-ratio:776/360;object-fit:cover;object-position:center}
.lease-trust .press__item{grid-template-columns:150px minmax(0,1fr)}
.lease-trust .press__logo,.lease-trust .press__logo--normal{width:150px;max-width:150px;height:auto;aspect-ratio:1117/260;object-fit:cover;object-position:center;justify-self:start;margin:0 0 0 -24px}
@media (max-width:600px){.lease-trust .press__item{grid-template-columns:110px minmax(0,1fr)}.lease-trust .press__logo,.lease-trust .press__logo--normal{width:110px;max-width:110px;height:auto;margin-left:-18px}}

/* Leasing · valeur perçue · composant dédié LeaseTrust (logos cadrés sur leur tracé) */
.lease-trust .lt-block{display:flex;flex-direction:column;gap:var(--space-2)}
.lease-trust .lt-ey{color:var(--accent)}
.lt-logo{display:block;flex:none;overflow:hidden;position:relative}
.lt-logo img{display:block;max-width:none;height:auto;border-radius:0}
.lt-partners{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);opacity:0.75}
.lt-press{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-divider)}
.lt-press li{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:var(--space-3);min-height:64px;padding:12px 0;border-bottom:1px solid var(--border-divider)}
.lt-press__logo{display:flex;align-items:center;opacity:0.88}
.lt-press__q{font-family:var(--font-display);font-size:16px;line-height:1.45;color:var(--accent);text-wrap:pretty}
@media (max-width:600px){.lt-partners{gap:var(--space-3) var(--space-3)}.lt-press li{grid-template-columns:120px minmax(0,1fr);gap:var(--space-2)}.lt-press__q{font-size:15px}}

/* Leasing · conditions + pièces + informations réunies sur une ligne (28/10/2026) */
.lease-trio{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border-divider)}
.lease-trio__col{display:flex;flex-direction:column;gap:14px;min-width:0}
.lease-trio .lease-cond{margin:0}
.lease-trio .lease-guide__list{margin:0}
.lease-trio__note{margin:4px 0 0;padding-top:14px;border-top:1px solid var(--border-divider);font-size:var(--body-s-size);line-height:1.55;color:var(--ink-soft)}
@media (max-width:980px){.lease-trio{grid-template-columns:repeat(2,minmax(0,1fr))}.lease-trio__col:first-child{grid-column:1/-1}}
@media (max-width:600px){.lease-trio{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}}

/* Leasing · passe luxe (28/10/2026) : logos en cellules égales centrées, trio éditorial à filets */
.lt-partners{display:flex;flex-wrap:wrap;justify-content:center;gap:0;opacity:0.78;border-top:1px solid var(--border-divider);border-bottom:1px solid var(--border-divider);padding:var(--space-2) 0}
.lt-cell{flex:0 0 25%;display:flex;align-items:center;justify-content:center;height:76px;min-width:0}
.lt-press li{grid-template-columns:150px minmax(0,1fr)}
@media (max-width:600px){.lt-cell{flex-basis:33.333%;height:68px}.lt-cell .lt-logo{transform:scale(0.82)}.lt-press li{grid-template-columns:110px minmax(0,1fr)}.lt-press__logo .lt-logo{transform:scale(0.85);transform-origin:left center}}
.lease-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:var(--space-5) 0 0;padding:0;border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline)}
.lease-trio__col{gap:0;padding:var(--space-4) var(--space-4) var(--space-4) 0}
.lease-trio__col + .lease-trio__col{padding-left:var(--space-4);border-left:1px solid var(--border-divider)}
.lease-trio__col:last-child{padding-right:0}
.lease-trio__k{font-family:var(--font-display);font-size:13px;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:var(--space-2)}
.lease-trio__t{font-family:var(--font-display);font-weight:400;font-size:20px;line-height:1.3;color:var(--ink-primary);margin:0 0 var(--space-3);text-wrap:balance}
.lease-trio__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-divider)}
.lease-trio__list li{padding:12px 0;border-bottom:1px solid var(--border-divider);font-size:var(--body-s-size);line-height:1.55;color:var(--ink-soft);text-wrap:pretty}
.lease-trio__note{margin:var(--space-3) 0 0;padding:0;border:0;font-size:12px;line-height:1.6;color:var(--ink-muted)}
@media (max-width:980px){.lease-trio{grid-template-columns:repeat(2,minmax(0,1fr))}.lease-trio__col:first-child{grid-column:1/-1;padding-right:0;border-bottom:1px solid var(--border-divider)}.lease-trio__col:nth-child(2){padding-left:0;border-left:0}}
@media (max-width:600px){.lease-trio{grid-template-columns:minmax(0,1fr)}.lease-trio__col,.lease-trio__col + .lease-trio__col{grid-column:auto;padding:var(--space-4) 0;border-left:0}.lease-trio__col + .lease-trio__col{border-top:1px solid var(--border-divider)}.lease-trio__col:first-child{border-bottom:0}}

/* Leasing · pièces à fournir retirées de la page (restent dans l'article du Journal) : 2 colonnes */
.lease-trio--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:980px){.lease-trio--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lease-trio--2 .lease-trio__col:first-child{grid-column:auto;padding-right:var(--space-4);border-bottom:0}.lease-trio--2 .lease-trio__col:nth-child(2){padding-left:var(--space-4);border-left:1px solid var(--border-divider)}}
@media (max-width:600px){.lease-trio--2{grid-template-columns:minmax(0,1fr)}.lease-trio--2 .lease-trio__col:first-child{padding-right:0}.lease-trio--2 .lease-trio__col:nth-child(2){padding-left:0;border-left:0}}

/* Leasing · logos aux MÊMES proportions que la page Maison (28/10/2026) : fichiers entiers, 108 px collaborations / 38 px presse */
.lt-partners{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 28px;opacity:1;border:0;padding:0}
.lease-trust .lt-partners .partners__logo{flex:none;width:auto;height:108px;max-width:none;aspect-ratio:auto;object-fit:initial;opacity:0.6;margin:0}
.lease-trust .lt-press__logo .press__logo{width:auto;max-width:100%;height:38px;aspect-ratio:auto;object-fit:contain;margin:0;opacity:0.88}
.lease-trust .lt-press__logo .press__logo--normal{height:22px;margin:8px 0}
.lt-press li{grid-template-columns:150px minmax(0,1fr)}
.lt-press__logo{opacity:1}
@media (max-width:600px){.lt-partners{gap:0 12px}.lease-trust .lt-partners .partners__logo{height:76px}.lt-press li{grid-template-columns:110px minmax(0,1fr)}}

.lease-trust .lt-ey{text-align:center;align-self:center}

/* Leasing · titres à gauche, collaborations en grille de 4 alignée à gauche (28/10/2026) */
.lease-trust .lt-ey{text-align:left;align-self:flex-start}
.lease-trust .lt-partners{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-items:start;align-items:center;gap:0;justify-content:start}
.lease-trust .lt-partners .partners__logo{width:100%;height:auto;max-width:none}
@media (max-width:600px){.lease-trust .lt-partners{grid-template-columns:repeat(4,minmax(0,1fr))}.lease-trust .lt-partners .partners__logo{height:auto}}

/* Leasing · collaborations : hauteur de la page Maison (108 / 76 px), tracé de chaque logo calé sur la marge gauche de sa colonne */
.lease-trust .lt-partners{overflow:hidden}
.lease-trust .lt-partners .partners__logo{width:auto;height:108px;max-width:none}
@media (max-width:600px){.lease-trust .lt-partners .partners__logo{height:76px;width:auto}}

/* Leasing · œuvres emblématiques en fondu, colonne gauche étirée jusqu'au bouton (28/10/2026) */
.lease-show{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-divider)}
.lease-show__t{font-family:var(--font-display);font-weight:400;font-size:20px;line-height:1.35;color:var(--ink-primary);margin:0;text-wrap:balance}
.lease-show__stage{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;margin:0;border:0;background:var(--surface-1);cursor:pointer;overflow:hidden}
.lease-show__img{position:absolute;inset:var(--space-2);width:calc(100% - 2 * var(--space-2));height:calc(100% - 2 * var(--space-2));object-fit:contain;border-radius:0;opacity:0;transition:opacity var(--dur-slow) var(--ease)}
.lease-show__img.is-on{opacity:1}
.lease-show__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:24px}
.lease-show__name{font-size:15px;line-height:1.35}
.lease-show__dots{display:flex;gap:6px;flex:none}
.lease-show__dots span{width:5px;height:5px;border-radius:999px;background:var(--border-hairline);transition:background-color var(--dur-medium) var(--ease)}
.lease-show__dots span.is-on{background:var(--accent)}
.lease-show__cta{align-self:flex-start}
@media (min-width:981px){
.lease-body{align-items:stretch}
.lease-body > .detail--lease{align-self:start}
.lease-body__left{align-self:stretch}
.lease-show{flex:1 1 auto;min-height:0}
.lease-show__stage{flex:1 1 auto;aspect-ratio:auto;min-height:320px}
}

/* Leasing · œuvres en fondu placées entre collaborations et presse */
.lease-trust > .lease-show{padding-top:0;border-top:0}
@media (min-width:981px){.lease-trust{flex:1 1 auto}.lease-trust > .lease-show{flex:1 1 auto}}

/* Leasing · œuvres emblématiques : 3 côte à côte, groupes en fondu (28/10/2026) */
.lease-show__stage{display:grid;aspect-ratio:auto;min-height:0;background:transparent;cursor:auto;overflow:visible}
.lease-show__page{grid-area:1/1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);align-items:start;opacity:0;visibility:hidden;transition:opacity var(--dur-slow) var(--ease),visibility 0s linear var(--dur-slow)}
.lease-show__page.is-on{opacity:1;visibility:visible;transition:opacity var(--dur-slow) var(--ease),visibility 0s}
.lease-show__cell{display:flex;flex-direction:column;gap:8px;padding:0;margin:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit;min-width:0}
.lease-show__fr{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3/4;background:var(--surface-1);padding:10px}
.lease-show__fr img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:0}
.lease-show__name{font-size:13px;line-height:1.35;text-wrap:balance;transition:color var(--dur-fast) var(--ease)}
.lease-show__cell:hover .lease-show__name{color:var(--accent-hover)}
@media (min-width:981px){.lease-show__stage{flex:0 0 auto;min-height:0;aspect-ratio:auto}}
@media (max-width:600px){.lease-show__page{gap:8px}.lease-show__fr{padding:6px}.lease-show__name{font-size:12px}}

.lease-show__foot{justify-content:flex-end}

.lease-show__cell{cursor:default;margin:0}
.lease-show__cell:hover .lease-show__name{color:inherit}

.lease-show__name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;max-width:100%}

/* Leasing · défilé : toutes les œuvres recadrées à la même proportion (3/4, centrées) · demande de l'artiste 28/10/2026 */
.lease-show__fr{padding:0;background:transparent;overflow:hidden}
.lease-show__fr img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center}
@media (max-width:600px){.lease-show__fr{padding:0}}

.lease-show__fr{aspect-ratio:2/3}

/* ===== Leasing · optimisation mobile (28/10/2026) : tailles, alignements, respirations · iPhone ≤ 600 px ===== */
@media (max-width:600px){
/* En-tête */
.gamme-head__title{font-size:24px;line-height:1.25;margin:8px 0 12px}
.gamme-head__sub{font-size:14px;line-height:1.6;margin:0 0 16px}
.badge-line{display:flex;flex-wrap:wrap;gap:6px;margin-top:0}
.badge-line .chip{padding:6px 10px;font-size:10px;letter-spacing:0.06em;white-space:nowrap}
.lease-body{margin-top:var(--space-3)}
/* Description */
.lease-desc__title{font-size:20px;line-height:1.3;margin:var(--space-3) 0 12px}
.lease-desc__text{font-size:14px;line-height:1.6;margin:0}
.lease-body__left{gap:var(--space-4)}
/* Valeur perçue + œuvres */
.lease-trust{gap:var(--space-4);padding-top:var(--space-4)}
.lease-show__t{font-size:18px;line-height:1.35}
.lt-press li{min-height:56px;padding:10px 0;gap:var(--space-2)}
.lt-press__q{font-size:14px}
/* Simulateur */
.lease-body > .detail--lease{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-divider)}
.lease-step{gap:10px}
.lease-step__num{width:26px;height:26px;font-size:13px}
.lease-step__txt{font-size:12px;line-height:1.4}
.lease-fmt{gap:var(--space-2)}
.lease-fmt__choices .format-opt,.format-opt{display:grid;grid-template-columns:18px minmax(0,1fr) auto;column-gap:12px;row-gap:8px;align-items:center;padding:12px 14px}
.format-opt .grow{min-width:0}
.lease-fmt__choices .format-opt__name,.format-opt__name{font-size:14px;line-height:1.3;white-space:nowrap}
.format-opt__pack{font-size:11px;line-height:1.4}
.lease-fmt__choices .format-opt__price,.format-opt__price{font-size:15px;white-space:nowrap}
.format-opt .fmt-qty{grid-column:2/4;justify-self:start}
.lease-dur{gap:6px}
.lease-dur__opt{min-height:64px;padding:10px 4px;gap:4px}
.lease-dur__mo{font-size:10px}
.lease-dur__amt{font-size:15px}
.lease-dur__unit{font-size:9px}
.lease-sim{gap:var(--space-3)}
.lease-synth__hero{padding:var(--space-2) var(--space-2) 12px}
.lease-synth__rent{font-size:26px}
.lease-synth__ctx,.lease-synth__after{font-size:12px;line-height:1.5}
.lease-synth__rows{padding:8px var(--space-2)}
.lease-synth__row{padding:10px 0}
.lease-synth__row dt,.lease-synth__row dd{font-size:13px}
.lease-synth__cmp{padding:12px var(--space-2)}
.lease-synth__cmpv{font-size:18px}
.lease-synth__claim{font-size:13px;line-height:1.55;padding:0 var(--space-2);margin:12px 0}
.lease-synth__pts{padding:0 var(--space-2) var(--space-2);margin:0}
.lease-synth__pts li{font-size:12px;line-height:1.5;padding:6px 0}
/* Conditions + informations */
.lease-trio{margin-top:var(--space-4)}
.lease-trio__col,.lease-trio__col + .lease-trio__col{padding:var(--space-3) 0}
.lease-trio__t{font-size:18px;margin:0 0 var(--space-2)}
.lease-trio__list li{padding:10px 0;font-size:13px}
.lease-cond{gap:10px}
.lease-cond li{font-size:13px;gap:10px;line-height:1.5}
.lease-cond__num{width:22px;height:22px;font-size:11px}
/* FAQ + encadré final */
.lease-faq{margin:var(--space-4) 0 var(--space-4)}
.lease-faq__title{font-size:20px;line-height:1.3;margin:8px 0 var(--space-3)}
.lease-faq__q{font-size:14px;line-height:1.45;padding:14px 28px 14px 0}
.lease-faq__a{font-size:14px;line-height:1.6;padding-right:0}
.lease-cta-final{flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-3) var(--space-2);margin-top:var(--space-3)}
.lease-cta-final__title{font-size:18px;line-height:1.3}
.lease-cta-final__sub{font-size:13px;line-height:1.55}
.lease-cta-final .btn{width:100%}
}

/* Bandeau catalogue (bas de page) · iPhone : titre du bouton moins gros, respiration rétablie, 2 lignes équilibrées si besoin */
@media (max-width:600px){.footer-capture__btn{font-size:11px;letter-spacing:0.1em;padding:14px 20px;white-space:normal;text-wrap:balance;line-height:1.4;text-align:center;max-width:100%}}

/* Bandeau catalogue · iPhone : consentement sur une seule ligne */
@media (max-width:600px){.footer-capture .consent__txt{font-size:11px;line-height:1.4;white-space:nowrap}}
@media (max-width:359px){.footer-capture .consent__txt{font-size:10px}}

/* Bandeau catalogue · iPhone : « Vous avez déjà un compte ? » sur une ligne, « Me connecter » cliquable dessous */
@media (max-width:600px){.footer-capture__connect{display:flex;flex-direction:column;align-items:center;gap:4px;white-space:normal;text-align:center}.footer-capture__connect .fcc-q{white-space:nowrap}.footer-capture__connect b{display:block}}

.footer-gift__opts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0 4px}
.footer-gift__opts a,.footer-gift__opts button{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--border-hairline);background:transparent;color:var(--ink-primary);font:600 11px/1 var(--font-body);letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;border-radius:0;transition:border-color var(--dur-fast) var(--ease)}
.footer-gift__opts a:hover,.footer-gift__opts button:hover{border-color:var(--accent)}

/* Leasing · 4 arguments « Pourquoi Ludovic Baron » (29/10/2026) · après le simulateur, avant les conditions */
.lease-why{margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border-hairline)}
.lease-why__title{font-family:var(--font-display);font-weight:400;font-size:22px;line-height:1.3;color:var(--ink-primary);margin:0 0 var(--space-4);text-wrap:balance}
.lease-why__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.lease-why__col{display:flex;flex-direction:column;min-width:0;padding:0 var(--space-3) 0 0}
.lease-why__col + .lease-why__col{padding-left:var(--space-3);border-left:1px solid var(--border-divider)}
.lease-why__col:last-child{padding-right:0}
.lease-why__t{font-family:var(--font-display);font-weight:400;font-size:18px;line-height:1.3;color:var(--ink-primary);margin:0 0 var(--space-2);text-wrap:balance}
.lease-why__p{margin:0;font-size:var(--body-s-size);line-height:1.6;color:var(--ink-soft);text-align:left;hyphens:manual;text-wrap:pretty}
@media (max-width:980px){.lease-why__grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-4)}.lease-why__col:nth-child(3){padding-left:0;border-left:0}.lease-why__col:nth-child(2){padding-right:0}}
@media (max-width:600px){.lease-why{margin-top:var(--space-4)}.lease-why__title{font-size:20px;margin-bottom:var(--space-3)}.lease-why__grid{grid-template-columns:minmax(0,1fr);row-gap:0}.lease-why__col,.lease-why__col + .lease-why__col{padding:var(--space-3) 0;border-left:0;border-top:1px solid var(--border-divider)}.lease-why__col:first-child{border-top:0;padding-top:0}.lease-why__p{text-align:left;hyphens:manual}}

.lease-why__p strong{font-weight:600;color:var(--ink-primary)}

/* Leasing · une image par argument (29/10/2026) : cadre unique 4 × 5, photo téléversée plein cadre, œuvre de repli entière (jamais recadrée) */
.lease-why__img{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;margin:0 0 var(--space-3);background:var(--surface-1)}
.lease-why__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.lease-why__img--work img{object-fit:cover;padding:0}
@media (max-width:600px){.lease-why__img{margin-bottom:var(--space-2)}}

/* Leasing · 4 arguments : colonnes de largeur STRICTEMENT égale (écart par gap, filets dans l'écart) + image carrée garantie (29/10/2026) */
.lease-why__grid{column-gap:var(--space-4)}
.lease-why__col,.lease-why__col + .lease-why__col,.lease-why__col:last-child{padding:0;border-left:0;position:relative}
.lease-why__col + .lease-why__col::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--space-4) / -2);border-left:1px solid var(--border-divider)}
.lease-why__img{aspect-ratio:auto;height:0;padding-bottom:100%;flex:0 0 auto}
@media (max-width:980px){.lease-why__col:nth-child(3)::before{display:none}}
@media (max-width:600px){.lease-why__col + .lease-why__col::before{display:none}.lease-why__col,.lease-why__col + .lease-why__col{padding:var(--space-3) 0;border-top:1px solid var(--border-divider)}.lease-why__col:first-child{border-top:0;padding-top:0}}

/* Leasing · défilé en Horizontal (29/10/2026) : même surface que les 3 verticales (3 cellules 2/3 + 2 écarts), œuvre entière + bande détail zoomé à droite */
.lease-show__stage{container-type:inline-size}
.lease-show__page--hz{grid-template-columns:minmax(0,1fr)}
.lease-show__hz{display:flex;gap:var(--space-2);width:100%;aspect-ratio:2/1;height:calc((100cqw - 2 * var(--space-2)) / 2)}
.lease-show__hzmain{flex:0 1 auto;height:100%;max-width:78%;overflow:hidden;display:block}
.lease-show__hzmain img{display:block;height:100%;width:auto;max-width:100%;object-fit:cover;border-radius:0}
.lease-show__hzband{flex:1 1 0;min-width:0;height:100%;overflow:hidden;position:relative;display:block}
.lease-show__hzband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(2.2);transform-origin:center;border-radius:0}
@media (max-width:600px){.lease-show__hz{gap:8px;height:calc((100cqw - 16px) / 2)}}

/* Fiche Grand Format · encadrement sur mesure (29/10/2026) : image + texte + contact, sous le choix Floating Box / sans cadre */
.encadre-sm{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--space-2);align-items:start;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-divider)}
.encadre-sm__img{display:block;width:96px;height:96px;object-fit:cover;border-radius:0}
.encadre-sm__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.encadre-sm__ey{font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent)}
.encadre-sm__p{margin:0;font-size:var(--body-s-size);line-height:1.55;color:var(--ink-soft);text-wrap:pretty}
.encadre-sm__cta{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:0;border:0;border-bottom:1px solid var(--accent);background:none;font:inherit;font-size:var(--body-s-size);color:var(--ink-primary);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.encadre-sm__cta:hover{color:var(--accent-hover);border-color:var(--accent-hover)}
@media (max-width:600px){.encadre-sm{grid-template-columns:72px minmax(0,1fr)}.encadre-sm__img{width:72px;height:72px}}

/* Catalogue transmis (29/10/2026) : bandeau discret du lecteur d'un catalogue PDF transféré */
.lb-catbar{position:fixed;right:16px;bottom:16px;z-index:65;max-width:420px;display:flex;align-items:center;gap:14px;background:var(--surface-1);border:1px solid var(--border-hairline);padding:12px 12px 12px 18px}
.lb-catbar__t{font-size:12.5px;line-height:1.5;color:var(--ink-soft);text-wrap:pretty}
.lb-catbar__cta{flex:none;background:none;border:1px solid var(--accent);color:var(--accent);padding:9px 14px;font-family:var(--font-body);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.lb-catbar__cta:hover{background:var(--accent);color:var(--canvas)}
.lb-catbar__x{flex:none;background:none;border:0;color:var(--ink-muted);cursor:pointer;padding:6px;display:flex}
.lb-catbar__x:hover{color:var(--ink-soft)}
@media (max-width:600px){.lb-catbar{left:10px;right:10px;max-width:none;bottom:calc(80px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:10px}.lb-catbar__t{flex:1 1 100%}}

.lb-catbar{flex-wrap:wrap;align-items:flex-start;max-width:460px}.lb-catbar__t{flex:1 1 calc(100% - 40px)}.lb-catbar__acts{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 100%}.lb-catbar__form{display:flex;flex-direction:column;gap:8px;flex:1 1 calc(100% - 40px);min-width:0}
.lb-catbar__cta--ghost{border-color:var(--border-hairline);color:var(--ink-soft)}.lb-catbar__cta--ghost:hover{border-color:var(--accent);background:none;color:var(--accent)}
.lb-catbar__in{flex:1 1 180px;min-width:0;min-height:38px;padding:8px 12px;background:transparent;border:1px solid var(--border-hairline);border-radius:4px;color:var(--ink-primary);font-family:var(--font-body);font-size:13px}.lb-catbar__in:focus{outline:none;border-color:var(--accent)}
.lb-catbar__msg{font-size:12px;color:var(--ink-soft)}.lb-catbar__link{align-self:flex-start;background:none;border:0;padding:0;color:var(--ink-muted);font-size:12px;text-decoration:underline;cursor:pointer}
.lb-catbar__x{position:absolute;top:8px;right:8px}.lb-catbar{position:fixed;padding-right:40px}

/* Bandeau catalogue → fenêtre CENTRÉE (29/10/2026, demande de Ludo : en bas à droite elle se cachait) */
.lb-catmodal{position:fixed;inset:0;z-index:95000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,0.45)}
.lb-catmodal .lb-catbar{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;max-width:440px;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:30px 30px 26px}
.lb-catmodal .lb-catbar__t{flex:none;font-size:14px;line-height:1.6}
.lb-catmodal .lb-catbar__acts{flex:none}
.lb-catmodal .lb-catbar__acts .lb-catbar__cta{flex:1 1 160px;text-align:center;justify-content:center;min-height:44px}
.lb-catmodal .lb-catbar__form{flex:none}
.lb-catmodal .lb-catbar__in{min-height:44px}
.lb-catbar__ey{font-size:10.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent)}
.lb-catbar__q{font-family:var(--font-display);font-size:22px;line-height:1.25;color:var(--ink-primary)}
.lb-catbar__mail{color:var(--ink-primary);white-space:nowrap}
.lb-catmodal .lb-catbar__x{top:12px;right:12px}
.lb-catmodal .lb-catbar__acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lb-catmodal .lb-catbar__acts .lb-catbar__cta{flex:none;height:auto;min-height:44px;padding:12px 14px;display:flex;align-items:center;justify-content:center;white-space:normal}.lb-catmodal .lb-catbar__form .lb-catbar__acts{grid-template-columns:minmax(0,1fr) auto}.lb-catmodal .lb-catbar__in{flex:none;width:100%}
@media (max-width:460px){.lb-catmodal .lb-catbar__acts,.lb-catmodal .lb-catbar__form .lb-catbar__acts{grid-template-columns:1fr}.lb-catmodal .lb-catbar{padding:26px 20px 22px}}
