/*! CIRCOLARE v3.3 — Lucart by Pulire · Tunisie · generated from _build/css */
/* ── 00-base.css ── */
/* =====================================================================
   CIRCOLARE v2.5 — Lucart Professional theme
   Paper, ink, fibre. One idea per viewport.
   ===================================================================== */

/* ---------------------------------------------------------------- tokens */
:root{
  --lp-navy:#012169; --lp-navy-2:#0b2f86; --lp-ink:#090d45; --lp-slate:#4d5464; --lp-slate-2:#6b7080;
  --lp-paper:#f7f3ea; --lp-paper-bright:#fffcf7; --lp-paper-shade:#efe8d9; --lp-fiber:#e6d7c3; --lp-kraft:#b08958; --lp-kraft-ink:#6b4a22;
  --lp-forest:#1b4d3e; --lp-forest-2:#143b30; --lp-leaf:#3d8b6e; --lp-black:#101216; --lp-mist:#ced9db; --lp-field:#f7f7f7;
  --lp-danger:#9b2335; --lp-warn:#e87722; --lp-aqua:#0e6e78; --lp-aqua-wash:#e2eeee;
  --hair:rgba(9,13,69,.12); --hair-2:rgba(9,13,69,.22);
  --f-display:"Fraunces","Source Serif 4",Georgia,serif;
  --f-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.33,1,.68,1); --ease-soft:cubic-bezier(.22,1,.36,1); --ease-io:cubic-bezier(.65,0,.35,1); --ease-back:cubic-bezier(.34,1.4,.64,1);
  --t-micro:150ms; --t-short:250ms; --t-med:550ms; --t-long:900ms; --t-story:1400ms;
  --r-sheet:24px; --r-card:18px; --r-input:12px; --r-sharp:2px; --r-pill:999px;
  --elev-1:0 8px 24px rgba(16,18,22,.06); --elev-2:0 16px 48px rgba(16,18,22,.10); --elev-3:0 40px 90px -20px rgba(9,13,69,.28);
  --wrap:1440px; --gut:clamp(20px,4vw,72px); --sec:clamp(76px,9vw,148px);
  --util-h:34px; --hd-h:76px;
  /* tone defaults */
  --bg:var(--lp-paper); --fg:var(--lp-ink); --fg2:var(--lp-slate); --acc:var(--lp-navy); --acc-fg:#fff; --card:var(--lp-paper-bright); --line:var(--hair);
  --c:var(--lp-navy);
  color-scheme:light;
}
[data-tone="bright"]{--bg:var(--lp-paper-bright); --card:#fff}
[data-tone="kraft"]{--bg:var(--lp-fiber); --card:var(--lp-paper-bright); --fg2:#5a4f45}
[data-tone="aqua"]{--bg:var(--lp-aqua-wash); --card:#fff}
[data-tone="texicell"]{--bg:#f6e9ef; --card:#fff}
[data-tone="ink"]{--bg:var(--lp-ink); --fg:#f7f3ea; --fg2:rgba(247,243,234,.72); --acc:#fffcf7; --acc-fg:var(--lp-ink); --card:rgba(255,255,255,.05); --line:rgba(247,243,234,.16); --hair:rgba(247,243,234,.16); --hair-2:rgba(247,243,234,.3); --c:#fffcf7}
[data-tone="forest"]{--bg:var(--lp-forest); --fg:#f4efe3; --fg2:rgba(244,239,227,.76); --acc:#f4efe3; --acc-fg:var(--lp-forest); --card:rgba(255,255,255,.06); --line:rgba(244,239,227,.18); --hair:rgba(244,239,227,.18); --hair-2:rgba(244,239,227,.32); --c:#cfe5d8}
[data-tone="black"]{--bg:var(--lp-black); --fg:#f4f4f2; --fg2:rgba(244,244,242,.7); --acc:#fff; --acc-fg:#101216; --card:rgba(255,255,255,.05); --line:rgba(255,255,255,.14); --hair:rgba(255,255,255,.14); --hair-2:rgba(255,255,255,.28); --c:#fff}

/* ---------------------------------------------------------------- reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd-h) + 24px)}
body{margin:0;min-height:100vh;background:var(--lp-paper);color:var(--lp-slate);font:400 16px/1.6 var(--f-sans);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip;font-kerning:normal}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .18 0 0 0 0 .12 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img,svg,video{display:block;max-width:100%}
img{height:auto}
svg{overflow:visible}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
ul,ol{margin:0;padding:0;list-style:none}
p,h1,h2,h3,h4,figure,blockquote,dl,dd,fieldset{margin:0}
fieldset{border:0;padding:0;min-width:0}
legend{padding:0}
table{border-collapse:collapse}
[hidden]{display:none!important}
::selection{background:var(--lp-navy);color:#fffcf7}
:focus{outline:none}
:focus-visible{outline:2px solid var(--lp-navy);outline-offset:3px;border-radius:6px;box-shadow:0 0 0 5px rgba(247,243,234,.9)}
[data-tone="ink"] :focus-visible,[data-tone="forest"] :focus-visible,.lp-ft :focus-visible{outline-color:#fffcf7;box-shadow:0 0 0 5px rgba(9,13,69,.6)}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:1px solid var(--hair-2);border-bottom-width:2px;border-radius:5px;font:500 11px/1 var(--f-mono);color:var(--fg2);background:rgba(255,255,255,.5)}
code{font:500 .92em/1.4 var(--f-mono);background:var(--lp-paper-shade);padding:.1em .4em;border-radius:4px;color:var(--lp-ink)}
strong{font-weight:650;color:var(--fg)}
em{font-style:italic}
p,li,dd,figcaption{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.lp-anchor{position:relative;top:calc(-1 * var(--hd-h));display:block;height:0;visibility:hidden}

/* ---------------------------------------------------------------- layout */
.lp-wrap{width:100%;max-width:calc(var(--wrap) + var(--gut) * 2);margin-inline:auto;padding-inline:var(--gut)}
.lp-main{display:block;outline:none}
.lp-sec{position:relative;padding-block:var(--sec);background:var(--bg);color:var(--fg2)}
.lp-sec + .lp-sec[data-tone="bright"],.lp-sec[data-tone="bright"] + .lp-sec:not([data-tone]){border-top:1px solid var(--hair)}
.lp-sec h2,.lp-sec h3{color:var(--fg)}
.lp-skip{position:fixed;left:16px;top:12px;z-index:400;padding:12px 18px;background:var(--lp-navy);color:#fff;border-radius:var(--r-pill);font-weight:600;transform:translateY(-160%);transition:transform var(--t-short) var(--ease)}
.lp-skip:focus{transform:none}

/* ---------------------------------------------------------------- type */
h1,h2,h3,.lp-display{font-family:var(--f-display);font-weight:500;color:var(--fg);font-optical-sizing:auto;font-variation-settings:"SOFT" 50,"WONK" 0;text-wrap:balance}
h1{font-size:clamp(46px,6.4vw,92px);line-height:.98;letter-spacing:-.028em}
h2{font-size:clamp(32px,4vw,58px);line-height:1.04;letter-spacing:-.022em}
h3{font-size:clamp(21px,1.7vw,26px);line-height:1.2;letter-spacing:-.012em}
.lp-over{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;font:600 12px/1.3 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--acc);opacity:.86}
.lp-over::before{content:"";width:18px;height:1.5px;background:currentColor;opacity:.7}
.lp-over--line::before{display:none}
.lp-over .tick{width:22px;height:2px;background:var(--c);border-radius:2px}
.lp-over__n{font:500 12px/1 var(--f-mono);letter-spacing:0;padding:4px 7px;border:1px solid currentColor;border-radius:var(--r-pill)}
.lp-over:has(.lp-over__n)::before{display:none}
.lp-subh{font:600 13px/1.3 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--fg);margin:0 0 20px}
.lp-note{margin-top:22px;max-width:76ch;font-size:13px;line-height:1.5;color:var(--fg2);opacity:.9}
.lp-note::before{content:"";display:inline-block;width:14px;height:1px;background:currentColor;vertical-align:middle;margin-right:8px;opacity:.6}
.lp-prose{max-width:68ch;font-size:17px;line-height:1.72;color:var(--fg2)}
.lp-prose p + p{margin-top:1.1em}
.lp-prose a,.lp-link-inline{color:var(--acc);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.lp-prose h2{font-size:clamp(26px,2.6vw,36px);margin:2.2em 0 .6em}
.lp-prose h2:first-child{margin-top:0}

/* ---------------------------------------------------------------- icons & arrows */
.lp-ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lp-arw{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:hidden}
.lp-arw path{transition:transform var(--t-med) var(--ease)}

/* ---------------------------------------------------------------- buttons */
.lp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:32px}
.lp-btn{--b-bg:var(--acc);--b-fg:var(--acc-fg);--b-bd:var(--acc);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px 0 26px;
  border-radius:var(--r-pill);border:1.5px solid var(--b-bd);background:var(--b-bg);color:var(--b-fg);font:600 15px/1 var(--f-sans);letter-spacing:.005em;white-space:nowrap;overflow:hidden;
  transition:color var(--t-short) var(--ease),background-color var(--t-short) var(--ease),border-color var(--t-short) var(--ease),transform var(--t-short) var(--ease);will-change:transform}
.lp-btn::before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:inherit;background:var(--b-hover,var(--lp-ink));transform:translateY(102%);transition:transform var(--t-med) var(--ease-soft)}
.lp-btn:hover::before,.lp-btn:focus-visible::before{transform:none}
.lp-btn:hover,.lp-btn:focus-visible{color:var(--b-fg-h,#fff)}
.lp-btn .lp-arw path{transform:translateX(-3px)}
.lp-btn:hover .lp-arw path{transform:translateX(2px)}
.lp-btn .lp-ic{width:18px;height:18px}
.lp-btn:active{transform:scale(.97)}
.lp-btn--primary{--b-bg:var(--acc);--b-fg:var(--acc-fg);--b-bd:var(--acc)}
[data-tone="ink"] .lp-btn--primary,[data-tone="forest"] .lp-btn--primary{--b-hover:var(--lp-paper-shade);--b-fg-h:var(--lp-ink)}
.lp-btn--ghost{--b-bg:transparent;--b-fg:var(--fg);--b-bd:var(--hair-2);--b-hover:var(--fg);--b-fg-h:var(--bg)}
.lp-btn--text{--b-bg:transparent;--b-fg:var(--acc);--b-bd:transparent;padding-inline:6px;min-height:44px}
.lp-btn--text::before{display:none}
.lp-btn--text:hover{color:var(--fg)}
.lp-btn--text .lp-btn__l{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;padding-bottom:3px;transition:background-size var(--t-med) var(--ease)}
.lp-btn--text:hover .lp-btn__l{background-size:100% 1.5px}
.lp-btn--light{--b-bg:#fffcf7;--b-fg:var(--lp-ink);--b-bd:#fffcf7;--b-hover:var(--lp-paper-shade);--b-fg-h:var(--lp-ink)}
.lp-btn--ghost-l{--b-bg:transparent;--b-fg:#fffcf7;--b-bd:rgba(255,252,247,.4);--b-hover:#fffcf7;--b-fg-h:var(--lp-ink)}
.lp-btn--sm{min-height:42px;padding:0 18px 0 20px;font-size:14px;gap:9px}
.lp-btn--sm .lp-arw{width:18px;height:18px}
.lp-btn[aria-pressed="true"]{--b-bg:var(--lp-ink);--b-fg:#fff;--b-bd:var(--lp-ink)}
.lp-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font:600 15px/1.2 var(--f-sans);color:var(--acc)}
.lp-link span{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:4px;transition:background-size var(--t-med) var(--ease)}
.lp-link:hover span{background-size:0 1px;background-position:100% 100%}
.lp-link .lp-arw path{transform:translateX(-4px)}
.lp-link:hover .lp-arw path{transform:translateX(2px)}
.lp-linkbtn{color:var(--acc);text-decoration:underline;text-underline-offset:3px;font-weight:600}

/* ---------------------------------------------------------------- chips */
.lp-chips{display:flex;flex-wrap:wrap;gap:8px}
.lp-chip{--c:var(--lp-navy);display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--card);
  font:600 13px/1 var(--f-sans);color:var(--fg);white-space:nowrap;transition:border-color var(--t-short),background-color var(--t-short),color var(--t-short),transform var(--t-short) var(--ease)}
.lp-chip__d{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent)}
a.lp-chip:hover,button.lp-chip:hover{border-color:var(--fg);transform:translateY(-1px)}
.lp-chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.lp-chip small{font:500 11px/1 var(--f-mono);opacity:.6;margin-left:2px}

/* ── 10-chrome.css ── */
/* ---------------------------------------------------------------- utility bar */
.lp-util{position:relative;z-index:61;background:var(--lp-ink);color:rgba(247,243,234,.8);font:500 12px/1 var(--f-sans);letter-spacing:.01em}
.lp-util__in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--util-h)}
.lp-util__tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-util__nav{display:flex;align-items:center;gap:4px}
.lp-util__nav a,.lp-util__nav button{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border-radius:var(--r-pill);color:inherit;transition:background-color var(--t-short),color var(--t-short)}
.lp-util__nav a:hover,.lp-util__nav button:hover{background:rgba(255,255,255,.1);color:#fff}
.lp-util__nav .lp-ic{width:15px;height:15px}

/* ---------------------------------------------------------------- header */
.lp-hd{position:sticky;top:0;z-index:60;background:rgba(247,243,234,.86);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);
  border-bottom:1px solid transparent;transition:transform var(--t-med) var(--ease-soft),border-color var(--t-short),background-color var(--t-short),box-shadow var(--t-med)}
.lp-hd.is-scrolled{border-bottom-color:var(--hair);background:rgba(247,243,234,.92)}
.lp-hd.is-hidden{transform:translateY(-102%)}
.lp-hd.is-open{background:var(--lp-paper-bright);border-bottom-color:var(--hair);transform:none}
.lp-hd__bar{display:flex;align-items:center;gap:24px;height:var(--hd-h)}
.lp-logo{flex:none;display:block;margin-right:auto}
.lp-logo img{height:36px;width:auto}
.lp-nav{position:relative;display:none}
.lp-nav__l{display:flex;align-items:center;gap:2px}
.lp-nav__i{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 15px;border-radius:var(--r-pill);font:600 15px/1 var(--f-sans);color:var(--lp-ink);letter-spacing:-.005em;white-space:nowrap;transition:color var(--t-short)}
.lp-nav__i .chev{flex:none;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--t-med) var(--ease-soft)}
.lp-nav__i[aria-expanded="true"] .chev{transform:rotate(180deg)}
.lp-nav__i[data-current]::after,.lp-nav__i[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--lp-navy)}
.lp-nav__ink{position:absolute;top:50%;left:0;height:42px;width:var(--w,0);transform:translate(var(--x,0),-50%);border-radius:var(--r-pill);background:var(--lp-paper-shade);opacity:0;pointer-events:none;
  transition:transform var(--t-med) var(--ease-soft),width var(--t-med) var(--ease-soft),opacity var(--t-short)}
.lp-nav__ink.is-on{opacity:1}
.lp-nav__ink i{position:absolute;left:50%;bottom:-17px;width:10px;height:10px;margin-left:-5px;background:var(--lp-paper-bright);border:1px solid var(--hair);border-right:0;border-bottom:0;transform:rotate(45deg);opacity:0;transition:opacity var(--t-short)}
.lp-hd.is-open .lp-nav__ink i{opacity:1}
.lp-hd__act{display:flex;align-items:center;gap:10px}
.lp-hd__q{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 10px 0 14px;border-radius:var(--r-pill);border:1px solid var(--hair-2);color:var(--lp-ink);font:500 14px/1 var(--f-sans);background:rgba(255,255,255,.55);transition:border-color var(--t-short),background-color var(--t-short)}
.lp-hd__q:hover{border-color:var(--lp-ink);background:#fff}
.lp-hd__q span,.lp-hd__q kbd{display:none}
.lp-hd__q{justify-content:center;width:44px;padding:0;flex:none}
.lp-hd__q .lp-ic{flex:none;width:20px;height:20px}
.lp-hd__cta{display:none}
.lp-hd__cta .lp-btn__l{white-space:nowrap}
.lp-hd__ctas{display:none}
.lp-burger{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--lp-ink);color:#fff;transition:background-color var(--t-short),transform var(--t-short) var(--ease)}
.lp-burger svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.lp-burger path{transform-origin:12px 12px;transition:transform var(--t-med) var(--ease-soft)}
.lp-burger[aria-expanded="true"] .b1{transform:translateY(4px) rotate(45deg)}
.lp-burger[aria-expanded="true"] .b2{transform:translateY(-4px) rotate(-45deg)}
.lp-burger:active{transform:scale(.94)}
.lp-veil{position:fixed;inset:0;z-index:55;background:rgba(9,13,69,.32);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity var(--t-med) var(--ease),visibility 0s var(--t-med)}
.lp-veil.is-on{opacity:1;visibility:visible;transition:opacity var(--t-med) var(--ease)}

@media (min-width:1120px){
  .lp-nav{display:block}
  .lp-logo{margin-right:0}
  .lp-nav{margin-inline:auto}
  .lp-burger{display:none}
  .lp-hd__cta{display:inline-flex}
}
/* mobile header fit: logo + search + account + bag + burger at 320–1119 */
@media (max-width:1119.98px){ .lp-hd__bar{gap:12px} }
@media (max-width:479.98px){ .lp-logo img{height:32px} .lp-hd__act{gap:6px} .lp-hd__ib,.lp-hd__q{width:40px;height:40px} .lp-burger{width:44px;height:44px} }
@media (max-width:374.98px){ .lp-logo img{height:28px} .lp-burger{width:40px;height:40px} }
@media (max-width:339.98px){ .lp-hd__q{display:none} }
/* header fit: 1120–1279 no CTA · 1280–1439 short CTA · search label only from 1600 (nav never wraps) */
@media (min-width:1120px) and (max-width:1439.98px){ .lp-hd__bar{gap:16px} .lp-nav__i{padding:0 11px} }
@media (min-width:1120px) and (max-width:1279.98px){ .lp-hd__cta{display:none} }
@media (min-width:1280px) and (max-width:1439.98px){ .lp-hd__ctal{display:none} .lp-hd__ctas{display:inline} }
@media (min-width:1600px){ .lp-hd__q{width:auto;padding:0 10px 0 14px;justify-content:flex-start} .lp-hd__q span,.lp-hd__q kbd{display:inline-grid} .lp-hd__q span{display:inline} }

/* ---------------------------------------------------------------- crumbs */
.lp-crumb{margin-bottom:26px;font:500 13px/1.4 var(--f-sans);color:var(--fg2)}
.lp-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0}
.lp-crumb li{display:inline-flex;align-items:center}
.lp-crumb li + li::before{content:"";width:5px;height:5px;margin:0 10px;border-top:1.3px solid currentColor;border-right:1.3px solid currentColor;transform:rotate(45deg);opacity:.5}
.lp-crumb a{color:var(--fg2);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size var(--t-short),color var(--t-short)}
.lp-crumb a:hover{color:var(--fg);background-size:100% 1px}
.lp-crumb [aria-current]{color:var(--fg);font-weight:600}

/* ---------------------------------------------------------------- curtain (page transitions) */
.lp-curtain{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--lp-paper);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .38s var(--ease),visibility 0s .38s}
.lp-curtain svg{width:64px;height:64px;fill:none;stroke-width:2}
.lp-curtain .t{stroke:var(--hair)}
.lp-curtain .a{stroke:var(--lp-navy);stroke-dasharray:.25 .75;transform-origin:48px 48px;animation:lp-spin 1s linear infinite}
.lp-curtain.is-on{opacity:1;visibility:visible;transition:opacity .32s var(--ease)}
html.js:not(.is-ready) .lp-curtain{opacity:1;visibility:visible;transition:none}
html.js.is-return:not(.is-ready) .lp-curtain{opacity:0;visibility:hidden}
@keyframes lp-spin{to{transform:rotate(360deg)}}

/* ---------------------------------------------------------------- footer */
.lp-ft{position:relative;background:var(--lp-ink);color:rgba(247,243,234,.72);padding:clamp(72px,8vw,120px) 0 36px;overflow:hidden}
.lp-ft a{transition:color var(--t-short)}
.lp-ft a:hover{color:#fff}
.lp-ft__sign{display:grid;gap:40px;align-items:center;padding-bottom:clamp(56px,6vw,96px);border-bottom:1px solid rgba(247,243,234,.14)}
.lp-ft__big{font:500 clamp(40px,6vw,96px)/.98 var(--f-display);letter-spacing:-.03em;color:#fffcf7;max-width:13ch;text-wrap:balance}
.lp-ft__st .lp-over{color:#fffcf7}
.lp-ft__orb{position:relative;width:min(380px,80vw);aspect-ratio:1;margin-inline:auto}
.lp-ft__orb .lp-orbit{position:absolute;inset:0;width:100%;height:100%;color:rgba(247,243,234,.55)}
.lp-ft__orb img{position:absolute;inset:21%;width:58%;height:58%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
.lp-ft__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;padding:56px 0}
.lp-ft__brand{grid-column:1/-1}
.lp-ft__logo{height:38px;width:auto;filter:brightness(0) invert(1);opacity:.95;margin-bottom:22px}
.lp-ft__brand p{font-size:14px;line-height:1.6}
.lp-ft__soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.lp-ft__soc a{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid rgba(247,243,234,.22);border-radius:var(--r-pill);font-size:13px;font-weight:600}
.lp-ft__soc a:hover{border-color:#fff}
.lp-ft__soc .lp-ic{width:16px;height:16px}
.lp-ft__h{font:600 12px/1.3 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:#fffcf7;margin-bottom:16px}
.lp-ft__c li + li{margin-top:9px}
.lp-ft__c a{font-size:14.5px;display:inline-block}
.lp-ft__c a:hover{transform:translateX(3px)}
.lp-ft__c a{transition:color var(--t-short),transform var(--t-short) var(--ease)}
.lp-ft__legal{display:grid;gap:16px;padding-top:28px;border-top:1px solid rgba(247,243,234,.14);font-size:12px;line-height:1.6;color:rgba(247,243,234,.55)}
.lp-ft__legal nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.lp-ft__legal nav a,.lp-ft__legal nav button{color:rgba(247,243,234,.75);font-size:12.5px;font-weight:500}
.lp-ft__legal nav button:hover{color:#fff}
@media (min-width:760px){ .lp-ft__grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1120px){
  .lp-ft__sign{grid-template-columns:1fr auto}
  .lp-ft__grid{grid-template-columns:1.4fr repeat(5,minmax(0,1fr))}
  .lp-ft__brand{grid-column:auto}
  .lp-ft__legal{grid-template-columns:1fr auto;align-items:end}
}

/* ── 20-mega.css ── */
/* =====================================================================
   MEGA MENU v2 — height morph, directional crossfade, staggered rows
   ===================================================================== */
.lp-mx{position:absolute;left:0;right:0;top:100%;pointer-events:none}
.lp-mx.is-open{pointer-events:auto}
.lp-mx__vp{position:relative;height:0;overflow:hidden;background:var(--lp-paper-bright);box-shadow:var(--elev-3);border-radius:0 0 28px 28px;
  transition:height .55s var(--ease-soft),border-radius .55s var(--ease-soft)}
.lp-mx.is-open .lp-mx__vp{height:var(--mx-h,0)}
.lp-mx__vp::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--hair);z-index:2}
.lp-mx__p{position:absolute;top:0;left:0;right:0;opacity:0;visibility:hidden;transform:translateX(calc(var(--dir,0) * 28px));
  max-height:calc(100vh - var(--hd-h) - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;
  transition:opacity .28s var(--ease),transform .5s var(--ease-soft),visibility 0s .5s}
.lp-mx__p.is-on{position:relative;opacity:1;visibility:visible;transform:none;transition:opacity .4s var(--ease) .05s,transform .55s var(--ease-soft)}
.lp-mx__p [style*="--k"]{opacity:0;transform:translateY(12px)}
.lp-mx__p.is-on [style*="--k"]{opacity:1;transform:none;transition:opacity .45s var(--ease) calc(.06s + var(--k) * .045s),transform .65s var(--ease-soft) calc(.06s + var(--k) * .045s)}
.lp-mx__p .lp-draw .d{stroke-dasharray:1 2;stroke-dashoffset:1}
.lp-mx__p.is-on .lp-draw .d{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--ease-soft) calc(.15s + var(--i,0) * .06s)}
.lp-mx k{display:none}

/* -- shared rail */
.lp-mx__rail{border-top:1px solid var(--hair);background:var(--lp-paper)}
.lp-mx__rail .lp-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px;min-height:42px;padding-block:6px}
.lp-mx__rail a{display:inline-flex;align-items:center;gap:7px;font:600 13px/1.2 var(--f-sans);color:var(--lp-ink);transition:color var(--t-short)}
.lp-mx__rail a .lp-ic{width:14px;height:14px;transition:transform var(--t-short) var(--ease)}
.lp-mx__rail a:hover{color:var(--lp-navy)}
.lp-mx__rail a:hover .lp-ic{transform:translateX(3px)}
.lp-mx__esc{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--lp-slate)}

/* -- Solutions */
.lp-mxs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(280px,.92fr);gap:0 28px;padding-block:20px 16px}
.lp-mxs__col{display:flex;flex-direction:column;min-width:0}
.lp-mxs__col + .lp-mxs__col{padding-left:28px;border-left:1px solid var(--hair)}
.lp-mxs__h{display:flex;align-items:center;gap:12px;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--hair)}
.lp-mxs__art{flex:none;display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--lp-paper);color:var(--lp-ink);transition:background-color var(--t-med) var(--ease),color var(--t-med) var(--ease),transform var(--t-med) var(--ease-back)}
.lp-mxs__art .lp-draw{width:44px;height:44px}
.lp-mxs__h:hover .lp-mxs__art{background:var(--lp-navy);color:#fffcf7;transform:rotate(-4deg) scale(1.04)}
.lp-mxs__ht strong{display:block;font:500 20px/1.12 var(--f-display);letter-spacing:-.01em;color:var(--lp-ink)}
.lp-mxs__ht small{display:block;margin-top:3px;font-size:12px;line-height:1.3;color:var(--lp-slate)}
.lp-mxs__l a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6.5px 10px;margin-inline:-10px;border-radius:10px;font:500 14.5px/1.22 var(--f-sans);color:var(--lp-ink);
  transition:background-color var(--t-short),padding var(--t-med) var(--ease-soft),color var(--t-short)}
.lp-mxs__l .n{flex:none;font:500 10.5px/1 var(--f-mono);color:var(--lp-slate-2);padding:4px 7px;border-radius:var(--r-pill);background:var(--lp-paper);transition:background-color var(--t-short),color var(--t-short)}
.lp-mxs__l a:hover,.lp-mxs__l a:focus-visible{background:var(--lp-paper);padding-left:16px;color:var(--lp-navy)}
.lp-mxs__l a:hover .n,.lp-mxs__l a:focus-visible .n{background:var(--lp-navy);color:#fff}
.lp-mxs__all{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:10px;font:600 13.5px/1 var(--f-sans);color:var(--lp-navy)}
.lp-mxs__all .lp-arw path{transform:translateX(-4px);transition:transform var(--t-med) var(--ease)}
.lp-mxs__all:hover .lp-arw path{transform:translateX(2px)}
.lp-mxs__aside{display:flex;flex-direction:column;gap:11px;padding:14px;border-radius:var(--r-card);background:var(--lp-paper);min-width:0}
.lp-mxq{display:flex;align-items:center;gap:6px;height:44px;padding:0 5px 0 14px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--hair-2);transition:border-color var(--t-short),box-shadow var(--t-short)}
.lp-mxq:focus-within{border-color:var(--lp-navy);box-shadow:0 0 0 4px rgba(1,33,105,.08)}
.lp-mxq label{flex:1;display:flex;align-items:center;gap:8px;min-width:0;color:var(--lp-slate)}
.lp-mxq input{flex:1;min-width:0;height:40px;border:0;background:none;font-size:14px;color:var(--lp-ink)}
.lp-mxq input::placeholder{color:var(--lp-slate-2)}
.lp-mxq button{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--lp-navy);color:#fff;transition:transform var(--t-short) var(--ease-back)}
.lp-mxq button:hover{transform:scale(1.08)}
.lp-mxq__try{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:11.5px;color:var(--lp-slate)}
.lp-mxq__try span{margin-right:2px}
.lp-mxq__try button{padding:4px 9px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:#fff;font:500 11.5px/1 var(--f-mono);color:var(--lp-ink);transition:border-color var(--t-short),background-color var(--t-short),color var(--t-short)}
.lp-mxq__try button:hover{background:var(--lp-ink);border-color:var(--lp-ink);color:#fff}
.lp-mxs__sys .k,.lp-mxm .k,.lp-mxd__pack .k{font:600 10.5px/1.2 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--lp-slate);margin-bottom:7px}
.lp-mxs__sys ul{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.lp-mxs__sys a{display:flex;align-items:center;gap:7px;min-height:34px;padding:5px 9px;border-radius:10px;background:#fff;border:1px solid var(--hair);font:600 12px/1.15 var(--f-sans);color:var(--lp-ink);transition:border-color var(--t-short),transform var(--t-short) var(--ease)}
.lp-mxs__sys a .lp-ic{width:15px;height:15px;color:var(--lp-navy)}
.lp-mxs__sys a:hover{border-color:var(--lp-navy);transform:translateY(-1px)}
.lp-mxf{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:12px;padding:8px 12px 8px 8px;margin-top:auto;border-radius:14px;background:#fff;border:1px solid var(--hair);transition:border-color var(--t-short),box-shadow var(--t-med)}
.lp-mxf:hover{border-color:var(--lp-navy);box-shadow:var(--elev-1)}
.lp-mxf__m{position:relative;display:grid;place-items:center;aspect-ratio:1}
.lp-mxf__m .lp-orbit{position:absolute;inset:0;width:100%;height:100%;color:var(--lp-navy)}
.lp-mxf__m img{position:relative;width:72%;height:72%;object-fit:contain;transition:transform var(--t-med) var(--ease-back)}
.lp-mxf:hover .lp-mxf__m img{transform:scale(1.08) rotate(-3deg)}
.lp-mxf__b small{display:block;font:600 10px/1 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--lp-slate)}
.lp-mxf__b strong{display:block;margin:4px 0 2px;font:500 17.5px/1.12 var(--f-display);color:var(--lp-ink)}
.lp-mxf__c{font:500 11px/1.3 var(--f-mono);color:var(--lp-navy)}

/* -- Innovations */
.lp-mxi{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) 220px;gap:24px;padding-block:18px 16px;align-items:stretch}
.lp-mxi__l{display:flex;flex-direction:column;gap:1px}
.lp-mxi__l a{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:8px;padding:7px 10px 7px 12px;border-radius:12px;color:var(--lp-ink);transition:background-color var(--t-short)}
.lp-mxi__l a::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--c);transform:scaleY(0);transition:transform var(--t-med) var(--ease-soft)}
.lp-mxi__l .n{font:500 10.5px/1 var(--f-mono);color:var(--lp-slate-2)}
.lp-mxi__l .t{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;min-width:0}
.lp-mxi__l strong{font:500 19px/1.12 var(--f-display);letter-spacing:-.01em;color:var(--lp-ink)}
.lp-mxi__l em{font:italic 500 12.5px/1.15 var(--f-display);color:var(--c);opacity:.9}
.lp-mxi__l small{flex-basis:100%;margin-top:1px;font-size:12px;line-height:1.28;color:var(--lp-slate)}
.lp-mxi__l .lp-arw{opacity:0;transform:translateX(-8px);transition:opacity var(--t-short),transform var(--t-med) var(--ease-soft)}
.lp-mxi__l a.is-on,.lp-mxi__l a:hover,.lp-mxi__l a:focus-visible{background:var(--lp-paper)}
.lp-mxi__l a.is-on::before,.lp-mxi__l a:hover::before,.lp-mxi__l a:focus-visible::before{transform:none}
.lp-mxi__l a.is-on .lp-arw,.lp-mxi__l a:hover .lp-arw,.lp-mxi__l a:focus-visible .lp-arw{opacity:1;transform:none}
.lp-mxi__l a.is-on .n{color:var(--c)}
.lp-mxi__stage{--c:#b08958;position:relative;display:grid;place-items:center;min-height:316px;border-radius:var(--r-sheet);background:var(--lp-paper);overflow:hidden;isolation:isolate}
.lp-mxi__wash{position:absolute;inset:0;z-index:-1;background:radial-gradient(110% 90% at 100% 100%,color-mix(in srgb,var(--c) 30%,transparent) 0%,transparent 62%),radial-gradient(70% 60% at 0% 0%,rgba(255,255,255,.9),transparent 70%);transition:background .7s var(--ease)}
.lp-mxi__stage .lp-orbit{position:absolute;width:min(92%,420px);height:auto;aspect-ratio:1;color:var(--c);transition:color .7s var(--ease)}
.lp-mxi__imgs{position:relative;width:56%;max-width:260px;aspect-ratio:1}
.lp-mxi__img{position:absolute;inset:0;opacity:0;transform:scale(.9) rotate(-5deg);transition:opacity .45s var(--ease),transform .9s var(--ease-soft)}
.lp-mxi__img.is-on{opacity:1;transform:none}
.lp-mxi__img img{width:100%;height:100%}
.lp-mxi__img--obj img{object-fit:contain;filter:drop-shadow(0 26px 30px rgba(9,13,69,.2))}
.lp-mxi__img--photo img{object-fit:cover;border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.7),0 30px 50px -10px rgba(9,13,69,.3)}
.lp-mxi__cap{position:absolute;left:20px;top:18px;max-width:60%;font:500 11.5px/1.35 var(--f-mono);color:var(--lp-ink);opacity:.8}
.lp-mxi__go{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px 0 16px;border-radius:var(--r-pill);background:var(--lp-ink);color:#fff;font:500 13px/1 var(--f-sans);transition:background-color var(--t-short)}
.lp-mxi__go strong{color:#fff;font-weight:650}
.lp-mxi__go .lp-arw{width:18px;height:18px}
.lp-mxi__go:hover{background:var(--lp-navy)}
.lp-mxi__fato{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:22px;border-radius:var(--r-sheet);overflow:hidden;isolation:isolate;color:#3d2f14;
  background:radial-gradient(120% 80% at 0% 0%,#fbf5ea 0%,transparent 60%),linear-gradient(165deg,#efe3cc,#d8bf8e)}
.lp-mxi__fato::before{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;border:1px solid rgba(61,47,20,.25);z-index:-1;transition:transform 1.2s var(--ease-soft)}
.lp-mxi__fato:hover::before{transform:scale(1.25)}
.lp-mxi__fato .k{font:600 11px/1.2 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;opacity:.75}
.lp-mxi__fato strong{font:500 46px/1 var(--f-display);letter-spacing:.04em;color:#2d2210}
.lp-mxi__fato .t{font-size:13.5px;line-height:1.45}
.lp-mxi__fato .go{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font:600 13px/1 var(--f-sans)}
.lp-mxi__fato .go .lp-ic{width:15px;height:15px}

/* -- Secteurs : flex accordion */
.lp-mxt{padding-block:18px 16px}
.lp-mxt__l{display:flex;gap:12px;height:clamp(250px,32vh,320px)}
.lp-mxt__l > li{flex:1 1 0;min-width:0;transition:flex-grow .75s var(--ease-soft),opacity .45s var(--ease),transform .65s var(--ease-soft)}
.lp-mxt__l > li:hover,.lp-mxt__l > li:focus-within,.lp-mxt__l:not(:hover):not(:focus-within) > li:first-child{flex-grow:2.5}
.lp-mxt__c{position:relative;display:block;height:100%;border-radius:var(--r-card);overflow:hidden;color:#fff;isolation:isolate}
.lp-mxt__c .m{position:absolute;inset:0;z-index:-2}
.lp-mxt__c .m img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.4s var(--ease-soft),filter .8s var(--ease)}
.lp-mxt__c::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,13,69,.05) 25%,rgba(9,13,69,.86));transition:opacity .6s var(--ease)}
.lp-mxt__c .n{position:absolute;top:16px;left:16px;font:500 11.5px/1 var(--f-mono);padding:6px 9px;border:1px solid rgba(255,255,255,.55);border-radius:var(--r-pill);background:rgba(9,13,69,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lp-mxt__c .b{position:absolute;left:18px;right:18px;bottom:18px;display:grid;gap:8px}
.lp-mxt__c strong{font:500 clamp(20px,1.8vw,27px)/1.05 var(--f-display);letter-spacing:-.01em;color:#fff}
.lp-mxt__c small,.lp-mxt__c .ch{max-width:34ch;opacity:0;transform:translateY(10px);transition:opacity .35s var(--ease),transform .55s var(--ease-soft)}
.lp-mxt__c small{font-size:13.5px;line-height:1.4;color:rgba(255,255,255,.86)}
.lp-mxt__c .ch{font:500 11.5px/1.3 var(--f-mono);color:#fff;opacity:0}
.lp-mxt__c .go{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fffcf7;color:var(--lp-ink);transform:scale(0) rotate(-45deg);transition:transform .55s var(--ease-back)}
.lp-mxt__l > li:hover .m img,.lp-mxt__l > li:focus-within .m img,.lp-mxt__l:not(:hover):not(:focus-within) > li:first-child .m img{transform:scale(1)}
.lp-mxt__l > li:hover small,.lp-mxt__l > li:hover .ch,.lp-mxt__l > li:focus-within small,.lp-mxt__l > li:focus-within .ch,
.lp-mxt__l:not(:hover):not(:focus-within) > li:first-child small,.lp-mxt__l:not(:hover):not(:focus-within) > li:first-child .ch{opacity:1;transform:none;transition-delay:.18s}
.lp-mxt__l > li:hover .go,.lp-mxt__l > li:focus-within .go,.lp-mxt__l:not(:hover):not(:focus-within) > li:first-child .go{transform:none}

/* -- Durabilité */
.lp-mxd{display:grid;grid-template-columns:210px minmax(0,1.5fr) minmax(250px,.9fr);gap:28px;align-items:center;padding-block:20px 16px}
.lp-mxd__art{color:var(--lp-forest)}
.lp-mxd__art .lp-cycle{width:100%;height:auto}
.lp-mxd__l{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.lp-mxd__l a{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;color:var(--lp-ink);transition:background-color var(--t-short)}
.lp-mxd__l .n{font:500 11px/1 var(--f-mono);color:var(--lp-forest)}
.lp-mxd__l strong{display:block;font:500 18px/1.15 var(--f-display);color:var(--lp-ink)}
.lp-mxd__l small{display:block;margin-top:2px;font-size:12px;line-height:1.3;color:var(--lp-slate)}
.lp-mxd__l .lp-arw{opacity:0;transform:translateX(-6px);transition:opacity var(--t-short),transform var(--t-med) var(--ease-soft);color:var(--lp-forest)}
.lp-mxd__l a:hover,.lp-mxd__l a:focus-visible{background:#eef3ef}
.lp-mxd__l a:hover .lp-arw,.lp-mxd__l a:focus-visible .lp-arw{opacity:1;transform:none}
.lp-mxd__pack{padding:16px 18px;border-radius:var(--r-card);background:var(--lp-forest);color:#f4efe3}
.lp-mxd__pack .k{color:rgba(244,239,227,.8)}
.lp-mxd__pack li{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:3px 10px;padding:6px 0;border-bottom:1px solid rgba(244,239,227,.14)}
.lp-mxd__pack .v{grid-row:span 2;font:500 20px/1 var(--f-display);color:#fff}
.lp-mxd__pack .bar{height:6px;border-radius:6px;background:rgba(255,255,255,.16);overflow:hidden}
.lp-mxd__pack .bar i{display:block;height:100%;width:calc(var(--v) * 100%);border-radius:inherit;background:#bfe0cc;transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease-soft) .25s}
.lp-mx__p.is-on .lp-mxd__pack .bar i{transform:none}
.lp-mxd__pack .l{font-size:11.5px;line-height:1.28;color:rgba(244,239,227,.75)}
.lp-mxd__pack .lp-link{color:#fff;margin-top:10px}

/* -- Maison */
.lp-mxm{display:grid;grid-template-columns:1.25fr .8fr .8fr 1fr .85fr;gap:24px;padding-block:20px 16px;align-items:stretch}
.lp-mxm__in .t{font:500 23px/1.15 var(--f-display);letter-spacing:-.01em;color:var(--lp-ink);max-width:17ch}
.lp-mxm__in .t em{font-style:italic;color:var(--lp-navy)}
.lp-mxm__in .lp-link{margin-top:14px}
.lp-mxm ul a{display:block;padding:7px 0;border-bottom:1px solid var(--hair);font:500 14.5px/1.28 var(--f-sans);color:var(--lp-ink);transition:padding var(--t-med) var(--ease-soft),color var(--t-short)}
.lp-mxm ul a:hover,.lp-mxm ul a:focus-visible{padding-left:10px;color:var(--lp-navy)}
.lp-mxm__feat{display:flex;flex-direction:column;border-radius:var(--r-card);overflow:hidden;background:var(--lp-paper);transition:box-shadow var(--t-med)}
.lp-mxm__feat:hover{box-shadow:var(--elev-1)}
.lp-mxm__feat .m{aspect-ratio:16/10;overflow:hidden}
.lp-mxm__feat .m img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-soft)}
.lp-mxm__feat:hover .m img{transform:scale(1.05)}
.lp-mxm__feat .b{display:grid;gap:6px;padding:14px 16px 16px}
.lp-mxm__feat small{font:600 10.5px/1 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--lp-slate)}
.lp-mxm__feat strong{font:500 19px/1.15 var(--f-display);color:var(--lp-ink)}
.lp-mxm__grp{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:20px;border-radius:var(--r-card);background:var(--lp-ink);color:rgba(247,243,234,.75);overflow:hidden;isolation:isolate}
.lp-mxm__grp::before{content:"";position:absolute;left:-30%;top:-30%;width:120%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(247,243,234,.16);z-index:-1;transition:transform 1.2s var(--ease-soft)}
.lp-mxm__grp:hover::before{transform:scale(1.2)}
.lp-mxm__grp .k{color:rgba(247,243,234,.6);margin:0}
.lp-mxm__grp strong{font:500 26px/1.05 var(--f-display);color:#fffcf7}
.lp-mxm__grp > .lp-ic{position:absolute;top:18px;right:18px;color:#fff}

@media (max-width:1279px){
  .lp-mxs{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}
  .lp-mxs__aside{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:start}
  .lp-mxs__aside .lp-mxf{margin-top:0}
  .lp-mxi{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .lp-mxi__fato{display:none}
  .lp-mxd{grid-template-columns:180px minmax(0,1fr) 250px;gap:24px}
  .lp-mxd__l{grid-template-columns:1fr}
  .lp-mxm{grid-template-columns:1.2fr 1fr 1fr;row-gap:20px}
}

/* =====================================================================
   MOBILE NAV — drill-down levels
   ===================================================================== */
.lp-mnav{position:fixed;left:0;right:0;bottom:0;top:var(--mnav-top,calc(var(--hd-h) + var(--util-h)));z-index:58;background:var(--lp-paper-bright);
  opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s var(--ease),transform .5s var(--ease-soft),visibility 0s .5s}
.lp-mnav.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .5s var(--ease-soft)}
.lp-mnav__in{display:flex;flex-direction:column;height:100%}
.lp-mnav__q{padding:14px var(--gut) 6px}
.lp-mnav__q label{display:flex;align-items:center;gap:10px;height:50px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:#fff;color:var(--lp-slate)}
.lp-mnav__q input{flex:1;min-width:0;height:46px;border:0;background:none;font-size:16px;color:var(--lp-ink)}
.lp-mnav__levels{position:relative;flex:1;overflow:hidden}
.lp-mnav__lv{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;padding:6px var(--gut) 28px;transform:translateX(104%);visibility:hidden;transition:transform .5s var(--ease-soft),visibility 0s .5s}
.lp-mnav__lv.is-on{transform:none;visibility:visible;transition:transform .5s var(--ease-soft)}
.lp-mnav__lv.is-prev{transform:translateX(-30%);visibility:hidden;transition:transform .5s var(--ease-soft),visibility 0s .5s}
.lp-mnav__root > li{border-bottom:1px solid var(--hair)}
.lp-mnav__root button,.lp-mnav__root a{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:66px;font:500 clamp(26px,7vw,32px)/1.1 var(--f-display);letter-spacing:-.015em;color:var(--lp-ink);text-align:left}
.lp-mnav__root .lp-ic{width:22px;height:22px;color:var(--lp-navy);transition:transform var(--t-short) var(--ease)}
.lp-mnav__root button:active .lp-ic{transform:translateX(4px)}
.lp-mnav.is-open .lp-mnav__root > li{animation:lp-rise .6s var(--ease-soft) both;animation-delay:calc(.08s + var(--k,0) * .05s)}
.lp-mnav__cta{width:100%;margin-top:26px}
.lp-mnav__back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:600 14px/1 var(--f-sans);color:var(--lp-navy)}
.lp-mnav__h{margin:6px 0 10px;font:500 36px/1.05 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink)}
.lp-mnav__g{margin:22px 0 4px;font:600 11.5px/1.2 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--lp-slate)}
.lp-mnav__lv ul a{display:flex;align-items:center;gap:14px;min-height:50px;padding:6px 0;border-bottom:1px solid var(--hair);font:500 17px/1.3 var(--f-sans);color:var(--lp-ink)}
.lp-mnav__lv ul a.all{color:var(--lp-navy);font-weight:650}
.lp-mnav__lines .d{flex:none;width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 18%,transparent)}
.lp-mnav__lines strong,.lp-mnav__sec strong{display:block;font:500 20px/1.15 var(--f-display);color:var(--lp-ink)}
.lp-mnav__lines small,.lp-mnav__sec small{display:block;margin-top:2px;font-size:13px;color:var(--lp-slate)}
.lp-mnav__sec .m{flex:none;width:64px;height:64px;border-radius:14px;overflow:hidden}
.lp-mnav__sec .m img{width:100%;height:100%;object-fit:cover}
.lp-mnav__more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font:650 15px/1 var(--f-sans);color:var(--lp-navy)}
.lp-mnav__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--hair);background:var(--lp-paper)}
.lp-mnav__foot a,.lp-mnav__foot button{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:600 14px/1 var(--f-sans);color:var(--lp-ink)}
.lp-mnav__foot .lp-ic{width:18px;height:18px}
@media (min-width:1120px){ .lp-mnav{display:none} }
html.is-locked{overflow:hidden}
@keyframes lp-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ── 30-overlays.css ── */
/* =====================================================================
   30 · Overlays — palette, dialog, consent, switch, tray, toast,
   back-to-top, cursor, lightbox
   ===================================================================== */
mark{background:color-mix(in srgb,var(--lp-navy) 13%,transparent);color:inherit;border-radius:3px;padding:0 .08em}

/* ---------------------------------------------------------------- shared modal shell */
.lp-pal,.lp-dialog,.lp-lb{position:fixed;inset:0;z-index:90;background:rgba(9,13,69,.38);-webkit-backdrop-filter:blur(8px) saturate(.9);backdrop-filter:blur(8px) saturate(.9);
  opacity:0;transition:opacity .32s var(--ease)}
.lp-pal.is-on,.lp-dialog.is-on,.lp-lb.is-on{opacity:1}

/* ---------------------------------------------------------------- command palette */
.lp-pal{display:grid;justify-items:center;align-items:start;padding:clamp(64px,13vh,132px) 16px 16px}
.lp-pal__box{display:flex;flex-direction:column;width:min(740px,100%);max-height:min(660px,calc(100dvh - clamp(64px,13vh,132px) - 16px));background:var(--lp-paper-bright);
  border-radius:var(--r-sheet);box-shadow:var(--elev-3),0 0 0 1px rgba(9,13,69,.06);overflow:hidden;transform:translateY(-14px) scale(.985);transform-origin:50% 0;transition:transform .5s var(--ease-soft)}
.lp-pal.is-on .lp-pal__box{transform:none}
.lp-pal__f{display:flex;align-items:center;gap:14px;height:76px;padding:0 20px 0 24px;border-bottom:1px solid var(--hair);flex:none}
.lp-pal__f > .lp-ic{width:24px;height:24px;color:var(--lp-navy)}
.lp-pal__f input{flex:1;min-width:0;height:100%;border:0;background:none;font:400 clamp(19px,2vw,24px)/1.1 var(--f-display);letter-spacing:-.01em;color:var(--lp-ink);outline:none}
.lp-pal__f input::placeholder{color:var(--lp-slate-2);opacity:.75}
.lp-pal__f input::-webkit-search-cancel-button{-webkit-appearance:none}
.lp-pal__body{flex:1;min-height:0;overflow:auto;padding:8px 10px 12px;overscroll-behavior:contain;scrollbar-width:thin}
.lp-pal__hint{padding:12px 14px 8px;font:600 11px/1 var(--f-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--lp-slate-2)}
.lp-pal__body ul{display:grid;gap:2px}
.lp-pal__g{padding:14px 14px 6px;font:600 11px/1 var(--f-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--lp-slate-2);display:flex;align-items:center;gap:10px}
.lp-pal__g::after{content:"";flex:1;height:1px;background:var(--hair)}
.lp-pal__it{--c:var(--lp-navy);position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 12px 8px 10px;border-radius:14px;color:var(--lp-ink);
  transition:background-color var(--t-micro)}
.lp-pal__it::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--c);transform:scaleY(0);transition:transform var(--t-short) var(--ease)}
.lp-pal__it[aria-selected="true"]{background:var(--lp-paper-shade)}
.lp-pal__it[aria-selected="true"]::before{transform:none}
.lp-pal__v{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#fff;border:1px solid var(--hair);overflow:hidden;color:var(--lp-navy)}
.lp-pal__v img{width:100%;height:100%;object-fit:contain;padding:4px}
.lp-pal__v .lp-draw{width:40px;height:40px}
.lp-pal__v .lp-ic{width:20px;height:20px}
.lp-pal__t{min-width:0}
.lp-pal__t strong{display:block;font:600 15px/1.3 var(--f-sans);color:var(--lp-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-pal__t small{display:block;margin-top:2px;font-size:13px;line-height:1.35;color:var(--lp-slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-pal__k{display:inline-flex;align-items:center;gap:6px;font:500 11px/1 var(--f-mono);color:var(--lp-slate);padding:6px 9px;border:1px solid var(--hair);border-radius:var(--r-pill);white-space:nowrap}
.lp-pal__k i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.lp-pal__it[aria-selected="true"] .lp-pal__k{border-color:var(--hair-2);background:#fff}
.lp-pal__empty{padding:34px 16px;text-align:center;font-size:15px;color:var(--lp-slate)}
.lp-pal__empty strong{display:block;margin-bottom:6px;font:500 22px/1.2 var(--f-display);color:var(--lp-ink)}
.lp-pal__chips{display:flex;flex-wrap:wrap;gap:8px;padding:6px 14px 10px}
.lp-pal__foot{display:flex;align-items:center;gap:18px;flex:none;padding:12px 20px;border-top:1px solid var(--hair);background:var(--lp-paper);font-size:12px;color:var(--lp-slate-2)}
.lp-pal__foot span{display:inline-flex;align-items:center;gap:5px}
.lp-pal__foot kbd{min-width:20px;height:20px;font-size:10px}
.lp-pal__foot a{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font:600 13px/1 var(--f-sans);color:var(--lp-navy)}
.lp-pal__foot a .lp-ic{width:16px;height:16px;transition:transform var(--t-short) var(--ease)}
.lp-pal__foot a:hover .lp-ic{transform:translateX(3px)}
@media (max-width:640px){
  .lp-pal{padding:0;align-items:stretch}
  .lp-pal__box{width:100%;max-height:none;height:100dvh;border-radius:0}
  .lp-pal__foot span{display:none}
}

/* ---------------------------------------------------------------- dialog (country) */
.lp-dialog{display:grid;place-items:center;padding:16px}
.lp-dialog__box{position:relative;width:min(660px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:clamp(28px,4vw,48px);background:var(--lp-paper-bright);
  border-radius:var(--r-sheet);box-shadow:var(--elev-3);transform:translateY(18px) scale(.985);transition:transform .55s var(--ease-soft);overscroll-behavior:contain}
.lp-dialog.is-on .lp-dialog__box{transform:none}
.lp-dialog__x{position:absolute;top:16px;right:16px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair);color:var(--lp-ink);
  transition:transform var(--t-med) var(--ease),background-color var(--t-short)}
.lp-dialog__x:hover{transform:rotate(90deg);background:var(--lp-paper-shade)}
.lp-dialog h2{font-size:clamp(30px,3.4vw,44px);color:var(--lp-ink);padding-right:48px}
.lp-dialog__l{margin:12px 0 28px;max-width:48ch;color:var(--lp-slate)}
.lp-country{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lp-country button{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px 14px;text-align:left;
  border:1px solid var(--hair);border-radius:16px;background:#fff;transition:border-color var(--t-short),transform var(--t-short) var(--ease),box-shadow var(--t-short)}
.lp-country button:hover{border-color:var(--hair-2);transform:translateY(-1px);box-shadow:var(--elev-1)}
.lp-country .c{grid-column:1;grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--lp-paper-shade);font:500 12px/1 var(--f-mono);color:var(--lp-ink);transition:background-color var(--t-short),color var(--t-short)}
.lp-country button > span:not(.c){grid-column:2;grid-row:1;font:600 15px/1.25 var(--f-sans);color:var(--lp-ink)}
.lp-country small{grid-column:2;grid-row:2;font-size:12.5px;color:var(--lp-slate)}
.lp-country .lp-ic{grid-column:3;grid-row:1/3;color:var(--lp-navy);opacity:0;transform:scale(.6);transition:opacity var(--t-short),transform var(--t-med) var(--ease-back)}
.lp-country button[aria-pressed="true"]{border-color:var(--lp-navy);box-shadow:inset 0 0 0 1px var(--lp-navy)}
.lp-country button[aria-pressed="true"] .c{background:var(--lp-navy);color:#fff}
.lp-country button[aria-pressed="true"] .lp-ic{opacity:1;transform:none}
@media (max-width:520px){ .lp-country{grid-template-columns:1fr} }

/* ---------------------------------------------------------------- switch */
.lp-switch{position:relative;display:inline-flex;align-items:center;gap:12px;cursor:pointer;font:600 14px/1.3 var(--f-sans);color:var(--fg);-webkit-tap-highlight-color:transparent}
.lp-switch input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.lp-switch__t{position:relative;flex:none;width:44px;height:26px;border-radius:var(--r-pill);background:var(--hair-2);transition:background-color var(--t-short)}
.lp-switch__t::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(9,13,69,.25);transition:transform .4s var(--ease-back)}
.lp-switch input:checked + .lp-switch__t{background:var(--lp-navy)}
.lp-switch input:checked + .lp-switch__t::after{transform:translateX(18px)}
.lp-switch input:focus-visible + .lp-switch__t{outline:2px solid var(--lp-navy);outline-offset:3px}
.lp-switch input:disabled + .lp-switch__t{opacity:.5}
.lp-switch input:disabled ~ span{cursor:default}
.lp-switch small{display:block;font:400 12px/1.3 var(--f-sans);color:var(--fg2);margin-top:1px}

/* ---------------------------------------------------------------- consent */
.lp-consent{position:fixed;left:16px;bottom:16px;z-index:80;width:min(410px,calc(100vw - 32px));padding:18px;background:var(--lp-paper-bright);color:var(--lp-slate);
  border:1px solid var(--hair);border-radius:22px;box-shadow:var(--elev-3);transform:translateY(calc(100% + 28px));transition:transform .7s var(--ease-soft)}
.lp-consent.is-on{transform:none}
.lp-consent__h{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start}
.lp-consent__ic{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--lp-fiber);color:var(--lp-kraft-ink)}
.lp-consent__ic .lp-ic{width:22px;height:22px;animation:lp-wobble 5s var(--ease-io) 1.2s infinite}
.lp-consent__h p{font-size:13.5px;line-height:1.5}
.lp-consent__h strong{display:block;margin-bottom:3px;font:600 16px/1.2 var(--f-sans);color:var(--lp-ink)}
.lp-consent__h a{color:var(--lp-navy);font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.lp-consent__prefs{display:grid;gap:12px;margin-top:16px;padding:14px 16px;border-radius:16px;background:var(--lp-paper);border:1px solid var(--hair)}
.lp-consent__prefs .lp-switch{color:var(--lp-ink)}
.lp-consent__a{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.lp-consent__a .lp-btn{flex:1 1 auto;--b-fg:var(--lp-ink)}
.lp-consent__a .lp-btn--primary{--b-bg:var(--lp-navy);--b-bd:var(--lp-navy);--b-fg:#fff}
.lp-consent__a .lp-btn--text{--b-fg:var(--lp-navy);flex:0 1 auto}
@keyframes lp-wobble{0%,86%,100%{transform:none}90%{transform:rotate(-14deg)}95%{transform:rotate(9deg)}}

/* ---------------------------------------------------------------- compare tray */
.lp-tray{position:fixed;left:50%;bottom:16px;z-index:70;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:8px 8px 8px 18px;
  background:var(--lp-ink);color:#fffcf7;border-radius:var(--r-pill);box-shadow:var(--elev-3);transform:translate(-50%,calc(100% + 32px));transition:transform .6s var(--ease-soft)}
.lp-tray.is-on{transform:translate(-50%,0)}
.lp-tray__t{display:flex;align-items:center;gap:8px;font:600 14px/1 var(--f-sans);white-space:nowrap}
.lp-tray__t .lp-ic{width:18px;height:18px;opacity:.8}
.lp-tray__n{font:500 12px/1 var(--f-mono);padding:5px 8px;border-radius:var(--r-pill);background:rgba(255,255,255,.12);transition:background-color var(--t-short)}
.lp-tray.is-bump .lp-tray__n{animation:lp-bump .5s var(--ease-back)}
.lp-tray__l{display:flex;gap:6px;min-width:0;overflow:hidden}
.lp-tray__l li{--c:#fff;display:flex;align-items:center;gap:7px;height:36px;padding:0 4px 0 12px;border-radius:var(--r-pill);background:rgba(255,255,255,.09);font-size:13px;white-space:nowrap;max-width:170px;animation:lp-pop .45s var(--ease-back)}
.lp-tray__l li i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--c)}
.lp-tray__l li span{overflow:hidden;text-overflow:ellipsis}
.lp-tray__l li button{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:rgba(255,252,247,.7);transition:background-color var(--t-micro),color var(--t-micro)}
.lp-tray__l li button:hover{background:rgba(255,255,255,.14);color:#fff}
.lp-tray__l li .lp-ic{width:14px;height:14px}
.lp-tray .lp-btn{--b-bg:#fffcf7;--b-fg:var(--lp-ink);--b-bd:#fffcf7;--b-hover:var(--lp-fiber);--b-fg-h:var(--lp-ink);flex:none}
.lp-tray__x{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:rgba(255,252,247,.7);transition:background-color var(--t-micro),color var(--t-micro)}
.lp-tray__x:hover{background:rgba(255,255,255,.12);color:#fff}
@media (max-width:820px){ .lp-tray__l{display:none} .lp-tray{left:16px;right:16px;transform:translateY(calc(100% + 32px));justify-content:space-between} .lp-tray.is-on{transform:none} }
@keyframes lp-pop{from{transform:scale(.6);opacity:0}}
@keyframes lp-bump{40%{transform:scale(1.25);background:rgba(255,255,255,.3)}}

/* ---------------------------------------------------------------- toast */
.lp-toast{position:fixed;left:50%;top:20px;z-index:95;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:12px 18px 12px 14px;
  background:var(--lp-ink);color:#fffcf7;border-radius:var(--r-pill);box-shadow:var(--elev-2);font:600 14px/1.3 var(--f-sans);pointer-events:none;
  transform:translate(-50%,-160%);opacity:0;transition:transform .5s var(--ease-soft),opacity .3s}
.lp-toast:empty{display:none}
.lp-toast.is-on{transform:translate(-50%,0);opacity:1}
.lp-toast .lp-ic{width:20px;height:20px;padding:3px;border-radius:50%;background:#2e8b57;color:#fff;stroke-width:2.2}
.lp-toast .lp-ic path{stroke-dasharray:1 2;stroke-dashoffset:1;animation:lp-dash .5s var(--ease) .15s forwards}
@keyframes lp-dash{to{stroke-dashoffset:0}}

/* ---------------------------------------------------------------- back to top */
.lp-top{position:fixed;right:16px;bottom:16px;z-index:65;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--lp-paper-bright);color:var(--lp-ink);
  box-shadow:var(--elev-2),0 0 0 1px var(--hair);opacity:0;visibility:hidden;transform:translateY(16px) scale(.9);transition:opacity .35s,visibility .35s,transform .5s var(--ease-soft),bottom .5s var(--ease-soft)}
.lp-top.is-on{opacity:1;visibility:visible;transform:none}
.lp-top svg:first-child{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.lp-top .t{fill:none;stroke:var(--hair)}
.lp-top .p{fill:none;stroke:var(--lp-navy);stroke-width:2;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:calc(1 - var(--p,0))}
.lp-top .lp-ic{width:20px;height:20px;transition:transform var(--t-med) var(--ease)}
.lp-top:hover .lp-ic{transform:translateY(-3px)}
html.has-tray .lp-top{bottom:84px}
html.has-consent .lp-top{opacity:0;visibility:hidden}

/* ---------------------------------------------------------------- custom cursor (fine pointers only) */
.lp-cur{position:fixed;left:0;top:0;z-index:150;width:0;height:0;pointer-events:none;display:none}
@media (hover:hover) and (pointer:fine){
  html.has-cursor .lp-cur{display:block}
}
.lp-cur::before{content:"";position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:var(--lp-navy);opacity:0;transform:scale(.4);
  transition:opacity .25s,transform .45s var(--ease-soft),width .45s var(--ease-soft),height .45s var(--ease-soft),left .45s var(--ease-soft),top .45s var(--ease-soft),background-color .3s}
.lp-cur.is-on::before{opacity:1;transform:none;left:-46px;top:-46px;width:92px;height:92px;background:var(--lp-ink)}
.lp-cur span{position:absolute;left:0;top:0;transform:translate(-50%,-50%) scale(.6);opacity:0;font:600 12px/1 var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:#fffcf7;white-space:nowrap;transition:opacity .25s,transform .45s var(--ease-soft)}
.lp-cur.is-on span{opacity:1;transform:translate(-50%,-50%)}
html.has-cursor [data-cursor-label]{cursor:none}

/* ---------------------------------------------------------------- video lightbox */
.lp-lb{display:grid;place-items:center;padding:clamp(16px,4vw,56px);background:rgba(9,13,69,.82)}
.lp-lb__box{position:relative;width:min(1200px,100%);aspect-ratio:16/9;max-height:calc(100dvh - 120px);border-radius:var(--r-sheet);overflow:hidden;background:#000;box-shadow:var(--elev-3);
  transform:scale(.94);transition:transform .6s var(--ease-soft)}
.lp-lb.is-on .lp-lb__box{transform:none}
.lp-lb video{width:100%;height:100%;object-fit:cover}
.lp-lb__x{position:absolute;top:clamp(12px,2vw,24px);right:clamp(12px,2vw,24px);z-index:2;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(255,252,247,.92);color:var(--lp-ink);transition:transform var(--t-med) var(--ease)}
.lp-lb__x:hover{transform:rotate(90deg)}
.lp-lb__cap{position:absolute;left:20px;bottom:16px;font:500 12px/1 var(--f-mono);color:rgba(255,255,255,.8)}

html.is-locked,html.is-locked body{overflow:hidden}

/* ── 40-heroes.css ── */
/* =====================================================================
   40 · Heroes — home, page, line, sector, catalogue, video, article,
   gate, legal, 404 (+ jumps, facts, line/sector index, object stage)
   ===================================================================== */
[data-line-hero="econatural"]{--c:#b08958}[data-line-hero="identity"]{--c:#1a1a1a}[data-line-hero="aquastream"]{--c:#0e6e78}
[data-line-hero="l-one"]{--c:#e87722}[data-line-hero="texicell"]{--c:#a73a64}[data-line-hero="zenith"]{--c:#6b7378}

/* ---------------------------------------------------------------- home */
.lp-home{position:relative;overflow:hidden;padding:clamp(32px,4.5vw,72px) 0 clamp(84px,8vw,128px);color:var(--fg2);
  background:radial-gradient(55% 75% at 80% 42%,rgba(255,252,247,.95) 0,rgba(255,252,247,0) 72%),var(--lp-paper)}
.lp-home::before{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--hair)}
.lp-home__grid{display:grid;gap:clamp(36px,5vw,56px);align-items:center}
.lp-home__t{font-size:clamp(50px,7.1vw,116px);line-height:.95;letter-spacing:-.035em;max-width:11.5ch}
.lp-home__lede{margin-top:clamp(22px,2.4vw,32px);max-width:52ch;font-size:clamp(17px,1.28vw,19.5px);line-height:1.62}
.lp-home__meta{display:flex;flex-wrap:wrap;margin-top:clamp(40px,5vw,68px);border-top:1px solid var(--hair);max-width:640px}
.lp-home__meta li{flex:1 1 150px;display:grid;align-content:start;gap:6px;padding:18px 18px 0 0}
.lp-home__meta li + li{padding-left:18px;border-left:1px solid var(--hair)}
.lp-home__meta strong{font:500 clamp(32px,3vw,46px)/1 var(--f-display);letter-spacing:-.025em;color:var(--fg)}
.lp-home__meta span{font-size:13.5px;line-height:1.4;max-width:22ch}
@media (min-width:1024px){ .lp-home__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,4vw,80px)} .lp-home{min-height:calc(100svh - var(--util-h) - var(--hd-h));display:flex;align-items:center} .lp-home > .lp-wrap{flex:1} }

/* proofreader's insertion mark */
.lp-ins{position:relative;white-space:nowrap}
.lp-ins__m{position:absolute;left:calc(100% + .02em);bottom:-.1em;width:.62em;display:flex;flex-direction:column-reverse;align-items:center;pointer-events:none;color:var(--lp-kraft)}
.lp-ins__m svg{width:.46em;height:.42em;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.lp-ins__m em{display:block;margin-bottom:.02em;font:italic 500 .4em/1 var(--f-display);letter-spacing:0;color:var(--lp-kraft-ink);transform:rotate(-8deg)}
.js .lp-ins__m path{stroke-dasharray:1 2;stroke-dashoffset:1}
.js .lp-ins__m em{opacity:0;transform:translateY(.3em) rotate(-8deg)}
.is-ready .lp-ins__m path{stroke-dashoffset:0;transition:stroke-dashoffset .9s var(--ease) 1.25s}
.is-ready .lp-ins__m path + path{transition-delay:1.55s}
.is-ready .lp-ins__m em{opacity:1;transform:rotate(-8deg);transition:opacity .6s 1.7s,transform .9s var(--ease-back) 1.7s}

/* scroll cue */
.lp-scroll{position:absolute;left:50%;bottom:22px;z-index:2;display:none;flex-direction:column;align-items:center;gap:8px;transform:translateX(-50%);
  font:600 10.5px/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--fg2);transition:color var(--t-short)}
.lp-scroll:hover{color:var(--fg)}
.lp-scroll svg{width:18px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5}
.lp-scroll path{stroke-linecap:round;animation:lp-wheel 1.9s var(--ease-io) infinite}
@keyframes lp-wheel{0%{transform:translateY(-2px);opacity:0}30%{opacity:1}75%{transform:translateY(8px);opacity:0}100%{opacity:0}}
@media (min-width:1024px) and (min-height:720px){ .lp-scroll{display:flex} }

/* ---------------------------------------------------------------- object stage */
.lp-obj{--obj-w:60%;position:relative;width:100%;max-width:640px;aspect-ratio:1;margin-inline:auto;display:grid;place-items:center;isolation:isolate;transform-style:preserve-3d}
.lp-obj::before{content:"";position:absolute;inset:15%;z-index:-1;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fffcf7 0,rgba(255,252,247,.7) 46%,rgba(255,252,247,0) 72%)}
.lp-obj::after{content:"";position:absolute;left:26%;right:26%;bottom:11%;height:7%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(9,13,69,.2),rgba(9,13,69,0));filter:blur(4px)}
.lp-obj > .lp-orbit{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.lp-obj__img{position:relative;width:var(--obj-w);height:78%;display:grid;place-items:center;transform:translateZ(40px);filter:drop-shadow(0 34px 40px rgba(9,13,69,.18))}
.lp-obj__img img{width:100%;height:100%;object-fit:contain}
.lp-obj__co{--k:0;position:absolute;z-index:2;display:inline-flex;align-items:center;gap:10px;padding:9px 15px 9px 11px;border-radius:var(--r-pill);
  background:rgba(255,252,247,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--hair);box-shadow:var(--elev-1);
  font:600 13px/1 var(--f-sans);color:var(--lp-ink);white-space:nowrap;transform:translateZ(70px)}
.lp-obj__co i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--c,var(--lp-navy));box-shadow:0 0 0 4px color-mix(in srgb,var(--c,var(--lp-navy)) 14%,transparent)}
.lp-obj__co--0{left:0;top:17%}
.lp-obj__co--1{right:-1%;top:47%}
.lp-obj__co--2{left:7%;bottom:15%}
.js .lp-obj__co{opacity:0}
.is-ready .lp-obj__co{animation:lp-co-in .9s var(--ease-soft) calc(1s + var(--k) * .16s) both,lp-float 7s var(--ease-io) calc(2.2s + var(--k) * .8s) infinite}
@keyframes lp-co-in{from{opacity:0;transform:translate3d(0,14px,70px) scale(.92)}to{opacity:1;transform:translateZ(70px)}}
@keyframes lp-float{0%,100%{transform:translateZ(70px)}50%{transform:translate3d(0,-7px,70px)}}
.lp-obj--line{max-width:600px}
.lp-obj--line .lp-obj__img{--obj-w:64%}
.lp-obj--wide{max-width:620px}
.lp-obj--wide .lp-obj__img{--obj-w:74%;height:70%}
@media (max-width:560px){ .lp-obj__co{font-size:12px;padding:7px 12px 7px 9px} .lp-obj__co--1{right:0} }

/* ---------------------------------------------------------------- page hero */
.lp-phero{position:relative;overflow:hidden;padding:clamp(28px,3.6vw,56px) 0 clamp(60px,7vw,112px);background:var(--bg);color:var(--fg2)}
.lp-phero__grid{display:grid;gap:clamp(36px,5vw,56px);align-items:center}
.lp-phero__t{font-size:clamp(44px,6vw,94px);line-height:.98;max-width:14ch}
.lp-phero__lede{margin-top:clamp(20px,2.2vw,30px);max-width:56ch;font-size:clamp(17px,1.28vw,19.5px);line-height:1.62}
.lp-phero__art{position:relative;width:100%;max-width:560px;justify-self:center;aspect-ratio:1;display:grid;place-items:center}
.lp-phero__art > svg{width:100%;height:100%}
.lp-phero__aside{margin-top:6px}
.lp-phero__aside .lp-actions{margin-top:28px}
@media (min-width:1024px){
  .lp-phero__grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(40px,5vw,96px)}
  .lp-phero--text .lp-phero__grid{grid-template-columns:minmax(0,1fr) auto;align-items:end}
  .lp-phero--text .lp-phero__aside{margin:0 0 6px}
  .lp-phero--text .lp-phero__aside .lp-actions{margin-top:0;justify-content:flex-end}
}
.lp-phero--text .lp-phero__t{max-width:15ch;font-size:clamp(46px,6.6vw,104px)}
.lp-phero--text{padding-bottom:clamp(48px,5vw,80px);border-bottom:1px solid var(--hair)}
.lp-phero--media .lp-phero__art{aspect-ratio:auto;max-width:none}
.lp-phero--media .lp-fig{width:100%}
.lp-phero--sect .lp-phero__art{max-width:600px}
.lp-phero[data-tone="forest"] .lp-phero__art svg,.lp-phero[data-tone="ink"] .lp-phero__art svg{color:#f4efe3}

/* jumps — in-page anchors under heroes */
.lp-jumps{position:relative;z-index:2;display:flex;gap:6px;width:100%;max-width:calc(var(--wrap) + var(--gut) * 2);margin:clamp(-8px,-1vw,0px) auto 0;padding:0 var(--gut) 4px;overflow-x:auto;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
.lp-jumps::-webkit-scrollbar{display:none}
.lp-jumps a{flex:none;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px 0 8px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--card);
  font:600 14px/1 var(--f-sans);color:var(--fg);transition:background-color var(--t-short),color var(--t-short),border-color var(--t-short)}
.lp-jumps a span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lp-paper-shade);font:500 11px/1 var(--f-mono);color:var(--lp-ink);transition:background-color var(--t-short),color var(--t-short)}
.lp-jumps a:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.lp-jumps a:hover span{background:var(--bg);color:var(--fg)}
.lp-vhero + .lp-jumps,.lp-phero + .lp-jumps{margin-top:0}
.lp-phero > .lp-jumps{margin-top:clamp(36px,4vw,56px);padding-inline:var(--gut)}
.lp-vhero > .lp-jumps{position:absolute;left:0;right:0;bottom:24px;margin:0 auto}
.lp-vhero > .lp-jumps a{background:rgba(255,252,247,.1);border-color:rgba(255,252,247,.3);color:#fffcf7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lp-vhero > .lp-jumps a span{background:rgba(255,252,247,.16);color:#fffcf7}
.lp-vhero > .lp-jumps a:hover{background:#fffcf7;color:var(--lp-forest)}
.lp-vhero > .lp-jumps a:hover span{background:var(--lp-forest);color:#fffcf7}

/* facts */
.lp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:clamp(32px,3.4vw,48px);border-top:1px solid var(--hair);max-width:600px}
.lp-facts > div{padding:16px 16px 4px 0}
.lp-facts > div:nth-child(even){padding-left:16px;border-left:1px solid var(--hair)}
.lp-facts > div:nth-child(n+3){border-top:1px solid var(--hair)}
.lp-facts dt{font:500 11px/1.2 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg2);opacity:.85}
.lp-facts dd{margin-top:6px;font:600 15px/1.35 var(--f-sans);color:var(--fg)}
.lp-facts--inline{display:flex;flex-wrap:wrap;max-width:none}
.lp-facts--inline > div{flex:1 1 120px;padding:16px 18px 0 0;border:0!important}
.lp-facts--inline > div + div{padding-left:18px;border-left:1px solid var(--hair)!important}
.lp-facts--inline dd{font:500 clamp(28px,2.6vw,40px)/1 var(--f-display);letter-spacing:-.02em}

/* ---------------------------------------------------------------- line hero */
.lp-lhero{position:relative;overflow:hidden;padding:clamp(28px,3.6vw,56px) 0 0;background:linear-gradient(180deg,var(--lp-paper) 0,var(--lp-paper) 70%,color-mix(in srgb,var(--c) 7%,var(--lp-paper)) 100%);color:var(--fg2)}
.lp-lhero__grid{display:grid;gap:clamp(36px,5vw,56px);align-items:center;padding-bottom:clamp(48px,6vw,96px)}
.lp-lhero .lp-over{color:var(--fg)}
.lp-lhero .lp-over .tick{background:var(--c);width:28px;height:3px}
.lp-lhero__t{font-size:clamp(44px,5.8vw,92px);line-height:.98;max-width:13ch}
.lp-lhero__lede{margin-top:clamp(20px,2.2vw,30px);max-width:54ch;font-size:clamp(17px,1.28vw,19.5px);line-height:1.62}
.lp-lhero__media{position:relative;display:grid;place-items:center;min-height:300px}
.lp-lhero__media > .lp-motif{position:absolute;inset:-6% -8%;z-index:0;pointer-events:none}
.lp-lhero__media > .lp-motif svg{width:100%;height:100%}
.lp-lhero__media > .lp-fig{position:relative;z-index:1;width:min(100%,560px)}
.lp-lhero__media > .lp-pullw{width:min(100%,440px)}
@media (min-width:1024px){ .lp-lhero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,5vw,96px)} }

/* line index */
.lp-lindex,.lp-sindex{position:relative;z-index:2;display:flex;width:100%;max-width:calc(var(--wrap) + var(--gut) * 2);margin:0 auto;padding:0 var(--gut);overflow-x:auto;scrollbar-width:none}
.lp-lindex::-webkit-scrollbar,.lp-sindex::-webkit-scrollbar{display:none}
.lp-lindex a,.lp-sindex a{--c:var(--lp-navy);position:relative;flex:1 0 auto;min-width:140px;display:flex;align-items:baseline;gap:10px;padding:18px 18px 20px 0;border-top:1px solid var(--hair-2);color:var(--fg2);transition:color var(--t-short)}
.lp-lindex a::before,.lp-sindex a::before{content:"";position:absolute;left:0;right:12px;top:-1px;height:3px;background:var(--c);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--t-med) var(--ease)}
.lp-lindex a:hover,.lp-sindex a:hover,.lp-lindex a[aria-current],.lp-sindex a[aria-current]{color:var(--fg)}
.lp-lindex a:hover::before,.lp-sindex a:hover::before,.lp-lindex a[aria-current]::before,.lp-sindex a[aria-current]::before{transform:none}
.lp-lindex .n,.lp-sindex .n{font:500 11px/1 var(--f-mono);opacity:.7}
.lp-lindex .t,.lp-sindex .t{font:600 15px/1.2 var(--f-sans);white-space:nowrap}
.lp-lindex a[aria-current] .t::after,.lp-sindex a[aria-current] .t::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;background:var(--c);vertical-align:middle}

/* ---------------------------------------------------------------- sector hero */
.lp-shero{position:relative;overflow:hidden;padding:clamp(28px,3.6vw,56px) 0 0;background:var(--bg);color:var(--fg2)}
.lp-shero__grid{display:grid;gap:clamp(36px,5vw,56px);align-items:center;padding-bottom:clamp(48px,6vw,88px)}
.lp-shero__t{font-size:clamp(42px,5.6vw,88px);line-height:.98;max-width:13ch}
.lp-shero__lede{margin-top:clamp(20px,2.2vw,28px);max-width:54ch;font-size:clamp(17px,1.28vw,19px);line-height:1.62}
.lp-shero__lines{margin-top:28px}
.lp-shero__k{margin-bottom:10px;font:500 11px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg2)}
.lp-shero__media{position:relative;justify-self:stretch;aspect-ratio:4/5;max-height:640px;padding:18px}
.lp-shero__img{position:absolute;inset:18px;overflow:hidden;border-radius:var(--r-card);background:var(--lp-paper-shade)}
.lp-shero__img img{width:100%;height:112%;object-fit:cover;margin-top:-6%}
.lp-shero__frame{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--lp-ink);stroke-width:1.4;overflow:visible}
.lp-shero__frame path{vector-effect:non-scaling-stroke}
.lp-shero__lab{position:absolute;left:34px;bottom:34px;z-index:2;padding:8px 14px;border-radius:var(--r-pill);background:rgba(255,252,247,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  font:600 12px/1 var(--f-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--lp-ink)}
.lp-shero__num{position:absolute;right:-6px;top:-34px;z-index:2;font:500 clamp(80px,9vw,150px)/1 var(--f-display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.2px var(--lp-ink);opacity:.9;pointer-events:none}
@media (min-width:1024px){ .lp-shero__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,5vw,96px)} .lp-shero__media{max-width:560px;justify-self:end;width:100%} }
@media (max-width:1023px){ .lp-shero__media{max-height:none;aspect-ratio:5/4} .lp-shero__num{top:-18px;font-size:76px} }

/* ---------------------------------------------------------------- catalogue hero */
.lp-chero{position:relative;overflow:hidden;padding:clamp(28px,3.6vw,56px) 0 clamp(48px,6vw,88px);background:var(--bg);color:var(--fg2);border-bottom:1px solid var(--hair)}
.lp-chero__grid{display:grid;gap:clamp(32px,4vw,56px);align-items:center}
.lp-chero__t{font-size:clamp(42px,5.4vw,86px);line-height:.98;max-width:14ch}
.lp-chero__lede{margin-top:clamp(18px,2vw,26px);max-width:56ch;font-size:clamp(16.5px,1.24vw,19px);line-height:1.62}
.lp-chero__art{position:relative;display:grid;place-items:center;width:100%}
.lp-chero__art > svg{width:100%;max-width:520px;height:auto}
.lp-chero__draw,.lp-chero__obj{position:relative;width:min(100%,420px);aspect-ratio:1;display:grid;place-items:center}
.lp-chero__draw > .lp-orbit,.lp-chero__obj > .lp-orbit{position:absolute;inset:0;width:100%;height:100%}
.lp-chero__draw > .lp-draw{width:58%;height:auto;color:var(--lp-ink)}
.lp-chero__obj > img{position:relative;width:62%;height:78%;object-fit:contain;filter:drop-shadow(0 28px 34px rgba(9,13,69,.18))}
.lp-chero__draw--ce .lp-ce{position:absolute;right:16%;top:18%}
@media (min-width:1024px){ .lp-chero__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,5vw,96px)} .lp-chero__art{justify-items:end} }
.lp-chero--main .lp-chero__art{justify-items:stretch}
.lp-chero--slim{padding-bottom:clamp(36px,4vw,60px)}
.lp-chero--slim .lp-chero__art > svg{max-width:300px}
.lp-chero--search{padding-bottom:clamp(36px,4vw,64px)}
.lp-chero--search .lp-chero__t{max-width:16ch}

/* catalogue tiles */
.lp-ctiles{display:grid;gap:10px;width:100%}
.lp-ctile{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:12px 20px 12px 12px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);
  color:var(--fg);transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-short)}
.lp-ctile:hover{transform:translateX(6px);box-shadow:var(--elev-2);border-color:var(--hair-2)}
.lp-ctile__art{width:76px;height:76px;display:grid;place-items:center;border-radius:14px;background:var(--lp-paper);color:var(--lp-ink)}
.lp-ctile__art .lp-draw{width:62px;height:62px}
.lp-ctile__t{font:500 clamp(22px,2vw,30px)/1.1 var(--f-display);letter-spacing:-.015em}
.lp-ctile__n{font:500 12px/1 var(--f-mono);padding:6px 9px;border-radius:var(--r-pill);border:1px solid var(--hair-2);color:var(--fg2)}
.lp-ctile .lp-arw path{transform:translateX(-4px)}
.lp-ctile:hover .lp-arw path{transform:translateX(2px)}

/* ---------------------------------------------------------------- video hero */
.lp-vhero{position:relative;display:flex;align-items:flex-end;min-height:min(92svh,920px);padding:clamp(120px,16vw,200px) 0 clamp(104px,10vw,140px);overflow:hidden;background:var(--lp-forest);color:var(--fg2);isolation:isolate}
.lp-vhero__media{position:absolute;inset:0;z-index:-1;background:var(--lp-forest-2) url("../img/hero-poster.jpg") center/cover no-repeat}
.lp-vhero__v{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s var(--ease)}
.lp-vhero__v.is-playing{opacity:1}
.lp-vhero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,59,48,.35) 0,rgba(20,59,48,.12) 34%,rgba(20,59,48,.6) 70%,rgba(16,40,33,.92) 100%),linear-gradient(90deg,rgba(16,40,33,.55),rgba(16,40,33,0) 60%)}
.lp-vhero__in{position:relative}
.lp-vhero .lp-crumb,.lp-vhero .lp-crumb a{color:rgba(244,239,227,.78)}
.lp-vhero .lp-crumb [aria-current]{color:#f4efe3}
.lp-vhero__t{font-size:clamp(46px,6.8vw,112px);line-height:.96;max-width:13ch;color:#f7f3ea}
.lp-vhero__lede{margin-top:clamp(20px,2.2vw,30px);max-width:52ch;font-size:clamp(17px,1.3vw,20px);line-height:1.6;color:rgba(244,239,227,.86)}
.lp-vhero__pp{position:absolute;right:var(--gut);bottom:0;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px 0 6px;border-radius:var(--r-pill);
  border:1px solid rgba(255,252,247,.32);background:rgba(255,252,247,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fffcf7;font:600 13px/1 var(--f-sans);transition:background-color var(--t-short)}
.lp-vhero__pp .lp-ic{width:32px;height:32px;padding:8px;border-radius:50%;background:#fffcf7;color:var(--lp-forest)}
.lp-vhero__pp:hover{background:rgba(255,252,247,.18)}
@media (max-width:760px){ .lp-vhero__pp{position:static;margin-top:28px} .lp-vhero{min-height:auto;padding-top:96px} }

/* ---------------------------------------------------------------- article hero */
.lp-ahero{position:relative;padding:clamp(28px,3.6vw,56px) 0 0;background:var(--bg);color:var(--fg2)}
.lp-ahero__in{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){ .lp-ahero__in{grid-template-columns:220px minmax(0,1fr);column-gap:clamp(40px,6vw,104px)} .lp-ahero__in > *{grid-column:2} }
.lp-ahero__k{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px}
.lp-ahero__r{display:inline-flex;align-items:center;gap:6px;margin-left:6px;font:500 12px/1 var(--f-mono);color:var(--fg2)}
.lp-ahero__r .lp-ic{width:16px;height:16px;order:-1}
.lp-ahero__t{font-size:clamp(40px,5.4vw,84px);line-height:1;max-width:18ch}
.lp-ahero__dek{margin-top:22px;max-width:60ch;font:400 clamp(19px,1.6vw,23px)/1.5 var(--f-display);color:var(--fg2)}
.lp-ahero__m{position:relative;width:100%;max-width:calc(var(--wrap) + var(--gut) * 2);margin:clamp(36px,4vw,64px) auto 0;padding:0 var(--gut)}
.lp-ahero__m .lp-fig__m{aspect-ratio:21/9;border-radius:var(--r-sheet)}
@media (max-width:760px){ .lp-ahero__m .lp-fig__m{aspect-ratio:4/3} }

/* ---------------------------------------------------------------- gate (For Me) */
.lp-gate{position:relative;overflow:hidden;padding:clamp(28px,3.6vw,56px) 0 clamp(60px,7vw,112px);background:linear-gradient(160deg,var(--lp-paper) 0,var(--lp-paper-shade) 100%);color:var(--fg2)}
.lp-gate__grid{display:grid;gap:clamp(36px,5vw,56px);align-items:center}
.lp-gate__t{font-size:clamp(48px,7vw,112px);line-height:.95}
.lp-gate__lede{margin-top:clamp(20px,2.2vw,28px);max-width:52ch;font-size:clamp(17px,1.3vw,19.5px);line-height:1.6}
.lp-gate__sec{display:flex;align-items:center;gap:10px;margin-top:24px;font-size:13px;color:var(--fg2)}
.lp-gate__sec .lp-ic{width:18px;height:18px;color:var(--lp-leaf)}
.lp-gate__art{width:100%;max-width:520px;justify-self:center}
.lp-gate__art svg{width:100%;height:auto}
@media (min-width:1024px){ .lp-gate__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)} }

/* ---------------------------------------------------------------- legal header */
.lp-lhd{padding:clamp(28px,3.6vw,56px) 0 clamp(36px,4vw,56px);background:var(--lp-paper);border-bottom:1px solid var(--hair)}
.lp-lhd__t{font-size:clamp(42px,5.4vw,84px);line-height:1}
.lp-lhd__m{margin-top:18px;font:500 12.5px/1.4 var(--f-mono);color:var(--fg2)}

/* ---------------------------------------------------------------- 404 */
.lp-404{padding:clamp(36px,5vw,80px) 0 clamp(72px,8vw,128px);background:var(--bg);color:var(--fg2);overflow:hidden}
.lp-404__grid{display:grid;gap:clamp(32px,5vw,72px);align-items:center}
.lp-404__art{width:100%;max-width:440px;justify-self:center}
.lp-404__art svg{width:100%;height:auto}
.lp-404__t{font-size:clamp(40px,5.4vw,84px);line-height:1;max-width:14ch}
.lp-404__l{margin-top:20px;max-width:52ch;font-size:18px}
.lp-404 .lp-sbig{margin-top:30px}
.lp-404__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:28px;max-width:560px}
.lp-404__links a{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 16px;border-radius:14px;border:1px solid var(--hair);background:var(--card);font-weight:600;color:var(--fg);transition:border-color var(--t-short),transform var(--t-short) var(--ease)}
.lp-404__links a span{flex:1}
.lp-404__links a:hover{border-color:var(--fg);transform:translateY(-2px)}
.lp-404__links .lp-arw path{transform:translateX(-4px)}
.lp-404__links a:hover .lp-arw path{transform:translateX(2px)}
@media (min-width:1024px){ .lp-404__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)} }
@media (max-width:520px){ .lp-404__links{grid-template-columns:1fr} }

/* ── 50-components.css ── */
/* =====================================================================
   50 · Components — section head, figures, gauges, bars, steps, pains,
   quotes, cards, plates, rails, CTA, certs, marquee, FAQ, tabs, specs,
   docs, plan, map, matrix, numbers, form controls
   ===================================================================== */

/* ---------------------------------------------------------------- section head */
.lp-head{position:relative;display:grid;gap:16px 56px;margin-bottom:clamp(40px,5vw,72px);padding-bottom:clamp(22px,2.4vw,32px)}
.lp-head__k{display:flex;align-items:center;gap:12px;font:600 12px/1.2 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--acc)}
.lp-head__n{font:500 11px/1 var(--f-mono);letter-spacing:0;padding:5px 8px;border:1px solid currentColor;border-radius:var(--r-pill)}
.lp-head__t{max-width:17ch;font-size:clamp(34px,4.3vw,64px);line-height:1.02}
.lp-head__side{display:grid;justify-items:start;align-content:end;max-width:48ch}
.lp-head__l{font-size:clamp(16px,1.15vw,17.5px);line-height:1.62;color:var(--fg2)}
.lp-head__side .lp-link{margin-top:14px}
.lp-head__rule{position:absolute;left:0;right:0;bottom:0;width:100%;height:1px;overflow:visible}
.lp-head__rule path{fill:none;stroke:var(--hair-2);stroke-width:1;vector-effect:non-scaling-stroke}
.js .lp-head__rule path{stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease-soft) .2s}
.js .lp-head.is-in .lp-head__rule path{stroke-dashoffset:0}
@media (min-width:1024px){
  .lp-head{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:end}
  .lp-head__k{grid-column:1/-1}
  .lp-head__side{padding-bottom:6px}
}

/* ---------------------------------------------------------------- figures */
.lp-fig{position:relative;margin:0}
.lp-fig__m{position:relative;overflow:hidden;border-radius:var(--r-sheet);background:var(--lp-paper-shade);aspect-ratio:4/3;isolation:isolate}
.lp-fig__m img{width:100%;height:100%;object-fit:cover}
[data-parallax] > img{height:114%;margin-top:-7%;transform:translate3d(0,var(--py,0px),0);will-change:transform}
.lp-fig figcaption{display:flex;align-items:center;gap:10px;margin-top:14px;font:500 12px/1.45 var(--f-mono);color:var(--fg2)}
.lp-fig figcaption::before{content:"";flex:none;width:18px;height:1px;background:currentColor;opacity:.6}
.lp-fig--hero .lp-fig__m{aspect-ratio:4/5}
.lp-fig--tall .lp-fig__m{aspect-ratio:3/4}
.lp-fig--wide .lp-fig__m{aspect-ratio:16/10}
.lp-fig--forest .lp-fig__m{aspect-ratio:4/5}
.lp-fig--round .lp-fig__m{aspect-ratio:1;border-radius:50%}
.lp-fig--obj .lp-fig__m{background:radial-gradient(circle at 50% 45%,#fffcf7 0,var(--lp-paper-shade) 78%)}
.lp-fig--obj .lp-fig__m img{object-fit:contain;padding:9%}
.lp-fig--article{margin:2.4em 0}
.lp-fig--article .lp-fig__m{aspect-ratio:16/10}
.lp-motif{position:relative}
.lp-motif svg{width:100%;height:100%}

/* ---------------------------------------------------------------- gauges */
.lp-gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px 24px;margin-top:36px}
.lp-gauge{--c:var(--acc);position:relative;display:grid;justify-items:start;align-content:start;gap:16px;margin:0}
.lp-gauge svg{width:120px;height:120px;overflow:visible}
.lp-gauge .t{fill:none;stroke:var(--hair);stroke-width:5}
.lp-gauge .v{fill:none;stroke:var(--c);stroke-width:5;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:calc(1 - var(--v,0))}
.lp-gauge .k{fill:var(--c);transform-origin:60px 60px;transform:rotate(calc(var(--v,0) * 360deg))}
.js .lp-gauge .v{stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease-soft) calc(var(--k,0) * .12s)}
.js .lp-gauge .k{transform:rotate(0deg);transition:transform 1.8s var(--ease-soft) calc(var(--k,0) * .12s)}
.js .is-in .lp-gauge .v,.js .lp-gauge.is-in .v{stroke-dashoffset:calc(1 - var(--v,0))}
.js .is-in .lp-gauge .k,.js .lp-gauge.is-in .k{transform:rotate(calc(var(--v,0) * 360deg))}
.lp-gauge__v{position:absolute;left:0;top:0;width:120px;height:120px;display:grid;place-items:center;font:500 25px/1 var(--f-display);letter-spacing:-.02em;color:var(--fg);white-space:nowrap}
.lp-gauge figcaption{display:grid;gap:3px;max-width:24ch}
.lp-gauge figcaption strong{font:600 15px/1.3 var(--f-sans);color:var(--fg)}
.lp-gauge figcaption span{font-size:14px;line-height:1.45;color:var(--fg2)}
.lp-gauges--light .lp-gauge{--c:#cfe5d8}
.lp-gauges--solo{grid-template-columns:minmax(0,520px)}
.lp-gauges--solo .lp-gauge{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:28px}
.lp-gauges--solo .lp-gauge svg,.lp-gauges--solo .lp-gauge__v{width:180px;height:180px}
.lp-gauges--solo .lp-gauge__v{font-size:38px}
.lp-gauges--solo .lp-gauge .t,.lp-gauges--solo .lp-gauge .v{stroke-width:4}
.lp-split2__a > .lp-gauges--solo{margin:0;justify-content:center}
.lp-split2__a > .lp-gauges--solo .lp-gauge{grid-template-columns:1fr;justify-items:center;text-align:center}
.lp-split2__a > .lp-gauges--solo .lp-gauge svg,.lp-split2__a > .lp-gauges--solo .lp-gauge__v{width:min(320px,70vw);height:min(320px,70vw)}
.lp-split2__a > .lp-gauges--solo .lp-gauge__v{font-size:clamp(48px,6vw,84px)}
.lp-split2__a > .lp-gauges--solo .lp-gauge .t,.lp-split2__a > .lp-gauges--solo .lp-gauge .v{stroke-width:2.6}
.lp-split2__a > .lp-gauges--solo .lp-gauge .k{r:2}

/* ---------------------------------------------------------------- bars */
.lp-bars{display:grid;gap:16px}
@media (min-width:900px){ .lp-bars{grid-template-columns:repeat(2,minmax(0,1fr))} }
.lp-bars__g{padding:clamp(20px,2.4vw,30px);border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-bars__t{margin-bottom:14px;font:600 12px/1.2 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--fg)}
.lp-bar{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr) 64px;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--hair)}
.lp-bar__l{font-size:14px;line-height:1.3;color:var(--fg2)}
.lp-bar.is-hi .lp-bar__l{font-weight:650;color:var(--fg)}
.lp-bar__track{position:relative;height:10px;border-radius:var(--r-pill);background:var(--lp-paper-shade);overflow:hidden}
.lp-bar__fill{position:absolute;left:0;top:0;bottom:0;width:calc(var(--v,0) * 100%);border-radius:inherit;background:var(--lp-slate-2);opacity:.45;transform-origin:0 50%}
.lp-bar.is-hi .lp-bar__fill{background:#a73a64;opacity:1}
.js .lp-bar__fill{transform:scaleX(0);transition:transform 1.5s var(--ease-soft)}
.js .is-in .lp-bar__fill{transform:none}
.js .is-in .lp-bar:nth-child(3) .lp-bar__fill{transition-delay:.12s}
.js .is-in .lp-bar:nth-child(4) .lp-bar__fill{transition-delay:.24s}
.lp-bar__v{justify-self:end;font:500 13px/1 var(--f-mono);color:var(--fg);white-space:nowrap}
@media (max-width:520px){ .lp-bar{grid-template-columns:minmax(0,1fr) 60px} .lp-bar__track{grid-column:1/-1;grid-row:2} }

/* ---------------------------------------------------------------- steps */
.lp-steps{display:grid;gap:14px}
@media (min-width:700px){ .lp-steps{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1120px){ .lp-steps{grid-template-columns:repeat(4,minmax(0,1fr))} .lp-steps--3{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-step{--k:0;position:relative;display:flex;flex-direction:column;gap:12px;padding:24px 24px 28px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-step:hover{transform:translateY(-4px);box-shadow:var(--elev-2)}
.lp-step__n{display:flex;align-items:center;gap:10px;font:500 12px/1 var(--f-mono);color:var(--fg2)}
.lp-step__n::after{content:"";flex:1;height:1px;background:var(--hair)}
.lp-step__art{display:grid;place-items:center;height:160px;margin:2px 0 10px;border-radius:14px;background:radial-gradient(circle at 50% 50%,var(--lp-paper-bright) 0,transparent 70%),color-mix(in srgb,var(--lp-paper-shade) 60%,transparent);color:var(--lp-ink)}
.lp-step__art svg{width:140px;height:140px}
.lp-step h3{font-size:clamp(20px,1.6vw,24px)}
.lp-step p{font-size:15px;line-height:1.55}
[data-tone="ink"] .lp-step__art,[data-tone="forest"] .lp-step__art{background:rgba(255,255,255,.05);color:var(--fg)}

/* ---------------------------------------------------------------- pains */
.lp-pains{display:grid;gap:14px}
@media (min-width:900px){ .lp-pains{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-pain{position:relative;padding:28px 26px 30px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);overflow:hidden}
.lp-pain::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--lp-navy);transform:scaleX(0);transform-origin:0 50%;transition:transform .8s var(--ease)}
.lp-pain:hover::after{transform:none}
.lp-pain__ic{width:56px;height:56px;display:grid;place-items:center;margin-bottom:30px;border-radius:50%;background:var(--lp-paper-shade);color:var(--lp-navy)}
.lp-pain__ic .lp-ic{width:24px;height:24px}
.lp-pain__n{position:absolute;right:24px;top:26px;font:500 12px/1 var(--f-mono);color:var(--fg2)}
.lp-pain h3{margin-bottom:10px;font-size:clamp(22px,1.8vw,27px)}
.lp-pain p{font-size:15.5px}

/* ---------------------------------------------------------------- quotes */
.lp-quote{position:relative;margin:0}
.lp-quote__m{width:46px;height:34px;margin-bottom:18px;fill:var(--lp-kraft)}
.lp-quote blockquote p{font:400 clamp(24px,2.4vw,34px)/1.3 var(--f-display);letter-spacing:-.012em;color:var(--fg)}
.lp-quote figcaption{margin-top:18px;font:500 12px/1.4 var(--f-mono);color:var(--fg2)}
.lp-quote--pull{margin:2.4em 0;padding:6px 0 6px 28px;border-left:2px solid var(--lp-kraft)}

/* ---------------------------------------------------------------- product cards */
.lp-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:clamp(12px,1.4vw,20px)}
.lp-pgrid--4{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.lp-pgrid--cat{grid-template-columns:repeat(auto-fill,minmax(min(100%,232px),1fr))}
.lp-pc{--c:var(--lp-navy);position:relative;display:flex;flex-direction:column;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);overflow:hidden;color:var(--fg2);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-short)}
.lp-pc:hover{transform:translateY(-4px);box-shadow:var(--elev-2);border-color:var(--hair-2)}
.lp-pc__media{position:relative;display:block;aspect-ratio:1/.92;background:radial-gradient(circle at 50% 46%,#fff 0,var(--lp-paper) 74%);overflow:hidden}
[data-tone="bright"] .lp-pc__media{background:radial-gradient(circle at 50% 46%,#fff 0,var(--lp-paper) 82%)}
.lp-pv{position:absolute;inset:0;display:grid;place-items:center;padding:13%}
.lp-pv img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(9,13,69,.12));transition:transform .8s var(--ease)}
.lp-pc:hover .lp-pv img{transform:scale(1.06) translateY(-2%)}
.lp-pv--draw{padding:16%;color:var(--lp-ink)}
.lp-pv--draw svg{width:100%;height:100%}
.lp-pc__line{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:var(--r-pill);background:rgba(255,252,247,.92);
  font:600 11.5px/1 var(--f-sans);color:var(--lp-ink);box-shadow:0 0 0 1px var(--hair)}
.lp-pc__line::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}
.lp-pc__body{flex:1;display:flex;flex-direction:column;gap:6px;padding:16px 18px 12px}
.lp-pc__t{font:600 17px/1.25 var(--f-sans);letter-spacing:-.005em;color:var(--fg)}
.lp-pc__t a::after{content:"";position:absolute;inset:0;z-index:0}
.lp-pc__t a:focus-visible{outline:none}
.lp-pc__t a:focus-visible::after{outline:2px solid var(--lp-navy);outline-offset:-3px;border-radius:var(--r-card)}
.lp-pc__n{font-size:13.5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lp-pc__meta{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:auto;padding-top:6px;font:500 10.5px/1.3 var(--f-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg2)}
.lp-pc__meta span + span::before{content:"·";margin-right:8px;opacity:.6}
.lp-pc__foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 12px 14px;border-top:1px solid var(--hair)}
.lp-code{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 10px;border-radius:8px;background:var(--lp-paper-shade);font:500 12.5px/1 var(--f-mono);color:var(--lp-ink);white-space:nowrap;transition:background-color var(--t-short),color var(--t-short)}
button.lp-code:hover{background:var(--lp-fiber)}
.lp-code .lp-ic{width:15px;height:15px}
.lp-code.is-copied{background:var(--lp-ink);color:#fff}
.lp-code--na{background:none;padding:0 4px;font:500 11px/1.2 var(--f-mono);color:var(--fg2);opacity:.8}
.lp-code--l{min-height:44px;padding:0 14px;border-radius:12px;font-size:16px;gap:12px}
.lp-code--l .lp-ic{width:18px;height:18px}
.lp-pc__cmp{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px 0 9px;border-radius:var(--r-pill);border:1px solid var(--hair-2);font:600 12.5px/1 var(--f-sans);color:var(--fg);
  transition:background-color var(--t-short),color var(--t-short),border-color var(--t-short)}
.lp-pc__cmp .lp-ic{width:15px;height:15px;transition:transform var(--t-med) var(--ease-back)}
.lp-pc__cmp:hover{border-color:var(--fg)}
.lp-pc__cmp[aria-pressed="true"]{background:var(--lp-ink);border-color:var(--lp-ink);color:#fff}
.lp-pc__cmp[aria-pressed="true"] .lp-ic{transform:rotate(45deg)}
.lp-pc.is-out{display:none}
.lp-pc.is-new{animation:lp-card-in .6s var(--ease-soft) both}
@keyframes lp-card-in{from{opacity:0;transform:translateY(14px) scale(.98)}}
/* list view */
.lp-pgrid.lp-pgrid--cat.is-list{grid-template-columns:minmax(0,1fr);gap:8px}
.is-list .lp-pc{display:grid;grid-template-columns:116px minmax(0,1fr) auto;align-items:center}
.is-list .lp-pc:hover{transform:none}
.is-list .lp-pc__media{aspect-ratio:1;height:100%;min-height:104px}
.is-list .lp-pc__line{display:none}
.is-list .lp-pc__body{padding:14px 18px}
.is-list .lp-pc__n{-webkit-line-clamp:1}
.is-list .lp-pc__foot{border-top:0;border-left:1px solid var(--hair);height:100%;padding:12px 16px;flex-direction:column;justify-content:center;align-items:flex-end}
@media (max-width:640px){ .is-list .lp-pc{grid-template-columns:88px minmax(0,1fr)} .is-list .lp-pc__foot{grid-column:1/-1;flex-direction:row;border-left:0;border-top:1px solid var(--hair);height:auto} }

/* ---------------------------------------------------------------- plates (editorial cards) */
.lp-plates{display:grid;gap:clamp(12px,1.4vw,20px);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
@media (min-width:1120px){ .lp-plates--3{grid-template-columns:repeat(3,minmax(0,1fr))} .lp-plates--4{grid-template-columns:repeat(4,minmax(0,1fr))} }
.lp-plate{--c:var(--lp-navy);position:relative;display:flex;flex-direction:column;border-radius:var(--r-card);overflow:hidden;background:var(--card);border:1px solid var(--hair);color:var(--fg2);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-plate:hover{transform:translateY(-4px);box-shadow:var(--elev-2)}
.lp-plate__m{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--lp-paper-shade)}
.lp-plate__m img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.lp-plate:hover .lp-plate__m img{transform:scale(1.05)}
.lp-plate--obj .lp-plate__m{background:radial-gradient(circle at 50% 48%,#fff 0,var(--lp-paper-shade) 80%)}
.lp-plate--obj .lp-plate__m img{object-fit:contain;padding:10%}
.lp-plate__b{position:relative;flex:1;display:flex;flex-direction:column;gap:8px;padding:20px 22px 74px}
.lp-plate__k{display:flex;align-items:center;gap:8px;font:600 11px/1.3 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--fg)}
.lp-plate__k::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.lp-plate h3{font-size:clamp(20px,1.6vw,24px)}
.lp-plate__b > p:not(.lp-plate__k){font-size:14.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lp-plate__go{position:absolute;left:22px;bottom:20px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair-2);color:var(--fg);
  transition:background-color var(--t-short),border-color var(--t-short),color var(--t-short),transform var(--t-med) var(--ease)}
.lp-plate:hover .lp-plate__go{background:var(--fg);border-color:var(--fg);color:var(--bg);transform:rotate(-45deg)}
.lp-plate--rail{flex:0 0 clamp(272px,25vw,350px)}

/* ---------------------------------------------------------------- rail */
.lp-rail{position:relative}
.lp-rail__track{display:flex;gap:clamp(12px,1.4vw,20px);margin-inline:calc(var(--gut) * -1);padding:4px var(--gut) 12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);
  scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab}
.lp-rail__track::-webkit-scrollbar{display:none}
.lp-rail__track > *{scroll-snap-align:start}
.lp-rail__track.is-drag{scroll-snap-type:none;cursor:grabbing;user-select:none}
.lp-rail__track.is-drag a{pointer-events:none}
.lp-rail__ui{display:flex;align-items:center;gap:10px;margin-top:22px}
.lp-rail__bar{position:relative;flex:1;height:2px;margin-right:14px;border-radius:2px;background:var(--hair);overflow:hidden}
.lp-rail__bar span{position:absolute;left:0;top:0;bottom:0;width:30%;border-radius:2px;background:var(--fg);transition:left .15s linear}
.lp-rail__b{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair-2);color:var(--fg);transition:background-color var(--t-short),color var(--t-short),opacity var(--t-short)}
.lp-rail__b:hover:not(:disabled){background:var(--fg);color:var(--bg)}
.lp-rail__b:disabled{opacity:.3;cursor:default}

/* ---------------------------------------------------------------- sector plates (accordion strip) */
.lp-splates{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.lp-splate{position:relative;display:flex;flex-direction:column;min-height:400px;border-radius:var(--r-card);overflow:hidden;color:#fffcf7;background:var(--lp-ink);isolation:isolate}
.lp-splate .m{position:absolute;inset:0;z-index:-1}
.lp-splate .m img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.lp-splate .m::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,13,69,.18) 0,rgba(9,13,69,0) 30%,rgba(9,13,69,.2) 55%,rgba(9,13,69,.86) 100%);transition:opacity var(--t-med)}
.lp-splate:hover .m img{transform:scale(1.06)}
.lp-splate .n{position:absolute;left:18px;top:18px;font:500 12px/1 var(--f-mono);color:rgba(255,252,247,.9)}
.lp-splate .b{display:grid;gap:8px;margin-top:auto;padding:22px 20px 22px}
.lp-splate .b strong{font:500 clamp(24px,2vw,30px)/1.05 var(--f-display);letter-spacing:-.015em;color:#fffcf7}
.lp-splate .b small{font-size:13.5px;line-height:1.45;color:rgba(255,252,247,.82);max-width:30ch}
.lp-splate .go{position:absolute;right:14px;top:14px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,252,247,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:background-color var(--t-short),color var(--t-short),transform var(--t-med) var(--ease)}
.lp-splate:hover .go{background:#fffcf7;color:var(--lp-ink);transform:rotate(-45deg)}
@media (min-width:1024px){
  .lp-splates{display:flex;gap:10px}
  .lp-splate{flex:1 1 0;min-width:0;min-height:clamp(420px,38vw,540px);transition:flex-grow .8s var(--ease-soft)}
  .lp-splates:hover .lp-splate{flex-grow:.82}
  .lp-splates .lp-splate:hover,.lp-splates .lp-splate:focus-visible{flex-grow:1.9}
  .lp-splate .b small{opacity:0;transform:translateY(8px);transition:opacity var(--t-med),transform var(--t-med) var(--ease)}
  .lp-splate:hover .b small,.lp-splate:focus-visible .b small{opacity:1;transform:none}
}

/* ---------------------------------------------------------------- journal cards */
.lp-jgrid{display:grid;gap:clamp(28px,3vw,40px) clamp(16px,2vw,28px);grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}
@media (min-width:1024px){ .lp-jgrid--3{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-jc{display:flex;flex-direction:column;gap:18px;color:var(--fg2)}
.lp-jc__m{position:relative;aspect-ratio:4/3;border-radius:var(--r-card);overflow:hidden;background:var(--lp-paper-shade)}
.lp-jc__m img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.lp-jc:hover .lp-jc__m img{transform:scale(1.05)}
.lp-jc__b{display:grid;gap:9px}
.lp-jc__k{display:flex;align-items:center;gap:8px;font:500 11px/1.3 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg2)}
.lp-jc__k .dot{order:-1;width:8px;height:8px;border-radius:50%;background:var(--c)}
.lp-jc h3{font-size:clamp(21px,1.7vw,26px);line-height:1.18}
.lp-jc h3{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size var(--t-med) var(--ease);justify-self:start}
.lp-jc:hover h3{background-size:100% 1px}
.lp-jc__b > p:not(.lp-jc__k){font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lp-jc__more{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font:600 14px/1 var(--f-sans);color:var(--acc)}
.lp-jc__more .lp-arw path{transform:translateX(-4px)}
.lp-jc:hover .lp-jc__more .lp-arw path{transform:translateX(2px)}
.lp-jc.is-out{display:none}

/* ---------------------------------------------------------------- CTA band */
.lp-cta{overflow:hidden}
.lp-cta__grid{display:grid;gap:clamp(36px,5vw,64px);align-items:center}
.lp-cta h2{font-size:clamp(40px,5.4vw,84px);line-height:.98;max-width:13ch}
.lp-cta__text > p{margin-top:20px;max-width:52ch;font-size:clamp(16.5px,1.25vw,19px);line-height:1.6}
.lp-cta__art{width:100%;max-width:420px;justify-self:center;color:var(--fg)}
.lp-cta__art svg{width:100%;height:auto}
@media (min-width:1024px){ .lp-cta__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)} .lp-cta__art{justify-self:end} }

/* ---------------------------------------------------------------- certifications */
.lp-certs{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.lp-cert{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px 24px 22px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-cert:hover{transform:translateY(-4px);box-shadow:var(--elev-2)}
.lp-cert__m{position:relative;width:88px;height:88px;display:grid;place-items:center;margin-bottom:12px}
.lp-cert__m img{width:58px;height:58px;object-fit:contain}
.lp-cert__o{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--lp-navy);stroke-width:1.4;transform:rotate(-90deg);stroke-dasharray:1 2;stroke-dashoffset:0}
.lp-cert__m::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--hair)}
.js .lp-cert__o{stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease-soft) calc(var(--k,0) * .12s)}
.js .is-in .lp-cert__o{stroke-dashoffset:0}
.lp-cert:hover .lp-cert__o{stroke:var(--lp-kraft)}
.lp-cert__txt{font:600 15px/1 var(--f-sans);letter-spacing:.06em;color:var(--lp-ink)}
.lp-cert h3{font-size:clamp(19px,1.5vw,22px)}
.lp-cert p{font-size:14.5px;line-height:1.5}
.lp-cert__f{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair);font:500 11px/1.35 var(--f-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg2)}
.lp-cert:target{box-shadow:0 0 0 2px var(--lp-navy),var(--elev-2)}

/* ---------------------------------------------------------------- marquee */
.lp-mq{position:relative;overflow:hidden;padding:20px 0;background:var(--lp-paper-bright);border-block:1px solid var(--hair);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lp-mq__t{display:flex;width:max-content;animation:lp-mq var(--mq-d,46s) linear infinite}
.lp-mq:hover .lp-mq__t{animation-play-state:paused}
.lp-mq__row{display:flex;align-items:center;gap:32px;padding-right:32px}
.lp-mq__i{font:400 clamp(19px,1.7vw,26px)/1 var(--f-display);letter-spacing:-.01em;color:var(--lp-ink);white-space:nowrap}
.lp-mq__s{font-size:15px;color:var(--lp-kraft);display:inline-block;animation:lp-spin 9s linear infinite}
@keyframes lp-mq{to{transform:translateX(-50%)}}
@keyframes lp-spin{to{transform:rotate(360deg)}}

/* ---------------------------------------------------------------- FAQ + accordion */
.lp-faq{display:grid;gap:clamp(36px,4vw,64px)}
.lp-faq__search{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.lp-faq__search .lp-field{flex:1 1 360px;max-width:560px}
.lp-faq__count{font:500 12.5px/1.3 var(--f-mono);color:var(--fg2)}
.lp-faq__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:-16px}
.lp-faq__g{display:grid;scroll-margin-top:calc(var(--hd-h) + 24px)}
.lp-faq__h{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;font-size:clamp(24px,2.2vw,32px)}
.lp-faq__h span{order:-1;font:500 12px/1 var(--f-mono);color:var(--fg2)}
@media (min-width:1024px){
  .lp-faq__g{grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:clamp(40px,5vw,96px)}
  .lp-faq__g > .lp-faq__h{grid-column:1;grid-row:1/span 30;align-self:start;position:sticky;top:calc(var(--hd-h) + 32px)}
  .lp-faq__g > .lp-acc{grid-column:2}
}
.lp-faq__g.is-out{display:none}
.lp-faq__empty{padding:28px;border-radius:var(--r-card);border:1px dashed var(--hair-2);text-align:center;font-size:16px}
.lp-faq__empty a{color:var(--acc);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.lp-acc{border-top:1px solid var(--hair-2)}
.lp-acc:last-of-type{border-bottom:1px solid var(--hair-2)}
.lp-acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer;font:600 clamp(16px,1.2vw,18px)/1.4 var(--f-sans);color:var(--fg);transition:color var(--t-short)}
.lp-acc summary::-webkit-details-marker{display:none}
.lp-acc summary:hover{color:var(--acc)}
.lp-acc__i{position:relative;flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--hair-2);color:var(--fg);transition:background-color var(--t-short),border-color var(--t-short),color var(--t-short),transform var(--t-med) var(--ease)}
.lp-acc__i i{position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;border-radius:2px;background:currentColor;transition:transform var(--t-med) var(--ease)}
.lp-acc__i i + i{transform:rotate(90deg)}
.lp-acc summary:hover .lp-acc__i{border-color:var(--fg)}
.lp-acc[open] .lp-acc__i{background:var(--fg);border-color:var(--fg);color:var(--bg);transform:rotate(180deg)}
.lp-acc[open] .lp-acc__i i + i{transform:rotate(0)}
.lp-acc__a{overflow:hidden}
.lp-acc__a > *{max-width:70ch}
.lp-acc__a p{padding-bottom:24px;font-size:16px;line-height:1.65}
.lp-acc__a p + p{margin-top:-10px}
.lp-acc.is-out{display:none}
.lp-faq--pdp{gap:0}

/* ---------------------------------------------------------------- tabs */
.lp-tabs__l{position:relative;display:flex;gap:2px;margin-bottom:clamp(28px,3vw,44px);border-bottom:1px solid var(--hair-2);overflow-x:auto;scrollbar-width:none}
.lp-tabs__l::-webkit-scrollbar{display:none}
.lp-tabs__l button{position:relative;flex:none;min-height:54px;padding:0 18px;font:600 15px/1 var(--f-sans);color:var(--fg2);transition:color var(--t-short)}
.lp-tabs__l button:hover{color:var(--fg)}
.lp-tabs__l button[aria-selected="true"]{color:var(--fg)}
html:not(.js) .lp-tabs__l button[aria-selected="true"]{box-shadow:inset 0 -2px var(--fg)}
.lp-tabs__ink{position:absolute;left:0;bottom:0;height:2px;width:var(--w,0px);transform:translateX(var(--x,0px));background:var(--fg);border-radius:2px;transition:transform var(--t-med) var(--ease),width var(--t-med) var(--ease)}
.lp-tabs__p:not([hidden]){animation:lp-tab-in .6s var(--ease-soft)}
@keyframes lp-tab-in{from{opacity:0;transform:translateY(12px)}}
.lp-tabs--plans .lp-tabs__l,.lp-tabs--pdp .lp-tabs__l{border-bottom:0;display:inline-flex;max-width:100%;padding:4px;border-radius:var(--r-pill);background:var(--lp-paper-shade)}
.lp-tabs--plans .lp-tabs__l button,.lp-tabs--pdp .lp-tabs__l button{position:relative;z-index:1;min-height:44px;padding:0 18px;border-radius:var(--r-pill);font-size:14px}
.lp-tabs--plans .lp-tabs__ink,.lp-tabs--pdp .lp-tabs__ink{top:4px;bottom:4px;height:auto;border-radius:var(--r-pill);background:#fff;box-shadow:0 2px 10px rgba(9,13,69,.1)}
.lp-tabs--plans .lp-tabs__l button[aria-selected="true"],.lp-tabs--pdp .lp-tabs__l button[aria-selected="true"]{color:var(--lp-ink)}
html:not(.js) .lp-tabs--plans .lp-tabs__l button[aria-selected="true"],html:not(.js) .lp-tabs--pdp .lp-tabs__l button[aria-selected="true"]{background:#fff;box-shadow:none}

/* ---------------------------------------------------------------- specs */
.lp-specs{display:grid;margin-top:26px;border-top:1px solid var(--hair-2)}
.lp-specs > div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:18px;padding:14px 0;border-bottom:1px solid var(--hair)}
.lp-specs dt{font:500 11.5px/1.5 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg2)}
.lp-specs dd{font-size:15px;line-height:1.5;font-weight:500;color:var(--fg)}
@media (min-width:900px){ .lp-specs--wide{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px} }

/* ---------------------------------------------------------------- docs */
.lp-docs{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.lp-docs a{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 18px 14px 14px;border-radius:16px;background:var(--card);border:1px solid var(--hair);
  transition:border-color var(--t-short),transform var(--t-short) var(--ease),box-shadow var(--t-med)}
.lp-docs a:hover{border-color:var(--hair-2);transform:translateY(-2px);box-shadow:var(--elev-1)}
.lp-docs__ic{width:50px;height:50px;display:grid;place-items:center;border-radius:13px;background:var(--lp-paper-shade);color:var(--lp-navy)}
.lp-docs__t{min-width:0}
.lp-docs__t strong{display:block;font-weight:650;line-height:1.3;color:var(--fg)}
.lp-docs__t small{display:block;margin-top:3px;font-size:12.5px;line-height:1.35;color:var(--fg2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lp-docs__go{display:inline-flex;align-items:center;gap:6px;font:600 13px/1 var(--f-sans);color:var(--acc);white-space:nowrap}
.lp-docs__go .lp-ic{width:16px;height:16px;transition:transform var(--t-short) var(--ease)}
.lp-docs a:hover .lp-docs__go .lp-ic{transform:translate(2px,-2px)}

/* ---------------------------------------------------------------- isometric plan */
.lp-plan{display:grid;gap:24px}
@media (min-width:1120px){ .lp-plan{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:center;gap:40px} }
.lp-plan__stage{position:relative;aspect-ratio:940/620;border-radius:var(--r-sheet);background:radial-gradient(70% 70% at 50% 40%,#fff 0,var(--lp-paper) 100%);border:1px solid var(--hair)}
.lp-plan__svg{position:absolute;inset:0;width:100%;height:100%}
.lp-plan__hot{position:absolute;z-index:2;width:36px;height:36px;margin:-18px 0 0 -18px;display:grid;place-items:center;border-radius:50%;background:var(--lp-navy);color:#fff;font:600 13px/1 var(--f-mono);
  box-shadow:0 0 0 5px rgba(255,252,247,.9),0 6px 16px rgba(1,33,105,.3);transition:transform .4s var(--ease-back),background-color var(--t-short)}
.lp-plan__hot::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px solid var(--lp-navy);opacity:0;animation:lp-ping 2.6s var(--ease) infinite}
.lp-plan__hot:nth-of-type(2)::before{animation-delay:.5s}.lp-plan__hot:nth-of-type(3)::before{animation-delay:1s}.lp-plan__hot:nth-of-type(4)::before{animation-delay:1.5s}.lp-plan__hot:nth-of-type(5)::before{animation-delay:2s}
.lp-plan__hot:hover,.lp-plan__hot.is-on{transform:scale(1.16);background:var(--lp-ink)}
.lp-plan__hot.is-on::before{animation:none}
.js .lp-plan__hot{opacity:0;transform:scale(.4)}
.js .lp-plan__stage.is-in .lp-plan__hot{opacity:1;transform:none;transition:opacity .4s,transform .6s var(--ease-back)}
.js .lp-plan__stage.is-in .lp-plan__hot:nth-of-type(1){transition-delay:1.2s}.js .lp-plan__stage.is-in .lp-plan__hot:nth-of-type(2){transition-delay:1.32s}
.js .lp-plan__stage.is-in .lp-plan__hot:nth-of-type(3){transition-delay:1.44s}.js .lp-plan__stage.is-in .lp-plan__hot:nth-of-type(4){transition-delay:1.56s}.js .lp-plan__stage.is-in .lp-plan__hot:nth-of-type(5){transition-delay:1.68s}
.js .lp-plan__stage.is-in .lp-plan__hot:hover,.js .lp-plan__stage.is-in .lp-plan__hot.is-on{transform:scale(1.16);transition-delay:0s}
@keyframes lp-ping{0%{transform:scale(.7);opacity:.8}80%,100%{transform:scale(1.7);opacity:0}}
.lp-plan__tip{position:absolute;z-index:4;width:250px;padding:14px 16px 15px;border-radius:14px;background:var(--lp-ink);color:#fffcf7;box-shadow:var(--elev-3);pointer-events:none;
  transform:translate(-50%,calc(-100% - 30px)) scale(.94);transform-origin:50% 100%;opacity:0;visibility:hidden;transition:opacity .25s,transform .4s var(--ease-soft),visibility .25s}
.lp-plan__tip::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;background:inherit;transform:rotate(45deg);border-radius:2px}
.lp-plan__tip.is-on{opacity:1;visibility:visible;transform:translate(-50%,calc(-100% - 30px))}
.lp-plan__tip.is-below{transform:translate(-50%,30px) scale(.94);transform-origin:50% 0}
.lp-plan__tip.is-below.is-on{transform:translate(-50%,30px)}
.lp-plan__tip.is-below::after{bottom:auto;top:-6px}
.lp-plan__tip .k{font:500 10.5px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,252,247,.65)}
.lp-plan__tip .t{margin:7px 0 5px;font:600 15px/1.25 var(--f-sans);color:#fff}
.lp-plan__tip .n{font-size:13px;line-height:1.45;color:rgba(255,252,247,.78)}
.lp-plan__legend{display:grid;gap:6px}
.lp-plan__legend a{display:grid;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:14px;padding:12px 14px 12px 12px;border-radius:14px;border:1px solid var(--hair);background:var(--card);color:var(--fg);
  transition:border-color var(--t-short),box-shadow var(--t-short),transform var(--t-short) var(--ease)}
.lp-plan__legend .n{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair-2);font:500 12px/1 var(--f-mono);transition:background-color var(--t-short),color var(--t-short),border-color var(--t-short)}
.lp-plan__legend .t{font-weight:600;font-size:15px;line-height:1.3}
.lp-plan__legend .lp-ic{width:18px;height:18px;opacity:.5;transition:transform var(--t-short) var(--ease),opacity var(--t-short)}
.lp-plan__legend li.is-on a,.lp-plan__legend a:hover{border-color:var(--lp-navy);box-shadow:inset 0 0 0 1px var(--lp-navy);transform:translateX(4px)}
.lp-plan__legend li.is-on .n,.lp-plan__legend a:hover .n{background:var(--lp-navy);border-color:var(--lp-navy);color:#fff}
.lp-plan__legend li.is-on .lp-ic,.lp-plan__legend a:hover .lp-ic{opacity:1;transform:translateX(2px)}
@media (max-width:640px){ .lp-plan__hot{width:30px;height:30px;margin:-15px 0 0 -15px;font-size:12px} .lp-plan__tip{display:none} }

/* ---------------------------------------------------------------- plants map */
.lp-map{display:grid;gap:24px}
@media (min-width:1120px){ .lp-map{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:start;gap:40px} }
.lp-map__stage{position:relative;aspect-ratio:900/620;border-radius:var(--r-sheet);background:radial-gradient(80% 80% at 40% 40%,#fff 0,var(--lp-paper) 100%);border:1px solid var(--hair);overflow:hidden}
.lp-map__svg{width:100%;height:100%}
.lp-map__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;border-top:1px solid var(--hair-2)}
.lp-map__list li{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--hair);cursor:default;transition:color var(--t-short)}
.lp-map__list .cc{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--lp-paper-shade);font:500 10.5px/1 var(--f-mono);color:var(--lp-ink);transition:background-color var(--t-short),color var(--t-short)}
.lp-map__list .t{font-weight:600;font-size:14.5px;line-height:1.25;color:var(--fg)}
.lp-map__list .k{font-size:12px;line-height:1.3;color:var(--fg2)}
.lp-map__list li.is-on .cc,.lp-map__list li:hover .cc{background:var(--lp-navy);color:#fff}
@media (max-width:520px){ .lp-map__list{grid-template-columns:1fr} }

/* ---------------------------------------------------------------- matrix */
.lp-matrix{overflow-x:auto;border-radius:var(--r-card);border:1px solid var(--hair);background:var(--card);-webkit-overflow-scrolling:touch}
.lp-matrix table{width:100%;min-width:720px}
.lp-matrix th,.lp-matrix td{padding:15px 16px;text-align:center;border-bottom:1px solid var(--hair)}
.lp-matrix tbody tr:last-child > *{border-bottom:0}
.lp-matrix thead th{font:600 11.5px/1.25 var(--f-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--fg2);vertical-align:bottom}
.lp-matrix tbody th{text-align:left;font-weight:650;color:var(--fg);white-space:nowrap}
.lp-matrix tbody th a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size var(--t-med) var(--ease)}
.lp-matrix tbody th a:hover{background-size:100% 1px}
.lp-matrix tbody tr{transition:background-color var(--t-short)}
.lp-matrix tbody tr:hover{background:color-mix(in srgb,var(--lp-navy) 4%,transparent)}
.lp-matrix .on{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--lp-navy);box-shadow:0 0 0 4px rgba(1,33,105,.12);vertical-align:middle}
.lp-matrix .off{display:inline-block;width:12px;height:1.5px;background:var(--hair-2);vertical-align:middle}
.js .lp-matrix .on{transform:scale(0)}
.js .lp-matrix.is-in .on{transform:none;transition:transform .55s var(--ease-back)}
.js .lp-matrix.is-in td:nth-child(3) .on{transition-delay:.06s}.js .lp-matrix.is-in td:nth-child(4) .on{transition-delay:.12s}
.js .lp-matrix.is-in td:nth-child(5) .on{transition-delay:.18s}.js .lp-matrix.is-in td:nth-child(6) .on{transition-delay:.24s}.js .lp-matrix.is-in td:nth-child(7) .on{transition-delay:.3s}

/* ---------------------------------------------------------------- numbers */
.lp-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));border-top:1px solid var(--hair)}
.lp-num{padding:28px 24px 32px 0;border-bottom:1px solid var(--hair)}
.lp-num .v{display:flex;align-items:baseline;gap:4px;font:500 clamp(50px,5.6vw,88px)/1 var(--f-display);letter-spacing:-.045em;color:var(--fg);font-variant-numeric:tabular-nums}
.lp-num .pre,.lp-num .suf{font-size:.46em;letter-spacing:0;color:var(--fg2)}
.lp-num .l{margin-top:14px;font-size:15px;line-height:1.45;max-width:24ch}
.lp-nums--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.lp-nums--2 .v{font-size:clamp(64px,8vw,132px)}

/* ---------------------------------------------------------------- form controls */
.lp-field{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 20px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--card);color:var(--fg);transition:border-color var(--t-short),box-shadow var(--t-short)}
.lp-field:focus-within{border-color:var(--lp-navy);box-shadow:0 0 0 4px rgba(1,33,105,.1)}
.lp-field .lp-ic{color:var(--fg2)}
.lp-field input{flex:1;min-width:0;height:52px;border:0;background:none;outline:none;font-size:15.5px;color:var(--fg)}
.lp-field input::placeholder{color:var(--fg2);opacity:.75}
.lp-field input::-webkit-search-cancel-button{-webkit-appearance:none}
.lp-select{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 38px 0 16px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--card);font-size:14px;color:var(--fg)}
.lp-select > span{font-weight:500;color:var(--fg2)}
.lp-select select{appearance:none;-webkit-appearance:none;border:0;background:none;font-weight:600;color:var(--fg);cursor:pointer;outline:none;padding:10px 0}
.lp-select .lp-ic{position:absolute;right:14px;top:50%;width:16px;height:16px;margin-top:-8px;pointer-events:none}
.lp-select:focus-within{border-color:var(--lp-navy);box-shadow:0 0 0 4px rgba(1,33,105,.1)}
.lp-check{position:relative;display:flex;align-items:center;gap:11px;padding:7px 8px;margin-inline:-8px;border-radius:10px;cursor:pointer;font-size:14.5px;line-height:1.35;color:var(--fg);transition:background-color var(--t-micro),opacity var(--t-short)}
.lp-check:hover{background:color-mix(in srgb,var(--fg) 4%,transparent)}
.lp-check input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.lp-check__b{flex:none;width:20px;height:20px;display:grid;place-items:center;border-radius:6px;border:1.5px solid var(--hair-2);background:var(--lp-paper-bright);transition:background-color var(--t-short),border-color var(--t-short)}
.lp-check__b svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lp-check__b path{stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset .3s var(--ease)}
.lp-check input:checked + .lp-check__b{background:var(--lp-navy);border-color:var(--lp-navy)}
.lp-check input:checked + .lp-check__b path{stroke-dashoffset:0}
.lp-check input:focus-visible + .lp-check__b{outline:2px solid var(--lp-navy);outline-offset:2px}
.lp-check:hover .lp-check__b{border-color:var(--fg)}
.lp-check__dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--c)}
.lp-check__t{flex:1;min-width:0}
.lp-check__c{flex:none;min-width:26px;padding:4px 7px;border-radius:var(--r-pill);background:var(--lp-paper-shade);text-align:center;font:500 11px/1 var(--f-mono);color:var(--fg2);transition:opacity var(--t-short)}
.lp-check.is-zero{opacity:.42}
.lp-check--consent{align-items:flex-start;margin:0;padding:0;font-size:14px;line-height:1.5;color:var(--fg2)}
.lp-check--consent:hover{background:none}
.lp-check--consent .lp-check__b{margin-top:2px}
.lp-check--consent a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.req{margin-left:3px;color:var(--lp-danger);font-weight:600}
.lp-radios,.lp-togs{display:flex;flex-wrap:wrap;gap:8px}
.lp-radio,.lp-tog{position:relative;cursor:pointer}
.lp-radio input,.lp-tog input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.lp-radio span,.lp-tog span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--card);
  font:600 14px/1 var(--f-sans);color:var(--fg);transition:background-color var(--t-short),color var(--t-short),border-color var(--t-short),padding var(--t-short) var(--ease)}
.lp-radio span .lp-ic{width:0;height:16px;opacity:0;transition:width var(--t-short) var(--ease),opacity var(--t-short)}
.lp-radio:hover span,.lp-tog:hover span{border-color:var(--fg)}
.lp-radio input:checked + span{background:var(--lp-ink);border-color:var(--lp-ink);color:#fff;padding-left:14px}
.lp-radio input:checked + span .lp-ic{width:16px;opacity:1;order:-1}
.lp-tog input:checked + span{background:var(--lp-navy);border-color:var(--lp-navy);color:#fff}
.lp-tog span::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;transition:background-color var(--t-short)}
.lp-tog input:checked + span::before{background:#fff;border-color:#fff}
.lp-radio input:focus-visible + span,.lp-tog input:focus-visible + span{outline:2px solid var(--lp-navy);outline-offset:3px}
.lp-seg{position:relative;display:inline-flex;gap:2px;max-width:100%;padding:4px;border-radius:var(--r-pill);background:var(--lp-paper-shade);overflow-x:auto;scrollbar-width:none;vertical-align:middle}
.lp-seg::-webkit-scrollbar{display:none}
.lp-seg button{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:var(--r-pill);font:600 14px/1 var(--f-sans);color:var(--fg2);white-space:nowrap;transition:color var(--t-short)}
.lp-seg button small{font:500 11px/1 var(--f-mono);opacity:.65}
.lp-seg button:hover{color:var(--fg)}
.lp-seg button[aria-pressed="true"]{color:var(--lp-ink)}
html:not(.js) .lp-seg button[aria-pressed="true"]{background:#fff}
.lp-seg__ink{position:absolute;z-index:0;left:0;top:4px;bottom:4px;width:var(--w,0px);transform:translateX(var(--x,0px));border-radius:var(--r-pill);background:#fff;box-shadow:0 2px 10px rgba(9,13,69,.1);transition:transform var(--t-med) var(--ease),width var(--t-med) var(--ease)}
.lp-seg.no-anim .lp-seg__ink,.lp-tabs__l.no-anim .lp-tabs__ink{transition:none}

/* editorial fields (contact / finder) */
.lp-form{display:grid;gap:26px}
.lp-form__motif legend{display:block;margin-bottom:14px;font:600 12px/1.2 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--fg)}
.lp-form__row{display:grid;gap:26px}
@media (min-width:640px){ .lp-form__row{grid-template-columns:repeat(2,minmax(0,1fr))} }
.lp-fld{position:relative;display:grid;gap:4px}
.lp-fld > label{font:600 12px/1.2 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--fg2);transition:color var(--t-short)}
.lp-fld:focus-within > label{color:var(--lp-navy)}
.lp-fld input:not([type="checkbox"]),.lp-fld textarea,.lp-fld select{width:100%;min-height:52px;padding:12px 0;border:0;border-bottom:1px solid var(--hair-2);border-radius:0;background:transparent;
  font:400 18px/1.4 var(--f-sans);color:var(--fg);outline:none;-webkit-appearance:none;appearance:none;transition:border-color var(--t-short)}
.lp-fld textarea{min-height:140px;resize:vertical}
.lp-fld input::placeholder,.lp-fld textarea::placeholder{color:var(--fg2);opacity:.55}
.lp-fld__line{display:block;height:2px;margin-top:-5px;background:var(--lp-navy);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--t-med) var(--ease)}
.lp-fld:focus-within .lp-fld__line{transform:none}
.lp-fld__sel{position:relative}
.lp-fld__sel select{padding-right:34px;cursor:pointer}
.lp-fld__sel .lp-ic{position:absolute;right:4px;top:50%;margin-top:-10px;pointer-events:none;color:var(--fg2)}
.lp-fld__meta{display:flex;justify-content:space-between;gap:12px}
.lp-fld__count{margin-left:auto;font:500 11px/1 var(--f-mono);color:var(--fg2)}
.lp-fld__count.is-near{color:var(--lp-warn)}
.lp-fld__err{display:none;margin-top:6px;font-size:13px;font-weight:600;color:var(--lp-danger)}
.lp-fld.is-err input:not([type="checkbox"]),.lp-fld.is-err textarea,.lp-fld.is-err select{border-bottom-color:var(--lp-danger)}
.lp-fld.is-err .lp-fld__line{background:var(--lp-danger);transform:none}
.lp-fld.is-err .lp-fld__err{display:block;animation:lp-shake .4s var(--ease)}
.lp-fld.is-err .lp-check__b{border-color:var(--lp-danger)}
.lp-fld.is-ok > label::after{content:"";display:inline-block;width:8px;height:8px;margin-left:8px;border-radius:50%;background:var(--lp-leaf);vertical-align:middle;animation:lp-pop .4s var(--ease-back)}
.lp-fld--check{margin-top:4px}
@keyframes lp-shake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
.lp-form__ft{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:6px}
.lp-form__req{font-size:13px;color:var(--fg2)}
.lp-form__req span{color:var(--lp-danger);margin-right:4px}
.lp-form__sum{padding:14px 18px;border-radius:12px;background:rgba(155,35,53,.07);border:1px solid rgba(155,35,53,.2);color:var(--lp-danger);font-weight:600;font-size:14px}
.lp-form__ok{display:grid;justify-items:start;gap:16px;padding:clamp(28px,4vw,52px);border-radius:var(--r-sheet);background:var(--card);border:1px solid var(--hair);outline:none}
.lp-form__ok h2{font-size:clamp(28px,3vw,42px);max-width:18ch}
.lp-form__ok .lp-actions{margin-top:10px}
.lp-okmark{width:96px;height:96px;fill:none;stroke:var(--lp-leaf);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.lp-okmark circle{stroke-width:2;stroke-dasharray:1 2;stroke-dashoffset:1;transform:rotate(-90deg);transform-origin:60px 60px}
.lp-okmark path{stroke-dasharray:1 2;stroke-dashoffset:1}
.lp-form__ok:not([hidden]) .lp-okmark circle{animation:lp-dash .9s var(--ease) .1s forwards}
.lp-form__ok:not([hidden]) .lp-okmark path{animation:lp-dash .6s var(--ease) .8s forwards}
.lp-ce{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;border:2px solid var(--lp-ink);font:600 22px/1 var(--f-sans);letter-spacing:-.02em;color:var(--lp-ink);background:var(--lp-paper-bright)}

/* ── 60-blocks.css ── */
/* =====================================================================
   60 · Blocks — home, lines, sectors
   ===================================================================== */

/* ---------------------------------------------------------------- hover rows (home lines, highlights) */
.lp-rows{position:relative;border-top:1px solid var(--hair-2)}
.lp-rows li{--c:var(--lp-navy);border-bottom:1px solid var(--hair-2)}
.lp-rows a{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 52px;align-items:center;gap:6px 18px;padding:clamp(20px,2.4vw,30px) 0;color:var(--fg2);isolation:isolate}
.lp-rows a::before{content:"";position:absolute;inset:0 calc(var(--gut) * -.5);z-index:-1;background:color-mix(in srgb,var(--c) 7%,var(--bg));transform:scaleY(0);transform-origin:50% 100%;transition:transform var(--t-med) var(--ease)}
.lp-rows a:hover::before,.lp-rows a:focus-visible::before{transform:none}
.lp-rows .n{grid-row:1/3;align-self:start;padding-top:12px;font:500 12px/1 var(--f-mono);color:var(--fg2)}
.lp-rows .t{grid-column:2;font:500 clamp(34px,4.6vw,72px)/1 var(--f-display);letter-spacing:-.03em;color:var(--fg);transition:transform var(--t-med) var(--ease),color var(--t-short)}
.lp-rows .t::after{content:"";display:inline-block;width:.22em;height:.22em;margin-left:.18em;border-radius:50%;background:var(--c);vertical-align:.12em;transform:scale(0);transition:transform var(--t-med) var(--ease-back)}
.lp-rows a:hover .t{transform:translateX(14px)}
.lp-rows a:hover .t::after{transform:none}
.lp-rows .en{grid-column:2;font:500 12px/1.3 var(--f-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--fg2)}
.lp-rows .b{display:none}
.lp-rows .go{grid-column:3;grid-row:1/3;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair-2);color:var(--fg);transition:background-color var(--t-short),color var(--t-short),border-color var(--t-short),transform var(--t-med) var(--ease)}
.lp-rows a:hover .go{background:var(--c);border-color:var(--c);color:#fff;transform:rotate(-45deg)}
.lp-rows .go .lp-arw path{transform:none}
@media (min-width:1024px){
  .lp-rows a{grid-template-columns:60px minmax(0,1.1fr) minmax(0,1fr) 52px;gap:4px 32px}
  .lp-rows .n{grid-row:1/3}
  .lp-rows .b{display:block;grid-column:3;grid-row:1/3;max-width:44ch;font-size:15px;line-height:1.55;opacity:.85;transition:opacity var(--t-short)}
  .lp-rows .go{grid-column:4}
  .lp-rows:hover a:not(:hover) .t{color:color-mix(in srgb,var(--fg) 45%,transparent)}
}
.lp-rows__float{position:fixed;left:0;top:0;z-index:20;width:300px;aspect-ratio:4/5;border-radius:var(--r-card);overflow:hidden;pointer-events:none;box-shadow:var(--elev-3);
  opacity:0;transform:translate3d(var(--fx,0px),var(--fy,0px),0) scale(.7) rotate(-4deg);transition:opacity .35s var(--ease),transform .6s var(--ease-soft);background:var(--lp-paper-shade)}
.lp-rows__float.is-on{opacity:1;transform:translate3d(var(--fx,0px),var(--fy,0px),0) scale(1) rotate(var(--fr,0deg))}
.lp-rows__float img{width:100%;height:100%;object-fit:cover}
@media (hover:none),(max-width:1023px){ .lp-rows__float{display:none} }

/* ---------------------------------------------------------------- scrolly (pinned story) */
.lp-scrolly{position:relative;display:grid;gap:32px}
.lp-scrolly__stick{position:relative}
.lp-scrolly__art{position:relative;width:min(100%,560px);aspect-ratio:1;margin-inline:auto}
.lp-scrolly__art > .lp-cycle{position:absolute;inset:0;width:100%;height:100%}
.lp-scrolly__imgs{position:absolute;inset:27%;border-radius:50%;overflow:hidden;background:var(--lp-paper-shade);box-shadow:inset 0 0 0 1px var(--hair)}
.lp-scrolly__img{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .8s var(--ease),transform 1.4s var(--ease-soft)}
.lp-scrolly__img.is-on{opacity:1;transform:none}
.lp-scrolly__img img{width:100%;height:100%;object-fit:cover}
.lp-scrolly__img--obj{background:radial-gradient(circle,#fff 0,var(--lp-paper-shade) 80%)}
.lp-scrolly__img--obj img{object-fit:contain;padding:14%}
.lp-scrolly__ct{position:absolute;right:0;bottom:2%;font:500 13px/1 var(--f-mono);color:var(--fg2)}
.lp-scrolly__ct span{font-size:30px;font-family:var(--f-display);color:var(--fg);margin-right:4px}
.lp-scrolly__steps{display:grid;gap:12px;counter-reset:none}
.lp-scrolly__s{position:relative;padding:22px 24px 24px 64px;border-radius:var(--r-card);border:1px solid var(--hair);background:var(--card);transition:border-color var(--t-med),box-shadow var(--t-med),opacity var(--t-med)}
.lp-scrolly__s .n{position:absolute;left:22px;top:25px;font:500 12px/1 var(--f-mono);color:var(--fg2)}
.lp-scrolly__s h3{font-size:clamp(22px,2vw,30px);margin-bottom:8px}
.lp-scrolly__s p{font-size:15.5px;line-height:1.6;max-width:48ch}
.lp-scrolly__s.is-on{border-color:var(--lp-navy);box-shadow:var(--elev-1)}
.lp-scrolly__s.is-on .n{color:var(--lp-navy)}
@media (min-width:1024px){
  .lp-scrolly{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,6vw,120px);align-items:start}
  .lp-scrolly__stick{position:sticky;top:calc(var(--hd-h) + 4vh);height:calc(100vh - var(--hd-h) - 8vh);display:grid;place-items:center}
  .lp-scrolly__art{width:min(100%,calc(100vh - var(--hd-h) - 12vh))}
  .lp-scrolly__steps{gap:0;padding:12vh 0 22vh}
  .lp-scrolly__s{min-height:58vh;display:flex;flex-direction:column;justify-content:center;padding:0 0 0 64px;border:0;border-radius:0;background:none;box-shadow:none;opacity:.32}
  .lp-scrolly__s .n{top:50%;margin-top:-6px}
  .lp-scrolly__s::before{content:"";position:absolute;left:28px;top:0;bottom:0;width:1px;background:var(--hair)}
  .lp-scrolly__s::after{content:"";position:absolute;left:24px;top:50%;width:9px;height:9px;margin-top:20px;border-radius:50%;background:var(--bg);border:1.5px solid var(--hair-2);transition:background-color var(--t-med),border-color var(--t-med),transform var(--t-med) var(--ease-back)}
  .lp-scrolly__s .n{left:0;top:auto;bottom:auto}
  .lp-scrolly__s.is-on{opacity:1;box-shadow:none}
  .lp-scrolly__s.is-on::after{background:var(--lp-navy);border-color:var(--lp-navy);transform:scale(1.3)}
  .lp-scrolly__s h3{font-size:clamp(28px,2.6vw,40px)}
}
html:not(.js) .lp-scrolly__s{opacity:1}

/* ---------------------------------------------------------------- trinity (papers · dispensers · soaps) */
.lp-trin{display:grid;gap:clamp(14px,1.6vw,22px)}
@media (min-width:900px){ .lp-trin{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-trin__c{display:flex;flex-direction:column;border-radius:var(--r-sheet);overflow:hidden;background:var(--card);border:1px solid var(--hair);transition:box-shadow var(--t-med),transform var(--t-med) var(--ease)}
.lp-trin__c:hover{box-shadow:var(--elev-2);transform:translateY(-4px)}
.lp-trin__m{display:block;aspect-ratio:5/4;overflow:hidden;background:radial-gradient(circle at 50% 50%,#fff 0,var(--lp-paper-shade) 80%)}
.lp-trin__m img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.lp-trin__c:hover .lp-trin__m img{transform:scale(1.05)}
.lp-trin__b{display:flex;flex-direction:column;gap:10px;padding:24px 26px 28px}
.lp-trin__n{font:500 12px/1 var(--f-mono);color:var(--fg2)}
.lp-trin__b h3{font-size:clamp(28px,2.6vw,38px)}
.lp-trin__b h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size var(--t-med) var(--ease)}
.lp-trin__b h3 a:hover{background-size:100% 1.5px}
.lp-trin__b > p:not(.lp-trin__n){font-size:15px}
.lp-trin__b ul{display:grid;margin-top:10px;border-top:1px solid var(--hair)}
.lp-trin__b li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair);font-weight:600;font-size:14.5px;color:var(--fg);transition:padding var(--t-short) var(--ease),color var(--t-short)}
.lp-trin__b li a::after{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);opacity:.45;transition:opacity var(--t-short),transform var(--t-short) var(--ease)}
.lp-trin__b li a:hover{padding-left:6px;color:var(--acc)}
.lp-trin__b li a:hover::after{opacity:1;transform:translateX(3px) rotate(45deg)}

/* ---------------------------------------------------------------- band (forest) */
.lp-band{overflow:hidden}
.lp-band__grid{display:grid;gap:clamp(40px,5vw,72px);align-items:center}
.lp-band h2{font-size:clamp(38px,5vw,76px);line-height:.98;max-width:13ch}
.lp-band__text > p{margin-top:20px;max-width:50ch;font-size:clamp(16.5px,1.25vw,19px)}
.lp-band__media{position:relative;padding-bottom:12%}
.lp-band__media .lp-fig{width:86%}
.lp-band__obj{position:absolute;right:0;bottom:0;width:44%;display:grid;gap:10px;padding:18px;border-radius:var(--r-card);background:var(--lp-paper-bright);color:var(--lp-slate);box-shadow:var(--elev-3)}
.lp-band__obj img{width:100%;aspect-ratio:1;object-fit:contain}
.lp-band__obj p{font:500 11.5px/1.4 var(--f-mono);color:var(--lp-slate)}
@media (min-width:1024px){ .lp-band__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }

/* ---------------------------------------------------------------- FATO + distributor + generic media split */
.lp-fato__grid,.lp-dist__grid,.lp-split__grid{display:grid;gap:clamp(36px,5vw,72px);align-items:center}
.lp-fato h2,.lp-dist h2,.lp-split h2{font-size:clamp(36px,4.6vw,68px);line-height:1;max-width:14ch}
.lp-fato__text > p,.lp-dist__text > p:not(.lp-dist__alt),.lp-split__b > p{margin-top:18px;max-width:50ch;font-size:clamp(16.5px,1.2vw,18.5px)}
@media (min-width:1024px){
  .lp-fato__grid,.lp-split__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .lp-dist__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
}
.lp-dist__q{display:flex;gap:8px;max-width:560px;margin-top:30px;padding:6px;border-radius:var(--r-pill);background:rgba(255,252,247,.08);border:1px solid rgba(255,252,247,.2);transition:border-color var(--t-short),background-color var(--t-short)}
.lp-dist__q:focus-within{border-color:rgba(255,252,247,.6);background:rgba(255,252,247,.12)}
.lp-dist__q label{flex:1;display:flex;align-items:center;gap:10px;padding-left:16px;color:#fffcf7}
.lp-dist__q input{flex:1;min-width:0;height:48px;border:0;background:none;outline:none;font-size:16px;color:#fffcf7}
.lp-dist__q input::placeholder{color:rgba(255,252,247,.6)}
.lp-dist__alt{margin-top:18px;font-size:14px;color:var(--fg2)}
.lp-dist__alt a{color:#fffcf7;font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (max-width:520px){ .lp-dist__q{flex-direction:column;border-radius:20px} .lp-dist__q .lp-btn{width:100%} }

/* ---------------------------------------------------------------- innovations plates */
.lp-iplates{display:grid;gap:clamp(56px,7vw,112px)}
.lp-iplate{--c:var(--lp-navy);display:grid;gap:clamp(24px,3vw,56px);align-items:center}
.lp-iplate__m{position:relative;display:block;aspect-ratio:5/4;border-radius:var(--r-sheet);overflow:hidden;background:var(--lp-paper-shade)}
.lp-iplate__m::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(9,13,69,.06);border-radius:inherit}
.lp-iplate__m img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.lp-iplate:hover .lp-iplate__m img{transform:scale(1.04)}
.lp-iplate__b{position:relative;padding-top:4px}
.lp-iplate__n{position:absolute;right:0;top:-.1em;font:500 clamp(72px,9vw,140px)/1 var(--f-display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px var(--c);opacity:.5;pointer-events:none}
.lp-iplate .lp-over{color:var(--fg)}
.lp-iplate .lp-over .tick{background:var(--c);width:26px;height:3px}
.lp-iplate h2{font-size:clamp(40px,5vw,80px);line-height:.98}
.lp-iplate h2 a{background:linear-gradient(var(--c),var(--c)) 0 96%/0 3px no-repeat;transition:background-size var(--t-med) var(--ease)}
.lp-iplate h2 a:hover{background-size:100% 3px}
.lp-iplate__fr{margin-top:14px;font:400 clamp(19px,1.6vw,23px)/1.4 var(--f-display);font-style:italic;color:var(--fg)}
.lp-iplate__b > p:not([class]){margin-top:14px;max-width:50ch;font-size:16px}
.lp-iplate__p{margin-top:16px;font:500 11.5px/1.5 var(--f-mono);color:var(--fg2);text-transform:uppercase;letter-spacing:.03em}
@media (min-width:1024px){
  .lp-iplate{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  .lp-iplate:nth-child(even) .lp-iplate__m{order:2}
}

/* ---------------------------------------------------------------- dual (Fiberpack · Al.Pe.) */
.lp-dual__grid{display:grid;gap:clamp(16px,2vw,28px)}
@media (min-width:900px){ .lp-dual__grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
.lp-dual__c{display:grid;gap:22px;padding:14px 14px 28px;border-radius:var(--r-sheet);background:var(--card);border:1px solid var(--hair)}
.lp-dual__c .lp-fig__m{border-radius:16px;aspect-ratio:16/10}
.lp-dual__b{display:grid;gap:10px;padding:0 14px}
.lp-dual__mark{height:34px;width:auto;margin-bottom:6px}
.lp-dual__b h3{font-size:clamp(26px,2.4vw,34px)}

/* ---------------------------------------------------------------- strike (Extraire. Produire. …) */
.lp-strike{display:grid;gap:6px}
.lp-strike__w{position:relative;justify-self:start;font:500 clamp(44px,7vw,112px)/1 var(--f-display);letter-spacing:-.04em;color:var(--fg)}
.lp-strike__w svg{position:absolute;left:-2%;top:52%;width:104%;height:.22em;overflow:visible}
.lp-strike__w path{fill:none;stroke:var(--lp-danger);stroke-width:5;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1 2;stroke-dashoffset:0}
.js .lp-strike__w path{stroke-dashoffset:1;transition:stroke-dashoffset .7s var(--ease) calc(.4s + var(--k) * .28s)}
.js .lp-strike.is-in .lp-strike__w path{stroke-dashoffset:0}
.js .lp-strike__w span{display:inline-block;transition:opacity .6s calc(.7s + var(--k) * .28s),color .6s calc(.7s + var(--k) * .28s)}
.js .lp-strike.is-in .lp-strike__w span{opacity:.32}
.lp-strike__o{margin-top:clamp(20px,3vw,40px);max-width:24ch;font:400 clamp(26px,3vw,44px)/1.2 var(--f-display);letter-spacing:-.015em;color:var(--fg)}
.lp-strike__o em{color:var(--lp-forest);background:linear-gradient(transparent 62%,rgba(61,139,110,.22) 62%)}

/* ---------------------------------------------------------------- places (pictograms row) */
.lp-places{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.lp-places li{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:20px 18px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);font-weight:600;color:var(--fg);transition:transform var(--t-med) var(--ease),border-color var(--t-short)}
.lp-places li:hover{transform:translateY(-3px);border-color:var(--hair-2)}
.lp-places .ic{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--lp-paper-shade);color:var(--lp-navy)}
.lp-places .ic .lp-ic{width:24px;height:24px}

/* ---------------------------------------------------------------- systems tabs content */
.lp-sys{display:grid;gap:clamp(28px,4vw,64px);align-items:center}
.lp-sys__art{position:relative;aspect-ratio:1;max-width:460px;width:100%;justify-self:center;display:grid;place-items:center;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#fff 0,var(--lp-paper) 70%);box-shadow:inset 0 0 0 1px var(--hair);color:var(--lp-ink)}
.lp-sys__art::before{content:"";position:absolute;inset:8%;border-radius:50%;border:1px dashed var(--hair-2);animation:lp-spin 60s linear infinite}
.lp-sys__art .lp-draw{width:66%;height:auto}
.lp-sys__art--photo{border-radius:var(--r-sheet);aspect-ratio:4/3;max-width:none;overflow:hidden;background:var(--lp-paper-shade)}
.lp-sys__art--photo::before{display:none}
.lp-sys__art--photo img{width:100%;height:100%;object-fit:cover}
.lp-sys__sensor{position:absolute;right:14%;top:16%;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--lp-navy);color:#fff;box-shadow:0 0 0 8px rgba(1,33,105,.1)}
.lp-sys__sensor::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px solid var(--lp-navy);animation:lp-ping 2.4s var(--ease) infinite}
.lp-sys__b h3{font-size:clamp(28px,2.8vw,42px);margin-bottom:12px}
.lp-sys__b > p:not(.lp-sys__chips){max-width:52ch;font-size:16.5px}
.lp-sys__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
@media (min-width:900px){ .lp-sys{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)} }
.lp-ticks{display:grid;gap:10px;margin-top:20px}
.lp-ticks li{position:relative;padding-left:30px;font-size:15px;line-height:1.5}
.lp-ticks li::before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:50%;background:var(--lp-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}

/* ---------------------------------------------------------------- finish switcher (white / black / transparent) */
.lp-finish{display:grid;gap:24px;justify-items:center}
.lp-finish__ui{position:relative;display:inline-flex;gap:2px;padding:4px;border-radius:var(--r-pill);background:var(--lp-paper-shade)}
.lp-finish__ui button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-pill);font:600 14px/1 var(--f-sans);color:var(--fg2);transition:color var(--t-short)}
.lp-finish__ui button::before{content:"";width:14px;height:14px;border-radius:50%;border:1px solid var(--hair-2);background:#fff}
.lp-finish__ui button[data-set-finish="noir"]::before{background:#1a1a1a;border-color:#1a1a1a}
.lp-finish__ui button[aria-checked="true"]{color:var(--lp-ink)}
.lp-finish__ink{position:absolute;left:0;top:4px;bottom:4px;width:var(--w,0px);transform:translateX(var(--x,0px));border-radius:var(--r-pill);background:#fff;box-shadow:0 2px 10px rgba(9,13,69,.1);transition:transform var(--t-med) var(--ease),width var(--t-med) var(--ease)}
.lp-finish__stage{position:relative;width:min(100%,560px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;overflow:hidden;isolation:isolate;
  background-color:#f3efe6;background-image:linear-gradient(rgba(9,13,69,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(9,13,69,.07) 1px,transparent 1px);background-size:44px 44px;background-position:center;
  box-shadow:inset 0 0 0 1px var(--hair),inset 0 -40px 80px rgba(9,13,69,.06);transition:background-color .9s var(--ease)}
.lp-finish__stage > .lp-orbit{position:absolute;inset:0;width:100%;height:100%;z-index:3;color:var(--lp-ink);transition:color .9s var(--ease)}
.lp-finish__stage img{position:relative;z-index:1;width:70%;height:74%;object-fit:contain;filter:drop-shadow(0 30px 34px rgba(9,13,69,.22));transform:translateX(9%) scale(1.02);transition:transform 1.1s var(--ease-soft),filter .9s var(--ease)}
.lp-finish__spot{position:absolute;inset:0;z-index:2;pointer-events:none}
.lp-finish__spot::before,.lp-finish__spot::after{content:"";position:absolute;inset:0;transition:opacity .9s var(--ease)}
.lp-finish__spot::before{background:linear-gradient(90deg,rgba(243,239,230,0) 0,rgba(243,239,230,0) 50%,rgba(243,239,230,.74) 66%,rgba(243,239,230,.8) 100%)}
.lp-finish__spot::after{opacity:0;background:linear-gradient(90deg,rgba(29,31,36,.8) 0,rgba(29,31,36,.74) 34%,rgba(29,31,36,0) 52%,rgba(29,31,36,0) 100%)}
.lp-finish[data-finish="noir"] .lp-finish__stage{background-color:#1d1f24;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px)}
.lp-finish[data-finish="noir"] .lp-finish__stage img{transform:translateX(-9%) scale(1.02);filter:drop-shadow(0 30px 34px rgba(0,0,0,.55))}
.lp-finish[data-finish="noir"] .lp-finish__spot::before{opacity:0}
.lp-finish[data-finish="noir"] .lp-finish__spot::after{opacity:1}
.lp-finish[data-finish="noir"] .lp-orbit{color:#fffcf7}
.lp-finish__cap{max-width:56ch;text-align:center;font-size:16px;min-height:3.2em}
.lp-finish__cap span{display:none}
.lp-finish[data-finish="blanc"] [data-cap-blanc],.lp-finish[data-finish="noir"] [data-cap-noir]{display:inline;animation:lp-tab-in .5s var(--ease-soft)}

/* ---------------------------------------------------------------- soap shelf */
.lp-soap__grid{display:grid;gap:clamp(28px,4vw,56px)}
.lp-soap__objs{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.lp-shelf{display:grid;border-top:1px solid var(--hair-2)}
.lp-shelf li{--k:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:16px 0;border-bottom:1px solid var(--hair)}
.lp-shelf .n{font:500 11px/1 var(--f-mono);color:var(--fg2)}
.lp-shelf strong{font:500 clamp(20px,1.8vw,26px)/1.15 var(--f-display);letter-spacing:-.01em}
.lp-shelf li > span:last-child{font-size:13.5px;color:var(--fg2);text-align:right}
@media (min-width:1024px){ .lp-soap__grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start} }

/* ---------------------------------------------------------------- air care */
.lp-air{display:grid;gap:14px}
@media (min-width:900px){ .lp-air{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.2fr)} }
.lp-air__c{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-air__art{display:grid;place-items:center;height:200px;margin-bottom:8px;border-radius:14px;background:radial-gradient(circle,#fff 0,var(--lp-paper) 80%);color:var(--lp-ink)}
.lp-air__art svg{width:170px;height:170px}
.lp-air__c h3{font-size:22px}
.lp-air .lp-fig__m{height:100%;min-height:300px}

/* ---------------------------------------------------------------- Clean&Sit split, Q3 */
.lp-split__b .lp-actions{margin-top:28px}
.lp-q3{display:grid;gap:14px}
@media (min-width:900px){ .lp-q3{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-q3 article{padding:28px 26px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-q3 .v{display:flex;align-items:baseline;gap:4px;margin-bottom:18px;font:500 clamp(64px,7vw,104px)/1 var(--f-display);letter-spacing:-.05em;color:#a73a64}
.lp-q3 .v span{font-size:.45em}
.lp-q3 h3{font-size:clamp(21px,1.7vw,25px);margin-bottom:8px}

/* ---------------------------------------------------------------- proofs (EcoNatural) */
.lp-proofs{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.lp-proofc{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-proofc img{width:64px;height:64px;object-fit:contain;margin-bottom:10px}
.lp-proofc h3{font-size:20px}
.lp-proofc p{font-size:14.5px}

/* ---------------------------------------------------------------- steel (Zenith) */
.lp-steelp{position:relative;display:grid;align-items:end;min-height:clamp(420px,46vw,560px);border-radius:var(--r-sheet);overflow:hidden;isolation:isolate;background:#8f979c}
.lp-steel{position:absolute;inset:0;z-index:-1;width:100%;height:100%}
.lp-steelp__in{padding:clamp(24px,3vw,44px);background:linear-gradient(0deg,rgba(16,18,22,.78),rgba(16,18,22,0));color:#f4f4f2}
.lp-steelp__in .lp-over{color:#fff}
.lp-steelp ul{display:grid;gap:12px}
@media (min-width:900px){ .lp-steelp ul{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-steelp li{--k:0;display:grid;gap:6px;padding:20px;border-radius:16px;background:rgba(16,18,22,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14)}
.lp-steelp li .n{font:500 11px/1 var(--f-mono);color:rgba(255,255,255,.65)}
.lp-steelp li strong{font:500 24px/1.1 var(--f-display);color:#fff}
.lp-steelp li span:last-child{font-size:14px;color:rgba(255,255,255,.78)}

/* ---------------------------------------------------------------- peel & pull, turn 360, pull */
.lp-peelw,.lp-pullw{display:grid;place-items:center}
.lp-peel{width:min(100%,560px);aspect-ratio:520/420}
.lp-peel svg{width:100%;height:100%}
.lp-pullw{position:relative;width:100%}
.lp-pull{width:100%;max-width:420px;height:auto}
.lp-turn{position:relative;width:min(100%,460px);aspect-ratio:1;margin-inline:auto;display:grid;place-items:center}
.lp-turn__r{width:78%;color:var(--lp-ink)}
.lp-turn__r .lp-draw{width:100%;height:auto}
.lp-turn__d{position:absolute;right:4%;top:6%;font:500 clamp(40px,4vw,64px)/1 var(--f-display);letter-spacing:-.03em;color:var(--fg);font-variant-numeric:tabular-nums}

/* ---------------------------------------------------------------- split2 (text + art chapters) */
.lp-split2{display:grid;gap:clamp(36px,5vw,72px);align-items:center}
.lp-split2__t h2{font-size:clamp(34px,4.4vw,66px);line-height:1.02;max-width:15ch}
.lp-split2__t > p:not(.lp-over):not(.lp-note){margin-top:18px;max-width:52ch;font-size:clamp(16.5px,1.2vw,18.5px)}
.lp-split2__a{position:relative;display:grid;place-items:center;min-width:0}
.lp-split2__a > svg{width:100%;max-width:640px;height:auto}
.lp-split2__a > .lp-fig{width:100%}
.lp-split2__a--draw{aspect-ratio:1;max-width:480px;width:100%;justify-self:center;border-radius:50%;background:radial-gradient(circle,#fff 0,var(--lp-paper) 72%);box-shadow:inset 0 0 0 1px var(--hair);color:var(--lp-ink)}
.lp-split2__a--draw > .lp-draw{width:66%;height:auto}
.lp-split2__a--draw .lp-ce{position:absolute;right:12%;top:12%;animation:lp-float-y 5s var(--ease-io) infinite}
@keyframes lp-float-y{50%{transform:translateY(-8px)}}
@media (min-width:1024px){
  .lp-split2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .lp-split2--r .lp-split2__a{order:-1}
}

/* ---------------------------------------------------------------- systems cards (sector) */
.lp-syscards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.lp-syscard{--c:var(--lp-navy);--k:0;position:relative;display:flex;flex-direction:column;gap:8px;min-height:260px;padding:26px 22px 70px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);overflow:hidden;color:var(--fg2);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),color var(--t-short)}
.lp-syscard__bar{position:absolute;left:0;top:0;right:0;height:4px;background:var(--c);transform-origin:0 50%;transition:height var(--t-med) var(--ease)}
.lp-syscard__n{font:500 11px/1 var(--f-mono);color:var(--fg2);margin-top:6px}
.lp-syscard h3{font-size:clamp(24px,2vw,30px);transition:color var(--t-short)}
.lp-syscard__en{font:500 11px/1.4 var(--f-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--fg2)}
.lp-syscard > p:not([class]){font-size:14.5px;line-height:1.5}
.lp-syscard__go{position:absolute;left:22px;bottom:20px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair-2);color:var(--fg);transition:background-color var(--t-short),color var(--t-short),border-color var(--t-short)}
.lp-syscard__go .lp-arw{width:18px}
.lp-syscard:hover{transform:translateY(-4px);box-shadow:var(--elev-2)}
.lp-syscard:hover .lp-syscard__go{background:var(--c);border-color:var(--c);color:#fff}

/* ---------------------------------------------------------------- systems ×4 */
.lp-sys4{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
@media (min-width:1120px){ .lp-sys4{grid-template-columns:repeat(4,minmax(0,1fr))} }
.lp-sys4__c{--k:0;position:relative;display:flex;flex-direction:column;gap:10px;padding:16px 16px 22px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);color:var(--fg2);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-sys4__c:hover{transform:translateY(-4px);box-shadow:var(--elev-2)}
.lp-sys4__art{position:relative;display:grid;place-items:center;aspect-ratio:1/.8;margin-bottom:8px;border-radius:14px;background:radial-gradient(circle,#fff 0,var(--lp-paper) 78%);color:var(--lp-ink)}
.lp-sys4__art .lp-draw{width:62%;height:auto}
.lp-sys4__art .lp-sensor{position:absolute;right:8%;top:8%;width:30%;height:auto}
.lp-sys4__n{padding:0 6px;font:500 11px/1 var(--f-mono)}
.lp-sys4__c h3{padding:0 6px;font-size:clamp(22px,1.8vw,26px)}
.lp-sys4__c > p{padding:0 6px;font-size:14.5px;line-height:1.5}
.lp-sys4__p{display:inline-flex;align-items:center;gap:10px;margin:auto 6px 0;padding-top:12px;font:600 14px/1 var(--f-sans);color:var(--acc)}
.lp-sys4__p .lp-arw path{transform:translateX(-4px)}
.lp-sys4__c:hover .lp-sys4__p .lp-arw path{transform:translateX(2px)}

/* ---------------------------------------------------------------- protocol band */
.lp-proto{display:grid;gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(28px,4vw,56px);border-radius:var(--r-sheet);background:var(--lp-paper);border:1px solid var(--hair)}
.lp-proto__seal{width:min(220px,50vw);justify-self:center}
.lp-proto__seal .lp-seal{width:100%;height:auto}
.lp-proto__q{max-width:30ch;font:400 clamp(24px,2.6vw,38px)/1.25 var(--f-display);letter-spacing:-.012em;color:var(--fg)}
@media (min-width:900px){ .lp-proto{grid-template-columns:auto minmax(0,1fr)} }

/* ---------------------------------------------------------------- sensor cards */
.lp-touch{display:grid;gap:12px}
@media (min-width:900px){ .lp-touch{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-touch__c{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-touch__c .lp-sensor{width:120px;height:120px;margin-bottom:12px}
.lp-touch__c h3{font-size:22px}

/* ---------------------------------------------------------------- sorting */
.lp-sortw{display:grid;place-items:center;padding:clamp(16px,3vw,36px);border-radius:var(--r-sheet);background:var(--lp-paper-bright);border:1px solid var(--hair)}
.lp-sort{width:100%;max-width:760px;height:auto}
.lp-sortl{display:grid;gap:10px;margin-top:16px}
@media (min-width:760px){ .lp-sortl{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-sortl li{display:grid;gap:4px;padding:16px 18px;border-radius:14px;border:1px solid var(--hair);background:var(--card)}
.lp-sortl strong{font-weight:650}
.lp-sortl span{font-size:14px}

/* ---------------------------------------------------------------- duo (horeca) */
.lp-duo{display:grid;gap:12px}
@media (min-width:900px){ .lp-duo{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-duo__c{--c:var(--lp-navy);position:relative;display:flex;flex-direction:column;min-height:420px;border-radius:var(--r-sheet);overflow:hidden;isolation:isolate;color:#fffcf7;background:var(--lp-ink)}
.lp-duo__c .m{position:absolute;inset:0;z-index:-1}
.lp-duo__c .m img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.lp-duo__c .m::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,13,69,0) 35%,rgba(9,13,69,.85))}
.lp-duo__c:hover .m img{transform:scale(1.05)}
.lp-duo__c .b{display:grid;gap:8px;margin-top:auto;padding:26px}
.lp-duo__c .lp-over{color:#fffcf7;margin-bottom:4px}
.lp-duo__c .lp-over::before{background:var(--c);opacity:1;height:3px}
.lp-duo__c strong{font:500 clamp(26px,2.4vw,34px)/1.05 var(--f-display);color:#fff}
.lp-duo__c small{font-size:14px;color:rgba(255,252,247,.82)}

/* ---------------------------------------------------------------- sectors index rows */
.lp-srows{display:grid;gap:clamp(56px,7vw,112px)}
.lp-srow{display:grid;gap:clamp(24px,3vw,56px);align-items:center}
.lp-srow__m{position:relative;display:block;aspect-ratio:5/4;border-radius:var(--r-sheet);overflow:hidden;background:var(--lp-paper-shade)}
.lp-srow__img{position:absolute;inset:0}
.lp-srow__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.lp-srow__m:hover .lp-srow__img img{transform:scale(1.04)}
.lp-srow__num{position:absolute;left:22px;bottom:16px;font:500 clamp(64px,7vw,112px)/1 var(--f-display);letter-spacing:-.05em;color:#fffcf7;text-shadow:0 10px 40px rgba(9,13,69,.3)}
.lp-srow__b h2{font-size:clamp(38px,4.6vw,72px);line-height:1}
.lp-srow__b h2 a{background:linear-gradient(currentColor,currentColor) 0 96%/0 2px no-repeat;transition:background-size var(--t-med) var(--ease)}
.lp-srow__b h2 a:hover{background-size:100% 2px}
.lp-srow__h{margin-top:12px;font:400 clamp(19px,1.6vw,23px)/1.35 var(--f-display);font-style:italic;color:var(--fg)}
.lp-srow__b > p:not([class]){margin-top:12px;max-width:52ch;font-size:16px}
.lp-srow__p{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0}
.lp-srow__p li{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--fg)}
.lp-srow__p .lp-ic{width:18px;height:18px;color:var(--lp-navy)}
.lp-srow .lp-actions{margin-top:24px}
@media (min-width:1024px){ .lp-srow{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)} .lp-srow--r .lp-srow__m{order:2} }

/* ── 65-pages.css ── */
/* =====================================================================
   65 · Page blocks — catalogue, families, PDP, compare, search,
   sustainability, about, media, journal, contact, finder, legal
   ===================================================================== */

/* ---------------------------------------------------------------- catalogue */
.lp-cat{display:grid;gap:18px}
.lp-cat > .lp-seg{justify-self:start}
.lp-cat__bar{position:sticky;top:12px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px;border-radius:22px;background:color-mix(in srgb,var(--bg) 88%,transparent);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border:1px solid var(--hair);transition:top var(--t-med) var(--ease),box-shadow var(--t-med)}
html.hd-on .lp-cat__bar{top:calc(var(--hd-h) + 12px)}
.lp-cat__bar.is-stuck{box-shadow:var(--elev-1)}
.lp-cat__q{flex:1 1 280px;min-height:46px}
.lp-cat__q input{height:44px}
.lp-cat__fbtn{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px 0 14px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--card);font:600 14px/1 var(--f-sans);color:var(--fg);transition:border-color var(--t-short),background-color var(--t-short)}
.lp-cat__fbtn:hover{border-color:var(--fg)}
.lp-cat__nact{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--lp-navy);color:#fff;font:600 11px/1 var(--f-mono);animation:lp-pop .4s var(--ease-back)}
.lp-cat__count{display:flex;align-items:baseline;gap:6px;margin-left:auto;font-size:14px;color:var(--fg2);white-space:nowrap}
.lp-cat__count strong{font:500 22px/1 var(--f-display);color:var(--fg);font-variant-numeric:tabular-nums}
.lp-cat__view{display:inline-flex;gap:2px;padding:3px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--card)}
.lp-cat__view button{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:var(--fg2);transition:background-color var(--t-short),color var(--t-short)}
.lp-cat__view button[aria-pressed="true"]{background:var(--lp-ink);color:#fff}
.lp-cat__view .lp-ic{width:18px;height:18px}
.lp-cat__active{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lp-cat__active .lp-chip{padding-right:8px;background:var(--lp-ink);border-color:var(--lp-ink);color:#fff;animation:lp-pop .35s var(--ease-back)}
.lp-cat__active .lp-chip .lp-ic{width:14px;height:14px;opacity:.8}
.lp-cat__active .lp-chip:hover{background:var(--lp-navy)}
.lp-cat__active .lp-linkbtn{font-size:13.5px;margin-left:6px}
.lp-cat__grid{display:grid;gap:clamp(20px,2.4vw,36px);align-items:start}
.lp-cat__res{min-width:0}
.lp-cat__empty{display:grid;justify-items:center;gap:10px;padding:clamp(32px,5vw,64px) 20px;text-align:center;border-radius:var(--r-sheet);border:1px dashed var(--hair-2)}
.lp-cat__empty > svg{width:140px;height:140px;margin-bottom:8px;color:var(--fg2)}
.lp-cat__empty h3{font-size:clamp(22px,2vw,28px)}
.lp-cat__empty p{max-width:46ch}
.lp-cat.is-busy .lp-pgrid--cat{opacity:.5;transition:opacity .15s}
.lp-filt{background:var(--bg)}
.lp-filt__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--hair-2)}
.lp-filt__hd p{font:600 12px/1 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--fg)}
.lp-filt__x{width:40px;height:40px;display:none;place-items:center;border-radius:50%;border:1px solid var(--hair)}
.lp-filt__body{display:grid}
.lp-filt__g{padding:16px 0 14px;border-bottom:1px solid var(--hair)}
.lp-filt__g legend{float:left;width:100%;margin-bottom:8px;font:600 13px/1.2 var(--f-sans);color:var(--fg)}
.lp-filt__g legend + *{clear:both}
.lp-filt__sub{margin:10px 0 2px;font:500 10.5px/1 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg2)}
.lp-filt__ft{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px}
.lp-filt__ft .lp-btn--primary{display:none}
@media (min-width:1024px){
  .lp-cat__grid{grid-template-columns:250px minmax(0,1fr)}
  .lp-cat__fbtn{display:none}
  .lp-filt{position:sticky;top:calc(var(--hd-h) + 96px);max-height:calc(100vh - var(--hd-h) - 116px);overflow:auto;padding-right:6px;scrollbar-width:thin}
}
@media (max-width:1023px){
  .lp-filt{position:fixed;left:0;right:0;bottom:0;z-index:85;display:flex;flex-direction:column;max-height:86dvh;padding:18px var(--gut) calc(14px + env(safe-area-inset-bottom));background:var(--lp-paper-bright);
    border-radius:var(--r-sheet) var(--r-sheet) 0 0;box-shadow:0 -20px 60px rgba(9,13,69,.2);transform:translateY(105%);visibility:hidden;transition:transform .55s var(--ease-soft),visibility .55s}
  .lp-filt::before{content:"";position:absolute;left:50%;top:8px;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:var(--hair-2)}
  .lp-filt.is-open{transform:none;visibility:visible}
  .lp-filt__x{display:grid}
  .lp-filt__body{flex:1;overflow:auto;overscroll-behavior:contain}
  .lp-filt__ft .lp-btn--primary{display:inline-flex}
  .lp-cat__count{margin-left:0}
}
@media (max-width:640px){ .lp-cat__bar{position:relative;top:auto!important} .lp-cat__view{display:none} .lp-cat .lp-select{flex:1} }

/* family tiles */
.lp-famt{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.lp-famt__c{--k:0;position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:6px;padding:14px 16px 18px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);color:var(--fg);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-short)}
.lp-famt__c:hover{transform:translateY(-4px);box-shadow:var(--elev-2);border-color:var(--hair-2)}
.lp-famt__art{display:grid;place-items:center;aspect-ratio:1/.72;margin:-2px -4px 8px;border-radius:12px;background:radial-gradient(circle,#fff 0,var(--lp-paper) 78%);color:var(--lp-ink)}
.lp-famt__art .lp-draw{width:56%;height:auto}
.lp-famt__t{font:600 15.5px/1.3 var(--f-sans);padding-right:30px}
.lp-famt__n{font:500 11px/1 var(--f-mono);color:var(--fg2)}
.lp-famt__c > .lp-arw{position:absolute;right:16px;bottom:18px}
.lp-famt__c > .lp-arw path{transform:translateX(-4px)}
.lp-famt__c:hover > .lp-arw path{transform:translateX(2px)}

/* formats */
.lp-formats{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));margin-top:clamp(28px,3vw,44px)}
.lp-formats__c{--k:0;position:relative;display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:18px;row-gap:6px;padding:16px 64px 18px 16px;border-radius:var(--r-card);
  background:var(--card);border:1px solid var(--hair);color:var(--fg2);transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-formats__c:hover{transform:translateY(-3px);box-shadow:var(--elev-2)}
.lp-formats__art{grid-row:1/4;display:grid;place-items:center;border-radius:12px;background:radial-gradient(circle,#fff 0,var(--lp-paper) 78%);color:var(--lp-ink);min-height:110px}
.lp-formats__art .lp-draw{width:84px;height:84px}
.lp-formats__n{font:500 11px/1 var(--f-mono);margin-top:6px}
.lp-formats__c h3{font-size:22px}
.lp-formats__c p{font-size:14px;line-height:1.5}
.lp-formats__go{position:absolute;right:16px;top:50%;width:38px;height:38px;margin-top:-19px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair-2);color:var(--fg);transition:background-color var(--t-short),color var(--t-short)}
.lp-formats__go .lp-arw{width:18px}
.lp-formats__c:hover .lp-formats__go{background:var(--fg);color:var(--bg)}
.lp-formats .lp-formats__c:only-child{grid-column:1/-1}

/* pair (complementary products) */
.lp-pair{display:grid;gap:12px;margin-top:clamp(24px,3vw,40px)}
@media (min-width:760px){ .lp-pair{grid-template-columns:repeat(2,minmax(0,1fr))} }
.lp-pair > div{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:18px;padding:16px 20px 16px 16px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-pair > div > svg{width:96px;height:96px;padding:8px;border-radius:12px;background:var(--lp-paper);color:var(--lp-ink)}
.lp-pair > div p{font-size:14.5px}
.lp-pair > div strong{display:block;margin-bottom:4px;font-size:16px}
.lp-pair__c{--c:var(--lp-navy);position:relative;display:grid;gap:8px;padding:26px 70px 26px 26px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);overflow:hidden;color:var(--fg2);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-pair__c::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c)}
.lp-pair__c .lp-over{margin-bottom:0;color:var(--fg)}
.lp-pair__c .lp-over::before{background:var(--c);opacity:1}
.lp-pair__c strong{font:500 clamp(22px,2vw,28px)/1.15 var(--f-display);color:var(--fg)}
.lp-pair__c small{font-size:14.5px;line-height:1.5}
.lp-pair__c > .lp-arw{position:absolute;right:24px;top:50%;margin-top:-11px}
.lp-pair__c > .lp-arw path{transform:translateX(-4px)}
.lp-pair__c:hover{transform:translateY(-3px);box-shadow:var(--elev-2)}
.lp-pair__c:hover > .lp-arw path{transform:translateX(2px)}

/* folds */
.lp-folds{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
@media (min-width:1120px){ .lp-folds{grid-template-columns:repeat(4,minmax(0,1fr))} .lp-folds--3{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-folds--3 + .lp-subh{margin-top:clamp(40px,4vw,56px)}
.lp-folds__c{--k:0;display:grid;gap:16px;padding:18px 18px 22px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-folds__c svg{width:100%;height:auto;max-height:180px;padding:10px 6px 0;border-radius:12px;background:var(--lp-paper);color:var(--lp-ink)}
.lp-folds__c figcaption{display:grid;gap:4px}
.lp-folds__c strong{font:500 22px/1.15 var(--f-display);color:var(--fg)}
.lp-folds__c span{font-size:14px;line-height:1.5}

/* scents */
.lp-scents{display:grid;gap:12px}
@media (min-width:760px){ .lp-scents{grid-template-columns:repeat(2,minmax(0,1fr))} }
.lp-scents__g{position:relative;padding:28px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);overflow:hidden}
.lp-scents__g::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(14,110,120,.12),transparent 70%)}
.lp-scents__g h3{font-size:26px}
.lp-scents__g > p{margin-top:4px;font-size:14px}
.lp-scents__g ul{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.lp-scents__g li{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:var(--r-pill);background:var(--lp-paper);font-weight:600;font-size:14px;color:var(--fg)}
.lp-scents__g li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lp-aqua);opacity:.7}

/* ---------------------------------------------------------------- product detail */
.lp-pdp{padding:clamp(20px,3vw,44px) 0 clamp(48px,6vw,88px);background:var(--bg);color:var(--fg2)}
.lp-pdp__grid{display:grid;gap:clamp(28px,4vw,72px);align-items:start}
@media (min-width:1024px){ .lp-pdp__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)} .lp-gal{position:sticky;top:calc(var(--hd-h) + 20px)} }
.lp-gal{--c:var(--lp-navy);display:grid;gap:12px}
.lp-gal__stage{position:relative;aspect-ratio:1;border-radius:var(--r-sheet);overflow:hidden;background:radial-gradient(60% 60% at 50% 46%,#fff 0,var(--lp-paper-shade) 100%);border:1px solid var(--hair);touch-action:pan-y}
.lp-gal__stage > .lp-orbit{position:absolute;inset:4%;width:92%;height:92%;opacity:.8}
.lp-gal__v{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:10%;opacity:0;transform:scale(.96);transition:opacity .6s var(--ease),transform .9s var(--ease-soft)}
.lp-gal__v.is-on{opacity:1;transform:none}
.lp-gal__v[hidden]{display:grid!important;visibility:hidden}
.lp-gal__v.is-on[hidden]{visibility:visible}
.lp-gal__v img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 36px rgba(9,13,69,.18))}
.lp-gal__v--img:not(:first-of-type) img{object-fit:cover;border-radius:var(--r-card);filter:none}
.lp-gal__v--draw .lp-draw{width:76%;height:auto;color:var(--lp-ink)}
.lp-gal__v--airlaid svg{width:100%;height:auto}
.lp-gal__v--turn .lp-turn{width:90%}
.lp-gal__v figcaption{position:absolute;left:20px;bottom:18px;padding:7px 12px;border-radius:var(--r-pill);background:rgba(255,252,247,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 11.5px/1 var(--f-mono);color:var(--lp-ink)}
.lp-gal__n{position:absolute;right:20px;bottom:18px;z-index:2;font:500 12px/1 var(--f-mono);color:var(--fg2)}
.lp-gal__n span{font:500 22px/1 var(--f-display);color:var(--fg);margin-right:3px}
.lp-gal__th{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}
.lp-gal__t{flex:none;width:84px;height:84px;padding:4px;border-radius:16px;border:1px solid var(--hair);background:var(--card);transition:border-color var(--t-short),transform var(--t-short) var(--ease)}
.lp-gal__t span{display:grid;place-items:center;width:100%;height:100%;border-radius:12px;overflow:hidden;background:var(--lp-paper);color:var(--lp-ink)}
.lp-gal__t img{width:100%;height:100%;object-fit:cover}
.lp-gal__t--img:first-child img{object-fit:contain;padding:6px}
.lp-gal__t svg{width:70%;height:70%}
.lp-gal__t:hover{transform:translateY(-2px)}
.lp-gal__t[aria-pressed="true"]{border-color:var(--lp-ink);box-shadow:inset 0 0 0 1px var(--lp-ink)}
.lp-gal__t--airlaid span,.lp-gal__t--turn span{font:500 10px/1.2 var(--f-mono);text-align:center}
.lp-pdp__info{display:flex;flex-direction:column}
.lp-pdp__line{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px}
.lp-pdp__en{font:500 11.5px/1.3 var(--f-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--fg2)}
.lp-pdp__t{font-size:clamp(40px,4.8vw,72px);line-height:1}
.lp-pdp__code{display:flex;align-items:center;gap:12px;margin-top:20px}
.lp-pdp__code .k{font:500 11px/1 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg2)}
.lp-pdp__claim{margin-top:20px;max-width:52ch;font:400 clamp(18px,1.5vw,22px)/1.45 var(--f-display);color:var(--fg)}
.lp-pdp__key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:26px}
.lp-pdp__key > div{--k:0;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--hair)}
.lp-pdp__key .ic{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--lp-paper-shade);color:var(--lp-navy)}
.lp-pdp__key .ic .lp-ic{width:18px;height:18px}
.lp-pdp__key dt{font:500 10.5px/1.2 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg2)}
.lp-pdp__key dd{font-weight:600;font-size:14.5px;line-height:1.3;color:var(--fg)}
.lp-pdp__buy{margin-top:28px}
.lp-pdp__assure{display:grid;gap:10px;margin-top:26px;padding-top:22px;border-top:1px solid var(--hair)}
.lp-pdp__assure li{display:flex;align-items:center;gap:10px;font-size:14px}
.lp-pdp__assure .lp-ic{width:18px;height:18px;color:var(--lp-leaf)}
.lp-pdp__assure a{color:var(--acc);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.lp-pdp__pres{display:grid;gap:clamp(28px,3vw,44px)}
.lp-pdp__pres > .lp-prose{columns:2 320px;column-gap:48px}
.lp-pdp__pres > .lp-prose p{break-inside:avoid}
.lp-pdp__certs .lp-actions{margin-top:24px}
@media (max-width:520px){ .lp-pdp__key{grid-template-columns:1fr} }

/* sticky product bar */
.lp-pdpbar{position:fixed;left:0;right:0;top:0;z-index:57;background:color-mix(in srgb,var(--lp-paper-bright) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair);
  transform:translateY(-105%);transition:transform .5s var(--ease-soft),top .5s var(--ease-soft)}
.lp-pdpbar[hidden]{display:block!important;visibility:hidden}
.lp-pdpbar.is-on{transform:none;visibility:visible}
html.hd-on .lp-pdpbar{top:var(--hd-h)}
.lp-pdpbar__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}
.lp-pdpbar__in p{display:flex;align-items:baseline;gap:12px;min-width:0}
.lp-pdpbar__in strong{font:500 20px/1.2 var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-pdpbar__in span{font:500 11px/1 var(--f-mono);text-transform:uppercase;color:var(--fg2)}
.lp-pdpbar .lp-actions{margin:0;flex-wrap:nowrap}
.lp-pdpbar .lp-btn{min-height:42px;padding:0 18px;font-size:14px}
@media (max-width:640px){ .lp-pdpbar__in span{display:none} .lp-pdpbar .lp-btn--ghost{display:none} }

/* compatibility */
.lp-compat{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.lp-compat__c{position:relative;display:grid;gap:6px;padding:16px 16px 20px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);color:var(--fg2);transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-compat__c:hover{transform:translateY(-3px);box-shadow:var(--elev-2)}
.lp-compat__k{font:500 10.5px/1 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg2)}
.lp-compat__v{display:grid;place-items:center;aspect-ratio:1/.7;margin:6px 0 8px;border-radius:12px;background:radial-gradient(circle,#fff 0,var(--lp-paper) 78%);color:var(--lp-ink)}
.lp-compat__v .lp-draw{width:52%;height:auto}
.lp-compat__c strong{font-size:16px;line-height:1.3;padding-right:28px}
.lp-compat__c small{font-size:13.5px;line-height:1.45}
.lp-compat__c > .lp-arw{position:absolute;right:16px;bottom:20px}

/* ---------------------------------------------------------------- compare */
.lp-cmp{display:grid;gap:20px}
.lp-cmp__bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;padding:12px 12px 12px 20px;border-radius:22px;background:var(--card);border:1px solid var(--hair)}
.lp-cmp__n{display:flex;align-items:baseline;gap:6px;font-size:14px;color:var(--fg2)}
.lp-cmp__n strong{font:500 26px/1 var(--f-display);color:var(--fg)}
.lp-cmp__bar .lp-actions{margin:0 0 0 auto}
.lp-cmp__scroll{overflow-x:auto;border-radius:var(--r-card);-webkit-overflow-scrolling:touch}
.lp-cmp__scroll:empty,.lp-cmp__t:empty{display:none}
.lp-cmp__t{width:100%;min-width:720px;table-layout:fixed;background:var(--card);border:1px solid var(--hair);border-radius:var(--r-card);border-collapse:separate;border-spacing:0;overflow:hidden}
.lp-cmp__t th,.lp-cmp__t td{padding:14px 18px;border-bottom:1px solid var(--hair);text-align:left;vertical-align:top;font-size:14.5px;line-height:1.45}
.lp-cmp__t tbody th{width:200px;font:500 11px/1.4 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg2);background:var(--lp-paper)}
.lp-cmp__t thead th{position:sticky;top:0;vertical-align:bottom;background:var(--card)}
.lp-cmp__t thead td{background:var(--lp-paper)}
.lp-cmp__t td{color:var(--fg)}
.lp-cmp__t tr:last-child > *{border-bottom:0}
.lp-cmp__h{--c:var(--lp-navy);position:relative;display:grid;gap:8px}
.lp-cmp__v{display:grid;place-items:center;aspect-ratio:1.2;border-radius:14px;background:radial-gradient(circle,#fff 0,var(--lp-paper) 80%);color:var(--lp-ink)}
.lp-cmp__v img{width:80%;height:80%;object-fit:contain}
.lp-cmp__v svg{width:58%;height:auto}
.lp-cmp__h strong{font-size:16px;line-height:1.25}
.lp-cmp__h strong a:hover{text-decoration:underline}
.lp-cmp__h .lp-chip{justify-self:start;min-height:28px;font-size:12px}
.lp-cmp__rm{position:absolute;right:6px;top:6px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(255,252,247,.92);border:1px solid var(--hair);color:var(--fg);transition:background-color var(--t-short),color var(--t-short)}
.lp-cmp__rm:hover{background:var(--lp-ink);color:#fff}
.lp-cmp__rm .lp-ic{width:14px;height:14px}
.lp-cmp__t tr.is-diff td{background:color-mix(in srgb,var(--lp-warn) 7%,transparent)}
.lp-cmp__t tr.is-diff th::after{content:"≠";margin-left:8px;color:var(--lp-warn);font-weight:700}
.lp-cmp.is-diff .lp-cmp__t tr.is-same{display:none}
.lp-cmp__t .na{color:var(--fg2);opacity:.6}
.lp-cmp__empty{display:grid;justify-items:center;gap:12px;padding:clamp(28px,4vw,56px) 0;text-align:center}
.lp-cmp__empty > svg{width:min(260px,60vw);height:auto;color:var(--fg2)}
.lp-cmp__empty h2{font-size:clamp(28px,3vw,42px);max-width:20ch}
.lp-cmp__empty > p{max-width:52ch}
.lp-cmp__empty .lp-pgrid{width:100%;margin-top:24px;text-align:left}
.lp-cmp.has-items .lp-cmp__empty{display:none}
@media print{
  .lp-cmp__bar .lp-actions,.lp-cmp__rm{display:none}
  .lp-cmp__t{min-width:0}
}

/* ---------------------------------------------------------------- search */
.lp-sbig{position:relative;display:flex;align-items:center;gap:14px;max-width:880px;margin-top:28px;padding:0 16px 0 26px;min-height:76px;border-radius:var(--r-pill);background:var(--lp-paper-bright);border:1.5px solid var(--hair-2);box-shadow:var(--elev-1);
  transition:border-color var(--t-short),box-shadow var(--t-short)}
.lp-sbig:focus-within{border-color:var(--lp-navy);box-shadow:0 0 0 5px rgba(1,33,105,.1),var(--elev-2)}
.lp-sbig > .lp-ic{width:26px;height:26px;color:var(--lp-navy)}
.lp-sbig input{flex:1;min-width:0;height:72px;border:0;background:none;outline:none;font:400 clamp(20px,2vw,28px)/1 var(--f-display);letter-spacing:-.01em;color:var(--lp-ink)}
.lp-sbig input::placeholder{color:var(--lp-slate-2);opacity:.7}
.lp-sbig input::-webkit-search-cancel-button{-webkit-appearance:none}
.lp-sbig--sm{min-height:62px;max-width:560px}
.lp-sbig--sm input{height:58px;font-size:20px}
.lp-sbig__sug{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.lp-sbig__sug > span{margin-right:4px;font:500 11px/1 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg2)}
.lp-sres{display:grid;gap:22px}
.lp-sres > .lp-seg{justify-self:start}
.lp-sres__n{font-size:15px;color:var(--fg2)}
.lp-sres__n strong{color:var(--fg)}
.lp-sres__n:empty{display:none}
.lp-sres__l{display:grid;border-top:1px solid var(--hair-2)}
.lp-sres__l:empty{display:none}
.lp-sres__l > li{animation:lp-card-in .5s var(--ease-soft) both;animation-delay:calc(var(--k,0) * 30ms)}
.lp-sr{--c:var(--lp-navy);display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 8px;border-bottom:1px solid var(--hair);color:var(--fg2);transition:background-color var(--t-micro),padding var(--t-short) var(--ease)}
.lp-sr:hover,.lp-sr:focus-visible{background:color-mix(in srgb,var(--c) 5%,transparent);padding-left:14px}
.lp-sr__v{width:64px;height:64px;display:grid;place-items:center;border-radius:14px;background:radial-gradient(circle,#fff 0,var(--lp-paper) 80%);border:1px solid var(--hair);overflow:hidden;color:var(--lp-navy)}
.lp-sr__v img{width:100%;height:100%;object-fit:contain;padding:6px}
.lp-sr__v .lp-draw{width:50px;height:50px;color:var(--lp-ink)}
.lp-sr__b{min-width:0;display:grid;gap:4px}
.lp-sr__k{display:flex;align-items:center;gap:8px;font:500 10.5px/1.2 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg2)}
.lp-sr__k i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.lp-sr strong{font:600 17px/1.3 var(--f-sans);color:var(--fg)}
.lp-sr small{font-size:14px;line-height:1.45;color:var(--fg2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lp-sr .lp-code{position:relative;z-index:1}
.lp-sr > .lp-arw path{transform:translateX(-4px)}
.lp-sr:hover > .lp-arw path{transform:translateX(2px)}
.lp-sres__empty{display:grid;justify-items:center;gap:10px;padding:clamp(28px,4vw,56px) 20px;text-align:center}
.lp-sres__empty > svg{width:140px;height:140px;color:var(--fg2)}
.lp-sres__empty h2{font-size:clamp(28px,3vw,40px)}
.lp-sres__idle .lp-subh{margin-bottom:14px}
.lp-quick{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.lp-quick a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;padding:12px 18px 12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--hair);font-weight:600;color:var(--fg);
  transition:border-color var(--t-short),transform var(--t-short) var(--ease)}
.lp-quick a > .lp-ic{width:44px;height:44px;padding:11px;border-radius:12px;background:var(--lp-paper-shade);color:var(--lp-navy)}
.lp-quick a:hover{border-color:var(--fg);transform:translateY(-2px)}
.lp-quick .lp-arw path{transform:translateX(-4px)}
.lp-quick a:hover .lp-arw path{transform:translateX(2px)}

/* ---------------------------------------------------------------- sustainability */
.lp-mission{display:grid;gap:18px;max-width:1100px}
.lp-mission__t{font:400 clamp(30px,4.2vw,64px)/1.12 var(--f-display);letter-spacing:-.022em;color:var(--fg);text-wrap:balance}
.lp-mission__s{max-width:60ch;font-size:15px;color:var(--fg2)}
.lp-mission .lp-actions{margin-top:12px}
.lp-packrow{display:grid;gap:clamp(28px,4vw,64px);align-items:center}
.lp-packrow__art{display:grid;place-items:center;padding:clamp(12px,2vw,24px);border-radius:var(--r-sheet);background:var(--lp-fiber);color:var(--lp-kraft-ink)}
.lp-packrow__art svg{width:100%;max-width:520px;height:auto}
.lp-packrow .lp-gauges{margin-top:0}
@media (min-width:1024px){ .lp-packrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
.lp-boxstage{display:grid;place-items:center;width:100%;color:var(--lp-kraft-ink)}
.lp-cta__art .lp-boxstage{color:inherit}
.lp-boxstage svg{width:100%;max-width:520px;height:auto}
.lp-packs{display:grid;gap:12px}
@media (min-width:900px){ .lp-packs{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-packc{--k:0;display:flex;flex-direction:column;gap:10px;padding:22px 24px 26px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-packc__art{display:grid;place-items:center;height:170px;margin-bottom:6px;border-radius:14px;background:var(--lp-fiber);color:var(--lp-kraft-ink)}
.lp-packc__art svg{width:180px;height:auto}
.lp-packc__v{display:flex;align-items:baseline;gap:4px;font:500 clamp(54px,5.4vw,80px)/1 var(--f-display);letter-spacing:-.045em;color:var(--fg)}
.lp-packc__v .suf{font-size:.45em;letter-spacing:0;color:var(--fg2)}
.lp-packc h3{font-size:21px}
.lp-packc__bar{position:relative;display:block;height:6px;margin-top:auto;border-radius:var(--r-pill);background:var(--lp-paper-shade);overflow:hidden}
.lp-packc__bar i{position:absolute;inset:0 auto 0 0;width:calc(var(--v,0) * 100%);border-radius:inherit;background:var(--lp-kraft);transform-origin:0 50%}
.js .lp-packc__bar i{transform:scaleX(0);transition:transform 1.6s var(--ease-soft) calc(.2s + var(--k) * .15s)}
.js .lp-packc.is-in .lp-packc__bar i{transform:none}
.lp-pk{color:var(--lp-kraft-ink)}

/* tri3 */
.lp-tri3{display:grid;gap:12px}
@media (min-width:900px){ .lp-tri3{grid-template-columns:repeat(3,minmax(0,1fr))} .lp-tri3--4{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (min-width:640px) and (max-width:899px){ .lp-tri3--4{grid-template-columns:repeat(2,minmax(0,1fr))} }
.lp-tri3__c{--k:0;display:flex;flex-direction:column;gap:10px;padding:26px 24px 28px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-tri3__c:hover{transform:translateY(-4px);box-shadow:var(--elev-2)}
.lp-tri3__c .ic{width:52px;height:52px;display:grid;place-items:center;margin-bottom:16px;border-radius:50%;background:var(--lp-paper-shade);color:var(--lp-navy);transition:background-color var(--t-short),color var(--t-short),transform var(--t-med) var(--ease-back)}
.lp-tri3__c:hover .ic{background:var(--lp-navy);color:#fff;transform:rotate(-8deg) scale(1.06)}
.lp-tri3__c .ic .lp-ic{width:24px;height:24px}
.lp-tri3__c h3{font-size:clamp(21px,1.7vw,25px)}
.lp-tri3__c p{font-size:15px}
[data-tone="forest"] .lp-tri3__c .ic,[data-tone="ink"] .lp-tri3__c .ic{background:rgba(255,255,255,.08);color:var(--fg)}

/* sites (ISO / EMAS) */
.lp-sites{display:grid;gap:12px}
@media (min-width:900px){ .lp-sites{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-site{--k:0;display:grid;justify-items:start;gap:10px;padding:24px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-site .lp-seal{width:120px;height:120px;margin-bottom:10px}
.lp-site h3{font-size:24px}
.lp-seal--xl{width:100%;max-width:440px}

/* ---------------------------------------------------------------- highlights feature */
.lp-feature{position:relative;display:grid;border-radius:var(--r-sheet);overflow:hidden;background:var(--card);color:var(--fg2);isolation:isolate}
.lp-feature__m{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--lp-paper-shade)}
.lp-feature__m img{width:100%;height:114%;object-fit:cover;margin-top:-7%;transition:transform 1.4s var(--ease)}
.lp-feature:hover .lp-feature__m img{transform:scale(1.04)}
.lp-feature__b{display:grid;align-content:center;gap:14px;padding:clamp(24px,4vw,56px)}
.lp-feature__b .lp-over{margin:0;color:var(--fg)}
.lp-feature__b strong{font:500 clamp(34px,4.4vw,66px)/1 var(--f-display);letter-spacing:-.025em;color:var(--fg)}
.lp-feature__b > span:not(.lp-over):not(.lp-link){font-size:16.5px;max-width:46ch}
.lp-feature__b .lp-link{margin-top:10px}
[data-tone="ink"] .lp-feature{background:rgba(255,255,255,.04);border:1px solid var(--hair)}
.lp-feature--light{border:1px solid var(--hair)}
@media (min-width:1024px){ .lp-feature{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)} .lp-feature__m{aspect-ratio:auto;min-height:520px} }

/* ---------------------------------------------------------------- media library */
.lp-mfilt{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;margin-bottom:clamp(28px,3vw,40px)}
.lp-media{display:grid;gap:clamp(16px,2vw,24px);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.lp-mc{display:flex;flex-direction:column;gap:14px;color:var(--fg2)}
.lp-mc.is-out{display:none}
.lp-mc__m{position:relative;display:block;width:100%;aspect-ratio:4/3;border-radius:var(--r-card);overflow:hidden;background:var(--lp-paper-shade);text-align:left}
.lp-mc__m img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.lp-mc:hover .lp-mc__m img{transform:scale(1.05)}
.lp-mc__k{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--r-pill);background:rgba(255,252,247,.92);font:500 11px/1 var(--f-mono);color:var(--lp-ink)}
.lp-mc__k .lp-ic{width:14px;height:14px}
.lp-mc__play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;display:grid;place-items:center;border-radius:50%;background:rgba(255,252,247,.94);color:var(--lp-ink);box-shadow:var(--elev-2);transition:transform var(--t-med) var(--ease-back)}
.lp-mc__play::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1.5px solid rgba(255,252,247,.8);animation:lp-ping 2.4s var(--ease) infinite}
.lp-mc__play .lp-ic{width:26px;height:26px;margin-left:3px;fill:currentColor}
.lp-mc__m:hover .lp-mc__play{transform:scale(1.1)}
.lp-mc--film{grid-column:1/-1}
@media (min-width:900px){ .lp-mc--film{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,56px)} .lp-mc--film .lp-mc__m{aspect-ratio:16/9} .lp-mc--film h3{font-size:clamp(28px,3vw,44px)} }
.lp-mc__b{display:grid;gap:6px}
.lp-mc__b h3{font-size:clamp(19px,1.5vw,22px);line-height:1.2}
.lp-mc__b p{font-size:14.5px}
.lp-mc__b .lp-link{margin-top:8px;font-size:14px}
.lp-media__empty{padding:28px;text-align:center;border-radius:var(--r-card);border:1px dashed var(--hair-2)}

/* ---------------------------------------------------------------- article */
.lp-progress{position:fixed;left:0;right:0;top:0;z-index:62;height:3px;pointer-events:none}
.lp-progress span{display:block;height:100%;background:var(--lp-navy);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.lp-article{padding-top:clamp(40px,5vw,72px)}
.lp-article__grid{display:grid;gap:32px}
.lp-article__aside{display:grid;align-content:start;gap:24px}
.lp-prose--article{max-width:72ch;font-size:clamp(17px,1.25vw,19px);line-height:1.75}
.lp-prose--article > p:first-of-type::first-letter{float:left;margin:.08em .1em 0 0;font:500 3.6em/.82 var(--f-display);color:var(--lp-navy)}
.lp-prose--article h2{scroll-margin-top:calc(var(--hd-h) + 24px)}
@media (min-width:1024px){
  .lp-article__grid{grid-template-columns:220px minmax(0,1fr);column-gap:clamp(40px,6vw,104px)}
  .lp-article__aside{position:sticky;top:calc(var(--hd-h) + 32px)}
}
.lp-toc{display:grid;gap:10px}
.lp-toc > p{font:600 11.5px/1 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--fg)}
.lp-toc ol{position:relative;display:grid;border-left:1px solid var(--hair-2)}
.lp-toc a{position:relative;display:block;padding:8px 0 8px 16px;font-size:14px;line-height:1.35;color:var(--fg2);transition:color var(--t-short)}
.lp-toc a::before{content:"";position:absolute;left:-1px;top:6px;bottom:6px;width:2px;background:var(--lp-navy);transform:scaleY(0);transition:transform var(--t-med) var(--ease)}
.lp-toc a:hover{color:var(--fg)}
.lp-toc a[aria-current]{color:var(--fg);font-weight:600}
.lp-toc a[aria-current]::before{transform:none}
.lp-share{display:flex;gap:8px}
.lp-share > *{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair-2);color:var(--fg);transition:background-color var(--t-short),color var(--t-short),border-color var(--t-short)}
.lp-share > *:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.lp-share .lp-ic{width:18px;height:18px}
@media (max-width:1023px){ .lp-toc{display:none} .lp-article__aside{order:2} }
.lp-pn{border-top:1px solid var(--hair);background:var(--bg)}
.lp-pn__in{display:grid;grid-template-columns:1fr 1fr}
.lp-pn__a{display:grid;gap:8px;padding:clamp(28px,4vw,48px) 0;color:var(--fg2);transition:color var(--t-short)}
.lp-pn__a .k{display:inline-flex;align-items:center;gap:8px;font:500 11px/1 var(--f-mono);letter-spacing:.05em;text-transform:uppercase}
.lp-pn__a strong{font:500 clamp(20px,2vw,30px)/1.2 var(--f-display);letter-spacing:-.012em;color:var(--fg);max-width:22ch;transition:transform var(--t-med) var(--ease)}
.lp-pn__a--prev{padding-right:24px}
.lp-pn__a--next{padding-left:24px;border-left:1px solid var(--hair);text-align:right;justify-items:end}
.lp-pn__a--prev:hover strong{transform:translateX(-8px)}
.lp-pn__a--next:hover strong{transform:translateX(8px)}

/* ---------------------------------------------------------------- LAN */
.lp-lan__v{margin-top:clamp(28px,3vw,44px);max-width:34ch;font:400 clamp(24px,2.6vw,38px)/1.25 var(--f-display);color:var(--fg)}

/* ---------------------------------------------------------------- contact */
.lp-contact{display:grid;gap:clamp(40px,5vw,80px)}
@media (min-width:1024px){ .lp-contact{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:start} .lp-contact__aside{position:sticky;top:calc(var(--hd-h) + 24px)} }
.lp-contact__form{padding:clamp(24px,3.4vw,48px);border-radius:var(--r-sheet);background:var(--lp-paper-bright);border:1px solid var(--hair)}
.lp-contact__aside{display:grid;gap:12px}
.lp-office{padding:20px 22px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-office .lp-over{margin-bottom:10px}
.lp-office h3{font-size:24px;margin-bottom:6px}
.lp-office > p:not(.lp-over){font-size:14.5px;line-height:1.55}
.lp-office--hq{background:var(--lp-ink);border-color:var(--lp-ink);color:rgba(247,243,234,.78)}
.lp-office--hq h3{color:#f7f3ea}
.lp-office--hq .lp-over{color:#f7f3ea}
.lp-office__tel{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font:500 14px/1 var(--f-mono);color:var(--fg)}
.lp-office--hq .lp-office__tel{color:#fffcf7}
.lp-office__tel .lp-ic{width:32px;height:32px;padding:7px;border-radius:50%;background:var(--lp-paper-shade);color:var(--lp-navy)}
.lp-office--hq .lp-office__tel .lp-ic{background:rgba(255,255,255,.12);color:#fffcf7}
.lp-office__tel:hover span{text-decoration:underline;text-underline-offset:3px}
.lp-office__li{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:var(--r-card);border:1px solid var(--hair);font-weight:600;color:var(--fg);transition:border-color var(--t-short),background-color var(--t-short)}
.lp-office__li span{flex:1}
.lp-office__li:hover{border-color:#0a66c2;background:rgba(10,102,194,.05)}
.lp-office__li .lp-ic:first-child{color:#0a66c2}
.lp-sitesl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:0 28px;margin-bottom:clamp(28px,3vw,44px);border-top:1px solid var(--hair-2)}
.lp-sitesl > div{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--hair)}
.lp-sitesl dt{font:500 11px/1.2 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg2)}
.lp-sitesl dd{font-weight:600;font-size:14.5px;line-height:1.45;color:var(--fg)}

/* ---------------------------------------------------------------- dealer finder */
.lp-finder{display:grid;gap:clamp(28px,4vw,64px);align-items:center}
@media (min-width:1024px){ .lp-finder{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
.lp-finder__f{display:grid;gap:26px;padding:clamp(24px,3.4vw,44px);border-radius:var(--r-sheet);background:var(--card);border:1px solid var(--hair)}
.lp-finder__in{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--hair-2)}
.lp-finder__in > .lp-ic{color:var(--lp-navy)}
.lp-finder__in input{border-bottom:0!important}
.lp-fld.is-err .lp-finder__in{border-bottom-color:var(--lp-danger)}
.lp-finder__geo{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--hair-2);font:600 12.5px/1 var(--f-sans);color:var(--fg);transition:background-color var(--t-short),color var(--t-short)}
.lp-finder__geo:hover{background:var(--fg);color:var(--bg)}
.lp-finder__geo .lp-ic{width:16px;height:16px}
.lp-finder__geo.is-busy .lp-ic{animation:lp-spin 1s linear infinite}
.lp-finder__needs legend{margin-bottom:12px;font:600 12px/1.2 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--fg2)}
.lp-finder__f > .lp-btn{justify-self:start}
.lp-finder__stage{position:relative;display:grid;place-items:center;min-height:420px}
.lp-finder__radar{width:min(100%,460px);aspect-ratio:1;transition:transform .8s var(--ease-soft),opacity .6s}
.lp-finder__radar svg{width:100%;height:100%;color:var(--lp-navy)}
.lp-finder__res{position:absolute;left:50%;top:50%;width:min(100%,400px);padding:28px;border-radius:var(--r-sheet);background:var(--lp-paper-bright);border:1px solid var(--hair);box-shadow:var(--elev-3);
  transform:translate(-50%,-50%);animation:lp-res-in .7s var(--ease-soft)}
.lp-finder__res h3{font-size:clamp(26px,2.4vw,34px);margin-bottom:10px}
.lp-finder__res p:not(.lp-over){font-size:15px}
.lp-finder.has-res .lp-finder__radar{transform:scale(.9);opacity:.35}
@keyframes lp-res-in{from{opacity:0;transform:translate(-50%,-44%) scale(.96)}}

/* ---------------------------------------------------------------- legal */
.lp-legal{padding-top:clamp(40px,5vw,72px)}
.lp-legal__grid{display:grid;gap:32px}
@media (min-width:1024px){ .lp-legal__grid{grid-template-columns:240px minmax(0,1fr);column-gap:clamp(40px,6vw,104px);align-items:start} .lp-toc--legal{position:sticky;top:calc(var(--hd-h) + 32px)} }
@media (max-width:1023px){ .lp-toc--legal{display:grid;padding:18px 20px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)} }
.lp-prose--legal{max-width:76ch;font-size:16.5px}
.lp-legal__s{padding-bottom:clamp(28px,3vw,40px);margin-bottom:clamp(28px,3vw,40px);border-bottom:1px solid var(--hair);scroll-margin-top:calc(var(--hd-h) + 24px)}
.lp-legal__s h2{display:flex;align-items:baseline;gap:14px;margin:0 0 16px;font-size:clamp(26px,2.4vw,34px)}
.lp-legal__s h2 .n{order:-1;font:500 12px/1 var(--f-mono);color:var(--fg2)}
.lp-legal__s ul{display:grid;gap:8px;margin:12px 0;padding-left:0}
.lp-legal__s li{position:relative;padding-left:20px}
.lp-legal__s li::before{content:"";position:absolute;left:2px;top:.7em;width:8px;height:1.5px;background:var(--lp-navy)}
.lp-legal__s table{width:100%;margin:16px 0;font-size:14.5px;border:1px solid var(--hair);border-radius:12px;border-collapse:separate;overflow:hidden}
.lp-legal__s th,.lp-legal__s td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--hair);vertical-align:top}
.lp-legal__s th{font:500 11px/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.04em;background:var(--lp-paper);color:var(--fg2)}
.lp-legal__s tr:last-child td{border-bottom:0}
.lp-legal__s .lp-btn{margin-top:12px;text-decoration:none}
.lp-legal__more{display:flex;flex-wrap:wrap;gap:8px}
.lp-legal__more a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 18px;border-radius:var(--r-pill);border:1px solid var(--hair-2);font-weight:600;font-size:14px;color:var(--fg);text-decoration:none;transition:background-color var(--t-short),color var(--t-short)}
.lp-legal__more a:hover{background:var(--fg);color:var(--bg)}

/* ── 68-fixes.css ── */
/* =====================================================================
   68 · Gap fills — wrappers and small parts that had no base style.
   ===================================================================== */
:is(.lp-home__text,.lp-phero__text,.lp-chero__text,.lp-lhero__text,.lp-shero__text,.lp-gate__text,.lp-404__text,.lp-cta__text,.lp-band__text,.lp-dist__text,.lp-fato__text,.lp-split2__t,.lp-sys__b,.lp-srow__b,.lp-split__b){position:relative;z-index:1;min-width:0}
.lp-proto__t{display:grid;gap:16px;align-content:center;min-width:0}
.lp-acc__q{flex:1;min-width:0}
.lp-tabs{position:relative}
.lp-ic--ext{width:14px;height:14px;opacity:.7;flex:none}
.lp-fld .opt{margin-left:8px;font:500 11px/1 var(--f-mono);letter-spacing:.02em;text-transform:none;color:var(--fg2);opacity:.75}
.lp-proofc__t{align-self:flex-start;display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:var(--r-pill);background:var(--lp-forest);color:#f4efe3;font:600 11px/1 var(--f-mono);letter-spacing:.1em}
.lp-pdp__certs{display:flex;flex-wrap:wrap;gap:8px}
.lp-finder__needs,.lp-form__motif{display:grid;gap:10px}
.lp-sres__idle{display:grid;gap:18px;justify-items:start}

/* certifications marquee */
.lp-mq--certs{background:transparent}
.lp-mq--certs .lp-mq__i{font-style:italic}
.lp-mq--certs .lp-mq__s{color:var(--lp-leaf)}

/* filter chip rows / facets scroll sideways on small screens */
@media (max-width:719px){
  .lp-chips--filter,.lp-seg--facets{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--gut),#000 calc(100% - var(--gut)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--gut),#000 calc(100% - var(--gut)),transparent 100%)}
  .lp-chips--filter::-webkit-scrollbar,.lp-seg--facets::-webkit-scrollbar{display:none}
  .lp-chips--filter .lp-chip{flex:none}
}

/* media library: placeholder plates */
.lp-mc__ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--lp-slate);background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(9,13,69,.035) 14px 15px),var(--lp-paper-shade)}
.lp-mc__ph > .lp-ic{width:44px;height:44px;opacity:.55}
.lp-mc__ph--logo{grid-template-columns:1fr 1fr;place-items:stretch;background:none}
.lp-mc__ph--logo > span{display:grid;place-items:center;padding:14%}
.lp-mc__ph--logo .p{background:var(--lp-paper-bright)}
.lp-mc__ph--logo .i{background:var(--lp-ink)}
.lp-mc__ph--logo .i img{filter:brightness(0) invert(1)}
.lp-mc__ph--logo img{width:100%;height:auto;max-width:150px;transition:transform .8s var(--ease)}
.lp-mc:hover .lp-mc__ph--logo img{transform:scale(1.05)}

/* product visual with photo */
.lp-pv--img{background:radial-gradient(64% 64% at 50% 46%,#fff 0,transparent 100%)}
.lp-scrolly__img--photo img{object-fit:cover}

/* ---------------------------------------------------------------- v2 JS companions */
html{scrollbar-gutter:stable}
/* split words that carry decorations (insertion marks) cannot be masked: rise + fade instead */
[data-split] .w--free{overflow:visible}
.js [data-split] .w--free > span{transform:translateY(.4em);opacity:0;transition:transform 1.05s var(--ease-soft) calc(var(--wi,0) * 42ms + var(--rd,0s)),opacity .7s var(--ease) calc(var(--wi,0) * 42ms + var(--rd,0s))}
.js [data-split].is-in .w--free > span{transform:none;opacity:1}
/* packaging pictograms */
.lp-pk .d{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lp-pk .d.a{stroke:var(--lp-kraft)}
.lp-pk .d.thin{stroke-width:1.4;opacity:.55}
.js .lp-pk .d{stroke-dasharray:1 2;transition:stroke-dashoffset 1.2s var(--ease-soft) .15s}
.js .lp-pk .d.a{transition-delay:.45s}
.js .lp-pk .d.thin{transition-delay:.7s}
.js .lp-pk:not(.is-in) .d{stroke-dashoffset:1;transition:none}
/* chips rendered by the scripts */
.lp-chip--ghost{background:none;border-style:dashed;color:var(--fg2)}
.lp-chip--ghost:hover{color:var(--fg);border-style:solid}
.lp-cat__active .lp-chip--clear{background:none;border-color:var(--hair-2);color:var(--fg);padding-right:14px}
.lp-cat__active .lp-chip--clear:hover{background:var(--fg);color:var(--bg)}
.lp-pal__chips .lp-chip{min-height:32px;font-size:13px}
/* rails without overflow hide their controls */
.lp-rail.is-static .lp-rail__ui{display:none}
.lp-mx__esc{cursor:pointer}
.lp-mx__esc:hover{color:var(--lp-ink)}
/* busy states */
.lp-btn[aria-busy="true"]{pointer-events:none;opacity:.7}
.lp-cat.is-busy .lp-cat__count strong{color:var(--lp-navy)}

/* ---------------------------------------------------------------- v2 QA pass — mega & overlays */
/* consent card never covers hero calls-to-action on desktop */
@media (min-width:1024px){.lp-consent{left:auto;right:16px}}
/* innovations stage: orbit sized from the stage height, never clipped */
.lp-mxi__stage .lp-orbit{width:auto;height:min(86%,440px);max-width:94%}
.lp-mxi__cap{z-index:2;max-width:46%;padding:6px 10px;border-radius:10px;background:color-mix(in srgb,var(--lp-paper) 78%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
/* secteurs: hidden copy keeps one measure so every collapsed title sits on the same baseline */
/* the copy lives in a 0fr row while collapsed, so every title is anchored to the same bottom line */
.lp-mxt__c .b{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 0fr;gap:0;transition:grid-template-rows .6s var(--ease-soft)}
.lp-mxt__c strong{text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
.lp-mxt__c .x{min-height:0;overflow:hidden}
.lp-mxt__c .xi{display:grid;gap:8px;width:290px;padding-top:9px}
.lp-mxt__c small,.lp-mxt__c .ch{max-width:none}
.lp-mxt__l > li:hover .b,.lp-mxt__l > li:focus-within .b,.lp-mxt__l:not(:hover):not(:focus-within) > li:first-child .b{grid-template-rows:auto 1fr}
/* durabilite: the mini cycle needs room for its station labels */
.lp-mxd{grid-template-columns:300px minmax(0,1.5fr) minmax(260px,.9fr)}
.lp-mxd__art{padding-inline:44px;overflow:visible}
.lp-mxd__art .lp-cycle{overflow:visible}
@media (max-width:1279px){.lp-mxd{grid-template-columns:250px minmax(0,1fr) 240px}.lp-mxd__art{padding-inline:30px}}

/* network motif: edges draw in, nodes light up (all pages using S.network) */
.js .lp-network .e:not(.e--hub){transition:stroke-dashoffset 1.6s var(--ease-soft) calc(var(--k,0) * 55ms)}
.js .lp-network:not(.is-in) .e:not(.e--hub){stroke-dashoffset:1;transition:none}
.js .lp-network .n{transition:opacity .6s var(--ease) calc(var(--k,0) * 70ms + .3s)}
.js .lp-network:not(.is-in) .n{opacity:0;transition:none}
.js .lp-network:not(.is-in) .e--hub{opacity:0}
.lp-network .e--hub{transition:opacity .8s var(--ease) 1s}

/* home · dealers: network composition instead of a photo */
.lp-dist__net{position:relative;margin:0;aspect-ratio:640/520;border-radius:var(--r-sheet);overflow:hidden;isolation:isolate;color:#f7f3ea;
  background:radial-gradient(60% 55% at 50% 50%,rgba(169,188,245,.16),transparent 72%),rgba(255,255,255,.025);border:1px solid var(--hair)}
.lp-dist__net::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(247,243,234,.16) 1px,transparent 1.6px);background-size:22px 22px;
  -webkit-mask:radial-gradient(75% 70% at 50% 50%,#000 30%,transparent 80%);mask:radial-gradient(75% 70% at 50% 50%,#000 30%,transparent 80%)}
.lp-dist__net .lp-network{position:absolute;inset:0;width:100%;height:100%}
.lp-network--dist .e{stroke-opacity:.32}
.lp-network--dist .hub{display:none}
.lp-dist__hub{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;width:clamp(96px,20%,132px);aspect-ratio:1;border-radius:50%;background:#fffcf7;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.lp-dist__hub::before,.lp-dist__hub::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(169,188,245,.6);animation:lp-dist-ping 3.2s var(--ease) infinite}
.lp-dist__hub::after{animation-delay:1.6s}
@keyframes lp-dist-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.3);opacity:0}}
.lp-dist__hub img{width:64%;height:auto}
.lp-dist__tag{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:var(--r-pill);
  background:rgba(9,13,69,.55);border:1px solid rgba(255,252,247,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 12px/1 var(--f-mono);color:#fffcf7;white-space:nowrap;
  animation:lp-dist-float 7s var(--ease-io) infinite;animation-delay:calc(var(--k,0) * -1.7s)}
.lp-dist__tag i{width:7px;height:7px;border-radius:50%;background:#a9bcf5;box-shadow:0 0 0 4px rgba(169,188,245,.18)}
.lp-dist__tag--n{gap:6px;padding:10px 15px;font-family:var(--f-sans);font-size:13px}
.lp-dist__tag--n b{font:500 22px/1 var(--f-display);color:#fff}
@keyframes lp-dist-float{50%{transform:translateY(-8px)}}
.js .lp-dist__net:not(.is-in) .lp-dist__tag{opacity:0}
.lp-dist__net .lp-dist__tag{transition:opacity .6s var(--ease) calc(var(--k,0) * 140ms + .9s)}
@media (prefers-reduced-motion:reduce){.lp-dist__hub::before,.lp-dist__hub::after,.lp-dist__tag{animation:none}}

/* section rules & strike-throughs: pathLength dashes break under non-scaling strokes, so draw with a clip instead */
.lp-head__rule path{vector-effect:none}
.lp-strike__w path{stroke-dasharray:none;stroke-dashoffset:0}
.js .lp-strike__w path{stroke-dashoffset:0;transition:none}
.js .lp-strike__w svg{clip-path:inset(-60% 100% -60% -2%);transition:clip-path .75s var(--ease) calc(.4s + var(--k,0) * .28s)}
.js .lp-strike.is-in .lp-strike__w svg{clip-path:inset(-60% -2% -60% -2%)}
/* toasts surface at the bottom, away from the navigation */
.lp-toast{top:auto;bottom:24px;transform:translate(-50%,16px)}
.lp-toast.is-on{transform:translate(-50%,0)}

/* footer legal bar: buttons share the links' baseline, the country switch stays on one line, the back-to-top never covers it */
.lp-ft__legal nav{align-items:center}
.lp-ft__legal nav a,.lp-ft__legal nav button{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0;line-height:1.2;white-space:nowrap;background:none;border:0;cursor:pointer}
.lp-ft__legal nav a:hover{color:#fff}
.lp-ft__legal nav .lp-ic{width:16px;height:16px;flex:none}
.lp-ft__legal nav [data-open-country]{padding:0 12px;border:1px solid rgba(247,243,234,.22);border-radius:var(--r-pill)}
.lp-ft__legal nav [data-open-country]:hover{border-color:rgba(247,243,234,.55)}
@media (min-width:1024px){.lp-ft__legal{padding-right:76px}}

/* FATO strip photo: keep the blossoms in frame, sign it */
.lp-fato__fig{position:relative}
.lp-fato__fig .lp-fig__m img{object-position:88% 40%}
.lp-fato__mark{position:absolute;left:clamp(18px,2.4vw,32px);bottom:clamp(10px,1.6vw,22px);z-index:2;font:500 clamp(54px,7.4vw,118px)/1 var(--f-display);letter-spacing:.08em;color:#3d2f14;opacity:.88;pointer-events:none}
.js .lp-fato__fig:not(.is-in) .lp-fato__mark{opacity:0;transform:translateY(.25em)}
.lp-fato__fig .lp-fato__mark{transition:opacity .9s var(--ease) .5s,transform 1.2s var(--ease-soft) .5s}

/* a closing CTA band becomes an inset card, so it never merges with the footer's ink */
:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta:last-child{margin:0 clamp(10px,1.6vw,24px) clamp(10px,1.6vw,24px);border-radius:clamp(22px,2.6vw,36px);isolation:isolate}
:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta:last-child::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:radial-gradient(55% 80% at 100% 0%,rgba(169,188,245,.16),transparent 62%),radial-gradient(45% 70% at 0% 100%,rgba(1,33,105,.55),transparent 72%)}
:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta[data-tone="forest"]:last-child::before{background:radial-gradient(55% 80% at 100% 0%,rgba(168,220,194,.16),transparent 62%)}

/* product cards: photos bleed, cut-outs float; the footer never overflows narrow cards */
.lp-pv--photo{padding:0;background:none}
.lp-pv--photo img{object-fit:cover;filter:none;transform-origin:50% 50%}
.lp-pc:hover .lp-pv--photo img{transform:scale(1.05)}
.lp-pc{container-type:inline-size;container-name:pc}
.lp-pc__foot{flex-wrap:nowrap;min-width:0}
.lp-pc__foot .lp-code{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.lp-pc__cmp{flex:none}
@container pc (max-width:262px){
  .lp-pc__foot .lp-code--na{display:none}
  .lp-pc__foot{justify-content:flex-end}
  .lp-pc__foot:has(button.lp-code){justify-content:space-between}
}
@container pc (max-width:200px){
  .lp-pc__cmp{width:34px;padding:0;justify-content:center}
  .lp-pc__cmp span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
/* the sticky filter column hints that it scrolls */
@media (min-width:1024px){.lp-filt{padding-bottom:36px;-webkit-mask:linear-gradient(#000 calc(100% - 44px),transparent);mask:linear-gradient(#000 calc(100% - 44px),transparent)}}
/* product sticky bar: the meta style must not leak into button labels */
.lp-pdpbar__in .lp-btn span{font:inherit;text-transform:none;color:inherit;letter-spacing:inherit}
/* plan legend: the description sits under the product name */
.lp-plan__legend .t small{display:block;margin-top:3px;font-weight:400;font-size:13px;line-height:1.42;color:var(--fg2)}
/* consent checkbox reads as a sentence, not as a field label */
.lp-fld > label.lp-check{font:400 14px/1.5 var(--f-sans);letter-spacing:0;text-transform:none;color:var(--fg2)}
.lp-fld > label.lp-check a{font-weight:600;color:var(--lp-navy);text-decoration:underline;text-underline-offset:3px}
.lp-fld.is-ok > label.lp-check::after{content:none}
/* shelf lists: the name keeps its natural width, the note wraps in the remaining space */
.lp-shelf li{grid-template-columns:40px auto minmax(0,1fr)}
.lp-shelf li > span:last-child{line-height:1.4;text-wrap:pretty}
/* place tiles fill the row instead of leaving empty tracks */
.lp-places{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.lp-places li{min-height:150px;justify-content:space-between}
.lp-places li:hover .ic{background:var(--lp-navy);color:#fff}
.lp-places .ic{transition:background-color var(--t-med),color var(--t-med)}
/* fixed-size card sets fill their row (product grids keep auto-fill so filtered results keep a stable card size) */
.lp-proofs{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.lp-syscards{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.lp-sys4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.lp-soap__objs{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.lp-famt{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.lp-folds{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.lp-compat{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.lp-quick{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.lp-formats{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.lp-certs{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.lp-splates{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.lp-certs > :only-child,.lp-proofs > :only-child{max-width:420px}
/* fato.jpg is a 5:1 strip: every crop centres on the blossoming branch */
img[src$="fato.jpg"]{object-position:79% 45%}
.lp-fato__fig .lp-fig__m img{object-position:86% 40%}
/* hero cycles keep their station labels inside the viewport */
.lp-phero__art > .lp-cycle{overflow:visible}
.lp-phero--sect .lp-phero__art{padding-inline:clamp(28px,5.5vw,84px);box-sizing:border-box}
@media (min-width:1024px){.lp-phero--sect .lp-phero__art{justify-self:end;margin-right:clamp(0px,1vw,16px)}}
.lp-split2__a > .lp-cycle{overflow:visible}
.lp-split2__a:has(> .lp-cycle){padding-inline:clamp(28px,5.5vw,84px);box-sizing:border-box}
.lp-docs{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.lp-certs{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-sec[data-tone] + .lp-cta:last-child{margin-top:clamp(10px,1.6vw,24px)}
[data-count]{font-variant-numeric:tabular-nums lining-nums}
.lp-famt{grid-template-columns:repeat(auto-fit,minmax(min(100%,165px),1fr))}
/* gallery: photographs fill the stage, cut-outs keep their breathing room */
.lp-gal__v--photo{padding:0}
.lp-gal__v--photo img,.lp-gal__v--img.lp-gal__v--photo:not(:first-of-type) img{object-fit:cover;border-radius:0;filter:none}
.lp-gal__v--photo figcaption{background:rgba(255,252,247,.92)}

/* ── 70-svg.css ── */
/* =====================================================================
   70 · SVG — technical drawings, motifs and diagrams.
   One grammar for every drawing: .d stroke · .f/.f2 paper faces · .a accent
   · .thin/.dim/.perf hairlines. Paths carry pathLength="1" + --i, so they
   draw in once their root svg gets .is-in (set by circolare-motion.js).
   ===================================================================== */

/* ---------------------------------------------------------------- 70.1 grammar & palette */
:root{--dw-sw:1.5;--dw-a:var(--lp-navy);--dw-f:var(--lp-paper-bright);--dw-f2:#f1ebdf;--dw-f3:#e2d8c6;--dw-t:1.5s;--dw-s:.075s;--dw-d:.1s}
[data-tone="ink"],[data-tone="black"]{--dw-a:#a9bcf5;--dw-f:color-mix(in srgb,#fff 6%,var(--bg));--dw-f2:color-mix(in srgb,#fff 12%,var(--bg));--dw-f3:color-mix(in srgb,#000 28%,var(--bg))}
[data-tone="forest"]{--dw-a:#a8dcc2;--dw-f:color-mix(in srgb,#fff 6%,var(--bg));--dw-f2:color-mix(in srgb,#fff 12%,var(--bg));--dw-f3:color-mix(in srgb,#000 28%,var(--bg))}
:is(.lp-pv--draw,.lp-famt__art,.lp-formats__art,.lp-compat__v,.lp-sys4__art,.lp-gal__stage,.lp-split2__a--draw,.lp-folds__c,.lp-plan__stage,.lp-sortw,.lp-ctile__art,.lp-mxs__art,.lp-pal__v,.lp-sr__v,.lp-wt__stage){--dw-a:var(--lp-navy);--dw-f:var(--lp-paper-bright);--dw-f2:#f1ebdf;--dw-f3:#e2d8c6}

/* stroke weight follows the rendered size (viewBox 200 for drawings, 400–520 for motifs) */
:is(.lp-pal__v,.lp-sr__v,.lp-mxs__art,.lp-ctile__art,.lp-formats__art,.lp-gal__t,.lp-tray,.lp-cmp__h){--dw-sw:2.6}
:is(.lp-pv--draw,.lp-famt__art,.lp-compat__v,.lp-sys4__art,.lp-step__art,.lp-touch__c){--dw-sw:1.9}
:is(.lp-gal__v--draw,.lp-chero__draw,.lp-split2__a--draw,.lp-turn__r,.lp-sys__art){--dw-sw:1.2}
.lp-step__art :is(.lp-q,.lp-key,.lp-mag,.lp-leaf,.lp-bal,.lp-box),:is(.lp-cat__empty,.lp-sres__empty) :is(.lp-q,.lp-key,.lp-mag,.lp-bal){--dw-sw:3.4}
.lp-cmp__empty .lp-bal{--dw-sw:2.4}

:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .d{fill:none;stroke:currentColor;stroke-width:var(--dw-sw);stroke-linecap:round;stroke-linejoin:round}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .f{fill:var(--dw-f)}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .f2{fill:var(--dw-f2)}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .f3{fill:var(--dw-f3)}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .d.fo{stroke:none}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .a{stroke:var(--dw-a)}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .f.a{fill:color-mix(in srgb,var(--dw-a) 12%,var(--dw-f))}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .thin{stroke-width:calc(var(--dw-sw) * .6);stroke-opacity:.5}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .perf{stroke-dasharray:.03 .028;stroke-opacity:.75}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .dim{stroke-width:calc(var(--dw-sw) * .55);stroke-opacity:.34}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .dot{fill:var(--dw-a);stroke:none;transform-box:fill-box;transform-origin:center}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .mesh{stroke-width:calc(var(--dw-sw) * .5);stroke-opacity:.42}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) :is(.drop,.drop2,.drop3){fill:var(--dw-a);transform-box:fill-box;transform-origin:50% 0}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .mist{fill:var(--dw-a);fill-opacity:.7;transform-box:fill-box;transform-origin:center}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .brush{stroke:currentColor;stroke-width:.7;stroke-opacity:.22}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .sheen{fill:currentColor;fill-opacity:.07}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .lvl{fill:var(--dw-a);fill-opacity:.16;transform-box:fill-box;transform-origin:50% 100%}
:is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .lbl{font:600 11px/1 var(--f-mono);letter-spacing:.14em;fill:currentColor;fill-opacity:.6;stroke:none}
.lp-draw--napkin .lbl{font-size:13px;fill:var(--dw-a);fill-opacity:1}
.lp-draw .mk{display:none}
.lp-turn{--th:calc(90deg - var(--p,0) * 360deg)}
.lp-turn .lp-draw--napkin .mk{display:inline;fill:var(--dw-a);transform:translate(calc(cos(var(--th)) * var(--rx) * 1px),calc(sin(var(--th)) * var(--ry) * 1px));opacity:clamp(0,calc(sin(var(--th)) * 4 + 1.6),1)}
.lp-turn .lp-draw--napkin .nap{transform-box:view-box;transform:scaleX(cos(calc(var(--p,0) * 360deg)))}

/* draw-in: hidden until the root svg is .is-in */
.js :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .d[pathLength]{stroke-dasharray:1 2;transition:stroke-dashoffset var(--dw-t) var(--ease-soft) calc(var(--dw-d) + var(--i,0) * var(--dw-s)),fill-opacity .9s var(--ease) calc(var(--dw-d) + .3s + var(--i,0) * var(--dw-s))}
.js :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind):not(.is-in) .d[pathLength]{stroke-dashoffset:1;fill-opacity:0;transition:none}
.js :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .d.perf[pathLength]{stroke-dasharray:.03 .028;transition:opacity .6s var(--ease) calc(var(--dw-d) + .5s + var(--i,0) * var(--dw-s))}
.js :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind):not(.is-in) .d.perf[pathLength]{opacity:0}
.js :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) :is(.d:not([pathLength]),.lbl,.brush,.sheen,.mist,text){transition:opacity .8s var(--ease) calc(var(--dw-d) + .55s)}
.js :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind):not(.is-in) :is(.d:not([pathLength]),.lbl,.brush,.sheen,.mist,text){opacity:0;transition:none}
.js :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .lvl{transition:transform 1.6s var(--ease-soft) 1s}
.js :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind):not(.is-in) .lvl{transform:scaleY(0);transition:none}
/* JS-rendered previews (palette, results, comparer) are always drawn */
.js :is(.lp-pal,.lp-sres,.lp-cmp__h,.lp-tray) :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .d[pathLength]{stroke-dashoffset:0;fill-opacity:1}
.js :is(.lp-pal,.lp-sres,.lp-cmp__h,.lp-tray) :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) :is(.d,.lbl,.brush,.sheen,.mist,text,.perf){opacity:1}
.js :is(.lp-pal,.lp-sres,.lp-cmp__h,.lp-tray) :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind) .lvl{transform:none}

/* hover: accent strokes redraw */
@media (hover:hover){
  :is(.lp-pc,.lp-famt__c,.lp-compat__c,.lp-formats__c,.lp-ctile,.lp-sys4__c,.lp-mxs__h,.lp-sr,.lp-step):hover :is(.lp-draw,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-poles,.lp-diffuse,.lp-unwind).is-in .d.a[pathLength]{animation:lp-redraw 1s var(--ease-soft) both;animation-delay:calc(var(--i,0) * .045s)}
}
@keyframes lp-redraw{from{stroke-dashoffset:1}}

/* living drawings: ambient loops in hero/feature contexts, quick view and on hover */
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-qv__v,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc:hover,.lp-famt__c:hover,.lp-compat__c:hover,.lp-sys4__c:hover,.lp-formats__c:hover,.lp-ctile:hover,.lp-mxs__h:hover) .lp-draw.is-in :is(.drop,.drop2,.drop3){animation:lp-drip 2.8s var(--ease-io) infinite}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-qv__v,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc:hover,.lp-famt__c:hover,.lp-compat__c:hover,.lp-sys4__c:hover,.lp-formats__c:hover,.lp-ctile:hover,.lp-mxs__h:hover) .lp-draw.is-in .drop2{animation-delay:-2.35s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-qv__v,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc:hover,.lp-famt__c:hover,.lp-compat__c:hover,.lp-sys4__c:hover,.lp-formats__c:hover,.lp-ctile:hover,.lp-mxs__h:hover) .lp-draw.is-in .drop3{animation-delay:-1.9s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-qv__v,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc:hover,.lp-famt__c:hover,.lp-compat__c:hover,.lp-sys4__c:hover,.lp-formats__c:hover,.lp-ctile:hover,.lp-mxs__h:hover) .lp-draw.is-in .mist{animation:lp-mist 2.2s var(--ease) infinite;animation-delay:calc((var(--i,6) - 6) * .2s - 2.2s)}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-qv__v,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc:hover,.lp-famt__c:hover,.lp-compat__c:hover,.lp-sys4__c:hover,.lp-formats__c:hover,.lp-ctile:hover,.lp-mxs__h:hover) .lp-draw.is-in .sheen{animation:lp-sheen 3.6s var(--ease-io) infinite}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-qv__v,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc:hover,.lp-famt__c:hover,.lp-compat__c:hover,.lp-sys4__c:hover,.lp-formats__c:hover,.lp-ctile:hover,.lp-mxs__h:hover) .lp-draw.is-in .dot{animation:lp-dotp 2.4s var(--ease-io) infinite}
/* DOSI DREAM station drawing (.lp-draw--dosi-dream) */
.lp-draw--dosi-dream .dd-y{stroke:#d97706;fill:rgba(234,179,8,.16)}
.lp-draw--dosi-dream .dd-r{stroke:#dc2626;fill:rgba(220,38,38,.16)}
.lp-draw--dosi-dream .dd-b{stroke:#0095d9;fill:rgba(0,149,217,.16)}
.lp-draw--dosi-dream .dd-g{stroke:#16a34a;fill:rgba(22,163,74,.16)}
.lp-draw--dosi-dream .dd-liq{transform-box:fill-box;transform-origin:50% 100%}
.lp-draw--dosi-dream .dd-lvl-y{fill:#d97706;fill-opacity:.38}
.lp-draw--dosi-dream .dd-lvl-r{fill:#dc2626;fill-opacity:.38}
.lp-draw--dosi-dream .dd-lvl-b{fill:#0095d9;fill-opacity:.38}
.lp-draw--dosi-dream .dd-lvl-g{fill:#16a34a;fill-opacity:.38}
.lp-draw--dosi-dream .dd-wave{fill:none;stroke-width:1.6;stroke-linecap:round;transform-box:fill-box;transform-origin:50% 50%}
.lp-draw--dosi-dream .dd-wave-y{stroke:#d97706}
.lp-draw--dosi-dream .dd-wave-r{stroke:#dc2626}
.lp-draw--dosi-dream .dd-wave-b{stroke:#0095d9}
.lp-draw--dosi-dream .dd-wave-g{stroke:#16a34a}
.lp-draw--dosi-dream .dd-bub{transform-box:fill-box;transform-origin:center;opacity:0}
.lp-draw--dosi-dream .dd-bub-y{fill:#d97706}
.lp-draw--dosi-dream .dd-bub-r{fill:#dc2626}
.lp-draw--dosi-dream .dd-bub-b{fill:#0095d9}
.lp-draw--dosi-dream .dd-bub-g{fill:#16a34a}
.lp-draw--dosi-dream .dd-flow{fill:none;stroke:#0095d9;stroke-width:1.4;stroke-linecap:round;stroke-dasharray:3 5;opacity:.65}
.lp-draw--dosi-dream .dd-wheel{transform-box:fill-box;transform-origin:center}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-wheel{animation:lp-dd-turn 5.4s var(--ease-io) infinite}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-liq{animation:lp-dd-slosh 3.2s ease-in-out infinite}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-lvl-r{animation-delay:-.8s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-lvl-b{animation-delay:-1.6s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-lvl-g{animation-delay:-2.4s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-wave{animation:lp-dd-wave 2.4s ease-in-out infinite}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-wave-r{animation-delay:-.6s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-wave-b{animation-delay:-1.2s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-wave-g{animation-delay:-1.8s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-bub{animation:lp-dd-bub 2.6s ease-in infinite}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-b2{animation-delay:-.65s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-b3{animation-delay:-1.3s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-b4{animation-delay:-1.95s}
:is(.lp-chero__draw,.lp-gal__v--draw,.lp-gal__t--draw,.lp-qv__v,.lp-qv__tb--draw,.lp-split2__a--draw,.lp-sys__art,.lp-step__art,.lp-pc,.lp-famt__c,.lp-compat__c,.lp-sys4__c,.lp-formats__c,.lp-ctile,.lp-mxs__h) .lp-draw--dosi-dream.is-in .dd-flow{animation:lp-dd-flow 1.2s linear infinite}
@keyframes lp-dd-turn{0%,100%{transform:rotate(0deg)}35%{transform:rotate(90deg)}70%{transform:rotate(-90deg)}}
@keyframes lp-dd-slosh{0%,100%{transform:scaleY(1) skewY(0deg)}25%{transform:scaleY(1.12) skewY(3.5deg)}50%{transform:scaleY(.88) skewY(-2deg)}75%{transform:scaleY(1.08) skewY(-3.5deg)}}
@keyframes lp-dd-wave{0%,100%{transform:translateY(0) scaleX(1)}25%{transform:translateY(-2.4px) scaleX(.95)}50%{transform:translateY(2.2px) scaleX(1.04)}75%{transform:translateY(-1.8px) scaleX(.96)}}
@keyframes lp-dd-bub{0%{transform:translateY(0) scale(.6);opacity:0}20%{opacity:.85}80%{opacity:.75}100%{transform:translateY(-16px) scale(1.15);opacity:0}}
@keyframes lp-dd-flow{to{stroke-dashoffset:-16}}
@keyframes lp-drip{0%{transform:translateY(-8px) scale(.2);opacity:0}25%{transform:none;opacity:1}75%{transform:translateY(12px) scale(.9);opacity:1}100%{transform:translateY(18px) scale(.5);opacity:0}}
@keyframes lp-mist{0%{transform:translate(-8px,6px) scale(.2);opacity:0}30%{opacity:.9}100%{transform:translate(16px,-9px) scale(1.6);opacity:0}}
@keyframes lp-sheen{0%{transform:translateX(0);opacity:0}25%,70%{opacity:1}100%{transform:translateX(64px);opacity:0}}
@keyframes lp-dotp{50%{transform:scale(1.9)}}
.lp-chero__draw > .lp-draw,.lp-split2__a--draw > .lp-draw{animation:lp-float-y 7s var(--ease-io) infinite}

/* pause ambient loops while off-screen (motion.js toggles .is-vis) */
.js :is(.lp-draw,.lp-orbit,.lp-cycle,.lp-waves,.lp-dissolve,.lp-pull,.lp-mesh,svg.lp-airlaid,.lp-steel,.lp-split,.lp-seal,.lp-network,.lp-tnmap,.lp-box,.lp-q,.lp-key,.lp-mag,.lp-bal,.lp-torn,.lp-leaf,.lp-pinmap,.lp-plan__svg,.lp-map__svg,.lp-detect,.lp-sort,.lp-pipe,.lp-sensor,.lp-radar,.lp-stub,.lp-diffuse,.lp-unwind,.lp-fold,.lp-poles,.lp-tisshero,.lp-sprayhero,.lp-sanihero,.lp-peel > svg):not(.is-vis):not(:is(.lp-pal,.lp-sres,.lp-cmp,.lp-tray) *) *{animation-play-state:paused!important}

/* ---------------------------------------------------------------- 70.2 orbit */
.lp-orbit .track{stroke:currentColor;stroke-opacity:.2;stroke-width:1}
.lp-orbit .track2{stroke:currentColor;stroke-opacity:.16;stroke-width:1;stroke-dasharray:1.5 7}
.lp-orbit .draw{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1 2;opacity:.9;transform:rotate(-90deg);transform-box:view-box;transform-origin:center}
.lp-orbit .tick{stroke:currentColor;stroke-opacity:.4;stroke-width:1.2}
.lp-orbit .spin{transform-box:view-box;transform-origin:center;animation:lp-spin 26s linear infinite}
.lp-orbit .sat{fill:currentColor;transform-box:view-box;transform-origin:center}
.lp-orbit--six .sat{transform:rotate(calc(var(--k,0) * 60deg))}
.lp-orbit--six .spin{animation-duration:48s}
.lp-orbit .ring-text{transform-box:view-box;transform-origin:center;animation:lp-spin 90s linear infinite reverse}
.lp-orbit .ring-text text{font-family:var(--f-mono);font-weight:500;letter-spacing:.2em;fill:currentColor;fill-opacity:.62}
.js .lp-orbit .draw{transition:stroke-dashoffset 2.4s var(--ease-soft) .2s}
.js .lp-orbit:not(.is-in) .draw{stroke-dashoffset:1;transition:none}
.js .lp-orbit :is(.track,.track2,.tick,.ring-text,.sat){transition:opacity 1.2s var(--ease) .3s}
.js .lp-orbit:not(.is-in) :is(.track,.track2,.tick,.ring-text,.sat){opacity:0;transition:none}

/* ---------------------------------------------------------------- 70.3 cycle (process ring) */
.lp-cycle{--cyc-t:12s}
.lp-cycle .ring0{stroke:currentColor;stroke-opacity:.08;stroke-width:1}
.lp-cycle .ring1{stroke:currentColor;stroke-opacity:.22;stroke-width:1.2}
.lp-cycle .ring2{stroke:currentColor;stroke-opacity:.14;stroke-width:1;stroke-dasharray:2 8}
.lp-cycle .ringp{stroke:var(--dw-a);stroke-width:3;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:calc(1 - var(--p,0));transition:stroke-dashoffset .6s var(--ease)}
.lp-cycle .rot{transform-box:view-box;transform-origin:center;animation:lp-spin 120s linear infinite}
.lp-cycle .ring3{stroke:currentColor;stroke-opacity:.3;stroke-width:1;stroke-dasharray:.35 1.65}
.lp-cycle .nd{fill:var(--dw-f);stroke:currentColor;stroke-opacity:.35;stroke-width:1.2;transition:fill .5s var(--ease),stroke .5s var(--ease),stroke-opacity .5s,r .6s var(--ease-back)}
.lp-cycle .nd-core{fill:currentColor;fill-opacity:.45;transition:fill .5s,fill-opacity .5s}
.lp-cycle .nd-n{font:500 12px/1 var(--f-mono);letter-spacing:.1em;fill:currentColor;fill-opacity:.5;transition:fill-opacity .4s}
.lp-cycle .nd-l{font:500 20px/1 var(--f-display);letter-spacing:-.01em;fill:currentColor;transition:fill .4s,opacity .4s}
.lp-cycle .chev{stroke:currentColor;stroke-opacity:.45;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lp-cycle .mid{font:italic 400 26px/1 var(--f-display);fill:currentColor;letter-spacing:-.01em}
.lp-cycle .node.is-on .nd{fill:var(--dw-a);stroke:var(--dw-a);stroke-opacity:1}
.lp-cycle .node.is-on .nd-core{fill:var(--dw-f);fill-opacity:1}
.lp-cycle .node.is-on .nd-n{fill-opacity:1}
.lp-cycle .node.is-cur .nd{r:28}
.lp-cycle .nd-l.is-cur{fill:var(--dw-a)}
/* reveal */
.js .lp-cycle .node{transform-box:fill-box;transform-origin:center;transition:opacity .5s var(--ease),transform .7s var(--ease-back);transition-delay:calc(.25s + var(--k,0) * .12s)}
.js .lp-cycle:not(.is-in) .node{opacity:0;transform:scale(.4);transition:none}
.js .lp-cycle :is(.nd-l,.chev,.mid,.ring0,.ring2,.rot){transition:opacity .9s var(--ease) .7s}
.js .lp-cycle:not(.is-in) :is(.nd-l,.chev,.mid,.ring0,.ring2,.rot){opacity:0;transition:none}
.js .lp-cycle .ring1{stroke-dasharray:2000;stroke-dashoffset:0;transition:stroke-dashoffset 2s var(--ease-soft) .1s}
.js .lp-cycle:not(.is-in) .ring1{stroke-dashoffset:2000;transition:none}
/* autonomous loop: progress runs round the ring and lights each node as it passes */
:is(.lp-cycle--auto,.lp-cycle--mini,.lp-cycle--sect).is-in .ringp{transition:none;animation:lp-cyc-p var(--cyc-t) linear infinite}
:is(.lp-cycle--auto,.lp-cycle--mini,.lp-cycle--sect).is-in .nd{animation:lp-cyc-nd var(--cyc-t) linear infinite;animation-delay:calc((var(--k,0) / var(--n,5) - 1) * var(--cyc-t))}
:is(.lp-cycle--auto,.lp-cycle--mini,.lp-cycle--sect).is-in .nd-core{animation:lp-cyc-core var(--cyc-t) linear infinite;animation-delay:calc((var(--k,0) / var(--n,5) - 1) * var(--cyc-t))}
@keyframes lp-cyc-p{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes lp-cyc-nd{0%{fill:var(--dw-a);stroke:var(--dw-a);stroke-opacity:1;r:28}6%{r:24}18%{fill:var(--dw-a);stroke:var(--dw-a);stroke-opacity:1}28%,100%{fill:var(--dw-f);stroke:currentColor;stroke-opacity:.35;r:22}}
@keyframes lp-cyc-core{0%,18%{fill:var(--dw-f);fill-opacity:1}28%,100%{fill:currentColor;fill-opacity:.45}}
.lp-cycle--mini{--cyc-t:9s}
.lp-cycle--mini .nd-l{font-size:24px}
.lp-cycle--mini .mid{font-size:30px}
.lp-cycle--mini .nd-n{font-size:15px}
.lp-cycle--sect .nd-l{font-size:22px}
.lp-cycle--sect{--cyc-t:14s}

/* ---------------------------------------------------------------- 70.4 waves · mesh · airlaid */
.lp-waves .wv{stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-opacity:calc(.16 + var(--k,0) * .06);vector-effect:non-scaling-stroke}
.lp-waves--hero{color:var(--c)}
.lp-waves--hero .wv{transform-box:fill-box;animation:lp-wv-x calc(16s + var(--k,0) * 2.5s) linear infinite}
.lp-waves--in .wv{stroke-width:1.5;stroke-opacity:calc(.3 + var(--k,0) * .12);animation:lp-wv-y 3.4s var(--ease-io) infinite alternate;animation-delay:calc(var(--k,0) * -.7s)}
@keyframes lp-wv-x{to{transform:translateX(-33.3333%)}}
@keyframes lp-wv-y{to{transform:translateY(7px)}}
.lp-motif--waves{overflow:hidden;-webkit-mask-image:radial-gradient(closest-side,#000 52%,transparent 100%);mask-image:radial-gradient(closest-side,#000 52%,transparent 100%)}
.lp-motif--waves > .lp-waves{width:150%!important;max-width:none}
.js .lp-waves--hero .wv{transition:opacity 1.2s var(--ease) calc(var(--k,0) * .08s)}
.js .lp-waves--hero:not(.is-in) .wv{opacity:0}

.lp-mesh{color:var(--c)}
.lp-mesh :is(.mx,.my){fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
.lp-mesh .mx{stroke-opacity:.32;animation:lp-mesh-y 6s var(--ease-io) infinite alternate;animation-delay:calc(var(--k,0) * -.45s)}
.lp-mesh .my{stroke-opacity:.18;animation:lp-mesh-x 7s var(--ease-io) infinite alternate;animation-delay:calc(var(--k,0) * -.6s)}
@keyframes lp-mesh-y{to{transform:translateY(6px)}}
@keyframes lp-mesh-x{to{transform:translateX(5px)}}
.js .lp-mesh :is(.mx,.my){transition:opacity 1s var(--ease) calc(var(--k,0) * .06s)}
.js .lp-mesh:not(.is-in) :is(.mx,.my){opacity:0;transition:none}
.lp-motif--mesh{-webkit-mask-image:radial-gradient(closest-side,#000 45%,transparent 100%);mask-image:radial-gradient(closest-side,#000 45%,transparent 100%)}

div.lp-airlaid{position:relative;margin-top:clamp(28px,4vw,56px);padding:clamp(16px,3vw,40px);border-radius:var(--r-sheet);overflow:hidden;background:radial-gradient(70% 80% at 50% 100%,#fff 0,transparent 70%),var(--card);border:1px solid var(--hair);color:var(--c,#a73a64)}
svg.lp-airlaid{width:100%;height:auto;max-width:980px;margin-inline:auto;color:var(--c,#a73a64)}
.lp-airlaid .bed{stroke:currentColor;stroke-width:2;stroke-linecap:round}
.lp-airlaid .aw{stroke:var(--lp-slate);stroke-opacity:calc(.45 - var(--p,1) * .3);stroke-width:1.2;stroke-linecap:round;stroke-dasharray:6 12;animation:lp-air 1.8s linear infinite;animation-delay:calc(var(--k,0) * -.22s)}
@keyframes lp-air{to{stroke-dashoffset:-36}}
.lp-airlaid .af{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-opacity:.85;transform-box:fill-box;transform-origin:center;
  transform:translate(calc(var(--sx) * (1 - var(--p,1))),calc(var(--sy) * (1 - var(--p,1)))) rotate(calc(var(--r) * (1 - var(--p,1))))}
.lp-airlaid .lbl{font:600 11px/1 var(--f-mono);letter-spacing:.14em;fill:var(--lp-slate)}
.js svg.lp-airlaid .af{transition:transform 1.8s var(--ease-soft) calc(var(--k,0) * .06s),opacity .6s var(--ease) calc(var(--k,0) * .06s)}
.js svg.lp-airlaid:not(.is-in) .af{transform:translate(var(--sx),var(--sy)) rotate(var(--r));opacity:0;transition:none}
.js [data-scrub] > svg.lp-airlaid .af{transition:transform .35s linear,opacity .4s}

/* ---------------------------------------------------------------- 70.5 AquaStream dissolve + water test */
.lp-wt{display:grid;gap:clamp(20px,3vw,44px);align-items:center;padding:clamp(14px,1.6vw,20px);border-radius:var(--r-sheet);background:var(--card);border:1px solid var(--hair);box-shadow:var(--elev-1)}
@media (min-width:900px){ .lp-wt{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)} .lp-pdp__pres .lp-wt{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)} }
.lp-wt__stage{position:relative;aspect-ratio:500/420;border-radius:calc(var(--r-sheet) - 8px);overflow:hidden;
  background:linear-gradient(180deg,#fdfefe 0,#f1f7f7 66.6%,#d9ebec 66.7%,#bfdcde 100%)}
.lp-wt__stage::after{content:"";position:absolute;left:0;right:0;top:66.6%;height:1px;background:rgba(14,110,120,.35)}
.lp-wt__stage > svg{position:absolute;inset:0;width:100%;height:100%}
.lp-wt__ui{display:grid;gap:12px;align-content:center;padding:clamp(4px,1vw,14px)}
.lp-wt__k{display:flex;align-items:center;gap:10px;font:500 11.5px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lp-aqua)}
.lp-wt__k::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(14,110,120,.16)}
.lp-wt.is-run .lp-wt__k::before{animation:lp-blink 1s steps(2,jump-none) infinite}
.lp-wt__t{display:flex;align-items:baseline;gap:8px;font:400 clamp(76px,9vw,136px)/.9 var(--f-display);letter-spacing:-.045em;color:var(--fg);font-variant-numeric:tabular-nums;transition:color .4s}
.lp-wt__t small{font:500 clamp(18px,1.8vw,26px)/1 var(--f-mono);letter-spacing:0;color:var(--fg2)}
.lp-wt.is-run .lp-wt__t,.lp-wt.is-done .lp-wt__t{color:var(--lp-aqua)}
.lp-wt__bar{position:relative;height:6px;margin:10px 0 26px;border-radius:99px;background:rgba(14,110,120,.14)}
.lp-wt__bar span{position:absolute;left:0;top:0;bottom:0;width:calc(var(--t,0) * 100%);border-radius:inherit;background:var(--lp-aqua)}
.lp-wt__bar span::after{content:"";position:absolute;right:-6px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--lp-aqua);box-shadow:0 0 0 5px rgba(14,110,120,.18);opacity:calc(var(--t,0) * 10)}
.lp-wt__bar i{position:absolute;top:16px;transform:translateX(-100%);font:500 11px/1 var(--f-mono);font-style:normal;color:var(--fg2);white-space:nowrap}
.lp-wt__bar i::before{content:"";position:absolute;right:0;top:-22px;width:1.5px;height:18px;background:var(--lp-aqua)}
.lp-wt__l{max-width:42ch;font-size:15px;line-height:1.55}
.lp-wt__ui .lp-btn{justify-self:start;margin-top:6px}
.lp-wt.is-run [data-water-play]{opacity:.5;pointer-events:none}
@keyframes lp-blink{50%{opacity:.25}}

.lp-dissolve{color:var(--lp-aqua)}
.lp-dissolve .sheet{transform-box:fill-box;transform-origin:50% 100%;transform:translateY(calc(var(--t,0) * 50px)) rotate(calc(var(--t,0) * 4deg)) scale(calc(1 + var(--t,0) * .06));opacity:calc(1 - var(--t,0) * 1.7)}
.lp-dissolve .sh{fill:#fff;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(0 10px 14px rgba(14,110,120,.12))}
.lp-dissolve .sh-l{stroke:currentColor;stroke-opacity:.4;stroke-dasharray:2 5}
.lp-dissolve .pf{fill:currentColor;fill-opacity:.5}
.lp-dissolve .fb{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;transform-box:fill-box;transform-origin:center;
  opacity:clamp(0,calc(var(--t,0) * 5 - .3),.85);transform:translate(calc(var(--tx) * var(--t,0)),calc(var(--ty) * var(--t,0) * .6)) rotate(calc(var(--r) * var(--t,0)))}
.lp-dissolve .water{opacity:.95}
.js .lp-dissolve:not(.is-in) .sheet{opacity:0;transform:translateY(-30px)}
.js .lp-dissolve .sheet{transition:opacity .8s var(--ease),transform 1s var(--ease-soft)}
.js .lp-wt.is-run .lp-dissolve .sheet{transition:none}

/* ---------------------------------------------------------------- 70.6 L-One pull */
.lp-pull{color:var(--lp-ink);--pc:var(--c,var(--lp-warn))}
.lp-pull .sh{transform:translateY(calc((var(--p,.78) - 1) * 190px));transition:transform .2s linear}
.lp-pull .sheet{fill:#fff;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.lp-pull .perf{stroke:currentColor;stroke-opacity:.5;stroke-width:1.2;stroke-dasharray:3 4}
.lp-pull .fold{stroke:currentColor;stroke-opacity:.1;stroke-width:1}
.lp-pull .body{fill:var(--lp-paper-bright);stroke:currentColor;stroke-width:1.6}
.lp-pull .lip{fill:var(--lp-paper-shade);stroke:currentColor;stroke-width:1.2}
.lp-pull .win{fill:color-mix(in srgb,var(--pc) 7%,#fff);stroke:currentColor;stroke-width:1.2}
.lp-pull .roll{stroke:var(--pc);stroke-width:2;stroke-dasharray:4 7;transform-box:fill-box;transform-origin:center;transform:rotate(calc(var(--p,.78) * -320deg))}
.lp-pull .core{fill:#fff;stroke:currentColor;stroke-width:1.4}
.lp-pull .slot{stroke:currentColor;stroke-width:3;stroke-linecap:round}
.lp-pull .led{fill:var(--pc);animation:lp-blink 2.4s var(--ease-io) infinite}
.lp-pull .hint{stroke:var(--pc);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:calc(1 - var(--p,.78))}
.lp-pull .hint-a{stroke:var(--pc);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transform:translateY(calc((var(--p,.78) - 1) * 156px));opacity:clamp(0,calc(var(--p,.78) * 8 - .4),1)}
.lp-pull .t{font:400 72px/1 var(--f-display);fill:var(--pc)}
.lp-pull .lbl{font:600 11px/1 var(--f-mono);letter-spacing:.14em;fill:var(--lp-slate)}

/* ---------------------------------------------------------------- 70.7 Zenith steel */
.lp-steel .base{fill:#a7aeb4}
.lp-steel .br{stroke:#eef1f3;stroke-width:1;vector-effect:non-scaling-stroke}
.lp-steel .sh{mix-blend-mode:screen;transform:translateX(calc(var(--sx,.5) * 1000px));transition:transform .6s var(--ease-soft)}
.lp-steelp:not(.is-hover) .lp-steel .sh{animation:lp-steel 8s var(--ease-io) infinite}
@keyframes lp-steel{0%,100%{transform:translateX(0)}50%{transform:translateX(1000px)}}

/* ---------------------------------------------------------------- 70.8 Identity split · seals */
svg.lp-split .w{fill:#fffcf7;stroke:none}
svg.lp-split .b{fill:#15171c;stroke:none}
svg.lp-split .r{stroke:var(--lp-ink);stroke-width:1.2;stroke-dasharray:1 2;transform:rotate(-90deg);transform-box:view-box;transform-origin:center}
svg.lp-split .ax{stroke:var(--lp-ink);stroke-opacity:.3;stroke-width:1;stroke-dasharray:3 6}
svg.lp-split .dot{fill:var(--lp-navy)}
.lp-motif--split > .lp-split{animation:lp-sway 16s var(--ease-io) infinite alternate}
@keyframes lp-sway{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
.js svg.lp-split :is(.w,.b){transition:transform 1.4s var(--ease-soft) .2s,opacity 1s var(--ease) .2s}
.js svg.lp-split:not(.is-in) .w{transform:translateX(-40px);opacity:0;transition:none}
.js svg.lp-split:not(.is-in) .b{transform:translateX(40px);opacity:0;transition:none}
.js svg.lp-split .r{transition:stroke-dashoffset 2s var(--ease-soft) .5s}
.js svg.lp-split:not(.is-in) .r{stroke-dashoffset:1;transition:none}

.lp-seal{color:var(--lp-navy)}
.lp-seal .o{fill:none;stroke:currentColor;stroke-width:1.4}
.lp-seal .i{fill:color-mix(in srgb,currentColor 6%,transparent);stroke:currentColor;stroke-width:1;stroke-dasharray:2 4}
.lp-seal .rt{transform-box:view-box;transform-origin:center;animation:lp-spin 40s linear infinite}
.lp-seal .rt text{font-family:var(--f-mono);font-weight:600;letter-spacing:.2em;fill:currentColor}
.lp-seal .m{font:500 44px/1 var(--f-display);fill:currentColor}
.lp-seal--xl .m{font-size:60px}
.lp-seal--sm .m{font-size:40px}
.js .lp-seal{transition:transform 1.2s var(--ease-back),opacity .8s var(--ease)}
.js .lp-seal:not(.is-in){transform:scale(.86) rotate(-20deg);opacity:0;transition:none}

/* ---------------------------------------------------------------- 70.9 small motifs */
/* network (collection) */
.lp-network .e{stroke:currentColor;stroke-opacity:.28;stroke-width:1;stroke-dasharray:1 2}
.lp-network .e--hub{stroke:var(--dw-a);stroke-opacity:.55;stroke-width:1.2;stroke-dasharray:.025 .045;animation:lp-collect 2.6s linear infinite}
@keyframes lp-collect{to{stroke-dashoffset:.07}}
.lp-network .n{fill:currentColor;fill-opacity:.85;transform-box:fill-box;transform-origin:center;animation:lp-twinkle 4s var(--ease-io) infinite;animation-delay:calc(var(--k,0) * -.4s)}
.lp-network .n:first-of-type{fill:var(--dw-a);fill-opacity:1;animation:none}
.lp-network .hub{stroke:var(--dw-a);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:lp-hub 3s var(--ease) infinite}
@keyframes lp-twinkle{50%{fill-opacity:.35}}
@keyframes lp-hub{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.js .lp-network .e:not(.e--hub){transition:stroke-dashoffset 1.4s var(--ease-soft) calc(.1s + var(--k,0) * .07s)}
.js .lp-network:not(.is-in) .e:not(.e--hub){stroke-dashoffset:1;transition:none}
.js .lp-network .n{transition:opacity .4s var(--ease) calc(.5s + var(--k,0) * .05s),transform .6s var(--ease-back) calc(.5s + var(--k,0) * .05s)}
.js .lp-network:not(.is-in) .n{opacity:0;transform:scale(0);transition:none}
.js .lp-network .e--hub{transition:opacity 1s var(--ease) 1.1s}
.js .lp-network:not(.is-in) :is(.e--hub,.hub){opacity:0;transition:none}

/* packaging case (v2.3): the motion layer turns each flap about its real hinge (path d + face + stacking);
   CSS only colours the faces and seals the tape once the case is shut */
.lp-box{--dw-f:#f3e9d8;--dw-f2:#e8d8bd;--dw-f3:#d8c29e;--dw-a:var(--lp-kraft-ink)}
:is([data-tone="ink"],[data-tone="black"],[data-tone="forest"]) .lp-box{--dw-f:color-mix(in srgb,#fff 8%,var(--bg));--dw-f2:color-mix(in srgb,#fff 15%,var(--bg));--dw-f3:color-mix(in srgb,#000 30%,var(--bg));--dw-a:#a8dcc2}
.lp-box .tape{opacity:clamp(0,(var(--p,0) - .9) * 12,1)}
.lp-box .lbl{fill:currentColor;fill-opacity:.85}
.js .lp-box .bx{transition:transform 1.2s var(--ease-soft) .1s,opacity .8s var(--ease) .1s}
.js .lp-box:not(.is-in) .bx{transform:translateY(24px);opacity:0;transition:none}

/* question / key / magnifier / balance / torn / leaf / pin */
.lp-q .q{stroke-width:calc(var(--dw-sw) * 2.4)}
.lp-q circle.a{fill:var(--dw-a);animation:lp-bob 3.2s var(--ease-io) infinite}
@keyframes lp-bob{50%{transform:translateY(-6px)}}
.lp-key .spin,.lp-mag .spin,.lp-leaf .spin{transform-box:view-box;transform-origin:center;animation:lp-spin 16s linear infinite}
.lp-key .sat,.lp-mag .sat,.lp-leaf .sat{fill:var(--dw-a)}
.lp-key .f.a{animation:lp-key 5s var(--ease-io) infinite;transform-box:fill-box;transform-origin:50% 30%}
@keyframes lp-key{0%,70%,100%{transform:none}78%{transform:rotate(-9deg)}86%{transform:rotate(6deg)}}
.lp-mag .code{font:600 25px/1 var(--f-mono);letter-spacing:.06em;fill:currentColor}
.js .lp-mag .code{clip-path:inset(0 0 0 0);transition:clip-path 1.2s steps(7,end) 1s,opacity .2s 1s}
.js .lp-mag:not(.is-in) .code{clip-path:inset(0 100% 0 0)}
.lp-bal .beam{transform-box:view-box;transform-origin:210px 90px;animation:lp-rock 6s var(--ease-io) infinite}
.lp-bal .pan--l{animation:lp-pan 6s var(--ease-io) infinite}
.lp-bal .pan--r{animation:lp-pan 6s var(--ease-io) infinite reverse}
@keyframes lp-pan{0%,100%{transform:translateY(9px)}50%{transform:translateY(-9px)}}
@keyframes lp-rock{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.lp-torn .scrap{transform-box:fill-box;transform-origin:center;animation:lp-scrap 5s var(--ease-io) infinite}
@keyframes lp-scrap{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(12px) rotate(5deg)}}
.lp-torn .code{font:500 88px/1 var(--f-display);letter-spacing:-.04em;fill:currentColor;fill-opacity:.12}
.lp-leaf .f.a{transform-box:fill-box;transform-origin:0 100%;animation:lp-leafsway 7s var(--ease-io) infinite}
@keyframes lp-leafsway{50%{transform:rotate(-4deg)}}
.lp-pinmap .pulse{animation:lp-ripple 3.6s var(--ease-io) infinite;animation-delay:calc(var(--i,0) * .5s - 3.6s)}
@keyframes lp-ripple{0%,100%{stroke-opacity:.15}35%{stroke-opacity:.85}}
.lp-pinmap .pin{animation:lp-bob 3s var(--ease-io) infinite}
.lp-pinmap .shd{fill:currentColor;fill-opacity:.16;transform-box:fill-box;transform-origin:center;animation:lp-shd 3s var(--ease-io) infinite}
@keyframes lp-shd{50%{transform:scale(.7);fill-opacity:.08}}

/* ---------------------------------------------------------------- 70.10 food: detectable fragment */
.lp-detect{color:var(--lp-ink)}
.lp-detect .tray{fill:#f4f1ea;stroke:currentColor;stroke-opacity:.3;stroke-width:1.4}
.lp-detect .tray2{fill:#fffdf9;stroke:currentColor;stroke-opacity:.14;stroke-width:1}
.lp-detect .cr{fill:#d8c19c;fill-opacity:.6}
.lp-detect .blue{fill:#2b5fae;stroke:#1d4785;stroke-width:1}
.lp-detect .ping{stroke:#2b5fae;stroke-width:2;transform-box:fill-box;transform-origin:center;opacity:0;animation:lp-dping 9s linear infinite}
.lp-detect .ping.p2{animation-name:lp-dping2}
.lp-detect .lens{transform:translate(452px,236px);animation:lp-lens 9s var(--ease-io) infinite}
.lp-detect .lg{fill:rgba(255,255,255,.35);stroke:none}
.lp-detect .lr{stroke:currentColor;stroke-width:5}
.lp-detect .lh{stroke:currentColor;stroke-width:11;stroke-linecap:round}
.lp-detect .ls{stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-opacity:.9}
.lp-detect .tag{animation:lp-dtag 9s var(--ease) infinite}
.lp-detect .tl{stroke:#2b5fae;stroke-width:1.6;stroke-linecap:round}
.lp-detect .tag text{font:600 13px/1 var(--f-mono);letter-spacing:.12em;fill:#2b5fae}
@keyframes lp-lens{0%,4%{transform:translate(150px,130px)}24%{transform:translate(300px,288px)}40%{transform:translate(214px,200px)}58%,92%{transform:translate(452px,236px)}100%{transform:translate(150px,130px)}}
@keyframes lp-dping{0%,58%{transform:scale(.5);opacity:0}60%{opacity:.9}74%{transform:scale(1.9);opacity:0}75%,100%{opacity:0}}
@keyframes lp-dping2{0%,68%{transform:scale(.5);opacity:0}70%{opacity:.9}84%{transform:scale(1.9);opacity:0}85%,100%{opacity:0}}
@keyframes lp-dtag{0%,60%{opacity:0;transform:translate(-8px,8px)}65%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
.js .lp-detect .cr{transition:opacity .6s var(--ease) calc(var(--k,0) * .05s)}
.js .lp-detect:not(.is-in) .cr{opacity:0;transition:none}

/* ---------------------------------------------------------------- 70.11 workplace: sorting */
.lp-sort{color:var(--lp-ink)}
.lp-sort .b{fill:#fffdf9;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-dasharray:1 2}
.lp-sort .bin:nth-of-type(1) .b{fill:color-mix(in srgb,var(--lp-navy) 6%,#fff)}
.lp-sort .lid{stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:1 2;transform-box:fill-box;transform-origin:center;animation:lp-lid 4.8s var(--ease-io) infinite;animation-delay:calc(var(--k,0) * 1.6s - 4.8s)}
.lp-sort .ln{stroke:currentColor;stroke-opacity:.3;stroke-width:1.2;stroke-dasharray:1 2}
.lp-sort .bl{font:600 12px/1 var(--f-mono);letter-spacing:.12em;fill:currentColor}
.lp-sort .sheet{transform-box:fill-box;transform-origin:center;animation:lp-fall 4.8s var(--ease-io) infinite;animation-delay:calc(var(--k,0) * 1.6s - 4.8s)}
.lp-sort .sh{fill:#fff;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.lp-sort .sh-f{fill:var(--lp-paper-shade);stroke:currentColor;stroke-width:1.2;stroke-linejoin:round}
.lp-sort .st--food{fill:#b08958;fill-opacity:.7}
.lp-sort .st--oil{fill:#e8a33d;fill-opacity:.8}
.lp-sort .sl{font:600 10.5px/1 var(--f-mono);letter-spacing:.12em;fill:var(--lp-slate)}
@keyframes lp-fall{0%,14%{transform:none;opacity:1}56%{transform:translateY(150px) rotate(-7deg) scale(.86);opacity:1}68%{transform:translateY(192px) rotate(-7deg) scale(.55);opacity:0}69%{transform:translateY(-26px);opacity:0}86%,100%{transform:none;opacity:1}}
@keyframes lp-lid{0%,52%,72%,100%{transform:none}60%{transform:translateY(-6px) rotate(-3deg)}}
.js .lp-sort :is(.b,.lid,.ln){transition:stroke-dashoffset 1.3s var(--ease-soft) calc(.1s + var(--k,0) * .15s)}
.js .lp-sort:not(.is-in) :is(.b,.lid,.ln){stroke-dashoffset:1;transition:none}
.js .lp-sort:not(.is-in) .sheet{animation:none;opacity:0}

/* ---------------------------------------------------------------- 70.12 washroom: no-clog pipe · touch-free sensor */
.lp-pipe{color:var(--lp-ink)}
.lp-pipe .pw{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.lp-pipe .pw2{stroke-opacity:.55}
.lp-pipe .flow{fill:none;stroke:var(--lp-aqua);stroke-width:30;stroke-opacity:.12;stroke-linecap:round;stroke-dasharray:1 2}
.lp-pipe .flow.f2{stroke-width:3.4;stroke-opacity:.95;stroke-dasharray:.006 .022;animation:lp-pipe 6s linear infinite}
@keyframes lp-pipe{to{stroke-dashoffset:-.336}}
.lp-pipe .dim path{stroke:currentColor;stroke-opacity:.35;stroke-dasharray:3 4}
.lp-pipe .dim text,.lp-pipe .lbl{font:600 11px/1 var(--f-mono);letter-spacing:.14em;fill:var(--lp-slate)}
.lp-pipe .lbl{fill:var(--lp-aqua)}
.js .lp-pipe .flow:not(.f2){transition:stroke-dashoffset 2.2s var(--ease-soft) .2s}
.js .lp-pipe:not(.is-in) .flow:not(.f2){stroke-dashoffset:1;transition:none}
.js .lp-pipe :is(.f2,.dim,.lbl){transition:opacity .8s var(--ease) 1.2s}
.js .lp-pipe:not(.is-in) :is(.f2,.dim,.lbl){opacity:0;transition:none}

.lp-sensor{color:var(--lp-ink)}
.lp-sensor .d{fill:var(--dw-f);stroke:currentColor;stroke-width:2}
.lp-sensor .eye{fill:var(--dw-a);animation:lp-blink 2.4s var(--ease-io) infinite}
.lp-sensor .w{fill:none;stroke:var(--dw-a);stroke-width:2.6;stroke-linecap:round;opacity:.8;animation:lp-sense 2.4s var(--ease) infinite}
.lp-sensor .w2{animation-delay:-2.1s}
.lp-sensor .w3{animation-delay:-1.8s}
@keyframes lp-sense{0%{opacity:0;transform:translateY(-5px)}30%{opacity:1}100%{opacity:0;transform:translateY(6px)}}

/* ---------------------------------------------------------------- 70.13 finder radar */
.lp-radar .rg{stroke:currentColor;stroke-opacity:.16;stroke-width:1}
.lp-radar .rg:last-of-type{stroke-opacity:.3}
.lp-radar .cx{stroke:currentColor;stroke-opacity:.12;stroke-width:1;stroke-dasharray:2 6}
.lp-radar .sw{transform-box:view-box;transform-origin:200px 200px;animation:lp-spin 5s linear infinite}
.lp-radar .dt{fill:currentColor;transform-box:fill-box;transform-origin:center;opacity:.25;animation:lp-blip 5s linear infinite;animation-delay:calc(var(--k,0) * -.71s)}
@keyframes lp-blip{0%{opacity:1;transform:scale(1.5)}30%{opacity:.6;transform:none}100%{opacity:.18;transform:none}}
.lp-radar :is(.p1,.p2){stroke:currentColor;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:lp-hub 2.6s var(--ease) infinite}
.lp-radar .p2{animation-delay:-1.3s}
.lp-radar .c{fill:currentColor}
.lp-finder__geo.is-busy ~ * .lp-radar .sw,.lp-finder.is-busy .lp-radar .sw{animation-duration:1.4s}

/* ---------------------------------------------------------------- 70.14 dispensers: stub-roll · diffuser · central unwind */
.lp-stub{color:var(--lp-ink)}
.lp-stub .box{fill:var(--lp-paper-bright);stroke:currentColor;stroke-width:1.6}
.lp-stub .rl{fill:#fff;stroke:currentColor;stroke-width:1.4;transform-box:fill-box;transform-origin:center}
.lp-stub .core{fill:var(--lp-paper-shade);stroke:currentColor;stroke-width:1.2}
.lp-stub .r1 .rl{animation:lp-stub 7s var(--ease-io) infinite}
.lp-stub .r2 .rl{animation:lp-stub2 7s var(--ease-io) infinite}
.lp-stub .stub{fill:none;stroke:var(--dw-a);stroke-width:2;stroke-dasharray:4 5;opacity:.0;animation:lp-stubring 7s var(--ease-io) infinite}
.lp-stub .arw{stroke:var(--dw-a);stroke-width:2;stroke-linecap:round;stroke-dasharray:1 2;animation:lp-stubarw 7s var(--ease-io) infinite}
.lp-stub .arw-h{stroke:var(--dw-a);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:lp-stubhead 7s var(--ease-io) infinite}
.lp-stub .lbl{font:600 11px/1 var(--f-mono);letter-spacing:.14em;fill:var(--lp-slate)}
.lp-stub .big{font:500 15px/1 var(--f-mono);letter-spacing:.08em;fill:var(--dw-a)}
@keyframes lp-stub{0%,12%{transform:none}58%,100%{transform:scale(.4)}}
@keyframes lp-stub2{0%,62%{stroke:currentColor;fill:#fff}72%,96%{stroke:var(--dw-a);fill:color-mix(in srgb,var(--dw-a) 6%,#fff)}100%{stroke:currentColor;fill:#fff}}
@keyframes lp-stubring{0%,54%{opacity:0}60%,96%{opacity:1}100%{opacity:0}}
@keyframes lp-stubarw{0%,58%{stroke-dashoffset:1}72%,96%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes lp-stubhead{0%,68%{opacity:0}72%,96%{opacity:1}100%{opacity:0}}

.lp-diffuse{color:var(--lp-ink)}
.lp-diffuse .ring{stroke:var(--lp-aqua);stroke-width:1.4;transform-box:fill-box;transform-origin:center;opacity:.25;animation:lp-diff 4s var(--ease) infinite;animation-delay:calc(var(--k,0) * -1s)}
@keyframes lp-diff{0%{transform:scale(.5);opacity:.9}100%{transform:scale(3.6);opacity:0}}
.lp-diffuse .d{fill:none;stroke:currentColor;stroke-width:1.6}
.lp-diffuse .d.f{fill:var(--dw-f)}
.lp-diffuse .pt{fill:var(--lp-aqua);transform-box:fill-box;transform-origin:center;animation:lp-drift 5s linear infinite;animation-delay:calc(var(--k,0) * -.36s)}
@keyframes lp-drift{0%{transform:translate(-10px,6px);opacity:0}15%{opacity:.8}100%{transform:translate(70px,-34px);opacity:0}}
.lp-diffuse .big{font:400 52px/1 var(--f-display);letter-spacing:-.03em;fill:currentColor}
.lp-diffuse .lbl{font:600 11px/1 var(--f-mono);letter-spacing:.14em;fill:var(--lp-slate)}

.lp-unwind{color:var(--lp-ink)}
.lp-unwind .d{fill:none;stroke:currentColor;stroke-width:1.6}
.lp-unwind .d.f{fill:var(--dw-f)}
.lp-unwind .d.f2{fill:var(--dw-f2)}
.lp-unwind .d.f3{fill:var(--dw-f3)}
.lp-unwind .d.thin{stroke-width:1;stroke-opacity:.45}
.lp-unwind .sheet{fill:#fff;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.lp-unwind .pf{stroke:currentColor;stroke-opacity:.5;stroke-width:1.2;stroke-dasharray:3 4;animation:lp-unw 2.4s linear infinite}
@keyframes lp-unw{to{transform:translateY(30px)}}
.lp-unwind .flow{stroke:var(--dw-a);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:.02 .03;animation:lp-flowd 2s linear infinite}
@keyframes lp-flowd{to{stroke-dashoffset:-.1}}
.lp-unwind .lbl{font:600 11px/1 var(--f-mono);letter-spacing:.14em;fill:var(--lp-slate)}

/* ---------------------------------------------------------------- 70.15 folds (C/V/Z/M · napkins) */
.lp-fold .fd{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2}
.lp-fold__top{transform-box:fill-box;transform-origin:0% 50%;transition:transform .6s var(--ease-back)}
.lp-fold__top .fd{stroke:var(--dw-a);stroke-width:2}
.lp-fold .lbl{font:600 10.5px/1 var(--f-mono);letter-spacing:.14em;fill:currentColor;fill-opacity:.6}
.lp-fold--nap .fd{fill:var(--dw-f)}
.lp-fold--nap .fl{stroke:var(--dw-a);stroke-width:1.4;stroke-dasharray:1 2}
.lp-fold--nap .flap{fill:color-mix(in srgb,var(--dw-a) 12%,var(--dw-f));stroke:var(--dw-a);stroke-width:1.2;stroke-linejoin:round;transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s var(--ease-back)}
.lp-folds__c:hover .lp-fold__top{transform:translateY(-10px) rotate(-2deg)}
/* interfolded profiles (V, Z, M): every other towel in a lighter tone; on hover the top towel is pulled
   and the next one follows, its first panel staying caught inside the fold */
.lp-fold .fd--b{stroke-opacity:.42}
.lp-fold__next{transition:transform .6s var(--ease-back)}
.lp-folds__c:hover .lp-fold--il .lp-fold__top{transform:translateY(-6px)}
.lp-folds__c:hover .lp-fold--il .lp-fold__next{transform:translateY(-2px)}
.lp-folds__c:hover .lp-fold--nap .flap{transform:scaleY(1.35) translateY(-3px)}
.js .lp-fold :is(.fd,.fl){transition:stroke-dashoffset 1.1s var(--ease-soft) calc(.15s + var(--i,0) * .09s),fill-opacity .6s var(--ease) calc(.4s + var(--i,0) * .09s)}
.js .lp-fold:not(.is-in) :is(.fd,.fl){stroke-dashoffset:1;fill-opacity:0;transition:none}
.js .lp-fold :is(.lbl,.flap){transition:opacity .6s var(--ease) .9s,transform .6s var(--ease-back)}
.js .lp-fold:not(.is-in) :is(.lbl,.flap){opacity:0}

/* ---------------------------------------------------------------- 70.16 Al.Pe. poles · Peel&Pull */
.lp-poles{color:var(--lp-ink)}
.lp-poles .pole{transition:transform 1.1s var(--ease-soft) calc(var(--k,0) * .15s),opacity .8s var(--ease) calc(var(--k,0) * .15s)}
.js .lp-poles:not(.is-in) .pole{transform:translateY(34px);opacity:0;transition:none}
.lp-poles .wv{fill:none;stroke:var(--lp-aqua);stroke-width:1.4;stroke-opacity:calc(.55 - var(--k,0) * .1);animation:lp-wv-y 3s var(--ease-io) infinite alternate;animation-delay:calc(var(--k,0) * -.5s)}
.lp-poles .lbl{font:600 11px/1 var(--f-mono);letter-spacing:.14em;fill:var(--lp-slate)}

.lp-peel{color:var(--lp-ink)}
.lp-peel .pk{fill:#f4eee2;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.lp-peel .pk--l{fill:#e3d8c4}
.lp-peel .pk--r{fill:#ece3d3}
.lp-peel .pk--rim{stroke:none}
.lp-peel .pk-e{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.lp-peel .pk-in{fill:#e7dece;stroke:none}
.lp-peel .pk-ie{fill:none;stroke:currentColor;stroke-width:1.2;stroke-dasharray:3 4}
.lp-peel__sheet{transform-box:view-box;transform-origin:260px 204px;transform:translateY(calc(var(--p,.6) * -46px)) rotate(calc(var(--p,.6) * -7deg));transition:transform .25s linear}
.lp-peel .sh{fill:#fff;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;filter:drop-shadow(0 12px 14px rgba(9,13,69,.12))}
.lp-peel .sh-l{stroke:var(--dw-a);stroke-width:1.2;stroke-dasharray:2 4}
.lp-peel .hand{stroke:var(--dw-a);stroke-width:2;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:calc(1 - var(--p,.6))}
.lp-peel .lbl{font:italic 400 22px/1 var(--f-display);fill:var(--dw-a)}

/* ---------------------------------------------------------------- 70.17 isometric room plans */
.lp-plan__svg{--pl-l:rgba(9,13,69,.5)}
.lp-plan__svg path,.lp-plan__svg ellipse{stroke:var(--pl-l);stroke-width:1;stroke-linejoin:round}
.lp-plan__svg .pl-floor{fill:#f2ede3}
.lp-plan__svg .pl-grid{stroke:rgba(9,13,69,.08)}
.lp-plan__svg .pl-wall--r{fill:#f8f4ec}
.lp-plan__svg .pl-wall--l{fill:#ece5d7}
.lp-plan__svg .pl-top{fill:#fffdf9}
.lp-plan__svg .pl-fl{fill:#efe8da}
.lp-plan__svg .pl-fr{fill:#e2d9c7}
.lp-plan__svg .pl-stone .pl-top{fill:#ebe8e3}.lp-plan__svg .pl-stone .pl-fl{fill:#dad6cf}.lp-plan__svg .pl-stone .pl-fr{fill:#cbc6be}
.lp-plan__svg .pl-soft .pl-top{fill:#fbf7ef}.lp-plan__svg .pl-soft .pl-fl{fill:#efe7d8}.lp-plan__svg .pl-soft .pl-fr{fill:#e4dac7}
.lp-plan__svg .pl-part .pl-top{fill:#efe9df}.lp-plan__svg .pl-part .pl-fl{fill:#e0d8ca}.lp-plan__svg .pl-part .pl-fr{fill:#d2c9b8}
.lp-plan__svg .pl-steel .pl-top{fill:#e5e8eb}.lp-plan__svg .pl-steel .pl-fl{fill:#cfd4d9}.lp-plan__svg .pl-steel .pl-fr{fill:#bec4ca}
.lp-plan__svg .pl-wood .pl-top{fill:#e6cfa9}.lp-plan__svg .pl-wood .pl-fl{fill:#d3b386}.lp-plan__svg .pl-wood .pl-fr{fill:#bf9a6b}
.lp-plan__svg .pl-dev .pl-top{fill:#fff}.lp-plan__svg .pl-dev .pl-fl{fill:#f3f3f6}.lp-plan__svg .pl-dev .pl-fr{fill:#e2e4eb}
.lp-plan__svg .pl-dev path,.lp-plan__svg .pl-dev ellipse{stroke:var(--lp-navy);stroke-opacity:.7}
.lp-plan__svg .pl-steelx .pl-top{fill:#d9dde1}.lp-plan__svg .pl-steelx .pl-fl{fill:#c4cad0}.lp-plan__svg .pl-steelx .pl-fr{fill:#b0b7be}
.lp-plan__svg .pl-blue .pl-top{fill:#5d88d3}.lp-plan__svg .pl-blue .pl-fl{fill:#2b5fae}.lp-plan__svg .pl-blue .pl-fr{fill:#214d90}
.lp-plan__svg .pl-blue path,.lp-plan__svg .pl-blue ellipse{stroke:#173a73}
.lp-plan__svg .pl-cloth .pl-top{fill:#f1cddd}.lp-plan__svg .pl-cloth .pl-fl{fill:#e2aac2}.lp-plan__svg .pl-cloth .pl-fr{fill:#d58fae}
.lp-plan__svg .pl-sink .pl-top{fill:#fff;stroke:rgba(9,13,69,.35)}.lp-plan__svg .pl-sink .pl-fr{fill:#e7eef0}
.lp-plan__svg .pl-roll .pl-top{fill:#fff}.lp-plan__svg .pl-roll .pl-fr{fill:#ede9e1}
.lp-plan__svg .pl-sheet .pl-top{fill:#fff;fill-opacity:.95}.lp-plan__svg .pl-sheet .pl-fl,.lp-plan__svg .pl-sheet .pl-fr{fill:#eef2f7}
.lp-plan__svg .pl-mirror{fill:#dfe9ec;fill-opacity:.85;stroke:rgba(9,13,69,.3)}
.lp-plan__svg .pl-pin circle{fill:var(--lp-navy);fill-opacity:.2;stroke:none}
.lp-plan__svg .pl-pin .pl-pin__p{fill:none;stroke:var(--lp-navy);stroke-opacity:.22;stroke-width:1}
/* build-up: room draws, then furniture drops in */
.js .lp-plan__svg .pl-room > path{stroke-dasharray:1 2;transition:stroke-dashoffset 1.3s var(--ease-soft) calc(var(--i,0) * .18s),fill-opacity .8s var(--ease) calc(.3s + var(--i,0) * .18s)}
.js .lp-plan__svg:not(.is-in) .pl-room > path{stroke-dashoffset:1;fill-opacity:0;transition:none}
.js .lp-plan__svg :is(.pl-box,.pl-cyl,.pl-mirror){transition:transform .9s var(--ease-back) calc(.55s + var(--i,0) * .07s),opacity .5s var(--ease) calc(.55s + var(--i,0) * .07s)}
.js .lp-plan__svg:not(.is-in) :is(.pl-box,.pl-cyl,.pl-mirror){transform:translateY(-18px);opacity:0;transition:none}
.js .lp-plan__svg .pl-pin{transition:opacity .5s var(--ease) 1.3s}
.js .lp-plan__svg:not(.is-in) .pl-pin{opacity:0;transition:none}

/* ---------------------------------------------------------------- 70.18 plants map */
.lp-map__svg .gr{stroke:var(--hair);stroke-width:1}
.lp-map__svg .grl{font:500 10px/1 var(--f-mono);letter-spacing:.06em;fill:var(--fg2);fill-opacity:.7}
.lp-map__svg .cc{font:400 46px/1 var(--f-display);letter-spacing:-.02em;fill:var(--fg);fill-opacity:.07}
.lp-map__svg .arc{stroke:var(--lp-navy);stroke-opacity:.45;stroke-width:1.3;stroke-linecap:round;stroke-dasharray:1 2}
.lp-map__svg .pt{cursor:default}
.lp-map__svg .pls{fill:var(--lp-navy);fill-opacity:.1;stroke:var(--lp-navy);stroke-opacity:.35;transform-box:fill-box;transform-origin:center;animation:lp-pls 3.2s var(--ease) infinite;animation-delay:calc(var(--k,0) * -.37s)}
@keyframes lp-pls{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.9);opacity:0}}
.lp-map__svg .pc{fill:var(--lp-navy);stroke:#fff;stroke-width:1.5;transition:r .3s var(--ease-back),fill .3s}
.lp-map__svg .pt--hq .pc{fill:var(--lp-kraft-ink)}
.lp-map__svg .pt--hq .pls{fill:var(--lp-kraft);stroke:var(--lp-kraft-ink)}
.lp-map__svg .pn{font:600 12.5px/1 var(--f-sans);fill:var(--fg);paint-order:stroke;stroke:var(--lp-paper);stroke-width:4px;stroke-linejoin:round;transition:fill .3s}
.lp-map__svg .pn--s{font-size:11px;font-weight:500}
.lp-map__svg .pt.is-on .pc{r:8;fill:var(--lp-ink)}
.lp-map__svg .pt.is-on .pn{fill:var(--lp-navy);font-weight:700}
.lp-map__svg .lead{stroke:var(--fg2);stroke-opacity:.5;stroke-dasharray:3 4}
.lp-map__svg .ib{fill:var(--lp-paper-bright);stroke:var(--hair-2);stroke-width:1}
.lp-map__svg .it{font:600 10px/1 var(--f-mono);letter-spacing:.14em;fill:var(--fg2)}
.js .lp-map__svg .arc{transition:stroke-dashoffset 1.6s var(--ease-soft) calc(.5s + var(--k,0) * .12s)}
.js .lp-map__svg:not(.is-in) .arc{stroke-dashoffset:1;transition:none}
.js .lp-map__svg .pt{transition:opacity .5s var(--ease) calc(.3s + var(--k,0) * .08s)}
.js .lp-map__svg:not(.is-in) .pt{opacity:0;transition:none}
.js .lp-map__svg .inset{transition:opacity .8s var(--ease) 1.2s}
.js .lp-map__svg:not(.is-in) .inset{opacity:0;transition:none}

/* ---------------------------------------------------------------- 70.19 hero frames */
.js .lp-shero__frame{transition:opacity 1s var(--ease) .45s,transform 1.4s var(--ease-soft) .45s}
.js:not(.is-ready) .lp-shero__frame{opacity:0;transform:scale(1.04)}

/* ---------------------------------------------------------------- 70.20 subcategory heroes (mouchoirs, désodorisants, assainisseurs) */
.lp-sprayhero{width:100%;max-width:520px;height:auto;color:var(--lp-ink)}
.lp-sprayhero .lbl{font:600 11px/1 var(--f-mono);letter-spacing:.14em;fill:currentColor;fill-opacity:.55}
.lp-sprayhero .wall{fill:#f7f3ea;stroke:currentColor;stroke-width:1.2;stroke-opacity:.35}
.lp-sprayhero .body{fill:#fff;stroke:currentColor;stroke-width:1.6}
.lp-sprayhero .head,.lp-sprayhero .noz{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.lp-sprayhero .mist{fill:none;stroke:var(--lp-navy);stroke-width:1.2;stroke-opacity:calc(.45 - var(--k,0)*.08);transform-box:fill-box;transform-origin:center;animation:lp-sani-mist 3.2s ease-out infinite;animation-delay:calc(var(--k,0)*-.55s)}
@keyframes lp-sani-mist{0%{transform:scale(.35);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .lp-sprayhero .mist{animation:none}
}

/* ── 71-subheroes.css ── */
/* =====================================================================
   71 · Sub-category heroes, v2.9.1 — Mouchoirs & Assainisseurs.
   Isometric drawings in the 70 grammar: they draw in once (.is-in), then a
   choreography loops while on screen (.is-vis, see the pause rule in 70).
   ===================================================================== */
.lp-tisshero,.lp-sanihero{width:100%;max-width:540px;height:auto;color:var(--lp-ink);overflow:visible;--dw-sw:1.5}
:is(.lp-tisshero,.lp-sanihero) .d{fill:none;stroke:currentColor;stroke-width:var(--dw-sw);stroke-linecap:round;stroke-linejoin:round}
:is(.lp-tisshero,.lp-sanihero) .f{fill:var(--dw-f)}
:is(.lp-tisshero,.lp-sanihero) .f2{fill:var(--dw-f2)}
:is(.lp-tisshero,.lp-sanihero) .f3{fill:var(--dw-f3)}
:is(.lp-tisshero,.lp-sanihero) .a{stroke:var(--dw-a)}
:is(.lp-tisshero,.lp-sanihero) .f.a{fill:color-mix(in srgb,var(--dw-a) 10%,var(--dw-f))}
:is(.lp-tisshero,.lp-sanihero) .thin{stroke-width:1;stroke-opacity:.42}
:is(.lp-tisshero,.lp-sanihero) .slot{fill:color-mix(in srgb,currentColor 22%,var(--dw-f3))}
:is(.lp-tisshero,.lp-sanihero) .lbl{font:600 11px/1 var(--f-mono);letter-spacing:.14em;fill:currentColor;fill-opacity:.58}
:is(.lp-tisshero,.lp-sanihero) .p{fill:var(--dw-f);stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
:is(.lp-tisshero,.lp-sanihero) .cr{fill:none;stroke:currentColor;stroke-width:1;stroke-opacity:.32;stroke-linecap:round}
:is(.lp-tisshero,.lp-sanihero) .sheen{stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-opacity:.9}

/* draw-in */
.js :is(.lp-tisshero,.lp-sanihero) .d[pathLength]{stroke-dasharray:1 2;transition:stroke-dashoffset 1.5s var(--ease-soft) calc(.1s + var(--i,0) * .065s),fill-opacity .9s var(--ease) calc(.35s + var(--i,0) * .065s)}
.js :is(.lp-tisshero,.lp-sanihero):not(.is-in) .d[pathLength]{stroke-dashoffset:1;fill-opacity:0;transition:none}
.js :is(.lp-tisshero,.lp-sanihero) :is(.perf,.lbl,.co-o,.co-n,.co-t,.gnd,.sheets,.rim,.lvl,.sheen,.tsh,.tube,.foam,.wipe,.bar0){transition:opacity .9s var(--ease) 1.05s}
.js :is(.lp-tisshero,.lp-sanihero):not(.is-in) :is(.perf,.lbl,.co-o,.co-n,.co-t,.gnd,.sheets,.rim,.lvl,.sheen,.tsh,.tube,.foam,.wipe,.bar0){opacity:0;transition:none}

/* ---------------------------------------------------------------- mouchoirs */
.lp-tisshero .gnd .shd{fill:currentColor;fill-opacity:.07;transform-box:fill-box;transform-origin:center}
.lp-tisshero .trk{stroke:currentColor;stroke-opacity:.2;stroke-width:1}
.lp-tisshero .trk2{stroke:currentColor;stroke-opacity:.18;stroke-width:1;stroke-dasharray:1.5 7}
.lp-tisshero .sat{fill:var(--dw-a)}
.lp-tisshero .sat--2{fill:currentColor;fill-opacity:.45}
.lp-tisshero .spin{transform-box:view-box;transform-origin:0 0}
.lp-tisshero .perf{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:2.4 3.6;stroke-opacity:.5}
.lp-tisshero .rim{stroke-width:1.5}
.lp-tisshero .win{fill:var(--dw-f);stroke-width:1.2}
.lp-tisshero .v{stroke-width:1.15}
.lp-tisshero .v.thin{stroke-opacity:.5}
.lp-tisshero .v.a{stroke-width:1.5}
.lp-tisshero .vflow{fill:none;stroke:var(--dw-a);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:.16 1.2;stroke-dashoffset:-.9;opacity:0}
.lp-tisshero .p2{fill:var(--dw-f2)}
.lp-tisshero .p3{fill:var(--dw-f2);stroke-width:1.2}
.lp-tisshero .cr--h{stroke-opacity:.22}
.lp-tisshero .sh,.lp-tisshero .sw{transform-box:view-box}
.lp-tisshero .sh--b{transform:translateY(160px)}
.lp-tisshero .pull{opacity:0}
.lp-tisshero .pa{fill:none;stroke:var(--dw-a);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1 2}
.lp-tisshero .ph{fill:none;stroke:var(--dw-a);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.lp-tisshero .lbl--a{fill:var(--dw-a);fill-opacity:1;font-size:10px}
.lp-tisshero .lbl--cap{fill-opacity:.5}
:is(.lp-tisshero,.lp-sanihero) .co-o{fill:var(--dw-a)}
:is(.lp-tisshero,.lp-sanihero) .co-l{stroke-width:1;stroke-opacity:.42}
:is(.lp-tisshero,.lp-sanihero) .co-n{fill:var(--dw-f);stroke:currentColor;stroke-width:1;stroke-opacity:.6}
:is(.lp-tisshero,.lp-sanihero) .co-t{font:600 8.5px/1 var(--f-mono);letter-spacing:.04em;fill:currentColor}

.lp-tisshero.is-in .stage{animation:lp-th-float 8s var(--ease-io) infinite}
.lp-tisshero.is-in .shd{animation:lp-th-shd 8s var(--ease-io) infinite}
.lp-tisshero.is-in .spin{animation:lp-th-spin 36s linear infinite}
.lp-tisshero.is-in .sh{animation:lp-th-sheet 12s linear 1.4s infinite both}
.lp-tisshero.is-in .sh--b{animation-delay:-4.6s}
.lp-tisshero.is-in .sw{animation:lp-th-sway 4.4s var(--ease-io) infinite alternate}
.lp-tisshero.is-in .sh--b .sw{animation-delay:-2.2s}
.lp-tisshero.is-in .pull{animation:lp-th-pull 6s var(--ease) 1.4s infinite both}
.lp-tisshero.is-in .pa{animation:lp-th-pa 6s var(--ease-soft) 1.4s infinite both}
.lp-tisshero.is-in .vflow{animation:lp-th-flow 6s var(--ease-io) 1.4s infinite both}
.lp-tisshero.is-in .vflow--b{animation-delay:1.7s}
@keyframes lp-th-float{50%{transform:translateY(-6px)}}
@keyframes lp-th-shd{50%{transform:scale(.95);fill-opacity:.05}}
@keyframes lp-th-spin{to{transform:rotate(360deg)}}
@keyframes lp-th-sway{from{transform:skewX(-1.8deg)}to{transform:skewX(1.8deg)}}
/* one sheet, 12 s: presented → pulled up and away → hidden → dragged up by the previous sheet → presented */
@keyframes lp-th-sheet{
  0%,10%{transform:translateY(0);opacity:1;animation-timing-function:cubic-bezier(.55,0,.6,1)}
  21%{transform:translateY(-58px) rotate(-1.5deg);opacity:1;animation-timing-function:cubic-bezier(.4,0,.8,.6)}
  29%{transform:translate(26px,-178px) rotate(-7deg);opacity:0}
  29.1%,63%{transform:translateY(160px);opacity:0;animation-timing-function:step-end}
  63.1%{transform:translateY(160px);opacity:1;animation-timing-function:cubic-bezier(.22,1,.36,1)}
  76%{transform:translateY(-4px);animation-timing-function:var(--ease-io)}
  82%,100%{transform:translateY(0);opacity:1}
}
@keyframes lp-th-pull{0%,15%{opacity:0;transform:translateY(10px)}24%,44%{opacity:1;transform:none}58%,100%{opacity:0;transform:translateY(-14px)}}
@keyframes lp-th-pa{0%,16%{stroke-dashoffset:1}40%,100%{stroke-dashoffset:0}}
@keyframes lp-th-flow{0%,16%{stroke-dashoffset:-.95;opacity:0}22%{opacity:1}48%{opacity:1}54%,100%{stroke-dashoffset:.12;opacity:0}}

/* ---------------------------------------------------------------- assainisseurs */
.lp-sanihero .tsh{fill:currentColor;fill-opacity:.06}
.lp-sanihero .win{stroke-width:1.2}
.lp-sanihero .lvl{fill:var(--dw-a);fill-opacity:.18;transform-box:fill-box;transform-origin:50% 100%}
.lp-sanihero .fm{fill:var(--dw-f);stroke:var(--dw-a);stroke-width:1.2}
.lp-sanihero .fm--h{fill:var(--dw-a);stroke:none;fill-opacity:.35}
.lp-sanihero .foam{transform-box:view-box}
.lp-sanihero .sring{fill:none;stroke:var(--dw-a);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:.24 .76;opacity:0}
.lp-sanihero .spk{fill:var(--dw-a);opacity:0;transform-box:fill-box;transform-origin:center}
.lp-sanihero .tube{fill:none;stroke:currentColor;stroke-width:6.4;stroke-linecap:round;stroke-linejoin:round}
.lp-sanihero .tube--i{stroke:var(--dw-f);stroke-width:3.6}
.lp-sanihero .pump{transform-box:view-box}
.lp-sanihero .gdrop{transform-box:view-box;opacity:0}
.lp-sanihero .dr{fill:var(--dw-a)}
.lp-sanihero .rip{fill:none;stroke:var(--dw-a);stroke-width:1.3;opacity:0;transform-box:view-box}
.lp-sanihero .gleam{opacity:0}
.lp-sanihero .gleam path{fill:var(--dw-a);fill-opacity:.13}
.lp-sanihero .gleam .g2{fill-opacity:.3}
.lp-sanihero .wipe,.lp-sanihero .lift{transform-box:view-box}
.lp-sanihero .st{font-size:10.5px;fill-opacity:.4;transition:fill-opacity .4s}
.lp-sanihero .sn{fill:var(--dw-a)}
.lp-sanihero .bar0{stroke:currentColor;stroke-opacity:.14;stroke-width:1.4}
.lp-sanihero .bar{stroke:var(--dw-a);stroke-width:1.4;transform-box:view-box;transform:scaleX(0)}

/* 7.5 s: 01 abattant 0–33 %, 02 mains 33–67 %, 03 surfaces 67–100 % */
.lp-sanihero.is-in :is(.lift,.tsh,.st,.bar,.foam,.sring,.spk,.pump,.gdrop,.rip,.wipe,.gleam){animation:7.5s linear 1.9s infinite both}
.lp-sanihero.is-in .step--0 .st{animation-name:lp-sa-s0}
.lp-sanihero.is-in .step--1 .st{animation-name:lp-sa-s1}
.lp-sanihero.is-in .step--2 .st{animation-name:lp-sa-s2}
.lp-sanihero.is-in .pad--0 .lift{animation-name:lp-sa-l0}
.lp-sanihero.is-in .pad--1 .lift{animation-name:lp-sa-l1}
.lp-sanihero.is-in .pad--2 .lift{animation-name:lp-sa-l2}
.lp-sanihero.is-in .pad--0 .tsh{animation-name:lp-sa-h0}
.lp-sanihero.is-in .pad--1 .tsh{animation-name:lp-sa-h1}
.lp-sanihero.is-in .pad--2 .tsh{animation-name:lp-sa-h2}
.lp-sanihero.is-in .bar{animation-name:lp-sa-bar}
.lp-sanihero.is-in .step--1 .bar{animation-delay:4.4s}
.lp-sanihero.is-in .step--2 .bar{animation-delay:6.9s}
.lp-sanihero.is-in .foam{animation-name:lp-sa-foam}
.lp-sanihero.is-in .sring{animation-name:lp-sa-ring}
.lp-sanihero.is-in .spk--1{animation-name:lp-sa-spk1}
.lp-sanihero.is-in .pump{animation-name:lp-sa-pump}
.lp-sanihero.is-in .gdrop{animation-name:lp-sa-drop}
.lp-sanihero.is-in .rip--1{animation-name:lp-sa-rip1}
.lp-sanihero.is-in .rip--2{animation-name:lp-sa-rip2}
.lp-sanihero.is-in .wipe{animation-name:lp-sa-wipe}
.lp-sanihero.is-in .gleam{animation-name:lp-sa-gleam}
.lp-sanihero.is-in .spk--2{animation-name:lp-sa-spk2}
.lp-sanihero.is-in .spk--3{animation-name:lp-sa-spk3}
.lp-sanihero.is-in .spk--4{animation-name:lp-sa-spk4}
@keyframes lp-sa-s0{0%,31%{fill-opacity:1}35%,97%{fill-opacity:.4}100%{fill-opacity:1}}
@keyframes lp-sa-s1{0%,31%{fill-opacity:.4}35%,64%{fill-opacity:1}68%,100%{fill-opacity:.4}}
@keyframes lp-sa-s2{0%,64%{fill-opacity:.4}68%,97%{fill-opacity:1}100%{fill-opacity:.4}}
@keyframes lp-sa-l0{0%{transform:translateY(-6px)}30%{transform:translateY(-6px);animation-timing-function:var(--ease-io)}36%,94%{transform:none;animation-timing-function:var(--ease-io)}100%{transform:translateY(-6px)}}
@keyframes lp-sa-l1{0%,30%{transform:none;animation-timing-function:var(--ease-io)}36%,63%{transform:translateY(-6px);animation-timing-function:var(--ease-io)}69%,100%{transform:none}}
@keyframes lp-sa-l2{0%,63%{transform:none;animation-timing-function:var(--ease-io)}69%,94%{transform:translateY(-6px);animation-timing-function:var(--ease-io)}100%{transform:none}}
@keyframes lp-sa-h0{0%,30%{fill-opacity:.1}36%,94%{fill-opacity:.06}100%{fill-opacity:.1}}
@keyframes lp-sa-h1{0%,30%{fill-opacity:.06}36%,63%{fill-opacity:.1}69%,100%{fill-opacity:.06}}
@keyframes lp-sa-h2{0%,63%{fill-opacity:.06}69%,94%{fill-opacity:.1}100%{fill-opacity:.06}}
@keyframes lp-sa-bar{0%{transform:scaleX(0);opacity:1}33.3%{transform:scaleX(1);opacity:1}38%,100%{transform:scaleX(1);opacity:0}}
@keyframes lp-sa-foam{0%{transform:scale(0);opacity:0;animation-timing-function:var(--ease-back)}3%{opacity:1}10%,22%{transform:scale(1);opacity:1;animation-timing-function:var(--ease-io)}28%{transform:translateY(5px) scale(.55);opacity:0}100%{transform:scale(0);opacity:0}}
@keyframes lp-sa-ring{0%,10%{stroke-dashoffset:.24;opacity:0;animation-timing-function:var(--ease-io)}12%{opacity:1}28%{stroke-dashoffset:-1;opacity:1}31%,100%{stroke-dashoffset:-1;opacity:0}}
@keyframes lp-sa-spk1{0%,24%{transform:scale(0) rotate(0);opacity:0}27%{transform:scale(1.15) rotate(45deg);opacity:1}32%,100%{transform:scale(0) rotate(90deg);opacity:0}}
@keyframes lp-sa-pump{0%,34%{transform:none;animation-timing-function:var(--ease-io)}37%{transform:translateY(4.5px)}41%,100%{transform:none}}
@keyframes lp-sa-drop{0%,36%{transform:scale(.2);opacity:0;animation-timing-function:var(--ease)}38%{opacity:1}42%{transform:scale(1);opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45)}48%{transform:translateY(var(--fall)) scale(.85,1.15);opacity:1}49%,100%{transform:translateY(var(--fall)) scale(.6);opacity:0}}
@keyframes lp-sa-rip1{0%,48%{transform:scale(.12);opacity:0;animation-timing-function:var(--ease)}49%{opacity:1}62%,100%{transform:scale(1.25);opacity:0}}
@keyframes lp-sa-rip2{0%,52%{transform:scale(.12);opacity:0;animation-timing-function:var(--ease)}53%{opacity:.8}66%,100%{transform:scale(1.05);opacity:0}}
@keyframes lp-sa-wipe{0%,67%{transform:none;animation-timing-function:var(--ease-soft)}73%,90%{transform:translateY(-13px);animation-timing-function:var(--ease-io)}97%,100%{transform:none}}
@keyframes lp-sa-gleam{0%,72%{transform:translate(-95px,-55px);opacity:0;animation-timing-function:var(--ease-io)}74%{opacity:1}86%{transform:translate(95px,55px);opacity:1}88%,100%{transform:translate(95px,55px);opacity:0}}
@keyframes lp-sa-spk2{0%,77%{transform:scale(0);opacity:0}80%{transform:scale(1.15) rotate(45deg);opacity:1}86%,100%{transform:scale(0) rotate(90deg);opacity:0}}
@keyframes lp-sa-spk3{0%,81%{transform:scale(0);opacity:0}84%{transform:scale(1.15) rotate(45deg);opacity:1}90%,100%{transform:scale(0) rotate(90deg);opacity:0}}
@keyframes lp-sa-spk4{0%,85%{transform:scale(0);opacity:0}88%{transform:scale(1.15) rotate(45deg);opacity:1}94%,100%{transform:scale(0) rotate(90deg);opacity:0}}

@media (max-width:639.98px){
  .lp-chero__art:has(> :is(.lp-tisshero,.lp-sanihero)){max-width:380px}
}
@media (prefers-reduced-motion:reduce){
  :is(.lp-tisshero,.lp-sanihero) *{animation:none!important}
  .lp-sanihero .bar{transform:none;stroke-opacity:0}
  .lp-sanihero .st{fill-opacity:1}
}

/* ── 80-motion.css ── */
/* =====================================================================
   80 · Motion — reveal grammar, split titles, pointer physics, safety.
   Everything hidden here is scoped to html.js; the inline head script
   reverts to .no-js shortly after DOMContentLoaded if the scripts never boot.
   ===================================================================== */

/* ---------------------------------------------------------------- reveal */
.js [data-reveal]{transition:opacity .9s var(--ease) var(--rd,0s),translate 1.1s var(--ease-soft) var(--rd,0s)}
.js [data-reveal]:not(.is-in){opacity:0;translate:0 34px}
.js [data-reveal="draw"]:not(.is-in){translate:none}
.js [data-reveal="draw"]{transition:opacity 1s var(--ease) var(--rd,0s)}

.js [data-reveal="stagger"],.js [data-reveal="stagger"]:not(.is-in){opacity:1;translate:none}
.js [data-reveal="stagger"] > *{transition:opacity .8s var(--ease) calc(var(--ri,0) * 70ms + var(--rd,0s)),translate 1s var(--ease-soft) calc(var(--ri,0) * 70ms + var(--rd,0s))}
.js [data-reveal="stagger"]:not(.is-in) > *{opacity:0;translate:0 30px}

.js [data-reveal="clip"]{transition:clip-path 1.3s var(--ease-io) var(--rd,0s)}
.js [data-reveal="clip"]:not(.is-in){opacity:1;translate:none;clip-path:inset(14% 7% 0 7% round var(--r-sheet))}
.js [data-reveal="clip"].is-in:not(.is-done){clip-path:inset(0 0 0 0 round var(--r-sheet))}
.js [data-reveal="clip"] img,.js [data-reveal="clip"] video{transition:scale 1.7s var(--ease-soft) var(--rd,0s)}
.js [data-reveal="clip"]:not(.is-in) :is(img,video){scale:1.14}

/* ---------------------------------------------------------------- split titles (words rise from a baseline mask) */
.js [data-split]:not(.is-split){opacity:0}
[data-split] .w{display:inline-block;vertical-align:top;overflow:hidden;padding:.14em .05em .16em;margin:-.14em -.05em -.16em}
.js [data-split] .w > span{display:inline-block;transform:translateY(112%) rotate(5deg);transform-origin:0 100%;transition:transform 1.05s var(--ease-soft) calc(var(--wi,0) * 42ms + var(--rd,0s))}
.js [data-split].is-in .w > span{transform:none}
[data-split] .w > .lp-ins,[data-split] .w > em{display:inline-block}

/* ---------------------------------------------------------------- pointer physics */
[data-magnetic]{translate:calc(var(--mgx,0) * 1px) calc(var(--mgy,0) * 1px);transition:translate .5s var(--ease-soft),background-color var(--t-short),color var(--t-short),box-shadow var(--t-short),border-color var(--t-short)}
[data-magnetic].is-mag{transition:translate .12s linear,background-color var(--t-short),color var(--t-short),box-shadow var(--t-short)}
[data-magnetic] > .lp-btn__l{display:inline-block;translate:calc(var(--mgx,0) * .35px) calc(var(--mgy,0) * .35px);transition:translate .5s var(--ease-soft)}

.lp-obj[data-tilt]{transform:perspective(1100px) rotateX(calc(var(--tly,0) * -6deg)) rotateY(calc(var(--tlx,0) * 8deg));transition:transform .9s var(--ease-soft)}
.lp-obj[data-tilt].is-tilt{transition:transform .18s linear}
.lp-obj[data-tilt] > .lp-orbit{translate:calc(var(--tlx,0) * -12px) calc(var(--tly,0) * -12px);transition:translate .9s var(--ease-soft)}
.lp-obj[data-tilt] .lp-obj__co{translate:calc(var(--tlx,0) * 16px) calc(var(--tly,0) * 16px);transition:translate .9s var(--ease-soft)}

/* ---------------------------------------------------------------- counters keep their width while counting */
[data-count]{font-variant-numeric:tabular-nums}

/* ---------------------------------------------------------------- reduced motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js [data-reveal],.js [data-reveal="stagger"] > *,.js [data-split]{opacity:1!important;translate:none!important;clip-path:none!important}
  .js [data-split] .w > span{opacity:1!important;transform:none!important}
  .js [data-reveal] :is(img,video){scale:none!important}
  [data-magnetic],[data-magnetic] > .lp-btn__l,.lp-obj[data-tilt],.lp-obj[data-tilt] > *{translate:none!important}
  .lp-obj[data-tilt]{transform:none!important}
  [data-parallax] > img{transform:none!important}
  .lp-mq__t{animation:none!important}
  .lp-detect .lens{transform:translate(452px,236px)!important}
}

/* ---------------------------------------------------------------- print */
@media print{
  .js [data-reveal],.js [data-reveal="stagger"] > *,.js [data-split]{opacity:1!important;translate:none!important;clip-path:none!important}
  .js [data-split] .w > span{opacity:1!important;transform:none!important}
  .lp-curtain,.lp-cur,.lp-top,.lp-tray,.lp-consent,.lp-toast,.lp-pal,.lp-dialog,.lp-pdpbar{display:none!important}
  body::before{display:none}
}

/* ── 90-responsive.css ── */
/* ───────────────────────────────────────────── 90 · responsive polish (v2.0 QA pass) */

/* key figures: values never break; balanced rows for odd counts */
.lp-nums{container-type:inline-size}
.lp-num .v{flex-wrap:nowrap;white-space:nowrap}
@media (max-width:1023.98px){
  .lp-nums:not(.lp-nums--2){grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-nums:not(.lp-nums--2) > .lp-num:last-child:nth-child(odd){grid-column:1/-1}
  .lp-nums:not(.lp-nums--2) .lp-num .v{font-size:clamp(40px,11cqi,72px)}
  .lp-nums:not(.lp-nums--2) > .lp-num:nth-child(even){padding-left:18px;border-left:1px solid var(--hair)}
}
@media (min-width:1024px){
  .lp-nums:not(.lp-nums--2){grid-template-columns:repeat(4,minmax(0,1fr))}
  .lp-nums:not(.lp-nums--2) > .lp-num:last-child:nth-child(4n+3){grid-column:span 2}
  .lp-nums:not(.lp-nums--2) > .lp-num:last-child:nth-child(4n+1){grid-column:1/-1}
  .lp-nums:not(.lp-nums--2) .lp-num .v{font-size:clamp(56px,6.4cqi,92px)}
}

/* mega panels never take layout space below the desktop nav breakpoint */
@media (max-width:1119.98px){ .lp-mx{display:none} }

/* cycle diagrams: keep outer labels inside the viewport on small screens */
@media (max-width:767.98px){
  .lp-scrolly__art > .lp-cycle{inset:0 11%;width:78%;height:100%}
  .lp-split2__a:has(> .lp-cycle){padding-inline:clamp(28px,16vw,68px)}
  .lp-split2__a > .lp-cycle .nd-l,.lp-scrolly__art > .lp-cycle .nd-l{font-size:27px}
  .lp-phero__art:has(> .lp-cycle){padding-inline:clamp(24px,12vw,60px)}
  .lp-phero__art > .lp-cycle .nd-l{font-size:28px}
}

/* search idle state: shortcuts use the full row */
.lp-sres__idle > .lp-quick{justify-self:stretch;width:100%}

/* parallax media: symmetric overscan so a moving photo never uncovers its frame */
[data-parallax][data-parallax] > img{height:114%;margin-top:0;transform:translate3d(0,calc(var(--py,0px) - 6.14%),0)}
@media (prefers-reduced-motion:reduce){ [data-parallax][data-parallax] > img{transform:translate3d(0,-6.14%,0)!important} }

/* air-care trio: the photo can't push the grid wider than the screen */
.lp-air > *{min-width:0}
@media (max-width:899.98px){ .lp-air .lp-fig__m{min-height:0} }

/* sector rows: the big index stays legible on bright photos */
.lp-srow__m::after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(rgba(9,13,69,0),rgba(9,13,69,.34));pointer-events:none}
.lp-srow__num{z-index:1}

/* ─── phones & small tablets ─── */
@media (max-width:639.98px){
  /* utility bar: one clean row, no truncated tagline */
  .lp-util__tag{display:none}
  .lp-util__nav{width:100%;justify-content:space-between;gap:2px}
  .lp-util__nav a,.lp-util__nav button{white-space:nowrap;padding:0 6px;font-size:11.5px;gap:6px}
  .lp-util__nav .lp-ic{width:14px;height:14px}

  /* hero facts stay on one row */
  .lp-facts--inline{display:grid;grid-auto-flow:column;grid-auto-columns:auto;justify-content:start}
  .lp-facts--inline > div{padding-right:14px}
  .lp-facts--inline > div + div{padding-left:14px}
  .lp-facts--inline dd{font-size:22px;white-space:nowrap}

  /* home hero key figures: three even columns */
  .lp-home__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .lp-home__meta li{padding:16px 12px 0 0}
  .lp-home__meta li + li{padding-left:12px}
  .lp-home__meta strong{font-size:30px}
  .lp-home__meta span{font-size:12.5px;hyphens:manual}

  /* product grids: two columns, compact cards */
  .lp-pgrid:not(.is-list){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}

  /* gauges read as a compact list */
  .lp-gauges:not(.lp-gauges--solo){grid-template-columns:1fr;gap:14px}
  .lp-gauges:not(.lp-gauges--solo) .lp-gauge{grid-template-columns:92px minmax(0,1fr);align-items:center;column-gap:18px}
  .lp-gauges:not(.lp-gauges--solo) .lp-gauge svg,.lp-gauges:not(.lp-gauges--solo) .lp-gauge__v{width:92px;height:92px}
  .lp-gauges:not(.lp-gauges--solo) .lp-gauge__v{font-size:21px}

  /* dealer network tags stay inside their card */
  .lp-dist__tag{left:clamp(64px,var(--x),calc(100% - 64px));padding:6px 10px;gap:6px;font-size:10.5px}
  .lp-dist__tag--n{padding:7px 11px}
  .lp-dist__tag--n b{font-size:18px}

  /* closing CTA art becomes an accent, not a second screen */
  .lp-cta__art{max-width:210px;justify-self:start}

  /* footer: the long "Maison" list splits in two columns */
  .lp-ft__grid > .lp-ft__c:last-child{grid-column:1/-1}
  .lp-ft__grid > .lp-ft__c:last-child ul{columns:2;column-gap:24px}
  .lp-ft__grid > .lp-ft__c:last-child li{margin:0;padding:4.5px 0;break-inside:avoid}
  .lp-ft__grid > .lp-ft__c:last-child ul{margin-top:-4.5px}

  /* sector plates & home journal: swipeable rails instead of a tall stack */
  .lp-splates,.lp-sec--journal .lp-jgrid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scroll-padding-inline:var(--gut);padding-bottom:4px}
  .lp-splates::-webkit-scrollbar,.lp-sec--journal .lp-jgrid::-webkit-scrollbar{display:none}
  .lp-splates > *,.lp-sec--journal .lp-jgrid > *{scroll-snap-align:start}
  .lp-splate{min-height:360px}

  /* line plates: the outlined index never collides with the eyebrow */
  .lp-iplate__n{font-size:64px;top:-.04em}
  .lp-iplate .lp-over{padding-right:84px}

  /* benefit cards: icon beside the text, half the height */
  .lp-tri3__c{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;row-gap:4px;align-items:start;padding:18px 18px 20px}
  .lp-tri3__c .ic{grid-row:1/span 3;width:44px;height:44px;margin:0}
  .lp-tri3__c .ic .lp-ic{width:20px;height:20px}
  .lp-tri3__c > :not(.ic){grid-column:2}
  .lp-tri3__c h3{font-size:20px}
  .lp-tri3__c p{font-size:14.5px}

  /* decorative hero drawings: an accent, not a full screen */
  .lp-phero__art:has(> .lp-q),.lp-gate__art,.lp-404__art{max-width:250px}
  .lp-chero__art:has(> svg){max-width:260px;justify-self:center}

  /* search shortcuts: a tidy two-up grid */
  .lp-quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lp-quick a{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:58px;padding:10px 12px 10px 10px;font-size:14.5px}
  .lp-quick a > .lp-ic{width:34px;height:34px;padding:8px;border-radius:10px}
  .lp-quick a > .lp-arw{display:none}

  /* soap shelf: the note drops under the name instead of a thin column */
  .lp-shelf li{grid-template-columns:32px minmax(0,1fr);row-gap:4px;padding:14px 0}
  .lp-shelf li > span:last-child{grid-column:2;text-align:left}
}
@container pc (max-width:200px){
  .lp-pc__line{left:8px;top:8px;padding:4px 8px;gap:5px;font-size:10px}
  .lp-pc__body{padding:12px 12px 10px;gap:4px}
  .lp-pc__t{font-size:14.5px}
  .lp-pc__n{font-size:12.5px}
  .lp-pc__meta{font-size:9.5px}
  .lp-pc__foot{padding:8px 8px 8px 10px}
}
@media (max-width:520px){
  .lp-pdp__key{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lp-pdp__key > div{grid-template-columns:30px minmax(0,1fr);column-gap:10px;padding:10px 11px}
  .lp-pdp__key .ic{width:30px;height:30px}
  .lp-pdp__key .ic .lp-ic{width:16px;height:16px}
  .lp-pdp__key dd{font-size:13.5px}
}

/* object photos shot on white melt into their paper backdrop */
.lp-fig--obj .lp-fig__m img{mix-blend-mode:multiply}

/* stacked tablets: diagrams keep a comfortable size with room for their labels */
@media (min-width:768px) and (max-width:1023.98px){
  .lp-split2__a > .lp-cycle,.lp-phero__art > .lp-cycle{max-width:500px;margin-inline:auto}
}

/* reduced motion: self-running cycles rest in their completed state */
@media (prefers-reduced-motion:reduce){
  :is(.lp-cycle--auto,.lp-cycle--mini,.lp-cycle--sect) .ringp{stroke-dashoffset:0}
  :is(.lp-cycle--auto,.lp-cycle--mini,.lp-cycle--sect) .nd{fill:var(--dw-a);stroke:var(--dw-a);stroke-opacity:1}
  :is(.lp-cycle--auto,.lp-cycle--mini,.lp-cycle--sect) .nd-core{fill:var(--dw-f);fill-opacity:1}
}

/* sector plates: rows always fill — no orphan gaps */
@media (min-width:640px) and (max-width:1023.98px){
  .lp-splates{grid-template-columns:repeat(6,minmax(0,1fr))}
  .lp-splates > *{grid-column:span 2}
  .lp-splates:has(> :nth-child(5):last-child) > :nth-child(n+4){grid-column:span 3}
  .lp-splates:has(> :nth-child(4):last-child) > *{grid-column:span 3}
}
@media (min-width:1024px){ .lp-splates{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))} }

/* ── 95-v21.css ── */
/* =====================================================================
   95 · v2.1 — audit fixes, balance, quick view, gallery zoom
   ===================================================================== */

/* ---------------------------------------------------------------- sector plates: hidden copy no longer pushes titles up */
@media (min-width:1024px){
  .lp-splate .b{grid-template-rows:auto 0fr;gap:0;transition:grid-template-rows .7s var(--ease-soft),gap .7s var(--ease-soft)}
  .lp-splate .b small{min-height:0;overflow:hidden}
  .lp-splate:hover .b,.lp-splate:focus-visible .b{grid-template-rows:auto 1fr;gap:8px}
}

/* ---------------------------------------------------------------- active filter chips */
.lp-chip--x .lp-ic{transition:transform var(--t-med) var(--ease-back),opacity var(--t-short)}
.lp-chip--x:hover .lp-ic,.lp-chip--x:focus-visible .lp-ic{transform:rotate(90deg);opacity:1}

/* ---------------------------------------------------------------- mega · Solutions: aligned rows, single-line systems */
@media (min-width:1120px){
  .lp-mxs{grid-template-rows:auto auto 1fr}
  .lp-mxs__col{display:grid;grid-row:1 / span 3;grid-template-rows:subgrid}
  .lp-mxs__aside{grid-row:1 / span 3}
  .lp-mxs__h{margin-bottom:10px;align-self:stretch}
  .lp-mxs__all{align-self:end;margin-top:0}
  .lp-mxs__ht strong{text-wrap:balance}
  .lp-mxq__try > span{flex-basis:100%;font:600 10.5px/1 var(--f-sans);letter-spacing:.09em;text-transform:uppercase}
  .lp-mxs__sys a{flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:54px;padding:8px 12px;white-space:nowrap}
  .lp-mxq__try button{padding:6px 8px}
}

/* ---------------------------------------------------------------- product grids outside the catalogue: no orphans */
@media (min-width:1120px){
  .lp-pgrid:not(.lp-pgrid--cat):has(> :nth-child(3):last-child),
  .lp-pgrid:not(.lp-pgrid--cat):has(> :nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
  .lp-pgrid:not(.lp-pgrid--cat):has(> :nth-child(5):last-child),
  .lp-pgrid:not(.lp-pgrid--cat):has(> :nth-child(10):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}
}
@container pc (min-width:380px){
  .lp-pgrid:not(.is-list) .lp-pc__media{aspect-ratio:4/3}
  .lp-pgrid:not(.is-list) .lp-pc__t{font-size:19px}
}

/* ---------------------------------------------------------------- footer: a quieter sign-off when the page already ends on a call to action */
@media (min-width:768px){
  body:has(:is(:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta:last-child,:is(.lp-main,.lp-main > .wpb-content-wrapper) > .vc_row:last-child .wpb_wrapper > .lp-cta:last-child)) .lp-ft{padding-top:clamp(56px,6vw,88px)}
  body:has(:is(:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta:last-child,:is(.lp-main,.lp-main > .wpb-content-wrapper) > .vc_row:last-child .wpb_wrapper > .lp-cta:last-child)) .lp-ft__sign{grid-template-columns:minmax(0,1fr) auto;gap:32px;padding-bottom:clamp(40px,4.4vw,64px)}
  body:has(:is(:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta:last-child,:is(.lp-main,.lp-main > .wpb-content-wrapper) > .vc_row:last-child .wpb_wrapper > .lp-cta:last-child)) .lp-ft__big{font-size:clamp(34px,3.6vw,56px);max-width:18ch}
  body:has(:is(:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta:last-child,:is(.lp-main,.lp-main > .wpb-content-wrapper) > .vc_row:last-child .wpb_wrapper > .lp-cta:last-child)) .lp-ft__sign .lp-actions{display:none}
  body:has(:is(:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta:last-child,:is(.lp-main,.lp-main > .wpb-content-wrapper) > .vc_row:last-child .wpb_wrapper > .lp-cta:last-child)) .lp-ft__orb{width:clamp(150px,13vw,200px);margin:0}
}
@media (max-width:767px){
  body:has(:is(:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta:last-child,:is(.lp-main,.lp-main > .wpb-content-wrapper) > .vc_row:last-child .wpb_wrapper > .lp-cta:last-child)) .lp-ft__sign .lp-actions{display:none}
  body:has(:is(:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta:last-child,:is(.lp-main,.lp-main > .wpb-content-wrapper) > .vc_row:last-child .wpb_wrapper > .lp-cta:last-child)) .lp-ft__big{font-size:clamp(34px,10vw,44px)}
  body:has(:is(:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta:last-child,:is(.lp-main,.lp-main > .wpb-content-wrapper) > .vc_row:last-child .wpb_wrapper > .lp-cta:last-child)) .lp-ft__orb{width:min(220px,60vw)}
}

/* ---------------------------------------------------------------- PDP gallery: legible counter, zoom on photos */
.lp-gal__n{display:inline-flex;align-items:baseline;gap:3px;padding:7px 12px 6px;border-radius:var(--r-pill);background:rgba(255,252,247,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lp-gal__n span{font-size:18px}
@media (hover:hover) and (pointer:fine){
  .lp-gal__v--img{cursor:zoom-in}
  .lp-gal__v--img img{transition:transform .5s var(--ease-soft)}
  .lp-gal__v--img.is-zoom{cursor:zoom-out}
  .lp-gal__v--img.is-zoom img{transform:scale(2.1);transition:transform .45s var(--ease-soft),transform-origin .12s linear}
  .lp-gal__v--img.is-zoom figcaption{opacity:0}
  .lp-gal__v figcaption{transition:opacity var(--t-short)}
}

/* ---------------------------------------------------------------- cards that open a quick view */
@media (hover:hover) and (pointer:fine){
  html:not(.has-cursor) .lp-pc.has-qv .lp-pc__media::after{content:"Aperçu";position:absolute;left:50%;bottom:12px;z-index:2;padding:7px 12px;border-radius:var(--r-pill);background:var(--lp-ink);
    font:600 11.5px/1 var(--f-sans);letter-spacing:.02em;color:#fffcf7;transform:translate(-50%,8px);opacity:0;transition:opacity var(--t-short),transform var(--t-med) var(--ease-soft)}
  html:not(.has-cursor) .lp-pc.has-qv:hover .lp-pc__media::after{opacity:1;transform:translate(-50%,0)}
}

/* ---------------------------------------------------------------- quick view */
.lp-qv{position:fixed;inset:0;z-index:92;display:grid;place-items:center;padding:clamp(12px,3vw,40px);background:rgba(9,13,69,.42);overscroll-behavior:contain;
  -webkit-backdrop-filter:blur(8px) saturate(.9);backdrop-filter:blur(8px) saturate(.9);opacity:0;transition:opacity .32s var(--ease)}
.lp-qv.is-on{opacity:1}
.lp-qv__box{--c:var(--lp-navy);position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);width:min(1120px,100%);height:min(760px,calc(100dvh - 32px));max-height:min(760px,calc(100dvh - 32px));
  border-radius:var(--r-sheet);background:var(--lp-paper-bright);box-shadow:var(--elev-3);overflow:hidden;transform:translateY(18px) scale(.985);transition:transform .6s var(--ease-soft)}
.lp-qv.is-on .lp-qv__box{transform:none}
.lp-qv__grab{display:none}
.lp-qv__media{position:relative;display:grid;place-items:center;min-height:0;height:100%;max-height:min(760px,calc(100dvh - 32px));overflow:hidden;background:radial-gradient(circle at 50% 46%,#fff 0,var(--lp-paper) 74%);touch-action:pan-y;transform-origin:50% 50%}
.lp-qv__media::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 100%,color-mix(in srgb,var(--c) 10%,transparent),transparent 70%);pointer-events:none}
.lp-qv__ring{position:absolute;inset:28px 32px 68px 32px;width:calc(100% - 64px);height:calc(100% - 96px);max-width:440px;max-height:440px;margin:auto;overflow:visible;pointer-events:none}
.lp-qv__ring .r{fill:none;stroke:var(--hair-2);stroke-width:.24;stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease-soft) .15s}
.lp-qv__ring .o{fill:var(--c);transform-origin:50px 50px;transform-box:view-box}
.lp-qv.is-on .lp-qv__ring .r{stroke-dashoffset:0}
@media (prefers-reduced-motion:no-preference){ .lp-qv.is-on .lp-qv__ring .o{animation:lp-qv-orbit 26s linear infinite} }
@keyframes lp-qv-orbit{to{transform:rotate(1turn)}}
.lp-qv__v{position:absolute;inset:28px 32px 68px 32px;width:calc(100% - 124px);height:calc(100% - 156px);max-width:350px;max-height:350px;margin:auto;display:grid;place-items:center;color:var(--lp-ink)}
.lp-qv__v svg{width:100%;height:100%;--dw-a:var(--lp-navy);--dw-f:var(--lp-paper-bright);--dw-f2:#f1ebdf;--dw-sw:2}
.lp-qv__v.is-cut{width:calc(100% - 110px);height:calc(100% - 140px);max-width:360px;max-height:360px}
.lp-qv__v.is-cut img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 36px rgba(9,13,69,.18))}
.lp-qv__v.is-pack{width:calc(100% - 116px);height:calc(100% - 146px);max-width:356px;max-height:356px}
.lp-qv__v.is-pack img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.lp-qv__v.is-photo{inset:0;width:auto;height:auto;max-width:none;max-height:none;overflow:hidden}
.lp-qv__v.is-photo .bg{position:absolute;inset:-10%;width:120%;height:120%;object-fit:cover;filter:blur(34px) saturate(1.15);opacity:.5}
.lp-qv__v.is-photo .fg{position:relative;max-width:84%;max-height:78%;width:auto;height:auto;border-radius:18px;box-shadow:0 30px 60px -24px rgba(9,13,69,.45)}
.lp-qv__media:has(.is-photo) .lp-qv__ring{display:none}
.lp-qv__n{position:absolute;left:20px;bottom:18px;z-index:2;display:inline-flex;align-items:baseline;gap:5px;padding:7px 12px 6px;border-radius:var(--r-pill);background:rgba(255,252,247,.9);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 12px/1 var(--f-mono);color:var(--lp-slate)}
.lp-qv__n b{font:500 18px/1 var(--f-display);color:var(--lp-ink)}
.lp-qv__nav{position:absolute;right:16px;bottom:14px;z-index:2;display:flex;gap:8px}
.lp-qv__nav button{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:rgba(255,252,247,.94);border:1px solid var(--hair);color:var(--lp-ink);
  transition:background-color var(--t-short),color var(--t-short),transform var(--t-short) var(--ease)}
.lp-qv__nav button:hover{background:var(--lp-ink);color:#fffcf7;transform:translateY(-1px)}
.lp-qv__nav .lp-ic{width:20px;height:20px}
.lp-qv__b{display:flex;flex-direction:column;gap:14px;min-height:0;height:100%;max-height:min(760px,calc(100dvh - 32px));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:rgba(9,13,69,.22) transparent;padding:clamp(22px,2.8vw,36px) clamp(22px,3vw,42px) clamp(22px,2.6vw,34px)}
.lp-qv__top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-right:56px}
.lp-qv__line{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 13px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:#fff;font:600 12px/1 var(--f-sans);color:var(--lp-ink);transition:border-color var(--t-short)}
.lp-qv__line::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.lp-qv__line:hover{border-color:var(--lp-ink)}
.lp-qv__en{font:500 11px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--lp-slate-2)}
.lp-qv__t{margin:0;font:500 clamp(26px,2.5vw,38px)/1.05 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink);text-wrap:balance}
.lp-qv__note{margin:0;font:400 clamp(15.5px,1.15vw,17.5px)/1.42 var(--f-display);color:var(--lp-ink);max-width:42ch}
.lp-qv__spec{margin:0;border-bottom:1px solid var(--hair)}
.lp-qv__spec > div{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px;min-height:40px;padding:6.5px 0;border-top:1px solid var(--hair)}
.lp-qv__spec dt{font:500 10.5px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--lp-slate-2)}
.lp-qv__spec dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:14.5px;line-height:1.35;color:var(--lp-ink)}
.lp-qv__spec dd a{text-decoration:underline;text-decoration-color:var(--hair-2);text-underline-offset:3px;transition:text-decoration-color var(--t-short),color var(--t-short)}
.lp-qv__spec dd a:hover{color:var(--lp-navy);text-decoration-color:currentColor}
.lp-qv__spec dd i{font-style:normal;color:var(--lp-slate-2)}
.lp-qv__na{display:inline-flex;align-items:center;gap:8px;font:500 12px/1.3 var(--f-mono);color:var(--lp-slate);-webkit-hyphens:none;hyphens:none}
.lp-qv__na .lp-ic{width:16px;height:16px;color:var(--lp-navy)}
.lp-qv__b .lp-actions{margin-top:2px}
.lp-qv__cmp .lp-ic{width:18px;height:18px;transition:transform var(--t-med) var(--ease-back)}
.lp-qv__cmp[aria-pressed="true"]{--b-bg:var(--lp-ink);--b-fg:#fffcf7;--b-bd:var(--lp-ink)}
.lp-qv__cmp[aria-pressed="true"] .lp-ic{transform:rotate(45deg)}
.lp-qv__more{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:auto 0 0;padding-top:6px;font-size:13.5px}
.lp-qv__share{display:inline-flex;align-items:center;gap:7px;font:600 13.5px/1 var(--f-sans);color:var(--lp-navy)}
.lp-qv__share .lp-ic{width:17px;height:17px}
.lp-qv__share:hover span{text-decoration:underline;text-underline-offset:3px}
.lp-qv__x{position:absolute;top:16px;right:16px;z-index:3;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--lp-paper-bright);border:1px solid var(--hair);color:var(--lp-ink);
  transition:transform var(--t-med) var(--ease),background-color var(--t-short)}
.lp-qv__x:hover{transform:rotate(90deg);background:var(--lp-paper-shade)}
@media (max-width:1023px) and (min-width:768px){
  .lp-qv__box{grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}
  .lp-qv__media{min-height:0}
  .lp-qv__spec > div{grid-template-columns:96px minmax(0,1fr)}
}
@media (max-width:767px){
  .lp-qv{place-items:end center;padding:0}
  .lp-qv__box{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);width:100%;height:auto;max-height:calc(100dvh - 20px);border-radius:26px 26px 0 0;transform:translateY(104%);transition:transform .55s var(--ease-soft)}
  .lp-qv__grab{display:block;position:absolute;top:8px;left:50%;z-index:4;width:44px;height:5px;margin-left:-22px;border-radius:3px;background:rgba(9,13,69,.22)}
  .lp-qv__media{min-height:0;height:clamp(200px,32dvh,280px);max-height:none;touch-action:none}
  .lp-qv__v{inset:10% 20% 14% 20%}
  .lp-qv__v.is-cut{inset:8% 16% 12% 16%}
  .lp-qv__b{height:auto;max-height:calc(100dvh - 20px - clamp(200px,32dvh,280px));gap:12px;padding:18px var(--gut) calc(22px + env(safe-area-inset-bottom))}
  .lp-qv__top{padding-right:0}
  .lp-qv__t{font-size:clamp(24px,7vw,32px)}
  .lp-qv__note{font-size:15.5px}
  .lp-qv__spec > div{grid-template-columns:92px minmax(0,1fr);min-height:38px}
  .lp-qv__spec dd{font-size:14px}
  .lp-qv__x{top:14px;right:14px;width:42px;height:42px}
  .lp-qv__nav button{width:42px;height:42px}
  .lp-qv__b .lp-actions{gap:8px}
  .lp-qv__b .lp-actions .lp-btn{flex:1 1 auto}
  .lp-qv__v.is-photo .fg{max-height:80%;border-radius:14px}
}
@media (prefers-reduced-motion:reduce){
  .lp-qv__box,.lp-qv.is-on .lp-qv__box{transform:none;transition:none}
  .lp-qv__ring .r{transition:none;stroke-dashoffset:0}
}
@media print{ .lp-qv{display:none!important} }

/* v2.1 — search: tighter results section + line monograms (palette + search page) */
.lp-sec--search{padding-top:clamp(32px,4.4vw,64px)}
.lp-lnm{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font:400 21px/1 var(--f-display);font-style:italic;box-shadow:0 0 0 4px #fff,0 0 0 5px color-mix(in srgb,var(--c) 32%,transparent);transition:transform .5s var(--ease-soft)}
.lp-pal__v .lp-lnm{width:28px;height:28px;font-size:16px;box-shadow:0 0 0 3px #fff,0 0 0 4px color-mix(in srgb,var(--c) 32%,transparent)}
.lp-sr:hover .lp-lnm,.lp-pal__it[aria-selected="true"] .lp-lnm{transform:rotate(-8deg) scale(1.06)}
@media (prefers-reduced-motion:reduce){.lp-lnm{transition:none}}
/* highlight without breaking the word ("Aqua|Stream") */
mark{padding:0;box-shadow:0 0 0 .1em color-mix(in srgb,var(--lp-navy) 13%,transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* ───────────────────────────── v2.1 — print: clean A4 sheets (fiches produit, articles, FAQ, catalogue) */
@media print{
  @page{size:A4;margin:14mm 13mm 16mm}
  *,*::before,*::after{animation:none!important;transition:none!important}
  html,body{background:#fff!important;color:#15171c!important}
  html{font-size:10.5pt}
  .lp-skip,.lp-curtain,.lp-util,.lp-veil,.lp-mnav,.lp-mx,.lp-pal,.lp-dialog,.lp-consent,.lp-tray,.lp-toast,.lp-top,.lp-cur,.lp-pdpbar,.lp-qv,
  .lp-hd nav,.lp-hd__act,.lp-hd__q,.lp-hd button,
  .lp-ft__grid,.lp-ft__big,.lp-ft__orb,.lp-ft__soc,.lp-ft__sign,.lp-ft__st,.lp-ft__brand,.lp-ft__legal nav,
  .lp-tabs__l,.lp-gal__th,.lp-gal__n,:is(.lp-main,.lp-main > .wpb-content-wrapper) > .lp-cta,.lp-crumb,video,[data-marquee],.lp-cat__rail,.lp-cat__bar,.lp-sres__tabs,
  .lp-phero__art,.lp-faq__search,.lp-faq__chips,.lp-faq__count,.lp-faq__empty,.lp-share,.lp-toc,.lp-acc__i,.lp-pdp .lp-actions,[data-compare-add],.lp-gal .lp-orbit{display:none!important}
  .lp-phero{min-height:0!important;padding-block:2mm 4mm!important}
  .lp-phero .lp-wrap,.lp-phero__text{display:block!important;grid-template-columns:none!important}
  .lp-pdp__grid{display:grid!important;grid-template-columns:40% minmax(0,1fr)!important;gap:8mm!important;align-items:start}
  .lp-pdp .lp-gal,.lp-pdp .lp-pdp__info{position:static!important;top:auto!important}
  .lp-gal__stage{aspect-ratio:4/5!important;height:auto!important;min-height:0!important}
  .lp-hd{position:static!important;inset:auto!important;transform:none!important;background:none!important;box-shadow:none!important;border:0!important;height:auto!important;padding:0 0 7mm!important;margin:0!important;backdrop-filter:none!important}
  .lp-hd .lp-wrap{padding:0!important}
  .lp-logo img{height:30px}
  .lp-main{padding-top:0!important;margin-top:0!important}
  .lp-wrap{max-width:none!important;padding-inline:0!important}
  [data-tone]{--bg:#fff;--fg:#15171c;--fg2:#4a4f5a;--acc:#012169;--acc-fg:#fff;--card:#fff;--line:#d9d6cf;--hair:#e6e3dc;background:#fff!important;color:#15171c!important}
  section,.lp-sec{padding-block:7mm!important;min-height:0!important}
  [data-reveal],[data-reveal] > *,[data-split],[data-split] .w > span{opacity:1!important;transform:none!important;translate:none!important;clip-path:none!important;filter:none!important}
  .lp-tabs__p[hidden]{display:block!important}
  .lp-tabs__p{margin-top:6mm}
  .lp-tabs__p[data-print-t]::before{content:attr(data-print-t);display:block;margin:0 0 3mm;padding-bottom:2mm;border-bottom:1px solid #d9d6cf;font:500 15pt/1.2 var(--f-display);color:#012169}
  a{color:inherit!important}
  .lp-prose a[href^="http"]::after{content:" (" attr(href) ")";font-size:.82em;color:#4a4f5a;word-break:break-all}
  h1,h2,h3,h4{break-after:avoid;page-break-after:avoid}
  h1,h2{color:#012169!important}
  img,svg,figure,table,tr,blockquote,.lp-pc,.lp-acc,.lp-specs > div,.lp-faq details{break-inside:avoid;page-break-inside:avoid}
  .lp-pgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4mm!important}
  .lp-pc{box-shadow:none!important;border:1px solid #e6e3dc!important}
  .lp-btn{border:1px solid currentColor!important;background:none!important;color:#012169!important;box-shadow:none!important}
  .lp-ft{background:none!important;color:#4a4f5a!important;padding:5mm 0 0!important;margin:8mm 0 0!important;border-top:1px solid #d9d6cf;border-radius:0!important}
  .lp-ft .lp-wrap{padding:0!important}
  .lp-ft__legal{display:block!important;border:0!important;padding:0!important;color:#4a4f5a!important;font-size:8.5pt}
  .lp-ft__legal::after{content:"lucartprofessional.com/fr · Imprimé depuis la démo CIRCOLARE";display:block;margin-top:1mm}
}

/* v2.2 · Identity « air » trio: the photo tile fills its column instead of growing from the row height (overflow at 900–1300 px) */
@media (min-width:900px){ .lp-air .lp-fig__m{width:100%;aspect-ratio:auto} }

/* ── 96-account.css ── */
/* =====================================================================
   96 · Customer area (v2.2) — header account + basket, quantity, login,
   logout, account, basket & checkout, orders. Lucart For Me (demo).
   ===================================================================== */
:root{--ic-bag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 12.2a1 1 0 0 1-1 .8H7.2a1 1 0 0 1-1-.8z'/%3E%3Cpath d='M9 10V6.5a3 3 0 0 1 6 0V10'/%3E%3C/svg%3E")}
@keyframes lp-bump{0%{transform:none}35%{transform:scale(1.16)}65%{transform:scale(.94)}100%{transform:none}}
@keyframes lp-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes lp-cnew{0%{background-color:color-mix(in srgb,var(--lp-navy) 11%,transparent)}100%{background-color:transparent}}
@keyframes lp-pulse{50%{box-shadow:0 0 0 6px transparent}}

/* ---------------------------------------------------------------- header: account + basket */
.lp-hacc{position:relative}
.lp-hd__ib{position:relative;flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--hair-2);background:rgba(255,255,255,.55);color:var(--lp-ink);
  transition:border-color var(--t-short),background-color var(--t-short),transform var(--t-short) var(--ease)}
.lp-hd__ib:hover,.lp-hacc.is-open .lp-hd__ib{border-color:var(--lp-ink);background:#fff}
.lp-hd__ib:active{transform:scale(.94)}
.lp-hd__ib > .lp-ic{width:20px;height:20px}
.lp-hd__ini{position:absolute;inset:3px;display:none;place-items:center;border-radius:50%;background:var(--lp-navy);color:#fff;font:600 13px/1 var(--f-sans);letter-spacing:.03em}
.is-auth .lp-hd__acc .lp-hd__ini:not(:empty){display:grid}
.is-auth .lp-hd__acc:has(.lp-hd__ini:not(:empty)) > .lp-ic{opacity:0}
.is-auth .lp-hd__acc{border-color:color-mix(in srgb,var(--lp-navy) 40%,transparent)}
.lp-hd__n{position:absolute;top:-5px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-pill);background:var(--lp-navy);color:#fff;
  font:600 11px/20px var(--f-mono);text-align:center;box-shadow:0 0 0 2px var(--lp-paper);pointer-events:none}
.lp-hd__bag.is-bump{animation:lp-bump .6s var(--ease-back)}
.lp-hd__bag.is-bump .lp-hd__n{animation:lp-pop .5s var(--ease-back)}

.lp-accm{position:absolute;top:calc(100% + 12px);right:-6px;z-index:72;width:min(320px,calc(100vw - 24px));padding:18px;border-radius:20px;background:var(--lp-paper-bright);color:var(--lp-slate);
  box-shadow:var(--elev-3),0 0 0 1px var(--hair);opacity:0;transform:translateY(-8px) scale(.98);transform-origin:calc(100% - 28px) 0;transition:opacity .22s var(--ease),transform .4s var(--ease-soft)}
.lp-accm::before{content:"";position:absolute;top:-6px;right:22px;width:12px;height:12px;background:inherit;border-left:1px solid var(--hair);border-top:1px solid var(--hair);transform:rotate(45deg)}
.lp-accm.is-on{opacity:1;transform:none}
.lp-accm__h{display:grid;gap:4px;margin-bottom:16px}
.lp-accm__h strong{font:400 24px/1.1 var(--f-display);color:var(--lp-ink);letter-spacing:-.01em}
.lp-accm__h small{font-size:13.5px;line-height:1.45}
.lp-accm > .lp-btn{width:100%}
.lp-accm__l{display:grid;gap:2px;margin-top:12px;padding-top:10px;border-top:1px solid var(--hair)}
.lp-accm__l a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 10px;border-radius:12px;font:600 14px/1.2 var(--f-sans);color:var(--lp-ink);transition:background-color var(--t-micro)}
.lp-accm__l a:hover,.lp-accm__l a:focus-visible{background:var(--lp-paper-shade)}
.lp-accm__l .lp-ic{width:18px;height:18px;color:var(--lp-slate-2)}
.lp-accm__l em{margin-left:auto;padding:4px 8px;border-radius:var(--r-pill);background:var(--lp-paper-shade);font:500 11px/1 var(--f-mono);font-style:normal;color:var(--lp-ink);white-space:nowrap}
.lp-accm__l a:hover em{background:#fff}
.lp-accm__h--u{display:flex;align-items:center;gap:12px;margin-bottom:6px;padding-bottom:14px;border-bottom:1px solid var(--hair)}
.lp-accm__h--u > span:last-child{display:grid;gap:3px;min-width:0}
.lp-accm__h--u strong{font:600 15px/1.2 var(--f-sans);letter-spacing:0}
.lp-accm__h--u small{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-accm__av{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lp-navy);color:#fff;font:600 15px/1 var(--f-sans);letter-spacing:.03em}
.lp-accm__h--u + .lp-accm__l{margin-top:0;padding-top:0;border-top:0}
.lp-accm__out{display:flex;align-items:center;gap:12px;min-height:44px;margin-top:8px;padding:8px 10px 0;border-top:1px solid var(--hair);font:600 14px/1.2 var(--f-sans);color:var(--lp-slate);transition:color var(--t-short)}
.lp-accm__out:hover{color:var(--lp-danger)}
.lp-accm__out .lp-ic{width:18px;height:18px}
@media (max-width:1119.98px){
  .lp-hacc{position:static}
  .lp-hd__act{position:relative}
  .lp-accm{right:0}
  .lp-accm::before{display:none}
}

/* mobile menu + footer entries */
.lp-mnav__n{min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--lp-navy);color:#fff;font:600 11px/20px var(--f-mono);text-align:center}
.lp-ft__acc{margin-top:26px}
.lp-ft__acc .lp-ft__h{margin-bottom:12px}
.lp-ft__accl{display:flex;flex-wrap:wrap;gap:8px}
.lp-ft__accl a{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px 0 12px;border-radius:var(--r-pill);border:1px solid rgba(247,243,234,.22);font:600 13px/1 var(--f-sans);color:#fffcf7;
  transition:border-color var(--t-short),background-color var(--t-short),color var(--t-short)}
.lp-ft__accl a:hover{background:#fffcf7;border-color:#fffcf7;color:var(--lp-ink)}
.lp-ft__accl .lp-ic{width:16px;height:16px}

/* fly-to-basket dot, toast action */
.lp-fly{position:fixed;left:0;top:0;z-index:130;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--lp-navy);pointer-events:none;will-change:transform;
  box-shadow:0 0 0 3px rgba(255,252,247,.9),0 6px 16px rgba(1,33,105,.35)}
.lp-toast.has-act{pointer-events:auto;padding-right:7px}
.lp-toast > span{min-width:0}
.lp-toast__act{flex:none;display:inline-flex;align-items:center;min-height:34px;margin-left:4px;padding:0 14px;border-radius:var(--r-pill);background:rgba(255,252,247,.14);color:#fffcf7;
  font:600 13px/1 var(--f-sans);white-space:nowrap;cursor:pointer;transition:background-color var(--t-short),color var(--t-short)}
.lp-toast__act:hover,.lp-toast__act:focus-visible{background:#fffcf7;color:var(--lp-ink)}
@media (max-width:560px){ .lp-toast{width:calc(100vw - 24px);border-radius:18px} .lp-toast > span{flex:1} }

/* ---------------------------------------------------------------- quantity stepper */
.lp-qty{display:inline-flex;align-items:center;flex:none;height:52px;padding:0 4px;border-radius:var(--r-pill);border:1.5px solid var(--hair-2);background:var(--card);transition:border-color var(--t-short),box-shadow var(--t-short)}
.lp-qty:focus-within{border-color:var(--lp-navy);box-shadow:0 0 0 3px color-mix(in srgb,var(--lp-navy) 16%,transparent)}
.lp-qty button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--lp-ink);transition:background-color var(--t-micro),transform var(--t-micro)}
.lp-qty button:hover{background:var(--lp-paper-shade)}
.lp-qty button:active{transform:scale(.9)}
.lp-qty .lp-ic{width:16px;height:16px;stroke-width:2}
.lp-qty input{width:46px;height:100%;padding:0;border:0;background:none;text-align:center;font:600 16px/1 var(--f-mono);color:var(--lp-ink);-moz-appearance:textfield;appearance:textfield}
.lp-qty input::-webkit-outer-spin-button,.lp-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.lp-qty input:focus{outline:none}
.lp-qty--sm{height:42px;padding:0 3px}
.lp-qty--sm button{width:34px;height:34px}
.lp-qty--sm input{width:40px;font-size:14px}

/* product card · sheet · quick view */
.lp-pc__acts{display:inline-flex;align-items:center;gap:6px;flex:none;margin-left:auto}
.lp-pc__bag{position:relative;flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--hair-2);color:var(--fg);
  transition:border-color var(--t-short),background-color var(--t-short),color var(--t-short)}
.lp-pc__bag::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--ic-bag) center/contain no-repeat;mask:var(--ic-bag) center/contain no-repeat}
.lp-pc__bagp{position:absolute;right:-3px;top:-3px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--lp-navy);color:#fff;font:700 11px/1 var(--f-sans);box-shadow:0 0 0 2px var(--card)}
.lp-pc__bag:hover{border-color:var(--lp-ink);background:var(--lp-ink);color:#fff}
.lp-pc__bag.is-added{border-color:var(--lp-leaf);background:var(--lp-leaf);color:#fff;animation:lp-bump .5s var(--ease-back)}
.lp-pc__bag.is-added .lp-pc__bagp{background:#fff;color:var(--lp-leaf)}
@container pc (max-width:300px){ .lp-pc__foot .lp-code--na{display:none} }
@container pc (max-width:252px){
  .lp-pc__cmp{width:32px;padding:0;justify-content:center}
  .lp-pc__cmp span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
.lp-pdp__cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px}
.lp-pdp__cart > .lp-btn{flex:1 1 220px}
.lp-pdp__cart + .lp-pdp__buy{margin-top:14px}
.lp-pdp__cart .lp-btn.is-added,.lp-qv__cart .lp-btn.is-added,.lp-utile .lp-btn.is-added{--b-bg:var(--lp-leaf);--b-bd:var(--lp-leaf)}
.lp-qv__cart{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.lp-qv__cart > .lp-btn{flex:1 1 200px}
.lp-qv__b .lp-qv__acts{margin-top:2px}

/* ---------------------------------------------------------------- shared bits */
.lp-btn--block{width:100%}
.lp-btn[disabled]{opacity:.5;cursor:not-allowed}
.lp-btn.is-busy{cursor:progress}
.lp-btn.is-busy .lp-btn__l::after{content:"";display:inline-block;width:12px;height:12px;margin-left:10px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;vertical-align:-1px;animation:lp-spin .8s linear infinite}
.lp-pill-n{min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--lp-navy);color:#fff;font:600 11px/22px var(--f-mono);text-align:center}
.lp-btn:hover .lp-pill-n{background:#fff;color:var(--lp-ink)}
.lp-linkbtn--danger{color:var(--lp-danger)!important}
.lp-linkbtn.is-confirm{padding:0 12px;border-radius:var(--r-pill);background:var(--lp-danger);color:#fff!important}
.lp-linkbtn.is-confirm span{text-decoration:none!important}
.lp-demo{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--lp-kraft) 13%,transparent);color:var(--lp-kraft-ink);font-size:13.5px;line-height:1.45}
.lp-demo .lp-ic{flex:none;width:17px;height:17px;margin-top:1px}
.lp-sec--cart .lp-demo,.lp-sec--orders .lp-demo{margin-top:clamp(28px,3vw,44px)}
/* thumbnails used by lines, stacks, suggestions */
:is(.lp-cline__v,.lp-utile__v,.lp-qadd__v,.lp-rev__v,.lp-oline__v,.lp-stack > span){display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,#fff 0,var(--lp-paper) 82%)}
:is(.lp-cline__v,.lp-utile__v,.lp-qadd__v,.lp-rev__v,.lp-oline__v,.lp-stack > span) img{width:100%;height:100%;object-fit:contain;padding:8%}
:is(.lp-cline__v,.lp-utile__v,.lp-qadd__v,.lp-rev__v,.lp-oline__v,.lp-stack > span) img.is-photo{object-fit:cover;padding:0}
:is(.lp-cline__v,.lp-utile__v,.lp-qadd__v,.lp-rev__v,.lp-oline__v,.lp-stack > span) svg{width:82%;height:82%;color:var(--lp-ink)}
.lp-stack{display:flex;flex:none}
.lp-stack > span{width:42px;height:42px;border-radius:50%;border:2px solid var(--card);box-shadow:0 0 0 1px var(--hair)}
.lp-stack > span + span{margin-left:-12px}
.lp-stack .lp-stack__more{background:var(--lp-paper-shade);font:600 11px/1 var(--f-mono);color:var(--lp-ink)}

/* status pill + progress */
.lp-st{--sc:var(--lp-navy);display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:0 12px 0 10px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--sc) 10%,transparent);
  color:color-mix(in srgb,var(--sc) 80%,#000);font:600 12.5px/1 var(--f-sans);white-space:nowrap}
.lp-st i{width:7px;height:7px;border-radius:50%;background:var(--sc);box-shadow:0 0 0 3px color-mix(in srgb,var(--sc) 22%,transparent)}
.lp-st--navy{--sc:var(--lp-navy)} .lp-st--kraft{--sc:#8a6534} .lp-st--aqua{--sc:var(--lp-aqua)} .lp-st--leaf{--sc:var(--lp-leaf)} .lp-st--muted{--sc:var(--lp-slate-2)}
.lp-st--navy i,.lp-st--kraft i,.lp-st--aqua i{animation:lp-pulse 2.2s ease-in-out infinite}
.lp-prog{display:block;width:100%;max-width:140px;height:4px;border-radius:4px;background:var(--hair);overflow:hidden}
.lp-prog i{display:block;width:calc(var(--p,0) * 100%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lp-navy),var(--lp-aqua))}

/* ---------------------------------------------------------------- password field */
.lp-fld__pw{position:relative}
.lp-fld .lp-fld__pw input{padding-right:52px}
.lp-fld__eye{position:absolute;right:0;top:50%;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;border-radius:50%;color:var(--fg2);transition:color var(--t-short),background-color var(--t-short)}
.lp-fld__eye:hover{color:var(--lp-ink);background:var(--lp-paper-shade)}
.lp-fld__eye .lp-ic{width:20px;height:20px}
.lp-fld__eye .lp-ic + .lp-ic,.lp-fld__eye[aria-pressed="true"] .lp-ic:first-child{display:none}
.lp-fld__eye[aria-pressed="true"] .lp-ic + .lp-ic{display:block}
.lp-fld__caps{display:flex;align-items:center;gap:6px;margin-top:6px;font:600 12.5px/1.2 var(--f-sans);color:var(--lp-kraft-ink)}
.lp-fld__caps .lp-ic{width:15px;height:15px}
.lp-pwm{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px}
.lp-pwm i{height:4px;border-radius:4px;background:var(--hair);transition:background-color var(--t-short)}
.lp-pwm[data-s="0"] i:first-child{background:color-mix(in srgb,var(--lp-danger) 55%,transparent)}
.lp-pwm[data-s="1"] i:first-child{background:var(--lp-danger)}
.lp-pwm[data-s="2"] i:nth-child(-n+2){background:var(--lp-warn)}
.lp-pwm[data-s="3"] i:nth-child(-n+3),.lp-pwm[data-s="4"] i{background:var(--lp-leaf)}
.lp-pwm__t{min-height:14px;margin-top:6px;font:500 11px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg2)}

/* ---------------------------------------------------------------- connexion */
.lp-auth__grid{display:grid;grid-template-columns:minmax(0,1fr);min-height:calc(100svh - var(--hd-h))}
.lp-auth__main{display:grid;align-items:center;justify-items:center;padding:clamp(28px,5vw,72px) var(--gut)}
.lp-auth__card{width:min(460px,100%)}
.lp-auth__card > .lp-crumb{margin-bottom:clamp(26px,4vw,44px)}
.lp-auth__t{margin:10px 0 12px;font:400 clamp(46px,5.6vw,76px)/.96 var(--f-display);letter-spacing:-.03em;color:var(--lp-ink);outline:none}
.lp-auth__lede,.lp-bye__lede,.lp-uhero__lede,.lp-auth__feats small,.lp-accm__h small{-webkit-hyphens:manual;hyphens:manual}
.lp-auth__lede{max-width:40ch;margin-bottom:28px;font-size:16px;line-height:1.55;color:var(--fg2)}
.lp-auth__v.is-on{animation:lp-rise .6s var(--ease) both}
.lp-auth__form{gap:22px}
.lp-auth__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;margin-top:-8px}
.lp-auth__row .lp-fld--check{margin:0}
.lp-auth__lnk{font:600 14px/1.2 var(--f-sans);color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.lp-auth__or{display:flex;align-items:center;gap:14px;margin:22px 0;font:500 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg2)}
.lp-auth__or::before,.lp-auth__or::after{content:"";flex:1;height:1px;background:var(--hair)}
.lp-auth__card .lp-btn{white-space:normal;text-align:center;line-height:1.25}
.lp-auth__demo .lp-ic{color:var(--lp-kraft)}
.lp-auth__demo:hover .lp-ic{color:inherit}
.lp-auth__alt{margin-top:22px;font-size:14.5px;color:var(--fg2);text-align:center}
.lp-auth__alt a{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.lp-auth__alt a .lp-ic{width:16px;height:16px}
.lp-auth__sec,.lp-auth__hint{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;color:var(--fg2)}
.lp-auth__sec{margin-top:30px;padding-top:22px;border-top:1px solid var(--hair)}
.lp-auth__hint{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--lp-paper-shade)}
.lp-auth__sec .lp-ic,.lp-auth__hint .lp-ic{flex:none;width:17px;height:17px;margin-top:1px}
.lp-auth__sec .lp-ic{color:var(--lp-leaf)}
.lp-auth__hint .lp-ic{color:var(--lp-kraft)}
.lp-auth__ok{display:grid;justify-items:start;gap:12px;padding:26px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);outline:none}
.lp-auth__ok h2{font:400 32px/1.05 var(--f-display);letter-spacing:-.01em;color:var(--lp-ink)}
.lp-auth__ok p{color:var(--fg2)}
.lp-auth__ok .lp-okmark{width:68px;height:68px}
.lp-auth__ok .lp-actions{margin-top:6px}
:is(.lp-auth__ok,.lp-cart__done):not([hidden]) .lp-okmark circle{animation:lp-dash .9s var(--ease) .1s forwards}
:is(.lp-auth__ok,.lp-cart__done):not([hidden]) .lp-okmark path{animation:lp-dash .6s var(--ease) .8s forwards}
.lp-auth__already{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:24px;padding:14px 16px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-auth__already p{flex:1;min-width:150px;font-size:14.5px;color:var(--fg)}
.lp-auth__already .lp-btn--text{min-height:36px}
.lp-auth .lp-radios{gap:8px}
/* aside: ink panel with the orbit ring and a slow product crossfade */
.lp-auth__aside{position:relative;display:grid;margin:0 var(--gut) clamp(32px,5vw,56px);border-radius:var(--r-sheet);background:var(--bg);color:var(--fg);overflow:hidden}
.lp-auth__stage{display:none}
.lp-auth__copy{padding:clamp(24px,4vw,52px)}
.lp-auth__big{margin:10px 0 24px;font:400 clamp(30px,3vw,46px)/1.04 var(--f-display);letter-spacing:-.02em;max-width:16ch}
.lp-auth__feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:18px 22px}
.lp-auth__feats li{display:flex;align-items:flex-start;gap:12px}
.lp-auth__feats .ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line)}
.lp-auth__feats .ic .lp-ic{width:18px;height:18px}
.lp-auth__feats strong{display:block;font:600 14.5px/1.25 var(--f-sans);color:var(--fg)}
.lp-auth__feats small{display:block;margin-top:3px;font-size:13px;line-height:1.4;color:var(--fg2)}
@media (min-width:1024px){
  .lp-auth__grid{grid-template-columns:minmax(0,1fr) minmax(0,.94fr)}
  .lp-auth__aside{position:sticky;top:calc(var(--hd-h) + 14px);align-self:start;grid-template-rows:minmax(0,1fr) auto;min-height:min(880px,calc(100svh - var(--hd-h) - 28px));margin:14px 14px 14px 0}
  .lp-auth__stage{position:relative;display:grid;place-items:center;min-height:380px;container-type:size}
  .lp-auth__copy{padding-top:4px}
  .lp-auth__stage > *,.lp-auth__stage::before{--o:min(560px,calc(100cqmin - 12px))}
  .lp-auth__stage::before{content:"";position:absolute;width:calc(var(--o)*.69);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 38%,#fffcf7 0,#efe8d9 72%);box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
  .lp-auth__stage .lp-orbit{position:absolute;width:var(--o);height:auto;aspect-ratio:1;color:rgba(247,243,234,.62)}
  .lp-auth__shot{position:absolute;display:grid;justify-items:center;gap:14px;width:calc(var(--o)*.49);opacity:0;transform:translateY(18px) scale(.95);transition:opacity .9s var(--ease),transform 1.2s var(--ease-soft)}
  .lp-auth__shot.is-on{opacity:1;transform:none}
  .lp-auth__shot img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 22px 26px rgba(9,13,69,.28))}
  .lp-auth__shot figcaption{position:absolute;top:calc(100% + 12px);font:500 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--lp-ink) 70%,transparent);white-space:nowrap}
}
@media (min-width:1024px) and (max-height:820px){ .lp-auth__stage{min-height:300px} .lp-auth__feats{grid-template-columns:repeat(2,minmax(0,1fr))} }
body:has(.lp-page--auth) .lp-ft__sign{display:none}
body:has(.lp-page--auth) .lp-ft{padding-top:16px}

/* ---------------------------------------------------------------- déconnexion */
.lp-bye{padding:clamp(28px,5vw,64px) 0 clamp(56px,8vw,120px);text-align:center}
.lp-bye__in{display:grid;justify-items:center}
.lp-bye__in > .lp-crumb{justify-self:stretch;text-align:left;margin-bottom:clamp(24px,4vw,48px)}
.lp-bye__mark{position:relative;width:132px;height:132px;margin-bottom:26px;color:var(--lp-navy)}
.lp-bye__mark svg{width:100%;height:100%;fill:none}
.lp-bye__mark .t{stroke:var(--hair-2);stroke-width:1.5}
.lp-bye__mark .a{stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:1;transform:rotate(-90deg);transform-origin:100px 100px}
.lp-bye.is-done .lp-bye__mark .a{animation:lp-dash 1.4s var(--ease) .2s forwards}
.lp-bye__mark .spin{transform-origin:100px 100px;animation:lp-spin 9s linear infinite}
.lp-bye__mark .sat{fill:var(--lp-kraft)}
.lp-bye__mark > span{position:absolute;inset:0;display:grid;place-items:center}
.lp-bye__mark > span .lp-ic{width:38px;height:38px;stroke-width:1.3}
.lp-bye__t{max-width:14ch;margin-top:10px;font:400 clamp(44px,6vw,84px)/.98 var(--f-display);letter-spacing:-.03em;color:var(--lp-ink)}
.lp-bye__lede{max-width:46ch;margin-top:18px;font-size:17px;line-height:1.55;color:var(--fg2)}
.lp-bye__bag{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:10px 16px;border-radius:var(--r-pill);background:var(--lp-paper-shade);font-size:14px;color:var(--fg);text-align:left}
.lp-bye__bag .lp-ic{flex:none;width:18px;height:18px}
.lp-bye__bag{display:inline-grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:4px;border-radius:18px}
.lp-bye__bag .lp-linkbtn{grid-column:2;justify-self:start}
.lp-bye__bag .lp-linkbtn{font:600 14px/1.2 var(--f-sans);color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.lp-bye__act{justify-content:center}
.lp-bye__tips{display:grid;gap:10px;width:100%;max-width:520px;margin-top:44px;padding-top:26px;border-top:1px solid var(--hair);text-align:left}
.lp-bye__tips li{display:flex;gap:12px;font-size:14px;line-height:1.45;color:var(--fg2)}
.lp-bye__tips .lp-ic{flex:none;width:18px;height:18px;margin-top:1px;color:var(--lp-leaf)}
.lp-bye__go{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px}
.lp-bye__go a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--hair-2);font:600 13.5px/1 var(--f-sans);color:var(--lp-ink);transition:border-color var(--t-short),background-color var(--t-short)}
.lp-bye__go a:hover{border-color:var(--lp-ink);background:#fff}
.lp-bye__go .lp-ic{width:16px;height:16px}

/* ---------------------------------------------------------------- account hero · gate */
.lp-uhero{padding:clamp(24px,3.4vw,48px) 0 clamp(26px,3.2vw,44px);border-bottom:1px solid var(--hair);background:linear-gradient(180deg,var(--lp-paper) 0,var(--lp-paper-bright) 100%)}
.lp-uhero__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:22px 32px}
.lp-uhero__t{flex:1 1 380px;min-width:0}
.lp-uhero__h{margin-top:10px;font:400 clamp(44px,6vw,88px)/.96 var(--f-display);letter-spacing:-.03em;color:var(--lp-ink)}
.lp-uhero__lede{max-width:58ch;margin-top:14px;font-size:16.5px;line-height:1.55;color:var(--fg2)}
.lp-uhero__aside{flex:0 1 auto;min-width:0}
.lp-uhero__aside .lp-actions{margin-top:0}
.lp-uhero__av{position:relative;flex:none;align-self:center;width:clamp(76px,8vw,112px);aspect-ratio:1}
.lp-uhero__av svg{position:absolute;inset:0;width:100%;height:100%;fill:none;transform:rotate(-90deg)}
.lp-uhero__av .t{stroke:var(--hair-2);stroke-width:2}
.lp-uhero__av .a{stroke:var(--lp-navy);stroke-width:3;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:1;animation:lp-dash 1.6s var(--ease) .3s forwards}
.lp-uhero__av span{position:absolute;inset:11%;display:grid;place-items:center;border-radius:50%;background:var(--lp-navy);color:#fff;font:400 clamp(26px,3vw,40px)/1 var(--f-display);letter-spacing:.02em}
html:not(.is-auth) .lp-uhero__av{display:none}
html.is-auth [data-acc-gate],html:not(.is-auth) [data-acc-app]{display:none}
.lp-agate__in{display:grid;gap:28px;align-items:center;justify-items:center;max-width:920px;text-align:center}
.lp-agate__art{width:min(240px,56vw);color:var(--lp-navy)}
.lp-agate__art svg{width:100%;height:auto}
.lp-agate__t h2{max-width:18ch;margin:10px auto 14px;font:400 clamp(32px,4vw,52px)/1.02 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink)}
.lp-agate__t p:not(.lp-over){max-width:52ch;margin-inline:auto;color:var(--fg2)}
.lp-agate__t .lp-actions{justify-content:center;margin-top:24px}
@media (min-width:900px){
  .lp-agate__in{grid-template-columns:auto minmax(0,1fr);justify-items:start;text-align:left}
  .lp-agate__t h2,.lp-agate__t p:not(.lp-over){margin-inline:0}
  .lp-agate__t .lp-actions{justify-content:flex-start}
}

/* ---------------------------------------------------------------- mon compte */
.lp-sec--acct,.lp-sec--cart,.lp-sec--orders{padding-top:clamp(22px,3vw,44px)}
.lp-acct{display:grid;gap:24px}
.lp-acct__nav{position:sticky;top:0;z-index:6;margin-inline:calc(-1 * var(--gut));padding:10px var(--gut);background:color-mix(in srgb,var(--lp-paper) 88%,transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-x:auto;scrollbar-width:none;transition:top var(--t-med) var(--ease-soft)}
.lp-acct__nav::-webkit-scrollbar{display:none}
html.hd-on .lp-acct__nav{top:var(--hd-h)}
.lp-acct__nav ul{display:flex;gap:6px;width:max-content}
.lp-acct__nav a{display:flex;align-items:center;gap:9px;min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--hair);background:var(--card);font:600 13.5px/1 var(--f-sans);color:var(--fg2);white-space:nowrap;
  transition:color var(--t-short),background-color var(--t-short),border-color var(--t-short),box-shadow var(--t-short)}
.lp-acct__nav a .lp-ic{width:17px;height:17px}
.lp-acct__nav a:hover{color:var(--lp-ink);border-color:var(--hair-2)}
.lp-acct__nav a.is-on{background:var(--lp-ink);border-color:var(--lp-ink);color:#fff}
.lp-acct__nav .lp-acct__out{display:none}
.lp-acct__main{display:grid;gap:clamp(40px,4.4vw,64px);min-width:0}
.lp-acct__s{min-width:0;scroll-margin-top:calc(var(--hd-h) + 76px)}
.lp-acct__sh{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--hair)}
.lp-acct__sh h2{font:400 clamp(28px,2.6vw,38px)/1.05 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink)}
.lp-acct__sub{max-width:60ch;margin-top:6px;font-size:14.5px;color:var(--fg2)}
.lp-acct__sh .lp-btn--text{min-height:36px}
.lp-acct__form{max-width:780px}
.lp-acct__ft{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:2px}
.lp-acct__saved{font:500 12px/1.2 var(--f-mono);color:var(--lp-leaf)}
.lp-acct__none{padding:22px;border-radius:var(--r-card);border:1px dashed var(--hair-2);font-size:14.5px;color:var(--fg2)}
.lp-acct__none a{color:var(--acc);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.lp-acct__h3{margin-bottom:-6px;font:600 15px/1.2 var(--f-sans);color:var(--lp-ink)}
@media (min-width:1024px){
  .lp-acct{grid-template-columns:232px minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start}
  .lp-acct__nav{top:24px;margin:0;padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}
  html.hd-on .lp-acct__nav{top:calc(var(--hd-h) + 24px)}
  .lp-acct__nav ul{display:grid;gap:2px;width:auto}
  .lp-acct__nav a{min-height:44px;padding:0 14px;border:0;border-radius:12px;background:none;font-size:14.5px}
  .lp-acct__nav a:hover{background:var(--lp-paper-shade)}
  .lp-acct__nav a.is-on{background:var(--lp-paper-bright);color:var(--lp-ink);box-shadow:inset 3px 0 0 var(--lp-navy),var(--elev-1)}
  .lp-acct__nav a.is-on .lp-ic{color:var(--lp-navy)}
  .lp-acct__nav .lp-acct__out{display:flex;border-radius:0;align-items:center;gap:9px;min-height:44px;margin-top:14px;padding:14px 14px 0;border-top:1px solid var(--hair);font:600 14px/1 var(--f-sans);color:var(--fg2);transition:color var(--t-short)}
  .lp-acct__nav .lp-acct__out:hover{color:var(--lp-danger);background:none}
  .lp-acct__nav .lp-acct__out .lp-ic{width:17px;height:17px}
  .lp-acct__s{scroll-margin-top:calc(var(--hd-h) + 28px)}
}
/* KPIs */
.lp-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:860px) and (max-width:1023.98px),(min-width:1200px){ .lp-kpis{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width:420px){ .lp-kpi{padding:14px 14px 12px} .lp-kpi__n{font-size:38px} .lp-kpi__s{padding-right:18px} }
.lp-kpi{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ic n" "k k" "s s";align-items:center;gap:4px 12px;padding:18px 18px 16px;border-radius:var(--r-card);
  background:var(--card);border:1px solid var(--hair);color:var(--fg2);transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-short)}
.lp-kpi:hover{transform:translateY(-3px);border-color:transparent;box-shadow:var(--elev-2)}
.lp-kpi__ic{grid-area:ic;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--lp-paper-shade);color:var(--lp-navy)}
.lp-kpi__ic .lp-ic{width:19px;height:19px}
.lp-kpi__n{grid-area:n;justify-self:end;font:400 46px/1 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink);font-variant-numeric:tabular-nums}
.lp-kpi__k{grid-area:k;margin-top:12px;font:600 14.5px/1.25 var(--f-sans);color:var(--lp-ink)}
.lp-kpi__s{grid-area:s;padding-right:26px;font-size:13px;line-height:1.35}
.lp-kpi > .lp-arw{position:absolute;right:16px;bottom:16px;width:18px;opacity:0;transform:translateX(-6px);transition:opacity var(--t-short),transform var(--t-med) var(--ease)}
.lp-kpi:hover > .lp-arw{opacity:1;transform:none}
/* usual references */
.lp-usual{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.lp-utile{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-areas:"v b" "a a";align-items:center;gap:14px 16px;padding:14px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-utile__v{grid-area:v;width:72px;height:72px;border-radius:14px}
.lp-utile__b{grid-area:b;min-width:0}
:is(.lp-utile__k,.lp-cline__k){display:flex;align-items:center;gap:7px;font:500 11px/1.25 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg2)}
:is(.lp-utile__k,.lp-cline__k) i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--c)}
.lp-utile__t{margin-top:6px;font:600 16px/1.25 var(--f-sans);color:var(--lp-ink)}
:is(.lp-utile__t,.lp-cline__t) :is(a,.lp-linkbtn){color:inherit;font:inherit;text-align:left;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size var(--t-med) var(--ease)}
:is(.lp-utile__t,.lp-cline__t) :is(a,.lp-linkbtn):hover{background-size:100% 1px}
.lp-utile__m{margin-top:4px;font-size:13px;color:var(--fg2)}
.lp-utile__a{grid-area:a;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--hair)}
/* addresses */
.lp-addrs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px}
.lp-addr{display:grid;align-content:start;gap:12px;padding:18px 18px 12px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);transition:border-color var(--t-short),box-shadow var(--t-short)}
.lp-addr.is-def{border-color:color-mix(in srgb,var(--lp-navy) 45%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lp-navy) 22%,transparent)}
.lp-addr header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lp-addr h3{display:flex;align-items:center;gap:8px;font:600 15px/1.2 var(--f-sans);color:var(--lp-ink)}
.lp-addr h3 .lp-ic{width:17px;height:17px;color:var(--lp-navy)}
.lp-addr__def{padding:5px 9px;border-radius:var(--r-pill);background:var(--lp-navy);color:#fff;font:600 10.5px/1 var(--f-sans);letter-spacing:.06em;text-transform:uppercase}
.lp-addr p{font-size:14px;line-height:1.55;color:var(--fg2)}
.lp-addr p strong{color:var(--fg)}
.lp-addr__a{display:flex;flex-wrap:wrap;gap:2px 16px;padding-top:8px;border-top:1px solid var(--hair)}
:is(.lp-addr__a,.lp-odlg__x2) .lp-linkbtn{display:inline-flex;align-items:center;gap:6px;min-height:38px;font-size:13.5px;text-decoration:none;color:var(--lp-ink)}
:is(.lp-addr__a,.lp-odlg__x2) .lp-linkbtn:hover span{text-decoration:underline;text-underline-offset:3px}
:is(.lp-addr__a,.lp-odlg__x2) .lp-ic{width:16px;height:16px}
/* dealer */
.lp-dealer{display:grid;gap:18px;padding:clamp(20px,2.4vw,30px);border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-dealer__m{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--lp-ink);color:#fff}
.lp-dealer__m .lp-ic{width:26px;height:26px}
.lp-dealer__t h3{margin:6px 0 8px;font:400 26px/1.1 var(--f-display);color:var(--lp-ink)}
.lp-dealer__t p{max-width:62ch;font-size:14.5px;color:var(--fg2)}
.lp-dealer__n{margin-top:8px}
.lp-dealer__a{margin-top:0}
@media (min-width:768px){ .lp-dealer{grid-template-columns:auto minmax(0,1fr);align-items:start} .lp-dealer__a{grid-column:2} }
/* preferences */
.lp-prefs{display:grid;gap:14px;max-width:780px}
.lp-prefs__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:18px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
:is(.lp-prefs__row,.lp-sw__t) strong{display:block;font:600 15px/1.25 var(--f-sans);color:var(--lp-ink)}
:is(.lp-prefs__row,.lp-sw__t) small{display:block;margin-top:3px;font-size:13.5px;line-height:1.4;color:var(--fg2)}
.lp-prefs__g{border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);overflow:hidden}
.lp-prefs__g legend{float:left;width:100%;padding:16px 18px 8px;font:600 11px/1.2 var(--f-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
.lp-prefs__g legend + .lp-sw{clear:both}
.lp-sw{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;cursor:pointer;transition:background-color var(--t-micro)}
.lp-sw + .lp-sw{border-top:1px solid var(--hair)}
.lp-sw:hover{background:color-mix(in srgb,var(--lp-paper-shade) 50%,transparent)}
.lp-sw input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.lp-sw__k{position:relative;flex:none;width:46px;height:28px;border-radius:var(--r-pill);background:var(--hair-2);transition:background-color var(--t-short)}
.lp-sw__k::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(9,13,69,.25);transition:transform var(--t-med) var(--ease-back)}
.lp-sw input:checked ~ .lp-sw__k{background:var(--lp-navy)}
.lp-sw input:checked ~ .lp-sw__k::after{transform:translateX(18px)}
.lp-sw input:focus-visible ~ .lp-sw__k{outline:2px solid var(--lp-navy);outline-offset:3px}
/* security */
.lp-secu{display:grid;gap:22px}
.lp-secu__side{display:grid;gap:12px;align-content:start}
.lp-sess{display:grid;justify-items:start;gap:10px;padding:18px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-sess > p:not(.lp-over):not(.lp-sess__d){font-size:14px;color:var(--fg2)}
.lp-sess__d{display:grid;gap:3px}
.lp-sess__d strong{font:600 15px/1.25 var(--f-sans);color:var(--lp-ink)}
.lp-sess__d small{font-size:13px;color:var(--fg2)}
.lp-sess .lp-btn--text{min-height:36px;padding-inline:0}
@media (min-width:1200px){ .lp-secu{grid-template-columns:minmax(0,1.45fr) minmax(250px,1fr);align-items:start} }
.lp-adlg__f{margin-top:22px}

/* ---------------------------------------------------------------- panier */
.lp-csteps{display:flex;align-items:center;gap:6px}
.lp-csteps li{display:flex;align-items:center;gap:10px;font:600 13.5px/1 var(--f-sans);color:var(--fg2);transition:color var(--t-short)}
.lp-csteps li + li::before{content:"";width:clamp(16px,3vw,40px);height:1.5px;margin-right:4px;border-radius:2px;background:var(--hair-2);transition:background-color var(--t-med)}
.lp-csteps .n{position:relative;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--hair-2);font:500 12px/1 var(--f-mono);color:var(--fg2);transition:background-color var(--t-short),border-color var(--t-short),color var(--t-short)}
.lp-csteps li.is-on{color:var(--lp-ink)}
.lp-csteps li.is-on .n{background:var(--lp-ink);border-color:var(--lp-ink);color:#fff}
.lp-csteps li.is-done .n{background:var(--lp-leaf);border-color:var(--lp-leaf);color:transparent}
.lp-csteps li.is-done .n::after{content:"";position:absolute;width:10px;height:5px;margin-top:-2px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.lp-csteps li.is-done + li::before{background:var(--lp-leaf)}
@media (max-width:639.98px){ .lp-csteps li:not(.is-on) .l{display:none} }
.lp-cart{display:grid;gap:24px}
.lp-cart.is-empty .lp-csum{display:none}
@media (min-width:1024px){
  .lp-cart{grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,3vw,48px);align-items:start}
  .lp-cart.is-empty{grid-template-columns:minmax(0,1fr)}
}
.lp-cart__main{min-width:0}
.lp-cstep{min-width:0}
.lp-cstep:not([hidden]){animation:lp-rise .5s var(--ease) both}
.lp-cstep[data-cart-step="2"],.lp-cstep[data-cart-step="3"]{display:grid;gap:14px}
/* quick add */
.lp-qadd{position:relative;z-index:8;display:grid;gap:10px;margin-bottom:18px;padding:14px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-qadd__l{display:inline-flex;align-items:center;gap:8px;font:600 11px/1.2 var(--f-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
.lp-qadd__l .lp-ic{width:15px;height:15px}
.lp-qadd__in{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lp-qadd__f{flex:1 1 260px;display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid var(--hair-2);background:var(--lp-paper-bright);transition:border-color var(--t-short),box-shadow var(--t-short)}
.lp-qadd__f:focus-within{border-color:var(--lp-navy);box-shadow:0 0 0 3px color-mix(in srgb,var(--lp-navy) 16%,transparent)}
.lp-qadd__f .lp-ic{width:18px;height:18px;color:var(--fg2)}
.lp-qadd__f input{flex:1;min-width:0;height:44px;border:0;background:none;font:500 15px/1 var(--f-sans);color:var(--lp-ink);outline:none}
.lp-qadd__f input::placeholder{color:var(--fg2);opacity:.72}
.lp-qadd__list{position:absolute;left:14px;right:14px;top:calc(100% - 8px);z-index:20;display:grid;gap:2px;max-height:min(380px,60vh);overflow:auto;padding:6px;border-radius:16px;
  background:var(--lp-paper-bright);box-shadow:var(--elev-3),0 0 0 1px var(--hair);overscroll-behavior:contain}
.lp-qadd__list [role="option"]{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 10px 6px 6px;border-radius:12px;cursor:pointer;transition:background-color var(--t-micro)}
.lp-qadd__list [role="option"]:hover,.lp-qadd__list [role="option"][aria-selected="true"]{background:var(--lp-paper-shade)}
.lp-qadd__list [role="option"][aria-selected="true"]::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--c)}
.lp-qadd__v{width:44px;height:44px;border-radius:10px}
.lp-qadd__t{display:grid;gap:3px;min-width:0}
.lp-qadd__t :is(strong,small){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-qadd__t strong{font:600 14.5px/1.2 var(--f-sans);color:var(--lp-ink)}
.lp-qadd__t small{font-size:12.5px;color:var(--fg2)}
.lp-qadd__b{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--r-pill);background:var(--lp-navy);color:#fff;font:600 11px/1 var(--f-mono)}
.lp-qadd__b .lp-ic{width:13px;height:13px}
.lp-qadd__hd{padding:8px 10px 4px;font:600 11px/1.2 var(--f-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
.lp-qadd__list .lp-qadd__none{display:block;padding:14px 12px;font-size:14px;color:var(--fg2);cursor:default}
@media (max-width:559.98px){ .lp-qadd__in > .lp-btn{flex:1 1 auto} }
.lp-qadd__msg{font-size:13px;font-weight:600;color:var(--lp-danger)}
.lp-qadd__msg:empty{display:none}
/* lines */
.lp-cart__list{border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);overflow:hidden}
.lp-clist__hd{display:none}
.lp-cline{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;grid-template-areas:"v b b rm" "q q p p";align-items:center;gap:12px 14px;padding:16px;border-top:1px solid var(--hair);
  transition:opacity .26s,transform .26s var(--ease)}
.lp-clist__hd + .lp-cline{border-top:0}
.lp-cline.is-new{animation:lp-cnew 1.8s var(--ease)}
.lp-cline.is-out{opacity:0;transform:translateX(24px)}
.lp-cline__v{grid-area:v;width:72px;height:72px;border-radius:14px}
.lp-cline__b{grid-area:b;min-width:0}
.lp-cline__t{margin-top:5px;font:600 16px/1.25 var(--f-sans);color:var(--lp-ink)}
.lp-cline__m{margin-top:8px}
.lp-cline__m .lp-code{min-height:28px;font-size:12px}
.lp-cline__na{display:inline-flex;align-items:center;gap:6px;font:500 11.5px/1.2 var(--f-mono);color:var(--fg2)}
.lp-cline__na .lp-ic,.lp-cline__p .lp-ic{width:14px;height:14px}
.lp-cline__q{grid-area:q}
.lp-cline__p{grid-area:p;justify-self:end;display:inline-flex;align-items:center;gap:6px;font:500 12px/1.2 var(--f-mono);color:var(--fg2)}
.lp-cline__rm{grid-area:rm;align-self:start;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--fg2);transition:color var(--t-short),background-color var(--t-short)}
.lp-cline__rm:hover{background:color-mix(in srgb,var(--lp-danger) 10%,transparent);color:var(--lp-danger)}
.lp-cline__rm .lp-ic{width:18px;height:18px}
@media (min-width:768px){
  .lp-clist__hd,.lp-cline{grid-template-columns:84px minmax(0,1fr) 128px 120px 40px;gap:18px}
  .lp-clist__hd{display:grid;padding:12px 18px;border-bottom:1px solid var(--hair);font:600 11px/1.2 var(--f-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
  .lp-clist__hd span:first-child{grid-column:1/3}
  .lp-cline{grid-template-areas:"v b q p rm";padding:16px 18px}
  .lp-cline__v{width:84px;height:84px}
  .lp-cline__p{justify-self:start}
  .lp-cline__rm{align-self:center}
}
.lp-cart__tools{display:flex;flex-wrap:wrap;align-items:center;gap:2px 18px;margin-top:10px}
.lp-cart__tools .lp-btn--text{min-height:40px;gap:8px;font-size:14px}
.lp-cart__tools .lp-cart__clear{--b-fg:var(--fg2);margin-left:auto}
.lp-cart__tools .lp-cart__clear:hover,.lp-cart__tools .lp-cart__clear.is-confirm{--b-fg:var(--lp-danger);color:var(--lp-danger)}
/* empty basket */
.lp-cart__empty{display:grid;justify-items:center;gap:24px;padding-top:clamp(20px,3vw,40px);text-align:center}
.lp-cart__eart{position:relative;display:grid;place-items:center;width:min(220px,58vw);aspect-ratio:1;color:var(--lp-navy)}
.lp-cart__eart .lp-orbit{position:absolute;inset:0;width:100%;height:100%}
.lp-cart__eart .lp-draw{width:50%;height:auto}
.lp-cart__et h2{font:400 clamp(32px,4vw,52px)/1.02 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink)}
.lp-cart__et p{max-width:52ch;margin:12px auto 0;color:var(--fg2)}
.lp-cart__et .lp-actions{justify-content:center;margin-top:24px}
.lp-cart__sugg{width:100%;margin-top:clamp(16px,3vw,36px);padding-top:clamp(24px,3vw,40px);border-top:1px solid var(--hair);text-align:left}
.lp-cart__sugg > .lp-over{margin-bottom:16px}
.lp-pgrid--sugg{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
/* summary */
.lp-csum{min-width:0}
@media (min-width:1024px){ .lp-csum{position:sticky;top:24px;transition:top var(--t-med) var(--ease-soft)} html.hd-on .lp-csum{top:calc(var(--hd-h) + 24px)} }
.lp-csum__in{display:grid;gap:16px;padding:24px;border-radius:var(--r-sheet);background:var(--bg);color:var(--fg);box-shadow:var(--elev-2)}
.lp-csum__t{font:400 28px/1.05 var(--f-display);letter-spacing:-.01em;color:var(--fg)}
.lp-csum__dl{border-top:1px solid var(--line)}
.lp-csum__dl > div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.lp-csum__dl dt{font-size:14px;color:var(--fg2)}
.lp-csum__dl dd{font:600 14.5px/1.2 var(--f-sans);color:var(--fg);text-align:right}
.lp-csum__dl :is([data-sum-refs],[data-sum-units]){font:400 28px/1 var(--f-display);font-variant-numeric:tabular-nums}
.lp-csum__lock{display:inline-flex;align-items:center;gap:6px}
.lp-csum__lock .lp-ic{width:15px;height:15px}
.lp-csum__note{font-size:13px;line-height:1.5;color:var(--fg2)}
.lp-csum__back{justify-self:center;--b-fg:var(--fg2)}
.lp-csum .lp-form__sum{background:rgba(255,120,140,.12);border-color:rgba(255,150,165,.35);color:#ffc7cf}
.lp-csum__as{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.lp-csum__as li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--fg2)}
.lp-csum__as .lp-ic{flex:none;width:16px;height:16px}
/* checkout boxes */
.lp-cbox{padding:clamp(18px,2.2vw,26px);border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-cbox__h{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:18px}
.lp-cbox__h h3{flex:1 1 auto;font:600 17px/1.2 var(--f-sans);color:var(--lp-ink)}
.lp-cbox__n{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lp-paper-shade);font:500 11px/1 var(--f-mono);color:var(--lp-ink)}
.lp-cbox__h .lp-btn--text{min-height:36px;margin-left:auto;font-size:14px}
.lp-cbox .lp-form{gap:22px}
.lp-cbox--cgv{padding-block:14px}
.lp-cbox--cgv .lp-fld--check{margin:0}
.lp-opts,.lp-ship__addr{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:10px}
.lp-opt{position:relative;display:block;cursor:pointer}
.lp-opt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.lp-opt__b{display:flex;align-items:flex-start;gap:12px;height:100%;padding:16px 16px 16px 14px;border-radius:14px;border:1.5px solid var(--hair-2);background:var(--lp-paper-bright);
  transition:border-color var(--t-short),box-shadow var(--t-short),background-color var(--t-short)}
.lp-opt__b > .lp-ic{flex:none;width:20px;height:20px;margin-top:1px;color:var(--fg2)}
.lp-opt__b > span{flex:1;min-width:0}
.lp-opt__b::after{content:"";flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;border:1.5px solid var(--hair-2);background:#fff;transition:border-width var(--t-short) var(--ease-back),border-color var(--t-short)}
.lp-opt__b strong{display:block;font:600 14.5px/1.25 var(--f-sans);color:var(--lp-ink)}
.lp-opt__b strong em{margin-left:6px;padding:3px 7px;border-radius:var(--r-pill);background:var(--lp-paper-shade);font:600 10px/1 var(--f-sans);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--fg2);vertical-align:2px}
.lp-opt__b small{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:var(--fg2)}
.lp-opt:hover .lp-opt__b{border-color:var(--fg)}
.lp-opt input:checked + .lp-opt__b{border-color:var(--lp-navy);background:color-mix(in srgb,var(--lp-navy) 5%,var(--lp-paper-bright));box-shadow:inset 0 0 0 1px var(--lp-navy)}
.lp-opt input:checked + .lp-opt__b::after{border:5.5px solid var(--lp-navy)}
.lp-opt input:checked + .lp-opt__b > .lp-ic{color:var(--lp-navy)}
.lp-opt input:focus-visible + .lp-opt__b{outline:2px solid var(--lp-navy);outline-offset:3px}
/* review */
.lp-rev__l{display:grid}
.lp-rev__l li,.lp-oline{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--hair)}
.lp-rev__l li:first-child,.lp-oline:first-child{padding-top:0;border-top:0}
.lp-rev__v,.lp-oline__v{width:48px;height:48px;border-radius:12px}
.lp-rev__t,.lp-oline__t{display:grid;gap:2px;min-width:0}
.lp-rev__t strong,.lp-oline__t strong{font:600 14.5px/1.25 var(--f-sans);color:var(--lp-ink)}
.lp-rev__t small,.lp-oline__t small{font-size:12.5px;color:var(--fg2)}
.lp-rev__q,.lp-oline__q{font:600 14px/1 var(--f-mono);color:var(--lp-ink);white-space:nowrap}
.lp-rev__tot{margin-top:12px;padding-top:12px;border-top:1px solid var(--hair);font:500 12px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg2)}
.lp-rev > div{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:4px 16px;padding:10px 0;border-top:1px solid var(--hair)}
.lp-rev > div:first-child{padding-top:0;border-top:0}
.lp-rev dt{font-size:13.5px;color:var(--fg2)}
.lp-rev dd{font-size:14.5px;line-height:1.5;color:var(--fg)}
.lp-rev dd small{font-size:13px;color:var(--fg2)}
@media (max-width:519.98px){ .lp-rev > div{grid-template-columns:minmax(0,1fr)} }
/* done */
.lp-cart__done{display:grid;justify-items:center;gap:14px;max-width:760px;margin:0 auto;padding:clamp(36px,5vw,72px) clamp(20px,4vw,56px);border-radius:var(--r-sheet);background:var(--card);border:1px solid var(--hair);text-align:center;outline:none}
.lp-cart__done h2{max-width:18ch;font:400 clamp(32px,4vw,52px)/1.02 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink)}
.lp-cart__done > p:not(.lp-over){max-width:54ch;color:var(--fg2)}
.lp-cart__done strong{font-family:var(--f-mono);color:var(--lp-ink)}
.lp-cart__done .lp-actions{justify-content:center;margin-top:10px}
/* mobile sticky summary bar */
.lp-cbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:66;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 20px;
  border-radius:var(--r-pill);background:var(--lp-ink);color:#fffcf7;box-shadow:var(--elev-3);transform:translateY(150%);visibility:hidden;transition:transform .5s var(--ease-soft),visibility 0s .5s}
.lp-cbar.is-on{transform:none;visibility:visible;transition:transform .5s var(--ease-soft)}
.lp-cbar__t{display:grid;gap:3px;min-width:0}
.lp-cbar__t strong{font:600 15px/1.1 var(--f-sans);color:#fffcf7}
.lp-cbar__t small{font:500 11px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;opacity:.72}
.lp-cbar .lp-btn{--b-bg:#fffcf7;--b-fg:var(--lp-ink);--b-bd:#fffcf7;--b-hover:var(--lp-paper-shade);--b-fg-h:var(--lp-ink)}
html.has-cbar :is(.lp-top,.lp-tray){bottom:calc(84px + env(safe-area-inset-bottom))}
@media (min-width:1024px){ .lp-cbar{display:none} }

/* ---------------------------------------------------------------- mes commandes */
.lp-ord__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:12px}
.lp-ord__q{flex:1 1 260px;display:flex;align-items:center;gap:10px;min-height:50px;padding:0 16px;border-radius:var(--r-pill);border:1.5px solid var(--hair-2);background:var(--card);transition:border-color var(--t-short),box-shadow var(--t-short)}
.lp-ord__q:focus-within{border-color:var(--lp-navy);box-shadow:0 0 0 3px color-mix(in srgb,var(--lp-navy) 16%,transparent)}
.lp-ord__q .lp-ic{width:18px;height:18px;color:var(--fg2)}
.lp-ord__q input{flex:1;min-width:0;height:46px;border:0;background:none;font:500 15px/1 var(--f-sans);color:var(--lp-ink);outline:none}
.lp-ord__st{flex:0 1 auto}
.lp-ord__per .lp-fld__sel{min-width:210px}
.lp-ord__per select{width:100%;min-height:50px;padding:0 42px 0 18px;border-radius:var(--r-pill);border:1.5px solid var(--hair-2);background:var(--card);font:600 14px/1 var(--f-sans);color:var(--lp-ink);-webkit-appearance:none;appearance:none;cursor:pointer}
.lp-ord__per select:focus-visible{outline:2px solid var(--lp-navy);outline-offset:2px}
.lp-ord__per .lp-ic{right:16px}
@media (max-width:899.98px){ .lp-ord__st{order:3;width:100%} .lp-ord__per{flex:1 1 200px} }
.lp-ord__count{margin:4px 2px 12px;font:500 12px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg2)}
.lp-ord__empty{display:grid;justify-items:center;gap:10px;padding:clamp(36px,5vw,64px) 20px;border-radius:var(--r-card);border:1px dashed var(--hair-2);text-align:center}
.lp-ord__empty h2{font:400 clamp(28px,3vw,40px)/1.05 var(--f-display);color:var(--lp-ink)}
.lp-ord__empty p:not(.lp-over){color:var(--fg2)}
.lp-ord__empty .lp-btn{margin-top:8px}
.lp-olist{--ocols:minmax(150px,1.05fr) minmax(110px,.75fr) minmax(210px,1.5fr) minmax(150px,1fr) 232px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);overflow:hidden}
.lp-olist__hd{display:none}
.lp-olist__l{display:grid}
.lp-orow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"id st" "it dt" "a a";align-items:center;gap:14px 16px;padding:18px;border-top:1px solid var(--hair);cursor:pointer;transition:background-color var(--t-micro)}
.lp-orow:first-child{border-top:0}
.lp-orow:hover{background:color-mix(in srgb,var(--lp-paper-shade) 55%,transparent)}
.lp-orow__id{grid-area:id;display:grid;gap:4px;min-width:0}
.lp-orow__id strong{font:600 15px/1.2 var(--f-mono);letter-spacing:.01em;color:var(--lp-ink)}
:is(.lp-orow__id,.lp-orow__dt,.lp-orow__it) small{font-size:12.5px;color:var(--fg2)}
.lp-orow__dt{grid-area:dt;display:grid;justify-items:end;gap:3px;font-size:14px;text-align:right;color:var(--fg)}
.lp-orow__it{grid-area:it;display:flex;align-items:center;gap:14px;min-width:0;font-size:14px;color:var(--fg)}
.lp-orow__it > span:last-child{display:grid;gap:2px}
.lp-orow__st{grid-area:st;display:grid;justify-items:end;gap:8px}
.lp-orow__a{grid-area:a;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding-top:12px;border-top:1px dashed var(--hair)}
.lp-orow__a .lp-btn--text{min-height:40px;gap:7px}
.lp-orow.is-cancel .lp-stack{filter:grayscale(1);opacity:.55}
@media (min-width:900px){
  .lp-olist__hd{display:grid;grid-template-columns:var(--ocols);gap:16px;padding:14px 22px;border-bottom:1px solid var(--hair);font:600 11px/1.2 var(--f-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
  .lp-orow{grid-template-columns:var(--ocols);grid-template-areas:"id dt it st a";padding:16px 22px}
  .lp-orow__st{justify-items:start}
  .lp-orow__dt{justify-items:start;text-align:left}
  .lp-orow__a{justify-content:flex-end;gap:2px;padding-top:0;border-top:0}
}
/* compact rows on the account dashboard */
.lp-olist--mini .lp-olist__l{display:grid}
.lp-orow--mini{display:block;padding:0;cursor:auto}
.lp-orow__lnk{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"id st" "it it";align-items:center;gap:12px 16px;padding:16px 18px;color:inherit}
.lp-orow__lnk > .lp-arw{display:none}
@media (min-width:768px){
  .lp-orow__lnk{grid-template-columns:minmax(140px,.8fr) minmax(0,1.6fr) auto 22px;grid-template-areas:"id it st arw"}
  .lp-orow__lnk > .lp-arw{display:block;grid-area:arw}
  .lp-orow__lnk:hover > .lp-arw path{transform:translateX(2px)}
}
/* detail drawer */
.lp-odlg{place-items:stretch end;padding:0}
.lp-odlg .lp-odlg__box{width:min(580px,100%);height:100%;max-height:100dvh;padding:clamp(24px,3vw,40px);border-radius:var(--r-sheet) 0 0 var(--r-sheet);transform:translateX(56px);overscroll-behavior:contain}
.lp-odlg.is-on .lp-odlg__box{transform:none}
@media (max-width:639.98px){
  .lp-odlg{place-items:end stretch}
  .lp-odlg .lp-odlg__box{width:100%;height:auto;max-height:92dvh;border-radius:var(--r-sheet) var(--r-sheet) 0 0;transform:translateY(56px)}
}
.lp-odlg__h{display:grid;justify-items:start;gap:10px;margin-bottom:20px;padding-right:56px}
.lp-dialog .lp-odlg__h h2{padding-right:0;font:500 clamp(24px,2.4vw,32px)/1.1 var(--f-mono);letter-spacing:-.01em}
.lp-odlg__s{padding:18px 0;border-top:1px solid var(--hair)}
.lp-odlg__s h3{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 10px;margin-bottom:14px;font:600 12px/1.2 var(--f-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
.lp-odlg__s h3 small{font:500 12px/1.2 var(--f-mono);letter-spacing:.03em;text-transform:none}
.lp-odlg .lp-rev > div{grid-template-columns:minmax(110px,150px) minmax(0,1fr)}
.lp-tl li{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding-bottom:16px}
.lp-tl li:last-child{padding-bottom:0}
.lp-tl li::before{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:2px;border-radius:2px;background:var(--hair)}
.lp-tl li:last-child::before{display:none}
.lp-tl li.is-done:not(.is-cur)::before{background:var(--lp-leaf)}
.lp-tl i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--hair-2);background:var(--card)}
.lp-tl li.is-done i{border-color:var(--lp-leaf);background:var(--lp-leaf);color:#fff}
.lp-tl li.is-cur i{box-shadow:0 0 0 5px color-mix(in srgb,var(--lp-leaf) 20%,transparent)}
.lp-tl li.is-cancel i{border-color:var(--lp-slate-2);background:var(--lp-slate-2);box-shadow:0 0 0 5px color-mix(in srgb,var(--lp-slate-2) 18%,transparent)}
.lp-tl i .lp-ic{width:14px;height:14px;stroke-width:2.4}
.lp-tl strong{display:block;padding-top:4px;font:600 14.5px/1.3 var(--f-sans);color:var(--lp-ink)}
.lp-tl li:not(.is-done) strong{font-weight:500;color:var(--fg2)}
.lp-tl small{display:block;margin-top:2px;font-size:12.5px;color:var(--fg2)}
.lp-oline{grid-template-columns:48px minmax(0,1fr) auto 36px}
.lp-oline__t a{color:inherit;text-decoration:underline;text-decoration-color:var(--hair-2);text-underline-offset:3px}
.lp-oline__t a:hover{text-decoration-color:currentColor}
.lp-oline__add{position:relative;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--hair-2);color:var(--lp-ink);transition:background-color var(--t-short),border-color var(--t-short),color var(--t-short)}
.lp-oline__add > span{position:absolute;right:-3px;top:-3px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--lp-navy);color:#fff;font:700 11px/1 var(--f-sans);box-shadow:0 0 0 2px var(--lp-paper-bright)}
.lp-oline__add .lp-ic{width:16px;height:16px}
.lp-oline__add:hover{border-color:var(--lp-ink);background:var(--lp-ink);color:#fff}
.lp-oline__add.is-added{border-color:var(--lp-leaf);background:var(--lp-leaf);color:#fff}
.lp-odlg__a{display:flex;flex-wrap:wrap;gap:10px;padding-top:20px;border-top:1px solid var(--hair)}
.lp-odlg__x2{display:flex;flex-wrap:wrap;gap:2px 18px;margin-top:12px}

/* ---------------------------------------------------------------- reduced motion · print */
@media (prefers-reduced-motion:reduce){
  .lp-bye__mark .spin,.lp-st i,.lp-hd__bag.is-bump,.lp-pc__bag.is-added,.lp-cline.is-new,.lp-cstep:not([hidden]),.lp-auth__v.is-on{animation:none!important}
  .lp-uhero__av .a,.lp-bye__mark .a{animation:none!important;stroke-dashoffset:0}
  .lp-auth__shot,.lp-cbar,.lp-accm,.lp-cline{transition:none!important}
}
@media print{
  .lp-cbar,.lp-qadd,.lp-cart__tools,.lp-csum__as,.lp-csum [data-cart-next],.lp-csum__back,.lp-cline__rm,.lp-cart__sugg,.lp-demo,.lp-ord__bar,.lp-orow__a,.lp-csteps,.lp-acct__nav,.lp-uhero__aside{display:none!important}
  .lp-cline .lp-qty{border:0;box-shadow:none} .lp-cline .lp-qty button{display:none}
  .lp-cart{display:block} .lp-csum{position:static;margin-top:18px}
  .lp-csum__in{background:none!important;color:#000!important;box-shadow:none;border:1px solid #bbb}
  .lp-csum__in *{color:#000!important}
  .lp-cline,.lp-orow{break-inside:avoid}
  body:has(.lp-odlg.is-on) :is(.lp-main,.lp-ft){display:none!important}
  body:has(.lp-odlg.is-on) .lp-odlg{display:block!important;position:static;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1}
  body:has(.lp-odlg.is-on) .lp-odlg .lp-odlg__box{width:auto;height:auto;max-height:none;overflow:visible;padding:0;border:0;border-radius:0;box-shadow:none;transform:none}
  .lp-odlg :is(.lp-dialog__x,.lp-odlg__a,.lp-odlg__x2,.lp-oline__add){display:none!important}
}

/* ── 97-v24.css ── */
/* =====================================================================
   97 · v2.4 — soaps (foam & liquids), Soap 400 doses, Natural Breeze room,
   Zenith matter, family pages. Loops only run while the svg is .is-vis;
   every base style is the resting frame shown with reduced motion.
   ===================================================================== */

/* ---------------------------------------------------------------- 97.1 foam & liquids */
.lp-foam{overflow:visible}
.lp-foam--classic,.lp-foam--argan{--dw-a:var(--lp-kraft)}
.lp-foam--frequent,.lp-foam--hairbody{--dw-a:var(--lp-leaf)}
.lp-foam--antimicrobial{--dw-a:var(--lp-aqua)}
.lp-step__art .lp-foam{width:100%;max-width:340px;height:150px}
.lp-step__art:has(.lp-foam){height:170px}
.lp-foam .lbl{fill-opacity:.7}
.lp-foam .lbl.t{fill:var(--dw-a);fill-opacity:1}
.lp-foam .tag{fill:color-mix(in srgb,var(--dw-a) 9%,var(--dw-f));stroke:var(--dw-a);stroke-width:calc(var(--dw-sw) * .5);stroke-opacity:.7}
.lp-foam .kd{fill:var(--dw-a);stroke:none}
.lp-foam :is(.bb circle,.blob circle){fill:var(--dw-f);stroke:currentColor;stroke-width:calc(var(--dw-sw) * .6)}
.lp-foam .bb.t circle{fill:color-mix(in srgb,var(--dw-a) 10%,var(--dw-f))}
.lp-foam .hl{fill:none;stroke:currentColor;stroke-width:calc(var(--dw-sw) * .5);stroke-linecap:round;stroke-opacity:.4}
.lp-foam .mb{fill:none;stroke:currentColor;stroke-width:calc(var(--dw-sw) * .4);stroke-opacity:.42}
.lp-foam .rb{fill:var(--dw-f);stroke:currentColor;stroke-width:calc(var(--dw-sw) * .45);stroke-opacity:.6;opacity:.8}
.lp-foam :is(.bb,.mound,.blob,.rb,.mc,.ring,.rp,.od,.gd,.dr,.nd,.fl,.lf,.rip){transform-box:fill-box;transform-origin:center}
.lp-foam :is(.bb,.mound,.lf){transform-origin:50% 100%}
.lp-foam :is(.blob,.dr,.od,.gd){transform-origin:50% 0}
.lp-foam .blob{opacity:0}
.lp-foam :is(.dr,.od,.gd) path:first-child{fill:color-mix(in srgb,var(--dw-a) 28%,var(--dw-f));stroke:currentColor;stroke-width:calc(var(--dw-sw) * .6)}
.lp-foam .rp{fill:none;stroke:var(--dw-a);stroke-width:calc(var(--dw-sw) * .6);opacity:0}
.lp-foam .ring{fill:none;stroke:var(--dw-a);stroke-width:calc(var(--dw-sw) * .6);opacity:0}
.lp-foam .nos .a{stroke-width:calc(var(--dw-sw) * .9)}

/* before the drawing is in: bubbles wait */
.js .lp-foam:not(.is-in) :is(.bb,.mb,.rb,.kd,.tag){opacity:0}
.js .lp-foam .tag{transition:opacity .6s var(--ease) 1s}
.js .lp-foam .kd{transition:opacity .6s var(--ease) 1.1s}

.lp-foam.is-in .bb{animation:lp-f-in .62s var(--ease-back) calc(.8s + var(--k,0) * .06s) both}
.lp-foam.is-in .bb.br{animation:lp-f-in .62s var(--ease-back) calc(.8s + var(--k,0) * .06s) both,lp-f-br 4.8s var(--ease-io) calc(2.6s + var(--k,0) * .41s) infinite}
.lp-foam.is-in .bb.pp{animation:lp-f-in .62s var(--ease-back) calc(.8s + var(--k,0) * .06s) both,lp-f-pop 6s var(--ease) calc(3.2s + var(--k,0) * .23s) infinite}
.lp-foam.is-in .mb{animation:lp-f-fade .6s var(--ease) 1.6s both}
.lp-foam.is-in .rb{animation:lp-f-rise 3.4s var(--ease) calc(2.2s + var(--k,0) * .68s) infinite backwards}
.lp-foam.is-in .pump{animation:lp-f-press 6s var(--ease-io) 2s infinite}
.lp-foam.is-in .blob{animation:lp-f-blob 6s var(--ease-io) 2s infinite}
.lp-foam.is-in .mound{animation:lp-f-bump 6s var(--ease-soft) 2s infinite}
/* liquids: the pump presses, a drop forms, falls, rings the pool */
.lp-foam--liq.is-in .pump{animation:lp-f-press 3s var(--ease-io) 1.6s infinite}
.lp-foam.is-in .dr{animation:lp-f-drop 3s linear 1.6s infinite backwards}
.lp-foam.is-in .rp{animation:lp-f-ripple 3s var(--ease) calc(1.6s + var(--k,0) * .16s) infinite}
/* ingredients */
.lp-foam.is-in :is(.od,.gd){animation:lp-f-drip 3.6s var(--ease-io) calc(2.2s + var(--k,0) * .3s) infinite backwards}
.lp-foam.is-in .lf{animation:lp-f-sway 5.4s var(--ease-io) calc(1.8s + var(--k,0) * .35s) infinite}
.lp-foam.is-in .alm{transform-box:fill-box;transform-origin:center;animation:lp-f-rock 6s var(--ease-io) 1.8s infinite}
.lp-foam.is-in .mc{animation:lp-f-kill 6.6s var(--ease) calc(2.2s + var(--k,0) * .9s) infinite}
.lp-foam.is-in .ring{animation:lp-f-ring 6.6s var(--ease) calc(2.2s + var(--k,0) * .9s) infinite}
.lp-foam.is-in .nd{animation:lp-f-bob 4.4s var(--ease-io) 1.8s infinite}
.lp-foam.is-in .rip{animation:lp-f-pulse 4.4s var(--ease-io) calc(2s + var(--k,0) * .2s) infinite}
.lp-foam.is-in .fl{animation:lp-spin 28s linear infinite}
.lp-foam .rip[data-k="1"]{--k:1}.lp-foam .rip[data-k="2"]{--k:2}

@keyframes lp-f-in{from{transform:scale(0);opacity:0}to{transform:none;opacity:1}}
@keyframes lp-f-fade{from{opacity:0}}
@keyframes lp-f-br{0%,100%{transform:none}50%{transform:scale(1.05,1.04)}}
@keyframes lp-f-pop{0%,58%{transform:none;opacity:1}64%{transform:scale(1.16);opacity:1}67%{transform:scale(1.34);opacity:0}80%{transform:scale(.2);opacity:0}92%{transform:scale(1.05);opacity:1}100%{transform:none;opacity:1}}
@keyframes lp-f-rise{0%{opacity:0;transform:scale(.4)}18%{opacity:.85;transform:translate(calc(var(--dx) * .2),calc(var(--dy) * .15))}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.7)}}
@keyframes lp-f-press{0%,100%{transform:none}4%{transform:translateY(3px)}10%{transform:none}}
@keyframes lp-f-blob{0%,5%{opacity:0;transform:scale(.3)}10%{opacity:1;transform:none}13%{opacity:1;transform:none;animation-timing-function:cubic-bezier(.55,0,1,.45)}22%{opacity:1;transform:translateY(var(--fall)) scale(.92)}25%,100%{opacity:0;transform:translateY(var(--fall)) scale(.6)}}
@keyframes lp-f-bump{0%,21%,100%{transform:none}25%{transform:scale(1.035,.95)}31%{transform:scale(.99,1.02)}36%{transform:none}}
@keyframes lp-f-drop{0%{transform:scale(.15);opacity:0}6%{opacity:1}26%{transform:none;opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45)}50%{transform:translateY(var(--fall)) scale(.9,1.12);opacity:1}52%,100%{transform:translateY(var(--fall)) scale(.4);opacity:0}}
@keyframes lp-f-ripple{0%,49%{opacity:0;transform:scale(.35)}52%{opacity:.9;transform:scale(.5)}100%{opacity:0;transform:scale(1.55)}}
@keyframes lp-f-drip{0%{transform:scale(.3);opacity:0}24%{transform:none;opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45)}62%{transform:translateY(var(--fall)) scale(.94,1.08);opacity:1}72%,100%{transform:translateY(var(--fall)) scale(.6);opacity:0}}
@keyframes lp-f-sway{0%,100%{transform:none}50%{transform:rotate(3.5deg)}}
@keyframes lp-f-rock{0%,100%{transform:none}50%{transform:rotate(-5deg) translateY(-1.5px)}}
@keyframes lp-f-kill{0%,28%{transform:none;opacity:1}34%{transform:scale(1.1)}42%{transform:scale(0) rotate(40deg);opacity:0}82%{transform:scale(0);opacity:0}92%{transform:scale(1.06);opacity:1}100%{transform:none;opacity:1}}
@keyframes lp-f-ring{0%,32%{opacity:0;transform:scale(.45)}38%{opacity:.95;transform:scale(.8)}52%,100%{opacity:0;transform:scale(1.45)}}
@keyframes lp-f-bob{0%,100%{transform:none}50%{transform:translateY(-3.5px)}}
@keyframes lp-f-pulse{0%,100%{transform:none;stroke-opacity:.5}50%{transform:scale(1.07);stroke-opacity:.22}}

/* hero (200 box, orbit) */
.lp-chero__draw > .lp-foam--hero{width:60%}

/* ---------------------------------------------------------------- 97.2 Identity Soap 400 doses */
.lp-dose{color:var(--lp-ink);--dw-sw:1.5}
.lp-dose .tk{stroke:currentColor;stroke-opacity:.26;stroke-width:1.2}
.lp-dose .arc-t{stroke:currentColor;stroke-opacity:.08;stroke-width:3}
.lp-dose .arc{stroke:var(--dw-a);stroke-width:3;stroke-linecap:round;stroke-dasharray:1 1;transform:rotate(-90deg);transform-box:fill-box;transform-origin:center}
.js .lp-dose:not(.is-in) .arc{stroke-dashoffset:1}
.lp-dose.is-in .arc{animation:lp-d-arc 8.4s var(--ease-io) 1.2s infinite backwards}
.lp-dose .big{font:400 76px/1 var(--f-display);letter-spacing:-.03em;fill:currentColor}
.lp-dose .lbl.sub{fill:var(--dw-a);fill-opacity:1}
.lp-dose :is(.bb circle,.dz circle){fill:var(--dw-f);stroke:currentColor;stroke-width:1}
.lp-dose .bb.t circle{fill:color-mix(in srgb,var(--dw-a) 9%,var(--dw-f))}
.lp-dose .hl{fill:none;stroke:currentColor;stroke-width:.8;stroke-opacity:.4}
.lp-dose .mb{fill:none;stroke:currentColor;stroke-width:.6;stroke-opacity:.4}
.lp-dose :is(.bb,.mound,.dz,.push){transform-box:fill-box;transform-origin:50% 100%}
.lp-dose .dz{transform-origin:50% 0;opacity:0}
.js .lp-dose:not(.is-in) :is(.bb,.mb){opacity:0}
.lp-dose.is-in .bb{animation:lp-f-in .6s var(--ease-back) calc(1s + var(--k,0) * .05s) both}
.lp-dose.is-in .push{animation:lp-d-push 2.1s var(--ease-io) 1.6s infinite}
.lp-dose.is-in .dz{animation:lp-d-dose 2.1s var(--ease-io) 1.6s infinite}
.lp-dose.is-in .mound{animation:lp-f-bump 2.1s var(--ease-soft) 1.6s infinite}
@keyframes lp-d-arc{0%{stroke-dashoffset:1}82%,94%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes lp-d-push{0%,100%{transform:none}6%{transform:scale(.97)}14%{transform:none}}
@keyframes lp-d-dose{0%,8%{opacity:0;transform:scale(.3)}16%{opacity:1;transform:none;animation-timing-function:cubic-bezier(.55,0,1,.45)}30%{opacity:1;transform:translateY(var(--fall)) scale(.9)}34%,100%{opacity:0;transform:translateY(var(--fall)) scale(.5)}}
.lp-split2__a .lp-dose{width:100%;max-width:600px}

/* ---------------------------------------------------------------- 97.3 Natural Breeze room (≈ 100 m³) */
.lp-room{color:var(--lp-ink);--dw-a:var(--lp-aqua);--dw-sw:1.3}
.lp-room .big{font:400 46px/1 var(--f-display);letter-spacing:-.03em;fill:currentColor}
.lp-room .lbl{fill:var(--lp-slate);fill-opacity:1}
.lp-room .vol{fill:var(--dw-a);fill-opacity:.06}
.lp-room .pf{fill:var(--dw-a);fill-opacity:.34;filter:blur(1.2px);transform-box:fill-box;transform-origin:center;opacity:0}
.lp-room.is-in .pf{animation:lp-r-puff 7.2s var(--ease) calc(1.4s + var(--k,0) * .8s) infinite}
.lp-room.is-in .vol{animation:lp-r-vol 7.2s var(--ease-io) 1.4s infinite}
@keyframes lp-r-puff{0%{opacity:0;transform:scale(.3)}10%{opacity:1}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(2.4)}}
@keyframes lp-r-vol{0%,100%{fill-opacity:.03}55%{fill-opacity:.1}}

/* ---------------------------------------------------------------- 97.4 Zenith — la matière (brushed steel, sheen, etch, anti-traces) */
.lp-zen{--sx:.34;--sy:.42;display:grid;gap:clamp(28px,4vw,56px);align-items:center}
@media (min-width:1024px){ .lp-zen{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)} }
.lp-zen__stage{position:relative;display:grid;place-items:center;min-height:clamp(460px,44vw,620px);padding:56px 0 76px;border-radius:var(--r-sheet);overflow:hidden;isolation:isolate;perspective:1500px;
  background:radial-gradient(56% 50% at 50% 44%,rgba(200,210,235,.16),transparent 72%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.08)}
.lp-zen__stage::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask:radial-gradient(70% 70% at 50% 45%,#000,transparent 75%);mask:radial-gradient(70% 70% at 50% 45%,#000,transparent 75%)}
.lp-zen__obj{position:relative;width:clamp(210px,24vw,330px);aspect-ratio:3/4;transform-style:preserve-3d;will-change:transform;
  transform:rotateY(calc((var(--sx) - .5) * 16deg)) rotateX(calc((.5 - var(--sy)) * 10deg))}
.lp-zen__side{position:absolute;top:3%;bottom:3%;left:-6%;width:16%;border-radius:46% 0 0 46% / 10% 0 0 10%;transform:translateZ(-14px);
  background:linear-gradient(90deg,#24292e,#4d555c 55%,#80888f)}
.lp-zen__slab{position:absolute;inset:0;border-radius:clamp(20px,2.3vw,30px);overflow:hidden;background:#a8afb5;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.7),inset -1px -1px 0 rgba(0,0,0,.3),0 34px 60px -22px rgba(0,0,0,.65),0 70px 110px -50px rgba(0,0,0,.55)}
.lp-zen__tex{position:absolute;inset:0;background:url("../img/zenith-brushed.jpg") center/cover;opacity:.92}
.lp-zen__tex::after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,rgba(255,255,255,.3),rgba(255,255,255,0) 38%,rgba(0,0,0,.14) 70%,rgba(0,0,0,.32))}
.lp-zen__sheen{position:absolute;top:0;bottom:0;left:-50%;width:200%;pointer-events:none;mix-blend-mode:overlay;will-change:transform;
  background:linear-gradient(90deg,transparent 36%,rgba(255,255,255,.16) 44%,rgba(255,255,255,.85) 50%,rgba(255,255,255,.16) 56%,transparent 64%);
  transform:translateX(calc((var(--sx) - .5) * 60%))}
.lp-zen__glint{position:absolute;left:-35%;top:-35%;width:70%;aspect-ratio:1;pointer-events:none;mix-blend-mode:screen;will-change:transform;opacity:.5;
  background:radial-gradient(closest-side,rgba(255,255,255,.55),rgba(255,255,255,0));transform:translate(calc(var(--sx) * 142.86%),calc(var(--sy) * 190.48%))}
.lp-etch{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.lp-etch .bv{fill:none;stroke:rgba(24,28,33,.42);stroke-width:1.1;stroke-dasharray:1 2;transition:stroke-dashoffset 1.9s var(--ease-soft) .3s}
.lp-etch .bv-l{stroke:rgba(255,255,255,.62)}
.lp-etch .lg{fill:rgba(30,34,39,.6);transition:opacity 1s var(--ease) 1.5s}
.lp-etch .lg-l{fill:rgba(255,255,255,.55)}
.js .lp-zen:not(.is-in) .lp-etch .bv{stroke-dashoffset:1;transition:none}
.js .lp-zen:not(.is-in) .lp-etch .lg{opacity:0;transition:none}
.lp-zen__prints{position:absolute;inset:0;pointer-events:none}
.lp-zen__fp{position:absolute;width:62px;height:76px;margin:-38px 0 0 -31px;color:#1f2428;mix-blend-mode:multiply;opacity:0;transform:rotate(var(--r,0deg));animation:lp-zen-fp 3s var(--ease) forwards}
.lp-zen__fp{-webkit-mask:radial-gradient(closest-side,#000 55%,transparent);mask:radial-gradient(closest-side,#000 55%,transparent)}
.lp-zen__fp use{fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round}
.lp-zen__fp.is-static{animation:none;opacity:.42}
@keyframes lp-zen-fp{0%{opacity:0;transform:rotate(var(--r,0deg)) scale(.9)}9%{opacity:.72;transform:rotate(var(--r,0deg)) scale(1)}34%{opacity:.6;filter:blur(0)}100%{opacity:0;filter:blur(2px);transform:rotate(var(--r,0deg)) scale(1.04)}}
.lp-zen__call{position:absolute;z-index:2;display:flex;align-items:center;font:600 10.5px/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.86);white-space:nowrap;pointer-events:none;transform:translateZ(24px)}
.lp-zen__call em{flex:none;width:9px;height:9px;margin:0 -4.5px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18),0 1px 6px rgba(0,0,0,.4);transform:scale(0);transition:transform .5s var(--ease-back) 1.9s}
.lp-zen__call i{flex:none;display:block;width:clamp(70px,9vw,128px);height:1px;margin:0 12px 0 0;background:linear-gradient(90deg,#fff,rgba(255,255,255,.4));transform-origin:0 50%;transform:scaleX(0);transition:transform .9s var(--ease-soft) 2.1s}
.lp-zen__call b{font-weight:600;opacity:0;transition:opacity .6s var(--ease) 2.7s}
.lp-zen__call--a{left:72%;top:22%}
.lp-zen__call--b{right:62%;top:68%;flex-direction:row-reverse}
.lp-zen__call--b i{margin:0 0 0 12px;transform-origin:100% 50%;background:linear-gradient(270deg,#fff,rgba(255,255,255,.4))}
.lp-zen.is-in .lp-zen__call em{transform:none}
.lp-zen.is-in .lp-zen__call i{transform:none}
.lp-zen.is-in .lp-zen__call b{opacity:1}
.lp-zen__floor{position:absolute;left:50%;bottom:12%;width:clamp(180px,22vw,300px);height:30px;margin-left:calc(clamp(180px,22vw,300px) / -2);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);filter:blur(5px);z-index:-1;
  transform:translateX(calc((var(--sx) - .5) * -16px))}
.lp-zen__hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;margin:0;font:500 12.5px/1 var(--f-sans);color:rgba(255,255,255,.66);white-space:nowrap;transition:opacity .4s var(--ease)}
.lp-zen__hint .lp-ic{width:16px;height:16px}
.lp-zen.is-touched .lp-zen__hint{opacity:.38}
.lp-zen__c .lp-over{color:#fff}
.lp-zen__q{display:grid;margin-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.lp-zen__q li{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:18px;row-gap:5px;align-items:start;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.lp-zen__ic{grid-row:span 3;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04);color:#fff;transition:background .3s var(--ease),border-color .3s var(--ease)}
.lp-zen__ic .lp-ic{width:20px;height:20px}
.lp-zen__q li:hover .lp-zen__ic{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)}
.lp-zen__q .n{font:500 11px/1 var(--f-mono);color:rgba(255,255,255,.55)}
.lp-zen__q strong{font:500 clamp(22px,1.9vw,27px)/1.1 var(--f-display);color:#fff}
.lp-zen__q .t{font-size:15px;line-height:1.5;color:rgba(255,255,255,.76)}
@media (max-width:759px){
  .lp-zen__stage{min-height:420px;padding:40px 0 70px}
  .lp-zen__call{display:none}
}
@media (prefers-reduced-motion:reduce){ .lp-zen__obj{transform:none!important} }

/* ---------------------------------------------------------------- 97.5 family pages */
@media (min-width:1120px){ .lp-steps--2{grid-template-columns:repeat(2,minmax(0,1fr))} }
.lp-sec--soaps .lp-steps + .lp-actions{margin-top:clamp(22px,2.6vw,34px)}
.lp-page--family :is(.lp-sys,.lp-split2,.lp-scents) + .lp-subh{margin-top:clamp(40px,4vw,60px)}
.lp-split2__t .lp-specs{margin-top:22px}
.lp-split2__t .lp-specs + .lp-actions,.lp-split2__t .lp-gauges + .lp-actions{margin-top:24px}
.lp-split2__a--pull > .lp-pullw{max-width:420px}
.lp-split2__t .lp-gauges--solo{justify-content:flex-start;margin-top:26px}

/* ---------------------------------------------------------------- 97.6 few-card grids: one or two references read as wide cards */
@media (min-width:760px){
  .lp-pgrid--few{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-pgrid--one{grid-template-columns:minmax(0,1fr);max-width:880px}
  .lp-pgrid--few .lp-pc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);grid-template-rows:minmax(0,1fr) auto}
  .lp-pgrid.lp-pgrid--few .lp-pc__media{grid-row:1 / span 2;aspect-ratio:auto;min-height:clamp(230px,21vw,300px);border-right:1px solid var(--hair)}
  .lp-pgrid--few .lp-pc__body{gap:8px;padding:clamp(20px,2vw,28px) clamp(18px,2vw,26px) 14px}
  .lp-pgrid.lp-pgrid--few .lp-pc__t{font-size:clamp(18px,1.45vw,21px)}
  .lp-pgrid--few .lp-pc__n{-webkit-line-clamp:4;font-size:14px}
  .lp-pgrid--few .lp-pc__foot{grid-column:2}
  .lp-pgrid--few .lp-pv{grid-template:minmax(0,1fr) / minmax(0,1fr)}
  .lp-pgrid--few .lp-pv--draw{padding:8% 12%}
}
@media (max-width:759.98px){
  .lp-pgrid--one:not(.is-list){grid-template-columns:minmax(0,1fr)}
  .lp-pgrid.lp-pgrid--one .lp-pc__media{aspect-ratio:16/10}
}

/* ---------------------------------------------------------------- 97.7 accessoires — each dispenser above its bin (wall elevation) */
.lp-split2__a--wall{width:100%;padding:clamp(14px,2.2vw,30px);border-radius:var(--r-sheet);color:var(--lp-ink);
  background:radial-gradient(80% 70% at 50% 38%,#fff,var(--lp-paper) 82%);box-shadow:inset 0 0 0 1px var(--hair)}
.lp-wallp{--dw-sw:1.35}
.lp-wallp .gr{stroke:currentColor;stroke-opacity:.07;stroke-width:1}
.lp-draw .spk{fill:currentColor;fill-opacity:.3}
.js .lp-draw .spk,.js .lp-wallp .gr{transition:opacity .9s var(--ease) calc(var(--dw-d) + .6s)}
.js .lp-draw:not(.is-in) .spk,.js .lp-wallp:not(.is-in) .gr{opacity:0;transition:none}
.lp-wallp .ball{opacity:0;transform-box:fill-box;transform-origin:center}
.lp-wallp .bl{fill:var(--dw-f);stroke:currentColor;stroke-width:1.1;stroke-linejoin:round}
.lp-wallp .blc{fill:none;stroke:currentColor;stroke-width:.8;stroke-opacity:.5;stroke-linecap:round}
.lp-wallp.is-in .ball{animation:lp-w-fall 4.8s linear calc(2.2s + var(--k,0) * 2.4s) infinite}
@keyframes lp-w-fall{
  0%{opacity:0;transform:translateY(-5px) scale(.4)}
  12%{opacity:1;transform:none;animation-timing-function:var(--ease-io)}
  24%{opacity:1;transform:translateY(2px) rotate(-8deg);animation-timing-function:cubic-bezier(.55,0,1,.55)}
  40%{opacity:1;transform:translateY(var(--fall)) rotate(150deg)}
  42%,100%{opacity:0;transform:translateY(var(--fall)) rotate(150deg)}
}
@media (min-width:760px){ .lp-pair.lp-pair--stack{grid-template-columns:minmax(0,1fr)} }
/* the room keeps its figure readable on phones: bigger art, one label (the lede already says « sans pile, sans gaz propulseur ») */
@media (max-width:639.98px){
  .lp-chero__art:has(> .lp-room){max-width:100%}
  .lp-room .lbl{font-size:15px}
  .lp-room .l2{display:none}
}

/* ── 98-fato.css ── */
/* =====================================================================
   98 · FATO (v2.5) — the Ho.Re.Ca. table brand of the Lucart group.
   Cards, catalogue pagination and long facets, hub (lines, types, composer,
   Smart Runner, materials, 2026, FATO4YOU, 3D), product sheet, mega column.
   ===================================================================== */
:root{--fato:#b9975a;--fato-ink:#6f5524}

/* ---------------------------------------------------------------- 98.1 product card */
.lp-fc .lp-pc__media{background:linear-gradient(180deg,#fff 0,var(--lp-paper) 100%)}
.lp-fc .lp-pv{padding:0}
.lp-fc .lp-pv > img{transition:transform .9s var(--ease),opacity .5s var(--ease)}
.lp-fc .lp-pv--photo > img{object-fit:cover}
.lp-fc :is(.lp-pv--cut,.lp-pv--pack){padding:9% 11%;background:#fff}
.lp-fc :is(.lp-pv--cut,.lp-pv--pack) > img{object-fit:contain;filter:none;mix-blend-mode:multiply}
.lp-pc.lp-fc:hover .lp-pv--photo > img{transform:scale(1.05)}
.lp-pc.lp-fc:hover :is(.lp-pv--cut,.lp-pv--pack) > img{transform:scale(1.04)}
.lp-fc__alt{position:absolute;inset:0;width:100%;height:100%;padding:9% 11%;object-fit:contain;background:#fff;opacity:0;transition:opacity .55s var(--ease),transform .9s var(--ease);pointer-events:none}
.lp-fc__alt.is-photo{padding:0;object-fit:cover;background:none}
.lp-pc.lp-fc:hover .lp-pv.has-alt > .lp-fc__alt{opacity:1;transform:scale(1.02)}
.lp-pc.lp-fc:hover .lp-pv.has-alt > img:first-child{opacity:0}
.lp-fc__new{position:absolute;left:12px;bottom:12px;z-index:1;display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:var(--r-pill);background:var(--lp-ink);
  font:600 10.5px/1 var(--f-mono);letter-spacing:.08em;color:#fffcf7}
.lp-fc__new--l{position:static;height:26px;background:var(--fato);color:#2d2210}
.lp-fc .lp-pc__n{-webkit-line-clamp:1}
.lp-fc .lp-pc__t{text-wrap:balance}
.lp-fc__sw{flex:none;display:inline-flex;align-items:center;gap:6px;font:500 11px/1 var(--f-mono);color:var(--fg2)}
.lp-fc__sw i{width:16px;height:16px;border-radius:50%;background:var(--s);box-shadow:inset 0 0 0 1px rgba(9,13,69,.16)}
.lp-fc__sw span{padding:4px 6px;border-radius:var(--r-pill);background:var(--lp-paper-shade)}
.lp-pgrid--fato{grid-template-columns:repeat(auto-fill,minmax(min(100%,236px),1fr))}
@media (min-width:760px){ .lp-pgrid--fato.lp-pgrid--few{grid-template-columns:repeat(2,minmax(0,1fr))} .lp-pgrid--fato.lp-pgrid--one{grid-template-columns:minmax(0,1fr);max-width:880px} }
.lp-pgrid--few .lp-fc .lp-pc__n{-webkit-line-clamp:2}
.is-list .lp-fc .lp-pv--photo > img{object-fit:cover}
.is-list .lp-fc__new{left:6px;bottom:6px;height:20px;padding:0 6px;font-size:9.5px}
@media (max-width:640px){
  .lp-fc__new{left:8px;bottom:8px;height:20px;padding:0 7px;font-size:9.5px}
  .lp-fc__sw span{display:none}
}

/* ---------------------------------------------------------------- 98.2 catalogue: pagination, long facets, colour facet */
.js .lp-cat[data-cat-page]:not(.is-paged) .lp-pgrid--cat > :nth-child(n+49){display:none}
.lp-cat__more{display:grid;justify-items:center;gap:14px;margin-top:clamp(28px,3vw,44px)}
.lp-cat__more[hidden]{display:none}
.lp-cat__prog{display:flex;align-items:center;gap:14px;font:500 12px/1 var(--f-mono);color:var(--fg2)}
.lp-cat__prog strong{font-weight:600;color:var(--fg)}
.lp-cat__bar2{position:relative;width:min(240px,46vw);height:2px;border-radius:2px;background:var(--hair-2);overflow:hidden}
.lp-cat__bar2 i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:2px;background:var(--fg);transition:width .6s var(--ease)}
.lp-cat__more .lp-btn[hidden]{display:none}
.lp-cat__more .lp-btn .lp-ic{width:16px;height:16px}
.lp-cat__nojs{margin-top:24px}
.lp-filt__g .lp-check.is-more{display:none}
.lp-filt__g.is-open .lp-check.is-more{display:flex;animation:lp-card-in .45s var(--ease-soft) both}
.lp-filt__more{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:6px 0;font:600 13px/1 var(--f-sans);color:var(--lp-navy)}
.lp-filt__more .lp-ic{width:14px;height:14px}
.lp-filt__more:hover{text-decoration:underline;text-underline-offset:3px}
.lp-filt__g--sw .lp-check__dot{width:14px;height:14px;box-shadow:inset 0 0 0 1px rgba(9,13,69,.18)}
.lp-filt--fato .lp-check__t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------------------------------------------------------------- 98.3 type tiles */
.lp-ftypes{display:grid;gap:clamp(12px,1.4vw,20px);grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
@media (min-width:1120px){ .lp-ftypes:not(.lp-ftypes--hero){grid-template-columns:repeat(4,minmax(0,1fr))} }
.lp-ftypes__c{--k:0;position:relative;display:flex;flex-direction:column;border-radius:var(--r-card);overflow:hidden;background:var(--card);border:1px solid var(--hair);color:var(--fg2);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-short)}
.lp-ftypes__c:hover{transform:translateY(-4px);box-shadow:var(--elev-2);border-color:var(--hair-2)}
.lp-ftypes__c .m{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--lp-paper-shade)}
.lp-ftypes__c .m img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.lp-ftypes__c:hover .m img{transform:scale(1.06)}
.lp-ftypes__c .b{display:flex;flex-direction:column;gap:6px;padding:16px 50px 18px 18px}
.lp-ftypes__c strong{font:500 clamp(20px,1.6vw,24px)/1.12 var(--f-display);letter-spacing:-.01em;color:var(--fg)}
.lp-ftypes__c small{font-size:13.5px;line-height:1.45}
.lp-ftypes__c .n{position:absolute;right:12px;top:12px;padding:6px 9px;border-radius:var(--r-pill);background:rgba(255,252,247,.92);font:600 11.5px/1 var(--f-mono);color:var(--lp-ink);box-shadow:0 0 0 1px var(--hair)}
.lp-ftypes__c > .lp-arw{position:absolute;right:18px;bottom:20px;color:var(--fg)}
.lp-ftypes__c > .lp-arw path{transform:translateX(-4px);transition:transform var(--t-med) var(--ease)}
.lp-ftypes__c:hover > .lp-arw path{transform:translateX(2px)}
/* compact: hero art, catalogue band, fallback sheet */
.lp-ftypes--hero{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lp-ftypes--hero .lp-ftypes__c,.lp-ftypes--band .lp-ftypes__c{flex-direction:row;align-items:center;gap:12px;padding:7px 40px 7px 7px}
.lp-ftypes--hero .lp-ftypes__c .m,.lp-ftypes--band .lp-ftypes__c .m{flex:none;width:58px;height:58px;aspect-ratio:auto;border-radius:12px}
.lp-ftypes--hero .lp-ftypes__c .b,.lp-ftypes--band .lp-ftypes__c .b{flex:1;min-width:0;flex-direction:row;align-items:baseline;justify-content:space-between;gap:8px;padding:0}
.lp-ftypes--hero .lp-ftypes__c strong,.lp-ftypes--band .lp-ftypes__c strong{font:600 14.5px/1.2 var(--f-sans);letter-spacing:0}
.lp-ftypes--hero .lp-ftypes__c .n,.lp-ftypes--band .lp-ftypes__c .n{position:static;flex:none;order:2;padding:4px 7px;font-size:10.5px;background:var(--lp-paper);box-shadow:none}
.lp-ftypes--hero .lp-ftypes__c > .lp-arw,.lp-ftypes--band .lp-ftypes__c > .lp-arw{right:12px;bottom:auto;top:50%;margin-top:-6px;width:22px}
.lp-ftypes--hero .lp-ftypes__c:hover,.lp-ftypes--band .lp-ftypes__c:hover{transform:translateX(4px)}
.lp-ftypes--hero .lp-ftypes__c:hover .m img{transform:scale(1.1)}
@media (min-width:1120px){ .lp-ftypes--band{grid-template-columns:repeat(4,minmax(0,1fr))!important} }
@media (max-width:520px){ .lp-ftypes--hero{grid-template-columns:1fr} }

/* ---------------------------------------------------------------- 98.4 hub hero */
.lp-fhero .lp-lhero__t{max-width:11ch}
.lp-fhero__media{width:100%;min-height:0;padding:clamp(28px,3vw,44px) 0 clamp(36px,4vw,56px) clamp(18px,2.4vw,36px)}
.lp-fhero__fig{width:100%!important;margin:0}
.lp-fhero__fig .lp-fig__m{aspect-ratio:4/3.1;border-radius:var(--r-sheet);overflow:hidden}
.lp-fhero__fig .lp-fig__m img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.lp-fhero__ring{position:absolute;left:0;top:0;z-index:2;width:clamp(104px,10vw,148px);aspect-ratio:1;border-radius:50%;background:var(--lp-paper-bright);box-shadow:var(--elev-2);display:grid;place-items:center}
.lp-fhero__ring .lp-seal{width:92%;height:92%;color:var(--fato-ink)}
.lp-fhero__ring .lp-seal .m{font:500 40px/1 var(--f-display);fill:var(--lp-ink)}
.lp-fhero__ring .lp-seal .rt{transform-origin:110px 110px;animation:lp-spin 38s linear infinite}
.lp-fhero__new{position:absolute;right:clamp(12px,2vw,28px);bottom:0;z-index:2;display:flex;align-items:center;gap:14px;padding:10px 16px 10px 10px;border-radius:var(--r-card);background:var(--lp-paper-bright);
  box-shadow:var(--elev-2);color:var(--fg2);transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-fhero__new:hover{transform:translateY(-3px);box-shadow:var(--elev-3)}
.lp-fhero__new .m{width:64px;height:64px;border-radius:12px;overflow:hidden;flex:none}
.lp-fhero__new .m img{width:100%;height:100%;object-fit:cover}
.lp-fhero__new .b{display:grid;gap:3px}
.lp-fhero__new small{font:600 10.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fato-ink)}
.lp-fhero__new strong{font:500 19px/1.1 var(--f-display);color:var(--fg)}
.lp-fhero__new em{font:500 12px/1.2 var(--f-mono);font-style:normal}
.lp-lindex--fato a{min-width:118px}
@keyframes lp-spin{to{transform:rotate(360deg)}}
@media (max-width:767px){
  .lp-fhero__media{padding:22px 0 34px 14px}
  .lp-fhero__ring{width:92px}
  .lp-fhero__ring .lp-seal .m{font-size:34px}
  .lp-fhero__new{right:8px;padding:8px 12px 8px 8px;gap:10px}
  .lp-fhero__new .m{width:48px;height:48px}
  .lp-fhero__new strong{font-size:16px}
}

/* ---------------------------------------------------------------- 98.5 lines */
.lp-flines{display:grid;gap:clamp(12px,1.4vw,20px);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
@media (min-width:1120px){ .lp-flines{grid-template-columns:repeat(3,minmax(0,1fr))} }
.lp-flines__c{--c:var(--fato);position:relative;display:flex;flex-direction:column;border-radius:var(--r-card);overflow:hidden;background:var(--card);border:1px solid var(--hair);color:var(--fg2);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-flines__c:hover{transform:translateY(-4px);box-shadow:var(--elev-2)}
.lp-flines__c .m{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--lp-paper-shade)}
.lp-flines__c .m img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.lp-flines__c:hover .m img{transform:scale(1.05)}
.lp-flines__c .b{flex:1;display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;border-top:3px solid var(--c)}
.lp-flines__c .k{display:inline-flex;align-items:center;gap:8px;font:500 11px/1 var(--f-mono);letter-spacing:.05em;text-transform:uppercase}
.lp-flines__c .k i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.lp-flines__c strong{font:500 clamp(26px,2.3vw,34px)/1.04 var(--f-display);letter-spacing:-.015em;color:var(--fg)}
.lp-flines__c em{font:400 17px/1.35 var(--f-display);font-style:italic;color:var(--fg)}
.lp-flines__c small{font-size:14px;line-height:1.5}
.lp-flines__c .s{font:500 11.5px/1.3 var(--f-mono);color:var(--fg2)}
.lp-flines__c .go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px;font:600 14px/1 var(--f-sans);color:var(--lp-navy)}
.lp-flines__c .go .lp-arw path{transform:translateX(-4px);transition:transform var(--t-med) var(--ease)}
.lp-flines__c:hover .go .lp-arw path{transform:translateX(2px)}
.lp-fnap{display:grid;gap:0;margin-top:clamp(16px,2vw,24px);border-radius:var(--r-sheet);overflow:hidden;background:var(--lp-ink);color:rgba(247,243,234,.78)}
.lp-fnap .m{display:block;min-height:220px;overflow:hidden}
.lp-fnap .m img{width:100%;height:100%;object-fit:cover}
.lp-fnap .b{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:clamp(24px,3vw,44px)}
.lp-fnap .lp-over{color:var(--fato)}
.lp-fnap h3{font:500 clamp(26px,2.4vw,36px)/1.05 var(--f-display);color:#fffcf7}
.lp-fnap p:not(.lp-over){max-width:56ch}
.lp-fnap .lp-link{color:#fffcf7}
.lp-fnap .lp-actions{gap:10px 26px}
@media (min-width:860px){ .lp-fnap{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)} }

/* ---------------------------------------------------------------- 98.6 composer */
.lp-fcomp{display:grid;gap:clamp(18px,2.2vw,30px)}
.lp-fcomp__side{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px 16px;align-items:start;padding-bottom:clamp(16px,2vw,24px);border-bottom:1px solid var(--hair)}
.lp-fcomp__g{margin:0;padding-top:12px;font:600 11px/1 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--fg2)}
.lp-fcomp__chips{display:flex;flex-wrap:wrap;gap:6px}
.lp-fcomp__chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px 0 7px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--card);
  font:600 13px/1.1 var(--f-sans);color:var(--fg);transition:background-color var(--t-short),color var(--t-short),border-color var(--t-short),transform var(--t-short) var(--ease)}
.lp-fcomp__chip i{width:20px;height:20px;border-radius:50%;background:var(--s);box-shadow:inset 0 0 0 1px rgba(9,13,69,.16)}
.lp-fcomp__chip small{font:500 10.5px/1 var(--f-mono);color:var(--fg2)}
.lp-fcomp__chip:hover{border-color:var(--fg);transform:translateY(-1px)}
.lp-fcomp__chip[aria-pressed="true"]{background:var(--lp-ink);border-color:var(--lp-ink);color:#fffcf7}
.lp-fcomp__chip[aria-pressed="true"] small{color:rgba(255,252,247,.7)}
.lp-fcomp__p[hidden]{display:none}
.lp-fcomp__stage{display:grid;gap:clamp(8px,1vw,14px);grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(150px,13.5vw)}
.lp-fcomp__t{--k:0;position:relative;display:block;min-height:0;border-radius:var(--r-card);overflow:hidden;background:#fff;border:1px solid var(--hair);isolation:isolate}
.lp-fcomp__t .m{position:absolute;inset:0}
.lp-fcomp__t .m img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.lp-fcomp__t .m--cut{background:#fff}
.lp-fcomp__t .m--cut img{position:absolute;top:7%;left:9%;width:82%;height:68%;object-fit:contain;mix-blend-mode:multiply}
.lp-fcomp__t:hover .m img{transform:scale(1.05)}
.lp-fcomp__t .b{position:absolute;left:10px;bottom:10px;right:auto;max-width:calc(100% - 20px);display:grid;gap:2px;padding:10px 12px;border-radius:14px;background:rgba(255,252,247,.92);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--fg2);box-shadow:0 6px 18px rgba(9,13,69,.1)}
.lp-fcomp__t .k{font:600 10px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fato-ink)}
.lp-fcomp__t strong{font:600 14.5px/1.2 var(--f-sans);color:var(--fg)}
.lp-fcomp__t small{font-size:12px;line-height:1.3}
.lp-fcomp__t .c{font:500 11px/1 var(--f-mono);color:var(--fg2)}
.lp-fcomp__t em{font:500 10.5px/1 var(--f-mono);font-style:normal;color:var(--lp-navy)}
.lp-fcomp__t--0{grid-column:span 2;grid-row:span 2}
.lp-fcomp__t--0 strong{font:500 22px/1.1 var(--f-display)}
.lp-fcomp__stage--4 .lp-fcomp__t--3{grid-column:1 / -1}
.lp-fcomp__stage--5 .lp-fcomp__t--4{grid-column:span 2}
.lp-fcomp__f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin-top:16px;font-size:14px}
.lp-fcomp__f .lp-link{margin-top:0}
@media (max-width:767px){
  .lp-fcomp__side{grid-template-columns:minmax(0,1fr);gap:8px}
  .lp-fcomp__g{padding-top:4px}
  .lp-fcomp__chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut) * -1);padding:2px var(--gut) 6px;scrollbar-width:none}
  .lp-fcomp__chips::-webkit-scrollbar{display:none}
  .lp-fcomp__chip{flex:none}
  .lp-fcomp__stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:44vw}
  .lp-fcomp__t--0{grid-column:1 / -1;grid-row:span 1}
  .lp-fcomp__stage--4 .lp-fcomp__t--3,.lp-fcomp__stage--5 .lp-fcomp__t--4{grid-column:auto}
  .lp-fcomp__stage > .lp-fcomp__t:last-child:nth-child(even){grid-column:1 / -1}
  .lp-fcomp__t .b{left:6px;bottom:6px;max-width:calc(100% - 12px);padding:8px 10px}
  .lp-fcomp__t small,.lp-fcomp__t em{display:none}
}

/* ---------------------------------------------------------------- 98.7 Smart Runner */
.lp-frun{display:grid;gap:clamp(24px,3vw,48px);align-items:center}
.lp-frun__t h2{font-size:clamp(34px,4.4vw,66px);line-height:1.02;max-width:13ch}
.lp-frun__t > p:not(.lp-over){margin-top:18px;max-width:52ch;font-size:clamp(16.5px,1.2vw,18.5px)}
.lp-frun__fig{margin:0}
.lp-frun__fig .lp-fig__m{border-radius:var(--r-sheet);overflow:hidden;background:#fff}
.lp-frun__fig img{width:100%;height:auto}
@media (min-width:1024px){
  .lp-frun{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-template-areas:"t f" "w f"}
  .lp-frun__t{grid-area:t} .lp-frun__fig{grid-area:f} .lp-frun__w{grid-area:w}
}
.lp-runner{--n:1;--c:var(--fato);display:grid;gap:18px;padding:clamp(16px,2vw,26px);border-radius:var(--r-sheet);background:var(--card);border:1px solid var(--hair)}
.lp-runner__svg{display:block;width:100%;height:auto;overflow:visible;color:var(--fg)}
.lp-runner__svg text{font-family:var(--f-mono);font-weight:500}
.lp-runner .roll rect{fill:var(--lp-paper);stroke:currentColor;stroke-width:1.5}
.lp-runner .roll path{fill:none;stroke:var(--hair-2);stroke-width:1}
.lp-runner .roll .w{stroke:var(--fg2)}
.lp-runner .wl,.lp-runner .dm text,.lp-runner .tot{font-size:15px;fill:var(--fg2);text-anchor:middle}
.lp-runner .tot{text-anchor:start}
.lp-runner .seg .sf{fill:var(--lp-paper-bright);stroke:var(--hair-2);stroke-width:1;transition:fill .5s var(--ease)}
.lp-runner .seg .pat{fill:none;stroke:var(--c);stroke-width:2;stroke-opacity:0;transition:stroke-opacity .5s var(--ease)}
.lp-runner .seg .sn{font-size:19px;fill:var(--fg2);text-anchor:middle;transition:fill .3s}
.lp-runner .seg.is-on .sf{fill:color-mix(in srgb,var(--c) 26%,#fff)}
.lp-runner .seg.is-on .pat{stroke-opacity:.9}
.lp-runner .seg.is-on .sn{fill:var(--fg)}
.lp-runner .seg:nth-child(2) :is(.sf,.pat){transition-delay:.06s}
.lp-runner .seg:nth-child(3) :is(.sf,.pat){transition-delay:.12s}
.lp-runner .seg:nth-child(4) :is(.sf,.pat){transition-delay:.18s}
.lp-runner .pf{stroke:var(--fg2);stroke-width:1.2;stroke-dasharray:4 4}
.lp-runner .dm path{fill:none;stroke:var(--fg2);stroke-width:1}
.lp-runner .cut{transform:translateX(calc(150px + var(--n) * 190px));transition:transform .7s var(--ease-soft)}
.lp-runner .cut path{fill:none;stroke:var(--lp-navy);stroke-width:2;stroke-dasharray:7 5}
.lp-runner .cut circle{fill:var(--lp-navy)}
.lp-runner .cut .x{stroke:#fff;stroke-dasharray:none;stroke-width:1.8;stroke-linecap:round}
.lp-runner.is-cut .cut circle{animation:lp-snip .6s var(--ease-back)}
@keyframes lp-snip{0%{transform:scale(.6)}60%{transform:scale(1.18)}100%{transform:none}}
.lp-runner .cut circle{transform-box:fill-box;transform-origin:center}
@media (max-width:600px){   /* the drawing scales to a third: larger type in user units keeps the labels readable */
  .lp-runner .dm text{font-size:26px}
  .lp-runner .wl{font-size:24px}
  .lp-runner .tot{font-size:24px;transform:translateY(12px)}
  .lp-runner .seg .sn{font-size:34px}
}
.lp-runner__ctl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.lp-runner__seg{display:inline-grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border-radius:16px;background:var(--lp-paper);border:1px solid var(--hair)}
.lp-runner__seg button{display:grid;gap:4px;justify-items:start;min-height:52px;padding:8px 14px;border-radius:12px;text-align:left;color:var(--fg2);transition:background-color var(--t-short),color var(--t-short)}
.lp-runner__seg span{font:600 10px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.lp-runner__seg strong{font:600 14px/1.1 var(--f-sans);color:var(--fg);white-space:nowrap}
.lp-runner__seg button:hover{background:#fff}
.lp-runner__seg button[aria-pressed="true"]{background:var(--lp-ink);color:rgba(255,252,247,.7)}
.lp-runner__seg button[aria-pressed="true"] strong{color:#fffcf7}
.lp-runner__out{font-size:14.5px;color:var(--fg2)}
.lp-runner__out strong{font:500 20px/1 var(--f-display);color:var(--fg)}
@media (max-width:640px){
  .lp-runner__seg{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-runner__seg button{padding:8px 10px}
}

/* ---------------------------------------------------------------- 98.8 materials, certifications */
.lp-fmats{display:grid;gap:clamp(16px,2vw,28px);align-items:start}
@media (min-width:1024px){ .lp-fmats{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)} }
.lp-fmats__l{display:grid;border-top:1px solid var(--hair-2)}
.lp-fmats__l a{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 4px;border-bottom:1px solid var(--hair);color:var(--fg2);transition:background-color var(--t-short),padding var(--t-med) var(--ease)}
.lp-fmats__l a:hover{background:color-mix(in srgb,var(--fato) 7%,transparent);padding-inline:14px 10px}
.lp-fmats__l .n{font:500 clamp(26px,2.4vw,34px)/1 var(--f-display);color:var(--fg);font-variant-numeric:tabular-nums}
.lp-fmats__l .t{display:grid;gap:3px}
.lp-fmats__l strong{font:600 16px/1.2 var(--f-sans);color:var(--fg)}
.lp-fmats__l small{font-size:14px;line-height:1.45}
.lp-fmats__l .lp-arw path{transform:translateX(-4px);transition:transform var(--t-med) var(--ease)}
.lp-fmats__l a:hover .lp-arw path{transform:translateX(2px)}
.lp-feco{--c:var(--lp-kraft);display:flex;flex-direction:column;border-radius:var(--r-sheet);overflow:hidden;background:var(--card);border:1px solid var(--hair);color:var(--fg2);transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-feco:hover{transform:translateY(-4px);box-shadow:var(--elev-2)}
.lp-feco .m{aspect-ratio:16/10;overflow:hidden}
.lp-feco .m img{width:100%;height:100%;object-fit:cover}
.lp-feco .b{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;border-top:3px solid var(--c)}
.lp-feco .k{display:inline-flex;align-items:center;gap:8px;font:500 11px/1 var(--f-mono);letter-spacing:.05em;text-transform:uppercase}
.lp-feco .k i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.lp-feco strong{font:500 clamp(24px,2vw,30px)/1.06 var(--f-display);color:var(--fg)}
.lp-feco small{font-size:14px;line-height:1.5}
.lp-feco .go{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font:600 14px/1 var(--f-sans);color:var(--lp-navy)}
.lp-fcerts__h{margin-top:clamp(36px,4vw,56px)}
.lp-fcerts{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));margin-top:16px}
@media (min-width:1024px){ .lp-fcerts{grid-template-columns:repeat(4,minmax(0,1fr))} }
.lp-fcerts li{--k:0;display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:14px;row-gap:4px;padding:16px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-fcerts .m{grid-row:1 / 3;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:var(--lp-paper);overflow:hidden}
.lp-fcerts .m img{width:48px;height:48px;object-fit:contain}
.lp-fcerts .m .t{font:600 11px/1 var(--f-mono);letter-spacing:.04em;color:var(--lp-ink)}
.lp-fcerts strong{font:600 15px/1.2 var(--f-sans);color:var(--fg)}
.lp-fcerts small{font-size:13px;line-height:1.45;color:var(--fg2)}

/* ---------------------------------------------------------------- 98.9 collection 2026 */
.lp-f26{margin-bottom:clamp(32px,4vw,56px)}
.lp-f26 .lp-split2__a > .lp-fig .lp-fig__m{border-radius:var(--r-sheet);overflow:hidden}
.lp-fpal{display:grid;gap:10px;margin-top:22px;max-width:520px}
.lp-fpal li{--k:0;display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:10px 14px 10px 10px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-fpal .sw{grid-row:1 / 3;display:flex}
.lp-fpal .sw i{width:30px;height:30px;border-radius:50%;background:var(--s);box-shadow:0 0 0 2px var(--card),inset 0 0 0 1px rgba(9,13,69,.12)}
.lp-fpal .sw i + i{margin-left:-10px}
.lp-fpal strong{font:600 15.5px/1.2 var(--f-sans);color:var(--fg)}
.lp-fpal small{font-size:13.5px;line-height:1.4;color:var(--fg2)}
.lp-f26 .lp-actions{margin-top:22px}
.lp-rail--fato .lp-rail__track > .lp-fc{flex:0 0 clamp(228px,21vw,280px)}
.lp-rail--fato .lp-rail__track > .lp-fc:hover{transform:translateY(-3px)}

/* ---------------------------------------------------------------- 98.10 FATO4YOU, 3D configurator */
.lp-f4y{display:grid;gap:clamp(24px,3vw,48px);align-items:start}
@media (min-width:1024px){ .lp-f4y{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)} }
.lp-steps--fato{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:520px){ .lp-steps--fato{grid-template-columns:1fr!important} }
.lp-f4y__side{display:grid;gap:20px}
.lp-f4y__figs{position:relative;padding:0 clamp(28px,5vw,72px) clamp(36px,4vw,60px) 0}
.lp-f4y__figs .lp-fig{margin:0}
.lp-f4y__f1 .lp-fig__m{aspect-ratio:16/10;border-radius:var(--r-sheet);overflow:hidden}
.lp-f4y__f1 img{width:100%;height:100%;object-fit:cover}
.lp-f4y__f2{position:absolute!important;right:0;bottom:0;width:44%}
.lp-f4y__f2 .lp-fig__m{aspect-ratio:16/10;border-radius:var(--r-card);overflow:hidden;box-shadow:0 0 0 6px var(--bg),var(--elev-2)}
.lp-f4y__f2 img{width:100%;height:100%;object-fit:cover}
.lp-fink{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.lp-fink > div{--k:0;display:grid;align-content:start;gap:6px;padding:14px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-fink dt{font:500 clamp(24px,2.2vw,32px)/1 var(--f-display);color:var(--fg)}
.lp-fink dd{font-size:12.5px;line-height:1.4;color:var(--fg2)}
.lp-fink dd strong{display:block;margin-bottom:2px;font:600 13.5px/1.25 var(--f-sans);color:var(--fg)}
@media (max-width:640px){ .lp-fink{grid-template-columns:1fr} .lp-fink > div{grid-template-columns:96px minmax(0,1fr);align-items:baseline} }
.lp-f3d .lp-split2__a > .lp-fig .lp-fig__m{border-radius:var(--r-sheet);overflow:hidden}
.lp-f3d__l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px;max-width:540px}
.lp-f3d__l li{--k:0;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;padding:12px 14px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-f3d__l .n{grid-row:1 / 3;font:500 11px/1.6 var(--f-mono);color:var(--fato-ink)}
.lp-f3d__l strong{font:600 14.5px/1.25 var(--f-sans);color:var(--fg)}
.lp-f3d__l small{font-size:13px;line-height:1.35;color:var(--fg2)}
.lp-f3d .lp-note{margin-top:16px}
.lp-f3d .lp-actions{margin-top:18px}

/* ---------------------------------------------------------------- 98.11 product sheet (fato-produit.html) */
.fp-ref [data-fp-idle]{visibility:hidden;animation:lp-fp-show 0s 3s forwards}
@keyframes lp-fp-show{to{visibility:visible}}
.lp-fp0{border-bottom:0}
.lp-fp0__miss{display:flex;align-items:flex-start;gap:12px;max-width:62ch;margin-top:20px;padding:14px 16px;border-radius:var(--r-card);background:color-mix(in srgb,var(--lp-warn,#c9732a) 10%,var(--card));border:1px solid color-mix(in srgb,var(--lp-warn,#c9732a) 30%,transparent);color:var(--fg)}
.lp-fp0__miss[hidden]{display:none}
.lp-fp0__miss .lp-ic{flex:none;width:20px;height:20px;margin-top:1px}
.lp-fp0__q{max-width:720px;margin-top:clamp(22px,2.6vw,34px)}
.lp-fp0__types{margin-top:clamp(24px,3vw,40px)}
@media (min-width:1120px){ .lp-fp0__types{grid-template-columns:repeat(4,minmax(0,1fr))} }
.lp-gal--fato .lp-gal__stage{aspect-ratio:520/458;background:#fff}
.lp-gal--fato .lp-gal__v{padding:6% 8%}
.lp-gal--fato .lp-gal__v img{filter:none;mix-blend-mode:multiply;object-fit:contain;border-radius:0}
.lp-gal--fato .lp-gal__v.lp-gal__v--photo{padding:0}
.lp-gal--fato .lp-gal__v.lp-gal__v--photo img{mix-blend-mode:normal;object-fit:cover}
.lp-gal--fato .lp-gal__t span{background:#fff}
.lp-gal--fato .lp-gal__t img,.lp-gal--fato .lp-gal__t--img:first-child img{object-fit:cover;padding:0}
.lp-gal--fato .lp-gal__n{padding:6px 10px;border-radius:var(--r-pill);background:rgba(255,252,247,.9)}
.lp-pdp--fato .lp-pdp__t{max-width:14ch;text-wrap:balance}
.lp-fp__type{font:500 11.5px/1.3 var(--f-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--fg2)}
.lp-fp__vars{margin-top:22px}
.lp-fp__vk{display:flex;align-items:center;gap:8px;margin-bottom:10px;font:600 11px/1 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--fg2)}
.lp-fp__vk span{padding:3px 7px;border-radius:var(--r-pill);background:var(--lp-paper-shade);font:500 10.5px/1 var(--f-mono);letter-spacing:0}
.lp-fp__vars ul{display:flex;flex-wrap:wrap;gap:6px}
.lp-fp__vars a{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px 0 7px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--card);
  font:600 13px/1.1 var(--f-sans);color:var(--fg);transition:border-color var(--t-short),transform var(--t-short) var(--ease)}
.lp-fp__vars a i{width:20px;height:20px;border-radius:50%;background:var(--s);box-shadow:inset 0 0 0 1px rgba(9,13,69,.16)}
.lp-fp__vars a:hover{border-color:var(--fg);transform:translateY(-1px)}
.lp-fp__vars a[aria-current]{border-color:var(--lp-ink);box-shadow:inset 0 0 0 1px var(--lp-ink)}
.lp-fp__txt{display:grid;gap:14px;max-width:72ch}
.lp-fp__txt strong{color:var(--fg)}
.lp-fp__txt .lp-actions{margin-top:6px;gap:10px 26px}
.lp-sec--fline{overflow:hidden}

/* ---------------------------------------------------------------- 98.12 chrome: mega 4 columns, catalogue tile, home band */
/* four product columns; the search / systems / featured-product rail sits on the right from 1200 px, below the columns under it */
.lp-mxs--4 .lp-mxs__art{width:50px;height:50px}
.lp-mxs--4 .lp-mxs__art .lp-draw{width:40px;height:40px}
.lp-mxs--4 .lp-mxs__ht strong{font-size:19px}
.lp-mxs--4 .lp-mxs__l a{font-size:14px}
@media (min-width:1200px){
  .lp-mxs--4{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(248px,.88fr);column-gap:20px}
  .lp-mxs--4 .lp-mxs__col + .lp-mxs__col{padding-left:20px}
  .lp-mxs--4 .lp-mxf{grid-template-columns:56px 1fr;gap:10px;padding:8px 10px 8px 8px}
  .lp-mxs--4 .lp-mxf__b strong{font-size:16.5px}
  .lp-mxs--4 .lp-mxf__c{display:block;font-size:11px;line-height:1.4}
}
@media (min-width:1440px){
  .lp-mxs--4{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(276px,.92fr);column-gap:24px}
  .lp-mxs--4 .lp-mxs__col + .lp-mxs__col{padding-left:24px}
}
@media (max-width:1199.98px){
  .lp-mxs--4{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:18px;row-gap:14px}
  .lp-mxs--4 .lp-mxs__col + .lp-mxs__col{padding-left:18px}
  .lp-mxs--4 .lp-mxs__aside{grid-column:1 / -1;grid-row:4;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1.15fr);align-items:center;gap:10px 16px;padding:10px 14px}
  .lp-mxs--4 .lp-mxq__try{align-self:center}
  .lp-mxs--4 .lp-mxf{margin-top:0;grid-template-columns:54px 1fr;gap:10px;padding:6px 10px 6px 6px}
  .lp-mxs--4 .lp-mxf__b strong{font-size:16.5px;margin:2px 0 1px}
  .lp-mxs--4 .lp-mxf__c{display:block;font-size:10.5px;line-height:1.4}
}
/* the 3-column variant had the same overlap between 1120 and 1199 px: the rail goes under the columns */
@media (min-width:1120px) and (max-width:1199.98px){
  .lp-mxs__aside{grid-row:4}
}
.lp-mxs__col--fato .lp-mxs__art{background:color-mix(in srgb,var(--fato) 18%,var(--lp-paper))}
.lp-ctile--fato .lp-ctile__art{background:color-mix(in srgb,var(--fato) 18%,var(--lp-paper))}
.lp-ftchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px;max-width:56ch}
.lp-ftchips .lp-chip{gap:8px}
.lp-ftchips .lp-chip span{font:500 10.5px/1 var(--f-mono);color:var(--fg2)}
.lp-fato__fig .lp-fig__m img[src*="/fato/"]{object-position:50% 55%}
.lp-sec--fband .lp-head{margin-bottom:clamp(20px,2.4vw,32px)}
.lp-sec--frail .lp-rail{margin-top:4px}

/* ── 99-fsub.css ── */
/* =====================================================================
   99 · v2.6 — FATO sub-categories (catalogue-table-<key>.html), one page per entry of the
   « Table · FATO » mega-menu column. Hero: animated scene on the left, title + description on
   the right, back to the whole collection; sub-navigation; the scoped product grid below.
   Scene keyframes are generated by _build/fsub.py and appended after this file.
   ===================================================================== */
.lp-fsub{padding:clamp(22px,2.8vw,44px) 0 0}
.lp-fsub__grid{display:grid;gap:clamp(22px,3vw,36px);grid-template-areas:"crumb" "art" "text"}
.lp-fsub__crumb{grid-area:crumb;min-width:0}
.lp-fsub__crumb .lp-crumb{margin:0}
.lp-fsub__text{grid-area:text;min-width:0}
.lp-fsub__art{grid-area:art;min-width:0}
@media (min-width:1024px){
  .lp-fsub__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);grid-template-rows:auto 1fr;grid-template-areas:"art crumb" "art text";
    column-gap:clamp(40px,5vw,96px);row-gap:0;align-items:start}
  .lp-fsub__crumb{padding-top:6px}
  .lp-fsub__text{align-self:center;padding:clamp(16px,2vw,28px) 0}
}
.lp-fsub__t{max-width:13ch}
.lp-fsub .lp-chero__lede{hyphens:manual;text-wrap:pretty}
.lp-fsub__facts{margin-top:clamp(26px,2.8vw,40px);max-width:600px}
.lp-fsub__acts{margin-top:clamp(26px,2.8vw,40px)}

/* stage: a sheet of drawing paper with a dot grid; corner tags in mono */
.lp-fsub__stage{position:relative;aspect-ratio:600/560;border-radius:clamp(20px,2vw,30px);overflow:hidden;isolation:isolate;color:var(--lp-ink);
  background:radial-gradient(circle at 1px 1px,rgba(9,13,69,.13) 1px,transparent 1.5px) 12px 12px/24px 24px,var(--lp-paper-bright);
  border:1px solid var(--hair);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 34px 70px -44px rgba(9,13,69,.42);
  --dw-a:var(--lp-navy);--dw-f:var(--lp-paper-bright);--dw-f2:#f1ebdf;--dw-f3:#ebe2d1;--dw-sw:1.6}
.lp-fsub__stage > svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lp-fsub__tag{position:absolute;z-index:1;font:500 10.5px/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg2);pointer-events:none}
.lp-fsub__tag--tl{top:18px;left:20px;color:var(--fg)}
.lp-fsub__tag--tr{top:18px;right:20px}
.lp-fsub__tag--bl{bottom:18px;left:20px}
.lp-fsub__tag--br{bottom:18px;right:20px}
.lp-fscene .lbl{font-size:12.5px;letter-spacing:.12em;fill-opacity:.78}
.lp-fscene .lbl--s{font-size:10.5px;fill-opacity:.52}
.lp-fscene .dot{fill:var(--lp-ink)}
.lp-fscene .fs-metal{fill:#f4f5f7}

/* facts: 2 × 2 when the text column is narrow (phones, and the two-column layout below 1280 px) */
@media (max-width:600px),(min-width:1024px) and (max-width:1279.98px){
  .lp-fsub .lp-fsub__facts{display:grid;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-fsub .lp-fsub__facts > div{padding:14px 0 12px!important;border:0!important}
  .lp-fsub .lp-fsub__facts > div:nth-child(even){padding-left:18px!important;border-left:1px solid var(--hair)!important}
  .lp-fsub .lp-fsub__facts > div:nth-child(n+3){border-top:1px solid var(--hair)!important}
}

/* back to the collection: the arrow points back and leads the label */
.lp-btn--back{padding:0 26px 0 20px}
.lp-btn--back .lp-arw{transform:scaleX(-1)}

/* the scoped grid follows the sub-navigation closely: the nav already separates hero and results */
.lp-sec--fsubcat{padding-top:clamp(18px,2.2vw,34px)}

/* sub-navigation between the six pages */
.lp-fsub__nav{display:grid;gap:14px;margin-top:clamp(34px,4vw,56px);padding:20px 0 24px;border-top:1px solid var(--hair)}
.lp-fsub__navk{font:500 10.5px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg2)}
.lp-fsub__nav ul{display:flex;flex-wrap:nowrap;gap:8px;max-width:calc(100% + var(--gut) * 2);margin:0 calc(var(--gut) * -1);padding:2px var(--gut) 4px;list-style:none;
  overflow-x:auto;scrollbar-width:none;scroll-padding-inline:var(--gut)}
.lp-fsub__nav ul::-webkit-scrollbar{display:none}
.lp-fsub__nav li{flex:none}
.lp-fsub__nav a{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 7px 0 16px;border:1px solid var(--hair-2);border-radius:999px;
  font:500 14px/1 var(--f-sans);color:var(--fg);white-space:nowrap;transition:background-color var(--t-med) var(--ease),color var(--t-med) var(--ease),border-color var(--t-med) var(--ease)}
.lp-fsub__nav a .n{padding:5px 7px;border-radius:99px;background:var(--lp-paper-shade);font:500 10.5px/1 var(--f-mono);color:var(--fg2)}
.lp-fsub__nav a:hover{border-color:var(--fg)}
.lp-fsub__nav a[aria-current="page"]{background:var(--lp-ink);border-color:var(--lp-ink);color:#fff}
.lp-fsub__nav a[aria-current="page"] .n{background:rgba(255,255,255,.16);color:#fff}
@media (max-width:1023.98px){
  .lp-fsub__nav{gap:12px}
}
@media (min-width:601px) and (max-width:1023.98px){
  .lp-fsub__stage{aspect-ratio:16/10}
}
@media (max-width:600px){
  .lp-fsub__stage{--dw-sw:2.1;border-radius:18px}
  .lp-fsub__tag{font-size:9px;letter-spacing:.1em}
  .lp-fsub__tag--tl,.lp-fsub__tag--bl{left:14px} .lp-fsub__tag--tr,.lp-fsub__tag--br{right:14px}
  .lp-fsub__tag--tl,.lp-fsub__tag--tr{top:13px} .lp-fsub__tag--bl,.lp-fsub__tag--br{bottom:13px}
  .lp-fscene .lbl{font-size:17px;letter-spacing:.05em}
  .lp-fscene .lbl--s{font-size:14px}
  .lp-fsub__tag--br{display:none}
  .lp-fsub__facts dd{font-size:30px}
}

/* ── 995-tn.css ── */
/* v2.7 — the Tunisian range (Pulire Tunisie): packshot cards, TN badge, product pages, « Gamme Tunisie » landing */
:root{--tn:#e70013}

/* cards: white packshots are multiplied onto the paper instead of being cropped */
.lp-pv--pack{padding:11% 12%}
.lp-pv--pack img{object-fit:contain;filter:none;mix-blend-mode:multiply}
.lp-pc:hover .lp-pv--pack img{transform:scale(1.05)}
.lp-pc__tn{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;gap:6px;height:25px;padding:0 9px 0 8px;border-radius:var(--r-pill);
  background:rgba(255,252,247,.92);box-shadow:0 0 0 1px var(--hair);font:600 10.5px/1 var(--f-mono);letter-spacing:.06em;color:var(--lp-ink)}
.lp-pc__tn::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tn);box-shadow:0 0 0 3px rgba(231,0,19,.12)}
.is-list .lp-pc__tn{display:none}
.lp-code--long span{max-width:8.5ch;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){ .lp-pc__tn{right:8px;top:8px;height:21px;padding:0 7px 0 6px;font-size:9.5px;gap:5px} .lp-pc__tn::before{width:6px;height:6px} }

/* product page */
.lp-tnb{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 13px 0 4px;border-radius:var(--r-pill);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair-2);
  font:600 12.5px/1 var(--f-sans);color:var(--lp-ink);transition:box-shadow var(--t-short),transform var(--t-short) var(--ease)}
.lp-tnb:hover{box-shadow:inset 0 0 0 1px var(--lp-ink);transform:translateY(-1px)}
.lp-tnb__f{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--tn);color:#fff;font:700 8.5px/1 var(--f-mono);letter-spacing:.04em}
.lp-pdp__codes{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.lp-pdp__code--n{align-items:flex-start}
.lp-pdp__code--n .k{padding-top:16px}
.lp-pdp__code--n .lp-code--l{font-size:13.5px;padding:0 12px}
.lp-pdp__alias{display:flex;gap:8px;align-items:flex-start;margin-top:10px;max-width:52ch;font-size:13px;line-height:1.45;color:var(--fg2)}
.lp-pdp__alias .lp-ic{flex:none;width:16px;height:16px;margin-top:1px}
.lp-gal--tn .lp-gal__stage{background:radial-gradient(62% 62% at 50% 46%,#fff 0,#fff 34%,var(--lp-paper-shade) 100%)}
.lp-gal__v.lp-gal__v--pack{padding:9%}
.lp-gal__v.lp-gal__v--pack img{object-fit:contain;filter:none;mix-blend-mode:multiply;border-radius:0}
.lp-gal__v.lp-gal__v--doc{padding:7% 17% 12%}
.lp-gal__v.lp-gal__v--doc img{object-fit:contain;border-radius:0;filter:drop-shadow(0 18px 28px rgba(9,13,69,.18))}
.lp-gal__doc{position:relative;display:block;width:100%;height:100%}
.lp-gal__open{position:absolute;right:-12%;top:-4%;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px 0 11px;border-radius:var(--r-pill);
  background:var(--lp-ink);color:#fff;font:600 12.5px/1 var(--f-sans);box-shadow:var(--elev-2);transition:transform var(--t-short) var(--ease)}
.lp-gal__open .lp-ic{width:15px;height:15px}
.lp-gal__doc:hover .lp-gal__open{transform:translateY(-2px)}
.lp-gal__t--pack img{object-fit:contain;padding:6px;mix-blend-mode:multiply}
.lp-gal__t--doc img{object-fit:cover;object-position:50% 0}
.lp-pdp__pres--tn{grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){ .lp-pdp__pres--tn{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start} .lp-pdp__pres--tn > .lp-note{grid-column:1/-1} }
.lp-tnside{display:grid;gap:12px}
.lp-tndom{padding:18px 20px 20px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair)}
.lp-tndom .lp-over{margin-bottom:12px}
.lp-tnline{position:relative;display:grid;gap:4px;padding:20px 54px 20px 20px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);color:var(--fg2);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-tnline::before{content:"";position:absolute;left:20px;top:0;width:40px;height:3px;border-radius:0 0 3px 3px;background:var(--c)}
.lp-tnline .lp-over{margin:0}
.lp-tnline strong{font:500 26px/1.1 var(--f-display);color:var(--fg)}
.lp-tnline small{font-size:13.5px}
.lp-tnline .lp-arw{position:absolute;right:18px;bottom:20px}
.lp-tnline:hover{transform:translateY(-3px);box-shadow:var(--elev-2)}
.lp-compat__v.is-pack img{width:72%;height:86%;object-fit:contain;mix-blend-mode:multiply}
.lp-compat__src{display:flex;gap:7px;align-items:baseline;margin-top:4px;padding-right:30px;font:500 10.5px/1.4 var(--f-mono);letter-spacing:.02em;color:var(--fg2)}
.lp-compat__src::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--lp-leaf);transform:translateY(-1px)}
.lp-compat__none{display:grid;justify-items:start;gap:14px;max-width:64ch;padding:clamp(20px,3vw,32px);border-radius:var(--r-card);background:var(--card);border:1px dashed var(--hair-2)}
.lp-compat__none > svg{width:56px;height:56px;color:var(--lp-ink)}
.lp-compat__none p{font-size:15px;line-height:1.55}
.lp-compat__none strong{display:block;color:var(--fg);margin-bottom:4px}
.lp-tdocs{display:grid;gap:clamp(16px,2vw,24px)}
.lp-tdocs .lp-docs{grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){ .lp-tdocs .lp-docs{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1024px){ .lp-tdocs{grid-template-columns:minmax(0,1fr) 250px;align-items:start} }
.lp-tdsprev{display:grid;gap:12px;justify-items:center;max-width:280px;padding:14px 14px 16px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);
  transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.lp-tdsprev:hover{transform:translateY(-3px);box-shadow:var(--elev-2)}
.lp-tdsprev__p{display:block;width:100%;aspect-ratio:560/792;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px var(--hair),var(--elev-1);background:#fff}
.lp-tdsprev__p img{width:100%;height:100%;object-fit:cover}
.lp-tdsprev__c{display:flex;justify-content:space-between;gap:10px;width:100%;font:500 11.5px/1.3 var(--f-mono);color:var(--fg2)}
.lp-tdsprev__c strong{font-weight:600;color:var(--fg)}

/* landing: hero art */
.lp-chero--tn .lp-chero__art{justify-items:center}
.lp-tnart{position:relative;width:min(100%,500px);aspect-ratio:1;margin-inline:auto}
.lp-tnart > .lp-orbit{position:absolute;inset:7%;width:86%;height:86%;opacity:.8}
.lp-tnart__c{--i:0;position:absolute;display:grid;place-items:center;width:33%;aspect-ratio:1;padding:3.5%;border-radius:22px;background:#fff;border:1px solid var(--hair);
  box-shadow:0 1px 0 rgba(9,13,69,.04),0 22px 44px -22px rgba(9,13,69,.32)}
.lp-tnart__c img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.lp-tnart__c--0{left:3%;top:9%;rotate:-6deg}
.lp-tnart__c--1{right:4%;top:2%;rotate:5deg}
.lp-tnart__c--2{left:29%;top:30%;width:42%;z-index:2;rotate:-1deg;border-radius:26px}
.lp-tnart__c--3{left:5%;bottom:4%;rotate:4deg}
.lp-tnart__c--4{right:2%;bottom:10%;rotate:-4deg}
.lp-tnart__tag{position:absolute;left:50%;bottom:-2%;z-index:3;display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;border-radius:var(--r-pill);
  background:var(--lp-ink);color:#fff;translate:-50% 0;box-shadow:var(--elev-2);white-space:nowrap}
.lp-tnart__tag b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--tn);font:700 11px/1 var(--f-mono);letter-spacing:.05em}
.lp-tnart__tag > span{display:grid;gap:5px;font:600 13.5px/1.15 var(--f-sans)}
.lp-tnart__tag small{display:block;font:500 10.5px/1.3 var(--f-mono);letter-spacing:.04em;opacity:.72}
@media (prefers-reduced-motion:no-preference){
  .lp-tnart__c{animation:lp-tnfloat 7.5s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -1.6s)}
  @keyframes lp-tnfloat{from{translate:0 4px}to{translate:0 -9px}}
}

/* landing: technical sheets */
.lp-tdst{overflow-x:auto;border-radius:var(--r-card);border:1px solid var(--hair);background:var(--card)}
.lp-tdst table{width:100%;min-width:680px;border-collapse:collapse;font-size:14px}
.lp-tdst th,.lp-tdst td{padding:12px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--hair)}
.lp-tdst thead th{font:500 10.5px/1.2 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg2);background:var(--lp-paper-shade)}
.lp-tdst tbody tr:last-child > *{border-bottom:0}
.lp-tdst tbody tr{transition:background-color var(--t-short)}
.lp-tdst tbody tr:hover{background:var(--lp-paper)}
.lp-tdst tbody th{font-weight:600}
.lp-tdst tbody th a{color:var(--fg)}
.lp-tdst tbody th a:hover{text-decoration:underline;text-underline-offset:3px}
.lp-tdst td:nth-child(3),.lp-tdst td:nth-child(4){color:var(--fg2)}
.lp-tdst__c{display:inline-block;padding:6px 8px;border-radius:7px;background:var(--lp-paper-shade);font:500 12.5px/1 var(--f-mono);color:var(--lp-ink);white-space:nowrap}
.lp-tdst__dl{display:inline-flex;align-items:center;gap:8px;min-height:32px;font:600 13px/1 var(--f-sans);color:var(--acc);white-space:nowrap}
.lp-tdst__dl .lp-ic{width:16px;height:16px}
@media (max-width:640px){
  .lp-tdst{overflow:visible;border:0;background:none;border-radius:0}
  .lp-tdst table{min-width:0}
  .lp-tdst thead{display:none}
  .lp-tdst tbody{display:grid;gap:8px}
  .lp-tdst tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--hair)}
  .lp-tdst tbody tr:hover{background:var(--card)}
  .lp-tdst th,.lp-tdst td{padding:0;border:0!important}
  .lp-tdst tbody th{grid-column:1/-1;order:-1;font-size:15px}
  .lp-tdst td:nth-child(3),.lp-tdst td:nth-child(4){font-size:12.5px}
}

/* landing: Pulire Tunisie */
.lp-tnc{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.lp-tnc__c{--k:0;position:relative;display:grid;align-content:start;gap:8px;padding:22px 22px 24px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--hair);color:var(--fg2)}
.lp-tnc__c .ic{width:44px;height:44px;display:grid;place-items:center;margin-bottom:6px;border-radius:50%;background:var(--lp-paper-shade);color:var(--lp-navy)}
.lp-tnc__c .ic .lp-ic{width:20px;height:20px}
.lp-tnc__c .lp-over{margin:0}
.lp-tnc__c p{font-size:15px;line-height:1.5}
.lp-tnc__c strong{color:var(--fg)}
.lp-tnc__tels,.lp-tnc__web{display:grid;gap:6px}
.lp-tnc__tels a{font:500 20px/1.2 var(--f-display);color:var(--fg)}
.lp-tnc__tels a:hover,.lp-tnc__web a:hover{text-decoration:underline;text-underline-offset:3px}
.lp-tnc__web a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--acc)}
.lp-tnc__web .lp-ic{width:14px;height:14px}
.lp-tnc__c .lp-tnc__fax{font-size:13px;color:var(--fg2)}
.lp-tnc__c--cta{background:var(--lp-ink);border-color:var(--lp-ink);color:rgba(255,255,255,.8)}
.lp-tnc__c--cta .lp-over{color:rgba(255,255,255,.66)}
.lp-tnc__c--cta .ic{background:rgba(255,255,255,.12);color:#fff}
.lp-tnc__c--cta .lp-btn{justify-self:start;margin-top:8px}
.lp-tndom--band{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:clamp(16px,2vw,24px)}
.lp-tndom--band .lp-over{margin:0}
.lp-sec--tncontact .lp-note{margin-top:18px}

/* v2.7 QA: long captions stay clear of the counter · long codes get their own row on narrow cards · two-up family tiles on phones */
.lp-gal__v figcaption{max-width:calc(100% - 140px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@container pc (max-width:200px){
  .lp-pc__foot:has(.lp-code--long){flex-wrap:wrap;row-gap:8px}
  .lp-pc__foot .lp-code--long{flex:1 1 100%;justify-content:center}
  .lp-pc__foot .lp-code--long{font-size:10.5px;letter-spacing:0;padding-inline:9px}
  .lp-pc__foot .lp-code--long span{max-width:none}
}
@media (max-width:560px){
  .lp-famt{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lp-famt__c{padding:10px 12px 14px}
  .lp-famt__art{aspect-ratio:1/.78;margin:-2px -4px 4px}
  .lp-famt__t{font-size:14px;line-height:1.25;padding-right:24px}
  .lp-famt__c > .lp-arw{right:12px;bottom:14px}
}

/* ── fsub.py · FATO sub-category scenes (generated) ── */
.lp-fscene--serviettes .fs-face{fill:#7a2e3a}
.lp-fscene--serviettes .fs-back, .lp-fscene--serviettes .fs-top{fill:#8f4f5a}
.lp-fscene--serviettes .fs-back{opacity:0}
.lp-fscene--serviettes .fs-emb{fill:none;stroke:#fff;stroke-opacity:.34;stroke-width:1}
.lp-fscene--serviettes .fs-crease{fill:none;stroke:#fff;stroke-opacity:.55;stroke-width:1;stroke-dasharray:4 5}
.lp-fscene--serviettes .fs-a-sh{fill:var(--lp-ink);opacity:.08;transform-box:view-box;transform-origin:150px 130px;transform:translate(7px,9px)}
.lp-fscene--serviettes .fs-a-r{transform-box:view-box;transform-origin:300px 280px}
.lp-fscene--serviettes .fs-a-b{transform-box:view-box;transform-origin:225px 280px}
.lp-fscene--serviettes .fs-a-t, .lp-fscene--serviettes .fs-a-lab, .lp-fscene--serviettes .fs-a-arc1, .lp-fscene--serviettes .fs-a-arc2{opacity:0}
@keyframes fs-serviettes-r{0%{transform:scale(1,1)}8%{transform:scale(1.000,1.000)}9.2%{transform:scale(0.997,1.005)}10.4%{transform:scale(0.955,1.021)}11.6%{transform:scale(0.798,1.042)}12.8%{transform:scale(0.467,1.062)}14%{transform:scale(0.000,1.070)}15.2%{transform:scale(-0.467,1.062)}16.4%{transform:scale(-0.798,1.042)}17.6%{transform:scale(-0.955,1.021)}18.8%{transform:scale(-0.997,1.005)}20%{transform:scale(-1.000,1.000)}80%{transform:scale(-1.000,1.000)}81.2%{transform:scale(-0.997,1.005)}82.4%{transform:scale(-0.955,1.021)}83.6%{transform:scale(-0.798,1.042)}84.8%{transform:scale(-0.467,1.062)}86%{transform:scale(-0.000,1.070)}87.2%{transform:scale(0.467,1.062)}88.4%{transform:scale(0.798,1.042)}89.6%{transform:scale(0.955,1.021)}90.8%{transform:scale(0.997,1.005)}92%{transform:scale(1.000,1.000)}100%{transform:scale(1,1)}}
.lp-fscene--serviettes .fs-a-r{animation:fs-serviettes-r 10s linear infinite;}
@keyframes fs-serviettes-b{0%{transform:scale(1,1)}22%{transform:scale(1.000,1.000)}23.2%{transform:scale(1.005,0.997)}24.4%{transform:scale(1.021,0.955)}25.6%{transform:scale(1.042,0.798)}26.8%{transform:scale(1.062,0.467)}28%{transform:scale(1.070,0.000)}29.2%{transform:scale(1.062,-0.467)}30.4%{transform:scale(1.042,-0.798)}31.6%{transform:scale(1.021,-0.955)}32.8%{transform:scale(1.005,-0.997)}34%{transform:scale(1.000,-1.000)}68%{transform:scale(1.000,-1.000)}69.2%{transform:scale(1.005,-0.997)}70.4%{transform:scale(1.021,-0.955)}71.6%{transform:scale(1.042,-0.798)}72.8%{transform:scale(1.062,-0.467)}74%{transform:scale(1.070,-0.000)}75.2%{transform:scale(1.062,0.467)}76.4%{transform:scale(1.042,0.798)}77.6%{transform:scale(1.021,0.955)}78.8%{transform:scale(1.005,0.997)}80%{transform:scale(1.000,1.000)}100%{transform:scale(1,1)}}
.lp-fscene--serviettes .fs-a-b{animation:fs-serviettes-b 10s linear infinite;}
@keyframes fs-serviettes-mv{0%{transform:translate(0px,0px)}34%{transform:translate(0px,0px)}34.75%{transform:translate(2.855px,2.855px)}35.5%{transform:translate(10.983px,10.983px)}36.25%{transform:translate(23.149px,23.149px)}37%{transform:translate(37.5px,37.5px)}37.75%{transform:translate(51.851px,51.851px)}38.5%{transform:translate(64.017px,64.017px)}39.25%{transform:translate(72.145px,72.145px)}40%{transform:translate(75px,75px)}62%{transform:translate(75px,75px)}62.75%{transform:translate(72.145px,72.145px)}63.5%{transform:translate(64.017px,64.017px)}64.25%{transform:translate(51.851px,51.851px)}65%{transform:translate(37.5px,37.5px)}65.75%{transform:translate(23.149px,23.149px)}66.5%{transform:translate(10.983px,10.983px)}67.25%{transform:translate(2.855px,2.855px)}68%{transform:translate(0px,0px)}100%{transform:translate(0px,0px)}}
.lp-fscene--serviettes .fs-a-mv{animation:fs-serviettes-mv 10s linear infinite;}
@keyframes fs-serviettes-sh{0%{transform:translate(7px,9px) scale(1.000,1.000)}8%{transform:translate(7px,9px) scale(1.000,1.000)}9.5%{transform:translate(7px,9px) scale(0.996,1.000)}11%{transform:translate(7px,9px) scale(0.948,1.000)}12.5%{transform:translate(7px,9px) scale(0.783,1.000)}14%{transform:translate(7px,9px) scale(0.500,1.000)}15.5%{transform:translate(7px,9px) scale(0.500,1.000)}17%{transform:translate(7px,9px) scale(0.500,1.000)}18.5%{transform:translate(7px,9px) scale(0.500,1.000)}20%{transform:translate(7px,9px) scale(0.500,1.000)}22%{transform:translate(7px,9px) scale(0.500,1.000)}23.5%{transform:translate(7px,9px) scale(0.500,0.996)}25%{transform:translate(7px,9px) scale(0.500,0.948)}26.5%{transform:translate(7px,9px) scale(0.500,0.783)}28%{transform:translate(7px,9px) scale(0.500,0.500)}29.5%{transform:translate(7px,9px) scale(0.500,0.500)}31%{transform:translate(7px,9px) scale(0.500,0.500)}32.5%{transform:translate(7px,9px) scale(0.500,0.500)}34%{transform:translate(7px,9px) scale(0.500,0.500)}68%{transform:translate(7px,9px) scale(0.500,0.500)}69.5%{transform:translate(7px,9px) scale(0.500,0.500)}71%{transform:translate(7px,9px) scale(0.500,0.500)}72.5%{transform:translate(7px,9px) scale(0.500,0.500)}74%{transform:translate(7px,9px) scale(0.500,0.500)}75.5%{transform:translate(7px,9px) scale(0.500,0.783)}77%{transform:translate(7px,9px) scale(0.500,0.948)}78.5%{transform:translate(7px,9px) scale(0.500,0.996)}80%{transform:translate(7px,9px) scale(0.500,1.000)}80%{transform:translate(7px,9px) scale(0.500,1.000)}81.5%{transform:translate(7px,9px) scale(0.500,1.000)}83%{transform:translate(7px,9px) scale(0.500,1.000)}84.5%{transform:translate(7px,9px) scale(0.500,1.000)}86%{transform:translate(7px,9px) scale(0.500,1.000)}87.5%{transform:translate(7px,9px) scale(0.783,1.000)}89%{transform:translate(7px,9px) scale(0.948,1.000)}90.5%{transform:translate(7px,9px) scale(0.996,1.000)}92%{transform:translate(7px,9px) scale(1.000,1.000)}100%{transform:translate(7px,9px) scale(1.000,1.000)}}
.lp-fscene--serviettes .fs-a-sh{animation:fs-serviettes-sh 10s linear infinite;}
@keyframes fs-serviettes-f{0%{opacity:1}13.99%{opacity:1}14%{opacity:0}85.99%{opacity:0}86%{opacity:1}100%{opacity:1}}
.lp-fscene--serviettes .fs-a-r .fs-face{animation:fs-serviettes-f 10s linear infinite, fs-serviettes-c 30s linear infinite;}
@keyframes fs-serviettes-k{0%{opacity:0}13.99%{opacity:0}14%{opacity:1}85.99%{opacity:1}86%{opacity:0}100%{opacity:0}}
.lp-fscene--serviettes .fs-a-r .fs-back{animation:fs-serviettes-k 10s linear infinite, fs-serviettes-cb 30s linear infinite;}
@keyframes fs-serviettes-t{0%{opacity:0}27.99%{opacity:0}28%{opacity:1}73.99%{opacity:1}74%{opacity:0}100%{opacity:0}}
.lp-fscene--serviettes .fs-a-t{animation:fs-serviettes-t 10s linear infinite;}
@keyframes fs-serviettes-d{0%{opacity:1}5%{opacity:1}8%{opacity:0}93%{opacity:0}97%{opacity:1}100%{opacity:1}}
.lp-fscene--serviettes .fs-a-dims{animation:fs-serviettes-d 10s linear infinite;}
@keyframes fs-serviettes-a1{0%{opacity:0}3%{opacity:0}6%{opacity:1}14%{opacity:1}17%{opacity:0}100%{opacity:0}}
.lp-fscene--serviettes .fs-a-arc1{animation:fs-serviettes-a1 10s linear infinite;}
@keyframes fs-serviettes-a2{0%{opacity:0}18%{opacity:0}21%{opacity:1}28%{opacity:1}31%{opacity:0}100%{opacity:0}}
.lp-fscene--serviettes .fs-a-arc2{animation:fs-serviettes-a2 10s linear infinite;}
@keyframes fs-serviettes-l{0%{opacity:0}40%{opacity:0}44%{opacity:1}58%{opacity:1}61%{opacity:0}100%{opacity:0}}
.lp-fscene--serviettes .fs-a-lab{animation:fs-serviettes-l 10s linear infinite;}
@keyframes fs-serviettes-c{0%{fill:#7a2e3a}31.833%{fill:#7a2e3a}32.833%{fill:#3d6b5a}65.167%{fill:#3d6b5a}66.167%{fill:#2b3d6b}98.5%{fill:#2b3d6b}99.5%{fill:#7a2e3a}100%{fill:#7a2e3a}}
.lp-fscene--serviettes .fs-face{animation:fs-serviettes-c 30s linear infinite;}
@keyframes fs-serviettes-cb{0%{fill:#8f4f5a}31.833%{fill:#8f4f5a}32.833%{fill:#5c8374}65.167%{fill:#5c8374}66.167%{fill:#4d5c83}98.5%{fill:#4d5c83}99.5%{fill:#8f4f5a}100%{fill:#8f4f5a}}
.lp-fscene--serviettes .fs-back, .lp-fscene--serviettes .fs-top{animation:fs-serviettes-cb 30s linear infinite;}
.lp-fscene--cocktail .fs-ctr{opacity:.7}
.lp-fscene--cocktail .fs-dk{fill:#262a52;stroke:var(--lp-ink)}
.lp-fscene--cocktail .fs-slot{fill:#0d1030}
.lp-fscene--cocktail .fs-lt{stroke:#fff;stroke-opacity:.18}
.lp-fscene--cocktail .fs-cn{fill:#d9a441}
.lp-fscene--cocktail .fs-sheet{fill:none;stroke:#fff;stroke-opacity:.42;stroke-width:1}
.lp-fscene--cocktail .fs-cb{fill:none;stroke:#fff;stroke-opacity:.6;stroke-width:1.2}
.lp-fscene--cocktail .fs-cr{fill:none;stroke:#fff;stroke-opacity:.35;stroke-width:1;stroke-dasharray:3 4}
.lp-fscene--cocktail .fs-b-nap{transform-box:fill-box;transform-origin:center;transform:translate(0px,0px) scale(1.34,.16) rotate(45deg)}
.lp-fscene--cocktail .fs-b-dims{opacity:0}
.lp-fscene--cocktail .fs-b-shd{fill:var(--lp-ink);opacity:.12}
.lp-fscene--cocktail .fs-liq{fill:#efc27c;fill-opacity:.62;stroke:none}
.lp-fscene--cocktail .fs-liq2{fill:#f6d9a6;opacity:.9}
.lp-fscene--cocktail .fs-straw{fill:none;stroke:var(--lp-ink);stroke-width:9;stroke-linecap:round}
.lp-fscene--cocktail .fs-straw2{fill:none;stroke:#f3ede2;stroke-width:6.4;stroke-linecap:round}
.lp-fscene--cocktail .fs-ice{fill:#fff;fill-opacity:.62;stroke-opacity:.5}
.lp-fscene--cocktail .fs-gl{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;opacity:.75}
.lp-fscene--cocktail .fs-lime{fill:#b9c95b}
.lp-fscene--cocktail .fs-lime2{fill:#dfe79a;stroke:none}
.lp-fscene--cocktail .fs-seg{fill:none;stroke:#b9c95b;stroke-width:1.2}
.lp-fscene--cocktail .fs-bub{fill:#fff;fill-opacity:.85;transform-box:fill-box;transform-origin:center;opacity:0}
.lp-fscene--cocktail .fs-b-lime{transform-box:fill-box;transform-origin:center}
.lp-fscene--cocktail .fs-b-ice{transform-box:view-box;transform-origin:420px 350px}
@keyframes fs-cocktail-n{0%{transform:translate(-253px,-248px) scale(0.36,0.18) rotate(0deg)}3%{transform:translate(-253px,-248px) scale(0.36,0.18) rotate(0deg)}3%{transform:translate(-253px,-248px) scale(0.36,0.18) rotate(0deg)}4.625%{transform:translate(-253px,-271.766px) scale(0.571,0.451) rotate(0deg)}6.25%{transform:translate(-253px,-289.625px) scale(0.73,0.654) rotate(0deg)}7.875%{transform:translate(-253px,-302.422px) scale(0.844,0.8) rotate(0deg)}9.5%{transform:translate(-253px,-311px) scale(0.92,0.897) rotate(0deg)}11.125%{transform:translate(-253px,-316.203px) scale(0.966,0.957) rotate(0deg)}12.75%{transform:translate(-253px,-318.875px) scale(0.99,0.987) rotate(0deg)}14.375%{transform:translate(-253px,-319.859px) scale(0.999,0.998) rotate(0deg)}16%{transform:translate(-253px,-320px) scale(1,1) rotate(0deg)}26%{transform:translate(-253px,-320px) scale(1,1) rotate(0deg)}26%{transform:translate(-253px,-320px) scale(1,1) rotate(0deg)}27.167%{transform:translate(-246.462px,-322.252px) scale(1.001,1) rotate(0.226deg)}28.333%{transform:translate(-227.74px,-327.314px) scale(1.004,0.998) rotate(1.34deg)}29.5%{transform:translate(-199.324px,-330.637px) scale(1.016,0.988) rotate(3.703deg)}30.667%{transform:translate(-164.812px,-326.25px) scale(1.037,0.96) rotate(7.422deg)}31.833%{transform:translate(-128.218px,-308.708px) scale(1.069,0.905) rotate(12.382deg)}33%{transform:translate(-93.25px,-275px) scale(1.112,0.817) rotate(18.276deg)}34.167%{transform:translate(-62.737px,-225.885px) scale(1.162,0.697) rotate(24.651deg)}35.333%{transform:translate(-38.313px,-166.25px) scale(1.215,0.554) rotate(30.959deg)}36.5%{transform:translate(-20.426px,-104.363px) scale(1.264,0.407) rotate(36.628deg)}37.667%{transform:translate(-8.635px,-50.186px) scale(1.304,0.279) rotate(41.121deg)}38.833%{transform:translate(-2.083px,-13.155px) scale(1.331,0.191) rotate(44.006deg)}40%{transform:translate(0px,0px) scale(1.34,0.16) rotate(45deg)}92%{transform:translate(0px,0px) scale(1.34,0.16) rotate(45deg)}93%{transform:translate(-253px,-248px) scale(0.36,0.18) rotate(0deg)}100%{transform:translate(-253px,-248px) scale(0.36,0.18) rotate(0deg)}}
.lp-fscene--cocktail .fs-b-nap{animation:fs-cocktail-n 8s linear infinite;}
@keyframes fs-cocktail-no{0%{opacity:0}3%{opacity:1}86%{opacity:1}91%{opacity:0}100%{opacity:0}}
.lp-fscene--cocktail .fs-b-nap{animation:fs-cocktail-no 8s linear infinite, fs-cocktail-n 8s linear infinite;}
.lp-fscene--cocktail .fs-b-nap{animation:fs-cocktail-n 8s linear infinite,fs-cocktail-no 8s linear infinite}
@keyframes fs-cocktail-d{0%{opacity:0}14%{opacity:0}17%{opacity:1}25%{opacity:1}28%{opacity:0}100%{opacity:0}}
.lp-fscene--cocktail .fs-b-dims{animation:fs-cocktail-d 8s linear infinite;}
@keyframes fs-cocktail-g{0%{transform:translateY(-110px);opacity:0}40%{transform:translateY(-110px);opacity:0}40%{transform:translateY(-110px);opacity:0}41.2%{transform:translateY(-66.825px);opacity:1}42.4%{transform:translateY(-35.2px);opacity:1}43.6%{transform:translateY(-13.475px);opacity:1}44.8%{transform:translateY(0px);opacity:1}46%{transform:translateY(6.875px);opacity:1}47.2%{transform:translateY(8.8px);opacity:1}48.4%{transform:translateY(7.425px);opacity:1}49.6%{transform:translateY(4.4px);opacity:1}50.8%{transform:translateY(1.375px);opacity:1}52%{transform:translateY(0px);opacity:1}84%{transform:translateY(0px);opacity:1}84%{transform:translateY(0px);opacity:1}85.167%{transform:translateY(-2.679px);opacity:0.933}86.333%{transform:translateY(-10px);opacity:0.75}87.5%{transform:translateY(-20px);opacity:0.5}88.667%{transform:translateY(-30px);opacity:0.25}89.833%{transform:translateY(-37.321px);opacity:0.067}91%{transform:translateY(-40px);opacity:0}100%{transform:translateY(-110px);opacity:0}}
.lp-fscene--cocktail .fs-b-gl{animation:fs-cocktail-g 8s linear infinite;}
.lp-fscene--cocktail .fs-b-gl{transform-box:view-box}
@keyframes fs-cocktail-bub{0%{transform:translateY(0) scale(.4);opacity:0}15%{opacity:.9}80%{opacity:.9}100%{transform:translateY(-88px) scale(1.15);opacity:0}}
.lp-fscene--cocktail .fs-bub{animation:fs-cocktail-bub 2.4s cubic-bezier(.45,0,.75,1) infinite;animation-delay:var(--d)}
@keyframes fs-cocktail-ice{0%{transform:rotate(0deg) translateY(0)}50%{transform:rotate(5deg) translateY(-3px)}100%{transform:rotate(0deg) translateY(0)}}
.lp-fscene--cocktail .fs-b-ice{animation:fs-cocktail-ice 3.2s ease-in-out infinite}
@keyframes fs-cocktail-lime{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.lp-fscene--cocktail .fs-b-lime{animation:fs-cocktail-lime 24s linear infinite}
@keyframes fs-cocktail-c{0%{fill:#d9a441}31%{fill:#d9a441}32.333%{fill:#c8553d}64.333%{fill:#c8553d}65.667%{fill:#3f7a85}97.667%{fill:#3f7a85}99%{fill:#d9a441}100%{fill:#d9a441}}
.lp-fscene--cocktail .fs-cn{animation:fs-cocktail-c 24s linear infinite;}
.lp-fscene--nappes .fs-cloth{fill:#f8f1e3}
.lp-fscene--nappes .fs-band{fill:none;stroke:#7a2e3a;stroke-width:1.6}
.lp-fscene--nappes .fs-band2{fill:none;stroke:#7a2e3a;stroke-width:.9;stroke-opacity:.55}
.lp-fscene--nappes .fs-crease2{fill:none;stroke:var(--lp-ink);stroke-opacity:.2;stroke-width:1;stroke-dasharray:4 5}
.lp-fscene--nappes .fs-rollf{fill:#efe4cf}
.lp-fscene--nappes .fs-c-sq{transform-box:view-box;transform-origin:190px 190px}
.lp-fscene--nappes .fs-c-pl, .lp-fscene--nappes .fs-c-pl2{transform-box:fill-box;transform-origin:center}
.lp-fscene--nappes .fs-c-roll{transform-box:view-box;transform:translateX(480px)}
@keyframes fs-nappes-sq{0%{transform:rotate(-24deg) scale(1.3);opacity:0}5%{transform:rotate(-24deg) scale(1.3);opacity:0}5%{transform:rotate(-24deg) scale(1.3);opacity:0}6.5%{transform:rotate(-14.58deg) scale(1.182);opacity:0.628}8%{transform:rotate(-7.68deg) scale(1.096);opacity:1}9.5%{transform:rotate(-2.94deg) scale(1.037);opacity:1}11%{transform:rotate(0deg) scale(1);opacity:1}12.5%{transform:rotate(1.5deg) scale(0.981);opacity:1}14%{transform:rotate(1.92deg) scale(0.976);opacity:1}15.5%{transform:rotate(1.62deg) scale(0.98);opacity:1}17%{transform:rotate(0.96deg) scale(0.988);opacity:1}18.5%{transform:rotate(0.3deg) scale(0.996);opacity:1}20%{transform:rotate(0deg) scale(1);opacity:1}86%{transform:rotate(0deg) scale(1);opacity:1}93%{transform:rotate(0deg) scale(1);opacity:0}100%{transform:rotate(-24deg) scale(1.3);opacity:0}}
.lp-fscene--nappes .fs-c-sq{animation:fs-nappes-sq 12s linear infinite;}
@keyframes fs-nappes-pl{0%{transform:scale(0.3);opacity:0}21%{transform:scale(0.3);opacity:0}21%{transform:scale(0.3);opacity:0}21.833%{transform:scale(0.716);opacity:1}22.667%{transform:scale(0.948);opacity:1}23.5%{transform:scale(1.044);opacity:1}24.333%{transform:scale(1.052);opacity:1}25.167%{transform:scale(1.021);opacity:1}26%{transform:scale(1);opacity:1}86%{transform:scale(1);opacity:1}92%{transform:scale(1);opacity:0}100%{transform:scale(0.3);opacity:0}}
.lp-fscene--nappes .fs-c-pl{animation:fs-nappes-pl 12s linear infinite;animation-delay:calc(var(--k) * .18s - 12s)}
@keyframes fs-nappes-pl2{0%{transform:scale(0.3);opacity:0}59%{transform:scale(0.3);opacity:0}59%{transform:scale(0.3);opacity:0}59.833%{transform:scale(0.716);opacity:1}60.667%{transform:scale(0.948);opacity:1}61.5%{transform:scale(1.044);opacity:1}62.333%{transform:scale(1.052);opacity:1}63.167%{transform:scale(1.021);opacity:1}64%{transform:scale(1);opacity:1}86%{transform:scale(1);opacity:1}92%{transform:scale(1);opacity:0}100%{transform:scale(0.3);opacity:0}}
.lp-fscene--nappes .fs-c-pl2{animation:fs-nappes-pl2 12s linear infinite;animation-delay:calc(var(--k) * .12s - 12s)}
@keyframes fs-nappes-ln{0%{clip-path:inset(0 100% 0 0)}30%{clip-path:inset(0 100% 0 0)}30%{clip-path:inset(0 100% 0 0)}32.333%{clip-path:inset(0 98.296% 0 0)}34.667%{clip-path:inset(0 93.301% 0 0)}37%{clip-path:inset(0 85.355% 0 0)}39.333%{clip-path:inset(0 75% 0 0)}41.667%{clip-path:inset(0 62.941% 0 0)}44%{clip-path:inset(0 50% 0 0)}46.333%{clip-path:inset(0 37.059% 0 0)}48.667%{clip-path:inset(0 25% 0 0)}51%{clip-path:inset(0 14.645% 0 0)}53.333%{clip-path:inset(0 6.699% 0 0)}55.667%{clip-path:inset(0 1.704% 0 0)}58%{clip-path:inset(0 0% 0 0)}86%{clip-path:inset(0 0% 0 0)}92%{clip-path:inset(0 0% 0 0);opacity:0}92.01%{clip-path:inset(0 100% 0 0);opacity:0}100%{clip-path:inset(0 100% 0 0);opacity:1}}
.lp-fscene--nappes .fs-c-ln{animation:fs-nappes-ln 12s linear infinite;}
.lp-fscene--nappes .fs-c-ln{clip-path:inset(0 0 0 0)}
@keyframes fs-nappes-rl{0%{transform:translateX(0px);opacity:1}30%{transform:translateX(0px);opacity:1}30%{transform:translateX(0px);opacity:1}32.333%{transform:translateX(8.178px);opacity:1}34.667%{transform:translateX(32.154px);opacity:1}37%{transform:translateX(70.294px);opacity:1}39.333%{transform:translateX(120px);opacity:1}41.667%{transform:translateX(177.883px);opacity:1}44%{transform:translateX(240px);opacity:1}46.333%{transform:translateX(302.117px);opacity:1}48.667%{transform:translateX(360px);opacity:1}51%{transform:translateX(409.706px);opacity:1}53.333%{transform:translateX(447.846px);opacity:1}55.667%{transform:translateX(471.822px);opacity:1}58%{transform:translateX(480px);opacity:1}86%{transform:translateX(480px);opacity:1}90%{transform:translateX(480px);opacity:0}90.01%{transform:translateX(0px);opacity:0}96%{transform:translateX(0px);opacity:0}100%{transform:translateX(0px);opacity:1}}
.lp-fscene--nappes .fs-c-roll{animation:fs-nappes-rl 12s linear infinite;}
@keyframes fs-nappes-la{0%{opacity:0}20%{opacity:0}24%{opacity:1}86%{opacity:1}90%{opacity:0}100%{opacity:0}}
.lp-fscene--nappes .fs-c-la{animation:fs-nappes-la 12s linear infinite;}
@keyframes fs-nappes-lb{0%{opacity:0}57%{opacity:0}61%{opacity:1}86%{opacity:1}90%{opacity:0}100%{opacity:0}}
.lp-fscene--nappes .fs-c-lb{animation:fs-nappes-lb 12s linear infinite;}
.lp-fscene--sets .fs-paille{fill:#dcc6a0}
.lp-fscene--sets .fs-fib{fill:none;stroke:#a5814f;stroke-opacity:.55;stroke-width:1;stroke-linecap:round}
.lp-fscene--sets .fs-wht{fill:#fffaf1}
.lp-fscene--sets .fs-brd{fill:none;stroke:#c8553d;stroke-width:1.6}
.lp-fscene--sets .fs-brd2{fill:none;stroke:#c8553d;stroke-width:.9;stroke-opacity:.5}
.lp-fscene--sets .fs-dotc{fill:#c8553d}
.lp-fscene--sets .fs-sage{fill:#9fb59b}
.lp-fscene--sets .fs-in{fill:none;stroke:#fff;stroke-opacity:.6;stroke-width:1.2}
.lp-fscene--sets .fs-sh{fill:var(--lp-ink);opacity:.07}
.lp-fscene--sets .fs-nk{fill:#7a2e3a}
.lp-fscene--sets .fs-nkl{fill:none;stroke:#fff;stroke-opacity:.35;stroke-width:1}
.lp-fscene--sets .fs-sheen{fill:none;stroke:var(--lp-ink);stroke-opacity:.18;stroke-width:3;stroke-linecap:round}
.lp-fscene--sets .fs-glass{fill:#fff;fill-opacity:.55}
.lp-fscene--sets .fs-liq{fill:#efc27c;fill-opacity:.45;stroke:none}
.lp-fscene--sets .fs-ring{fill:none;stroke:var(--lp-ink);stroke-opacity:.35;stroke-width:1;transform-box:fill-box;transform-origin:center;opacity:0}
.lp-fscene--sets .fs-gl{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;opacity:.8}
.lp-fscene--sets .fs-d-v2, .lp-fscene--sets .fs-d-v3{opacity:0}
.lp-fscene--sets .fs-d-pl, .lp-fscene--sets .fs-d-gl{transform-box:fill-box;transform-origin:center}
.lp-fscene--sets .fs-d-mat{transform-box:view-box;transform-origin:300px 290px}
@keyframes fs-sets-m{0%{transform:scale(1.000,1.000)}88%{transform:scale(1.000,1.000)}89%{transform:scale(1.003,0.999)}90%{transform:scale(1.010,0.978)}91%{transform:scale(1.022,0.896)}92%{transform:scale(1.035,0.707)}93%{transform:scale(1.046,0.395)}94%{transform:scale(1.050,0.002)}95%{transform:scale(1.046,0.395)}96%{transform:scale(1.035,0.707)}97%{transform:scale(1.022,0.896)}98%{transform:scale(1.010,0.978)}99%{transform:scale(1.003,0.999)}100%{transform:scale(1.000,1.000)}}
.lp-fscene--sets .fs-d-mat{animation:fs-sets-m 9s linear infinite;}
@keyframes fs-sets-d{0%{opacity:0}5%{opacity:0}10%{opacity:1}80%{opacity:1}85%{opacity:0}100%{opacity:0}}
.lp-fscene--sets .fs-d-dims{animation:fs-sets-d 9s linear infinite;}
@keyframes fs-sets-p{0%{transform:scale(1.18);opacity:0}8%{transform:scale(1.18);opacity:0}8%{transform:scale(1.18);opacity:0}9.25%{transform:scale(1.121);opacity:0.495}10.5%{transform:scale(1.076);opacity:0.867}11.75%{transform:scale(1.044);opacity:1}13%{transform:scale(1.022);opacity:1}14.25%{transform:scale(1.009);opacity:1}15.5%{transform:scale(1.003);opacity:1}16.75%{transform:scale(1);opacity:1}18%{transform:scale(1);opacity:1}80%{transform:scale(1);opacity:1}85%{transform:scale(1.05);opacity:0}100%{transform:scale(1.18);opacity:0}}
.lp-fscene--sets .fs-d-pl{animation:fs-sets-p 9s linear infinite;}
@keyframes fs-sets-n{0%{transform:translateX(-56px);opacity:0}16%{transform:translateX(-56px);opacity:0}16%{transform:translateX(-56px);opacity:0}17.125%{transform:translateX(-37.516px);opacity:0.33}18.25%{transform:translateX(-23.625px);opacity:0.578}19.375%{transform:translateX(-13.672px);opacity:0.756}20.5%{transform:translateX(-7px);opacity:0.875}21.625%{transform:translateX(-2.953px);opacity:0.947}22.75%{transform:translateX(-0.875px);opacity:0.984}23.875%{transform:translateX(-0.109px);opacity:0.998}25%{transform:translateX(0px);opacity:1}79%{transform:translateX(0px);opacity:1}84%{transform:translateX(-30px);opacity:0}100%{transform:translateX(-56px);opacity:0}}
.lp-fscene--sets .fs-d-nk{animation:fs-sets-n 9s linear infinite;}
@keyframes fs-sets-k{0%{transform:translateX(56px);opacity:0}22%{transform:translateX(56px);opacity:0}22%{transform:translateX(56px);opacity:0}23%{transform:translateX(37.516px);opacity:0.33}24%{transform:translateX(23.625px);opacity:0.578}25%{transform:translateX(13.672px);opacity:0.756}26%{transform:translateX(7px);opacity:0.875}27%{transform:translateX(2.953px);opacity:0.947}28%{transform:translateX(0.875px);opacity:0.984}29%{transform:translateX(0.109px);opacity:0.998}30%{transform:translateX(0px);opacity:1}79%{transform:translateX(0px);opacity:1}84%{transform:translateX(30px);opacity:0}100%{transform:translateX(56px);opacity:0}}
.lp-fscene--sets .fs-d-kn{animation:fs-sets-k 9s linear infinite;}
@keyframes fs-sets-g{0%{transform:scale(0.55);opacity:0}28%{transform:scale(0.55);opacity:0}28%{transform:scale(0.55);opacity:0}29%{transform:scale(0.763);opacity:0.947}30%{transform:scale(0.905);opacity:1}31%{transform:scale(0.989);opacity:1}32%{transform:scale(1.028);opacity:1}33%{transform:scale(1.036);opacity:1}34%{transform:scale(1.025);opacity:1}35%{transform:scale(1.008);opacity:1}36%{transform:scale(1);opacity:1}77%{transform:scale(1);opacity:1}82%{transform:scale(1.1);opacity:0}100%{transform:scale(0.55);opacity:0}}
.lp-fscene--sets .fs-d-gl{animation:fs-sets-g 9s linear infinite;}
@keyframes fs-sets-ring{0%{transform:scale(1);opacity:0}12%{opacity:.6}100%{transform:scale(1.7);opacity:0}}
.lp-fscene--sets .fs-ring{animation:fs-sets-ring 2.6s cubic-bezier(.2,.6,.3,1) infinite}
@keyframes fs-sets-v1{0%{opacity:1}31.323%{opacity:1}31.333%{opacity:0}97.99%{opacity:0}98%{opacity:1}100%{opacity:1}}
.lp-fscene--sets .fs-d-v1{animation:fs-sets-v1 27s linear infinite;}
@keyframes fs-sets-v2{0%{opacity:0}31.323%{opacity:0}31.333%{opacity:1}64.657%{opacity:1}64.667%{opacity:0}100%{opacity:0}}
.lp-fscene--sets .fs-d-v2{animation:fs-sets-v2 27s linear infinite;}
@keyframes fs-sets-v3{0%{opacity:0}64.657%{opacity:0}64.667%{opacity:1}97.99%{opacity:1}98%{opacity:0}100%{opacity:0}}
.lp-fscene--sets .fs-d-v3{animation:fs-sets-v3 27s linear infinite;}
.lp-fscene--chemins .fs-runf{fill:#cdb48f}
.lp-fscene--chemins .fs-tex{fill:none;stroke:#fff;stroke-opacity:.5;stroke-width:1}
.lp-fscene--chemins .fs-tex2{fill:none;stroke:#8a6a43;stroke-opacity:.35;stroke-width:1}
.lp-fscene--chemins .fs-perf{fill:none;stroke:var(--lp-ink);stroke-opacity:.55;stroke-width:1.2;stroke-dasharray:3 4}
.lp-fscene--chemins .fs-rollf{fill:#b8966a}
.lp-fscene--chemins .fs-brk{fill:#b9975a;fill-opacity:.12;stroke:#b9975a;stroke-width:1.6}
.lp-fscene--chemins .fs-e-b, .lp-fscene--chemins .fs-e-t{opacity:0}
.lp-fscene--chemins .fs-e-b4, .lp-fscene--chemins .fs-e-t4{opacity:1}
.lp-fscene--chemins .fs-e-roll{transform-box:view-box;transform:translateX(462px);opacity:0}
@keyframes fs-chemins-r{0%{clip-path:inset(0 100% 0 0)}4%{clip-path:inset(0 100% 0 0)}4%{clip-path:inset(0 100% 0 0)}6.571%{clip-path:inset(0 98.746% 0 0)}9.143%{clip-path:inset(0 95.048% 0 0)}11.714%{clip-path:inset(0 89.092% 0 0)}14.286%{clip-path:inset(0 81.174% 0 0)}16.857%{clip-path:inset(0 71.694% 0 0)}19.429%{clip-path:inset(0 61.126% 0 0)}22%{clip-path:inset(0 50% 0 0)}24.571%{clip-path:inset(0 38.874% 0 0)}27.143%{clip-path:inset(0 28.306% 0 0)}29.714%{clip-path:inset(0 18.826% 0 0)}32.286%{clip-path:inset(0 10.908% 0 0)}34.857%{clip-path:inset(0 4.952% 0 0)}37.429%{clip-path:inset(0 1.254% 0 0)}40%{clip-path:inset(0 0% 0 0)}88%{clip-path:inset(0 0% 0 0)}94%{clip-path:inset(0 0% 0 0);opacity:0}94.01%{clip-path:inset(0 100% 0 0);opacity:0}100%{clip-path:inset(0 100% 0 0);opacity:1}}
.lp-fscene--chemins .fs-e-run{animation:fs-chemins-r 12s linear infinite;}
.lp-fscene--chemins .fs-e-run{clip-path:inset(0 0 0 0)}
@keyframes fs-chemins-l{0%{transform:translateX(0px);opacity:0}3%{transform:translateX(0px);opacity:1}4%{transform:translateX(0px);opacity:1}6.571%{transform:translateX(5.792px);opacity:1}9.143%{transform:translateX(22.876px);opacity:1}11.714%{transform:translateX(50.397px);opacity:1}14.286%{transform:translateX(86.974px);opacity:1}16.857%{transform:translateX(130.773px);opacity:1}19.429%{transform:translateX(179.598px);opacity:1}22%{transform:translateX(231px);opacity:1}24.571%{transform:translateX(282.402px);opacity:1}27.143%{transform:translateX(331.227px);opacity:1}29.714%{transform:translateX(375.026px);opacity:1}32.286%{transform:translateX(411.603px);opacity:1}34.857%{transform:translateX(439.124px);opacity:1}37.429%{transform:translateX(456.208px);opacity:1}40%{transform:translateX(462px);opacity:1}42%{transform:translateX(462px);opacity:1}47%{transform:translateX(462px);opacity:0}47.01%{transform:translateX(0px);opacity:0}100%{transform:translateX(0px);opacity:0}}
.lp-fscene--chemins .fs-e-roll{animation:fs-chemins-l 12s linear infinite;}
@keyframes fs-chemins-d{0%{opacity:0}40%{opacity:0}45%{opacity:1}88%{opacity:1}93%{opacity:0}100%{opacity:0}}
.lp-fscene--chemins .fs-e-dim{animation:fs-chemins-d 12s linear infinite;}
@keyframes fs-chemins-b1{0%{opacity:0}46%{opacity:0}47.5%{opacity:1}56%{opacity:1}57.5%{opacity:0}100%{opacity:0}}
.lp-fscene--chemins .fs-e-b1{animation:fs-chemins-b1 12s linear infinite;}
@keyframes fs-chemins-t1{0%{transform:translateY(7px);opacity:0}46.8%{transform:translateY(7px);opacity:0}46.8%{transform:translateY(7px);opacity:0}47.1%{transform:translateY(4.051px);opacity:0.421}47.4%{transform:translateY(2.074px);opacity:0.704}47.7%{transform:translateY(0.875px);opacity:0.875}48%{transform:translateY(0.259px);opacity:0.963}48.3%{transform:translateY(0.032px);opacity:0.995}48.6%{transform:translateY(0px);opacity:1}54.4%{transform:translateY(0px);opacity:1}54.4%{transform:translateY(0px);opacity:1}54.72%{transform:translateY(-0.668px);opacity:0.905}55.04%{transform:translateY(-2.418px);opacity:0.655}55.36%{transform:translateY(-4.582px);opacity:0.345}55.68%{transform:translateY(-6.332px);opacity:0.095}56%{transform:translateY(-7px);opacity:0}100%{transform:translateY(7px);opacity:0}}
.lp-fscene--chemins .fs-e-t1{animation:fs-chemins-t1 12s linear infinite;}
@keyframes fs-chemins-b2{0%{opacity:0}56%{opacity:0}57.5%{opacity:1}64%{opacity:1}65.5%{opacity:0}100%{opacity:0}}
.lp-fscene--chemins .fs-e-b2{animation:fs-chemins-b2 12s linear infinite;}
@keyframes fs-chemins-t2{0%{transform:translateY(7px);opacity:0}56.8%{transform:translateY(7px);opacity:0}56.8%{transform:translateY(7px);opacity:0}57.1%{transform:translateY(4.051px);opacity:0.421}57.4%{transform:translateY(2.074px);opacity:0.704}57.7%{transform:translateY(0.875px);opacity:0.875}58%{transform:translateY(0.259px);opacity:0.963}58.3%{transform:translateY(0.032px);opacity:0.995}58.6%{transform:translateY(0px);opacity:1}62.4%{transform:translateY(0px);opacity:1}62.4%{transform:translateY(0px);opacity:1}62.72%{transform:translateY(-0.668px);opacity:0.905}63.04%{transform:translateY(-2.418px);opacity:0.655}63.36%{transform:translateY(-4.582px);opacity:0.345}63.68%{transform:translateY(-6.332px);opacity:0.095}64%{transform:translateY(-7px);opacity:0}100%{transform:translateY(7px);opacity:0}}
.lp-fscene--chemins .fs-e-t2{animation:fs-chemins-t2 12s linear infinite;}
@keyframes fs-chemins-b3{0%{opacity:0}64%{opacity:0}65.5%{opacity:1}72%{opacity:1}73.5%{opacity:0}100%{opacity:0}}
.lp-fscene--chemins .fs-e-b3{animation:fs-chemins-b3 12s linear infinite;}
@keyframes fs-chemins-t3{0%{transform:translateY(7px);opacity:0}64.8%{transform:translateY(7px);opacity:0}64.8%{transform:translateY(7px);opacity:0}65.1%{transform:translateY(4.051px);opacity:0.421}65.4%{transform:translateY(2.074px);opacity:0.704}65.7%{transform:translateY(0.875px);opacity:0.875}66%{transform:translateY(0.259px);opacity:0.963}66.3%{transform:translateY(0.032px);opacity:0.995}66.6%{transform:translateY(0px);opacity:1}70.4%{transform:translateY(0px);opacity:1}70.4%{transform:translateY(0px);opacity:1}70.72%{transform:translateY(-0.668px);opacity:0.905}71.04%{transform:translateY(-2.418px);opacity:0.655}71.36%{transform:translateY(-4.582px);opacity:0.345}71.68%{transform:translateY(-6.332px);opacity:0.095}72%{transform:translateY(-7px);opacity:0}100%{transform:translateY(7px);opacity:0}}
.lp-fscene--chemins .fs-e-t3{animation:fs-chemins-t3 12s linear infinite;}
@keyframes fs-chemins-b4{0%{opacity:0}72%{opacity:0}73.5%{opacity:1}84%{opacity:1}85.5%{opacity:0}100%{opacity:0}}
.lp-fscene--chemins .fs-e-b4{animation:fs-chemins-b4 12s linear infinite;}
@keyframes fs-chemins-t4{0%{transform:translateY(7px);opacity:0}72.8%{transform:translateY(7px);opacity:0}72.8%{transform:translateY(7px);opacity:0}73.1%{transform:translateY(4.051px);opacity:0.421}73.4%{transform:translateY(2.074px);opacity:0.704}73.7%{transform:translateY(0.875px);opacity:0.875}74%{transform:translateY(0.259px);opacity:0.963}74.3%{transform:translateY(0.032px);opacity:0.995}74.6%{transform:translateY(0px);opacity:1}82.4%{transform:translateY(0px);opacity:1}82.4%{transform:translateY(0px);opacity:1}82.72%{transform:translateY(-0.668px);opacity:0.905}83.04%{transform:translateY(-2.418px);opacity:0.655}83.36%{transform:translateY(-4.582px);opacity:0.345}83.68%{transform:translateY(-6.332px);opacity:0.095}84%{transform:translateY(-7px);opacity:0}100%{transform:translateY(7px);opacity:0}}
.lp-fscene--chemins .fs-e-t4{animation:fs-chemins-t4 12s linear infinite;}
.lp-fscene--pochettes .fs-shd{fill:var(--lp-ink);opacity:.08}
.lp-fscene--pochettes .fs-kraft{fill:#d9c39b}
.lp-fscene--pochettes .fs-kraft2{fill:#cdb185}
.lp-fscene--pochettes .fs-str{fill:none;stroke:#c8553d;stroke-width:2}
.lp-fscene--pochettes .fs-pn{fill:#f3eee4}
.lp-fscene--pochettes .fs-nkl{fill:none;stroke:var(--lp-ink);stroke-opacity:.18;stroke-width:1}
.lp-fscene--pochettes .fs-qp{fill:#2b3d6b}
.lp-fscene--pochettes .fs-qp2{fill:#44547d}
.lp-fscene--pochettes .fs-qp3{fill:#5a688c}
.lp-fscene--pochettes .fs-emb2{fill:none;stroke:#fff;stroke-opacity:.35;stroke-width:1}
.lp-fscene--pochettes .fs-f-p{transform-box:view-box;transform-origin:174px 450px}
.lp-fscene--pochettes .fs-f-q{transform-box:view-box;transform-origin:424px 450px}
@keyframes fs-pochettes-c1{0%{transform:translateY(-230px);opacity:0}8%{transform:translateY(-230px);opacity:0}8%{transform:translateY(-230px);opacity:-0}9.4%{transform:translateY(-145.314px);opacity:1}10.8%{transform:translateY(-82.432px);opacity:1}12.2%{transform:translateY(-38.318px);opacity:1}13.6%{transform:translateY(-9.936px);opacity:1}15%{transform:translateY(5.75px);opacity:1}16.4%{transform:translateY(11.776px);opacity:1}17.8%{transform:translateY(11.178px);opacity:1}19.2%{transform:translateY(6.992px);opacity:1}20.6%{transform:translateY(2.254px);opacity:1}22%{transform:translateY(0px);opacity:1}80%{transform:translateY(0px);opacity:1}80%{transform:translateY(0px);opacity:1}81.667%{transform:translateY(-13.397px);opacity:0.933}83.333%{transform:translateY(-50px);opacity:0.75}85%{transform:translateY(-100px);opacity:0.5}86.667%{transform:translateY(-150px);opacity:0.25}88.333%{transform:translateY(-186.603px);opacity:0.067}90%{transform:translateY(-200px);opacity:0}100%{transform:translateY(-230px);opacity:0}}
.lp-fscene--pochettes .fs-f-c1{animation:fs-pochettes-c1 9s linear infinite;}
@keyframes fs-pochettes-c2{0%{transform:translateY(-230px);opacity:0}24%{transform:translateY(-230px);opacity:0}24%{transform:translateY(-230px);opacity:-0}25.4%{transform:translateY(-145.314px);opacity:1}26.8%{transform:translateY(-82.432px);opacity:1}28.2%{transform:translateY(-38.318px);opacity:1}29.6%{transform:translateY(-9.936px);opacity:1}31%{transform:translateY(5.75px);opacity:1}32.4%{transform:translateY(11.776px);opacity:1}33.8%{transform:translateY(11.178px);opacity:1}35.2%{transform:translateY(6.992px);opacity:1}36.6%{transform:translateY(2.254px);opacity:1}38%{transform:translateY(0px);opacity:1}80%{transform:translateY(0px);opacity:1}80%{transform:translateY(0px);opacity:1}81.667%{transform:translateY(-13.397px);opacity:0.933}83.333%{transform:translateY(-50px);opacity:0.75}85%{transform:translateY(-100px);opacity:0.5}86.667%{transform:translateY(-150px);opacity:0.25}88.333%{transform:translateY(-186.603px);opacity:0.067}90%{transform:translateY(-200px);opacity:0}100%{transform:translateY(-230px);opacity:0}}
.lp-fscene--pochettes .fs-f-c2{animation:fs-pochettes-c2 9s linear infinite;}
@keyframes fs-pochettes-sw{0%{transform:rotate(0deg)}25%{transform:rotate(-1.4deg)}75%{transform:rotate(1.4deg)}100%{transform:rotate(0deg)}}
.lp-fscene--pochettes .fs-f-p{animation:fs-pochettes-sw 6s ease-in-out infinite}
.lp-fscene--pochettes .fs-f-q{animation:fs-pochettes-sw 6s ease-in-out -3s infinite}
@keyframes fs-pochettes-pn{0%{fill:#f3eee4}31%{fill:#f3eee4}32.333%{fill:#e3b23c}64.333%{fill:#e3b23c}65.667%{fill:#9fb59b}97.667%{fill:#9fb59b}99%{fill:#f3eee4}100%{fill:#f3eee4}}
.lp-fscene--pochettes .fs-pn{animation:fs-pochettes-pn 27s linear infinite;}
@keyframes fs-pochettes-q1{0%{fill:#2b3d6b}31%{fill:#2b3d6b}32.333%{fill:#7a2e3a}64.333%{fill:#7a2e3a}65.667%{fill:#3d6b5a}97.667%{fill:#3d6b5a}99%{fill:#2b3d6b}100%{fill:#2b3d6b}}
.lp-fscene--pochettes .fs-qp{animation:fs-pochettes-q1 27s linear infinite;}
@keyframes fs-pochettes-q2{0%{fill:#44547d}31%{fill:#44547d}32.333%{fill:#8a4752}64.333%{fill:#8a4752}65.667%{fill:#547d6e}97.667%{fill:#547d6e}99%{fill:#44547d}100%{fill:#44547d}}
.lp-fscene--pochettes .fs-qp2{animation:fs-pochettes-q2 27s linear infinite;}
@keyframes fs-pochettes-q3{0%{fill:#5a688c}31%{fill:#5a688c}32.333%{fill:#975c65}64.333%{fill:#975c65}65.667%{fill:#688c7e}97.667%{fill:#688c7e}99%{fill:#5a688c}100%{fill:#5a688c}}
.lp-fscene--pochettes .fs-qp3{animation:fs-pochettes-q3 27s linear infinite;}

/* v3.2 · innovations hero « Six systèmes. Un cercle. » (generated by _build/sixhero.py) */
.lp-phero--six .lp-phero__art{max-width:660px;aspect-ratio:680/640}
@media (min-width:1100px){.lp-phero--six .lp-phero__art{margin-right:-2vw}}
.lp-six{--cy:15s;--sl:2.5s;--d0:1.7s;overflow:visible;color:var(--lp-ink)}
.lp-six .tk{stroke:currentColor;stroke-opacity:.26;stroke-width:1}
.lp-six .ring0{stroke:currentColor;stroke-opacity:.2;stroke-width:1.2;stroke-dasharray:1 6;stroke-linecap:round}
.lp-six .rot,.lp-six .com{transform-box:view-box;transform-origin:340px 320px}
.lp-six .hr{stroke:currentColor;stroke-opacity:.12;stroke-width:1}
.lp-six .wv{stroke:currentColor;stroke-opacity:.13;stroke-width:1}
.lp-six .arc{stroke:var(--c);stroke-width:3.4;stroke-linecap:round;stroke-opacity:.55}
.lp-six .tm{stroke:var(--c);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:1;opacity:0}
.lp-six .nd{fill:var(--c);transform-box:fill-box;transform-origin:center}
.lp-six .pl{stroke:var(--c);stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center}
.lp-six .lab{cursor:pointer}
.lp-six .lab .n{font:500 10.5px var(--f-mono);letter-spacing:.16em;fill:currentColor;fill-opacity:.48}
.lp-six .lab .t{font:600 17px var(--f-sans);fill:currentColor;fill-opacity:.66}
.lp-six .disc{fill:var(--lp-paper,#f6f2ea);stroke:currentColor;stroke-opacity:.12}
.lp-six .disc2{stroke:currentColor;stroke-opacity:.16;stroke-dasharray:2 5}
.lp-six .com .hd{fill:currentColor}
.lp-six .com .tr{fill:currentColor}
.lp-six .com .sp{stroke:currentColor;stroke-opacity:.22;stroke-dasharray:2 4}
.lp-six .hl{opacity:0}
.lp-six .ctr{opacity:0}
.lp-six .ctr .no{font:500 11.5px var(--f-mono);letter-spacing:.2em;fill:currentColor;fill-opacity:.55}
.lp-six .ctr .nm{font:400 37px var(--f-display);letter-spacing:-.02em;fill:currentColor}
.lp-six .ctr .cl{font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;fill:currentColor;fill-opacity:.62}
.lp-six .gl{stroke:var(--c);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.lp-six .gl .f{fill:var(--c);stroke:none}
.lp-six .gl [pathLength]{stroke-dasharray:1 2}
/* draw-in */
.js .lp-six .arc{stroke-dasharray:1 2;transition:stroke-dashoffset 1.3s var(--ease-soft) calc(.15s + var(--k) * .13s)}
.js .lp-six:not(.is-in) .arc{stroke-dashoffset:1;transition:none}
.js .lp-six .wv{stroke-dasharray:1 2;transition:stroke-dashoffset 2.4s var(--ease-soft) .8s}
.js .lp-six:not(.is-in) .wv{stroke-dashoffset:1;transition:none}
.js .lp-six :is(.tk,.rot,.hr,.lab,.disc,.disc2,.nd,.com){transition:opacity 1s var(--ease) .55s}
.js .lp-six:not(.is-in) :is(.tk,.rot,.hr,.lab,.disc,.disc2,.nd,.com){opacity:0;transition:none}
html:not(.js) .lp-six [data-k="0"]{--on:1}
/* the cycle: one slot of 2.5 s per line, the comet makes one turn per cycle */
.lp-six.is-in .rot{animation:six-spin 120s linear infinite}
.lp-six.is-in .com{animation:six-com var(--cy) linear var(--d0) infinite backwards}
.lp-six.is-in :is(.arc,.tm,.pl,.nd,.lab .t,.hl,.ctr,.gl [pathLength],.gl .f){animation-duration:var(--cy);animation-iteration-count:infinite;animation-fill-mode:backwards;animation-delay:calc(var(--d0) + var(--k) * var(--sl))}
.lp-six.is-in .arc{animation-name:six-arc;animation-timing-function:var(--ease)}
.lp-six.is-in .tm{animation-name:six-tm;animation-timing-function:linear}
.lp-six.is-in .pl{animation-name:six-pl;animation-timing-function:var(--ease-soft)}
.lp-six.is-in .nd{animation-name:six-nd}
.lp-six.is-in .lab .t{animation-name:six-lab;animation-delay:calc(var(--d0) + var(--k) * var(--sl))}
.lp-six.is-in .hl{animation-name:six-hl}
.lp-six.is-in .ctr{animation-name:six-ctr;animation-timing-function:var(--ease)}
.lp-six.is-in .gl [pathLength]{animation-name:six-gly;animation-timing-function:var(--ease-soft)}
.lp-six.is-in .gl .f{animation-name:six-glf}
@keyframes six-spin{to{transform:rotate(360deg)}}
@keyframes six-com{from{transform:rotate(-30deg)}to{transform:rotate(330deg)}}
@keyframes six-arc{0%{stroke-width:3.4;stroke-opacity:.55}4%,14%{stroke-width:8;stroke-opacity:1}19%,100%{stroke-width:3.4;stroke-opacity:.55}}
@keyframes six-tm{0%{opacity:1;stroke-dashoffset:1}16.4%{opacity:1;stroke-dashoffset:0}18.5%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes six-pl{0%{opacity:.9;transform:scale(1)}10%,100%{opacity:0;transform:scale(4.4)}}
@keyframes six-nd{0%,19%,100%{transform:scale(1)}4%,14%{transform:scale(1.55)}}
@keyframes six-lab{0%,19%,100%{fill:currentColor;fill-opacity:.66}4%,14%{fill:var(--c);fill-opacity:1}}
@keyframes six-hl{0%,19%,100%{opacity:0}5%,13%{opacity:1}}
@keyframes six-ctr{0%{opacity:0;transform:translateY(9px)}3.5%,14.5%{opacity:1;transform:none}17.5%,100%{opacity:0;transform:translateY(-9px)}}
@keyframes six-gly{0%,2%{stroke-dashoffset:1}12%,100%{stroke-dashoffset:0}}
@keyframes six-glf{0%,6%{fill-opacity:0}13%,100%{fill-opacity:1}}
/* hold a line: hover its label (fine pointers) */
@media (hover:hover){
  .lp-six:has(.lab:hover) *{animation-play-state:paused!important}
  .lp-six:has(.lab:hover) :is(.arc,.nd,.hl,.ctr,.lab .t,.gl [pathLength],.gl .f,.tm,.pl){animation:none!important}
  .lp-six:has(.lab[data-k="0"]:hover) :is(.ctr,.arc,.nd,.hl,.lab)[data-k="0"]{--on:1}
  .lp-six:has(.lab[data-k="1"]:hover) :is(.ctr,.arc,.nd,.hl,.lab)[data-k="1"]{--on:1}
  .lp-six:has(.lab[data-k="2"]:hover) :is(.ctr,.arc,.nd,.hl,.lab)[data-k="2"]{--on:1}
  .lp-six:has(.lab[data-k="3"]:hover) :is(.ctr,.arc,.nd,.hl,.lab)[data-k="3"]{--on:1}
  .lp-six:has(.lab[data-k="4"]:hover) :is(.ctr,.arc,.nd,.hl,.lab)[data-k="4"]{--on:1}
  .lp-six:has(.lab[data-k="5"]:hover) :is(.ctr,.arc,.nd,.hl,.lab)[data-k="5"]{--on:1}
}
.lp-six [data-k]{--on:0}
.lp-six .arc{stroke-width:calc(3.4px + var(--on) * 4.6px)}
.lp-six:has(.lab:hover) .arc{stroke-opacity:calc(.55 + var(--on) * .45)}
.lp-six:has(.lab:hover) .ctr,html:not(.js) .lp-six .ctr{opacity:var(--on)}
.lp-six:has(.lab:hover) .hl{opacity:var(--on)}
.lp-six:has(.lab:hover) .nd{transform:scale(calc(1 + var(--on) * .55))}
.lp-six .lab:hover .t{fill:var(--c);fill-opacity:1}
@media (prefers-reduced-motion:reduce){
  .lp-six *{animation:none!important;transition:none!important}
  .lp-six [data-k="0"]{--on:1}
  .lp-six .ctr{opacity:var(--on)}
  .lp-six .com{display:none}
}
@media (max-width:640px){.lp-phero--six .lp-phero__art{margin-inline:-14px}.lp-six .lab .t{font-size:23px}.lp-six .lab .n{font-size:13px}
  .lp-six .ctr .cl{font-size:13px}.lp-six .ctr .no{font-size:13px}.lp-six .ctr .nm{font-size:40px}}

/* ════════════════════════════════════════════════════════════════ 4.2 · animated pictograms (places, sectors, cards) — hover / focus scenes, drawn in on reveal */
:is(.lp-places,.lp-tri3__c,.lp-pain,.lp-tnc__c) :is(.ic,.lp-pain__ic){position:relative;overflow:hidden;isolation:isolate}
.lp-places .ic::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px currentColor;opacity:0;transform:scale(.6);transition:opacity .5s var(--ease),transform .7s var(--ease)}
.lp-places li:is(:hover,:focus-within) .ic::after{opacity:.18;transform:scale(1)}
.lp-pain__ic{transition:background-color var(--t-med),color var(--t-med)}
.lp-pain:hover .lp-pain__ic{background:var(--lp-navy);color:#fff}
.lp-ic--fx path{stroke-dasharray:1 1;stroke-dashoffset:0;transform-box:view-box}
.js main [data-reveal]:not(.is-in) .lp-ic--fx path{stroke-dashoffset:1}
.js main [data-reveal].is-in .lp-ic--fx path{transition:stroke-dashoffset 1.1s var(--ease) calc(.25s + var(--k,0) * 90ms + var(--n,0) * 70ms)}
@keyframes lp-ic-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes lp-ic-pass{0%{transform:none}38%{transform:translateX(150%);opacity:1}39%{opacity:0}40%{transform:translateX(-150%);opacity:0}41%{opacity:1}100%{transform:none}}
@keyframes lp-ic-chug{0%,100%{transform:none}25%{transform:translateY(-.8px)}50%{transform:translateY(.3px)}75%{transform:translateY(-.5px)}}
@keyframes lp-ic-blink{0%,49%{opacity:1}50%,100%{opacity:.15}}
@keyframes lp-ic-fly{0%{transform:none}36%{transform:translateY(-160%) scale(.9);opacity:1}37%{opacity:0}38%{transform:translateY(160%) scale(.9);opacity:0}39%{opacity:1}100%{transform:none}}
@keyframes lp-ic-rock{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(6deg)}}
@keyframes lp-ic-sail{0%,100%{transform:scaleX(1)}50%{transform:scaleX(1.16)}}
@keyframes lp-ic-flap-l{0%,100%{transform:none}50%{transform:rotate(-7deg)}}
@keyframes lp-ic-flap-r{0%,100%{transform:none}50%{transform:rotate(7deg)}}
@keyframes lp-ic-wave{0%,100%{transform:translateX(-1.6px)}50%{transform:translateX(1.6px)}}
@keyframes lp-ic-drip{0%{transform:none;opacity:1}70%{transform:translateY(5px) scaleY(.7);opacity:0}71%{transform:translateY(-3px);opacity:0}100%{transform:none;opacity:1}}
@keyframes lp-ic-flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-1}}
@keyframes lp-ic-lift{0%,100%{transform:none}40%{transform:translateY(-2.5px) rotate(-5deg)}}
@keyframes lp-ic-pulse{0%,100%{transform:none}35%{transform:scale(1.14)}60%{transform:scale(.97)}}
@keyframes lp-ic-fall{0%{transform:translateY(-150%)}45%{transform:translateY(0) scale(1)}58%{transform:translateY(1px) scale(1.18,.82)}74%{transform:translateY(-1.5px) scale(.95,1.06)}100%{transform:none}}
@keyframes lp-ic-bloom{0%,100%{transform:none}50%{transform:scale(1.1,.92)}}
@keyframes lp-ic-bud{0%,100%{transform:none}50%{transform:translateY(-1.6px) scaleY(1.1)}}
@keyframes lp-ic-sway{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(7deg)}}
@keyframes lp-ic-rise{0%{transform:translateY(130%)}62%{transform:translateY(-1.5px)}100%{transform:none}}
@keyframes lp-ic-light{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes lp-ic-steam{0%{transform:translateY(1.5px) scaleY(.6);opacity:0}35%{opacity:1}100%{transform:translateY(-3.5px) scaleY(1.2);opacity:0}}
@keyframes lp-ic-bounce{0%,100%{transform:translateY(0) scale(1)}12%{transform:translateY(0) scale(1.14,.86)}45%{transform:translateY(-7px) scale(.96,1.04) rotate(160deg)}80%{transform:translateY(0) scale(1) rotate(320deg)}88%{transform:translateY(0) scale(1.08,.92) rotate(330deg)}}
@keyframes lp-ic-blinkeye{0%,30%,48%,100%{transform:none}38%{transform:scaleY(.08)}}
@keyframes lp-ic-look{0%,100%{transform:none}25%{transform:translateX(-2px)}65%{transform:translateX(2px)}}
@keyframes lp-ic-needle{0%{transform:rotate(-95deg)}55%{transform:rotate(18deg)}75%{transform:rotate(-6deg)}100%{transform:none}}
@keyframes lp-ic-hi{0%,100%{transform:none}20%,60%{transform:rotate(-14deg)}40%,80%{transform:rotate(10deg)}}
@keyframes lp-ic-bob{0%,100%{transform:none}50%{transform:translateY(-2px)}}
@keyframes lp-ic-spin{from{transform:rotate(-360deg)}to{transform:none}}
@keyframes lp-ic-lid{0%,100%{transform:none}35%{transform:translateY(-3px)}55%{transform:translateY(.5px)}}
@keyframes lp-ic-globe{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.25)}}
@keyframes lp-ic-turnkey{0%{transform:rotate(-40deg)}60%{transform:rotate(6deg)}100%{transform:none}}
@keyframes lp-ic-up{0%,100%{transform:none}40%{transform:translateY(-2.6px)}}
@keyframes lp-ic-down{0%,100%{transform:none}40%{transform:translateY(1.6px)}}
@keyframes lp-ic-pop{0%{transform:scale(0)}70%{transform:scale(1.6)}100%{transform:none}}
@keyframes lp-ic-print{0%{transform:translateY(-120%)}70%{transform:translateY(1px)}100%{transform:none}}
@keyframes lp-ic-tassel{0%,100%{transform:none}30%{transform:rotate(22deg)}65%{transform:rotate(-12deg)}}
@keyframes lp-ic-ring{0%,100%{transform:none}10%,30%,50%{transform:rotate(-13deg)}20%,40%,60%{transform:rotate(13deg)}70%{transform:none}}
@keyframes lp-ic-twinkle{0%{transform:rotate(0) scale(1)}50%{transform:rotate(45deg) scale(.7)}100%{transform:rotate(90deg) scale(1)}}
:where(.lp-icfx:is(:hover,:focus-within)) .lp-ic--fx path{animation:lp-ic-draw .9s var(--ease) calc(var(--n,0) * 60ms) both}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="train"]{animation:lp-ic-pass 1.25s var(--ease-io),lp-ic-chug .32s linear 1.25s infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="train"] :is([data-n="5"],[data-n="6"]){animation:lp-ic-blink .5s steps(1) 1.25s infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="plane"]{animation:lp-ic-fly 1.5s var(--ease-io)}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="boat"]{transform-origin:50% 75%;animation:lp-ic-rock 1.8s ease-in-out infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="boat"] [data-n="2"]{transform-origin:12px 8px;animation:lp-ic-draw .7s var(--ease) both,lp-ic-sail 1.8s ease-in-out .7s infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="tent"] [data-n="1"]{transform-origin:12px 4px;animation:lp-ic-draw .7s var(--ease) both,lp-ic-flap-l 1.6s ease-in-out .7s infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="tent"] [data-n="2"]{transform-origin:12px 4px;animation:lp-ic-draw .7s var(--ease) .08s both,lp-ic-flap-r 1.6s ease-in-out .78s infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="wave"] path{animation:lp-ic-draw .8s var(--ease) calc(var(--n,0) * 120ms) both,lp-ic-wave 1.7s ease-in-out calc(var(--n,0) * -.85s) infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="pipe"] :is([data-n="0"],[data-n="1"]){stroke-dasharray:.16 .04;animation:lp-ic-flow 2.2s linear infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="pipe"] [data-n="2"]{transform-origin:19px 5px;animation:lp-ic-drip 1.1s ease-in infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="sheet"]{animation:lp-ic-lift 1s var(--ease-io)}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="sheet"] path:not([data-n="0"]){animation:lp-ic-draw .6s var(--ease) calc(.15s + var(--n,0) * 140ms) both}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="shield"]{animation:lp-ic-pulse .9s var(--ease-io)}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx:is([data-i="shield"],[data-i="oil"],[data-i="leaf"],[data-i="pin"],[data-i="key"],[data-i="phone"]) [data-n="0"]{animation:none}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="shield"] [data-n="1"]{animation:lp-ic-draw .55s var(--ease) .3s both}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx:is([data-i="oil"],[data-i="drop"],[data-i="pin"]){animation:lp-ic-fall 1.1s var(--ease-io)}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="drop"] path{animation:none}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="oil"] [data-n="1"]{animation:lp-ic-draw .5s var(--ease) .65s both}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="pin"] [data-n="1"]{transform-origin:12px 9.5px;animation:lp-ic-pop .45s var(--ease-back,var(--ease)) .55s both}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="spa"] [data-n="0"]{transform-origin:12px 20px;animation:lp-ic-draw .8s var(--ease) both,lp-ic-bloom 2s ease-in-out .8s infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="spa"] [data-n="1"]{transform-origin:12px 16px;animation:lp-ic-draw .8s var(--ease) .15s both,lp-ic-bud 2s ease-in-out .95s infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="leaf"]{transform-origin:30% 75%;animation:lp-ic-sway 1.9s ease-in-out infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="building"]{animation:lp-ic-rise .9s var(--ease-io)}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="building"] :is([data-n="0"],[data-n="1"],[data-n="2"]){animation:none}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="building"] :is([data-n="3"],[data-n="4"],[data-n="5"]){animation:lp-ic-draw .4s var(--ease) calc(.5s + var(--n,0) * 80ms) both,lp-ic-light 1.4s steps(1) calc(1.2s + var(--n,0) * 230ms) infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="cup"] :is([data-n="2"],[data-n="3"]){animation:lp-ic-steam 1.3s ease-out calc((var(--n,0) - 2) * .45s) infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="cup"] :is([data-n="0"],[data-n="1"]){animation:lp-ic-draw .8s var(--ease) calc(var(--n,0) * 120ms) both}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="ball"]{animation:lp-ic-bounce 1.1s cubic-bezier(.33,0,.67,1) 2}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx:is([data-i="ball"],[data-i="turn"],[data-i="phone"],[data-i="sparkle"]) path{animation:none}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="eye"]{animation:lp-ic-blinkeye 1.6s ease-in-out .2s infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="eye"] [data-n="1"]{animation:lp-ic-look 1.6s ease-in-out .2s infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="gauge"] [data-n="1"]{transform-origin:12px 17px;animation:lp-ic-needle 1.1s var(--ease-io) both}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="hand"]{transform-origin:50% 90%;animation:lp-ic-hi 1.3s ease-in-out}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="roll"]{animation:lp-ic-bob 1.4s ease-in-out infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="roll"] [data-n="2"]{transform-origin:12px 6.5px;animation:lp-ic-globe 1.4s ease-in-out infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="sensor"] path:not([data-n="0"]){animation:lp-ic-light 1.2s ease-in-out infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="sensor"] :is([data-n="3"],[data-n="4"]){animation-delay:.3s}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="traffic"] :is([data-n="0"],[data-n="2"]){animation:lp-ic-bob .7s ease-in-out infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="traffic"] :is([data-n="1"],[data-n="3"]){animation:lp-ic-bob .7s ease-in-out .35s infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="turn"]{animation:lp-ic-spin .9s var(--ease-io)}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="box"] [data-n="0"]{animation:lp-ic-lid 1s var(--ease-io)}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="file"]{animation:lp-ic-lift 1s var(--ease-io)}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="globe"] :is([data-n="2"],[data-n="3"]){transform-origin:12px 12px;animation:lp-ic-globe 1.8s ease-in-out infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="key"]{transform-origin:33% 62%;animation:lp-ic-turnkey .9s var(--ease-io)}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="layers"] [data-n="0"]{animation:lp-ic-up 1.2s var(--ease-io) infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="layers"] [data-n="1"]{animation:lp-ic-down 1.2s var(--ease-io) infinite}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="list"] :is([data-n="3"],[data-n="4"],[data-n="5"]){transform-box:fill-box;transform-origin:center;animation:lp-ic-pop .4s var(--ease) calc((var(--n,0) - 3) * 120ms + .1s) both}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="receipt"]{animation:lp-ic-print .9s var(--ease-io)}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="school"] [data-n="2"]{transform-origin:21px 9px;animation:lp-ic-tassel 1.3s ease-in-out}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="phone"]{animation:lp-ic-ring 1.1s ease-in-out}
.lp-icfx:is(:hover,:focus-within) .lp-ic--fx[data-i="sparkle"]{animation:lp-ic-twinkle .9s var(--ease-io)}
@media (prefers-reduced-motion:reduce){ .lp-ic--fx,.lp-ic--fx path,.lp-places .ic::after{animation:none!important;transition:none!important;stroke-dashoffset:0!important} }

/* ════════════════════════════════════════════════════════════════ 4.2 · water dispersion test — staged scene */
.lp-wt.is-fx .lp-dissolve > .sheet{display:none}
.lp-dissolve .fx-sheet{filter:drop-shadow(0 10px 14px rgba(14,110,120,.13))}
.lp-dissolve .fx-pp{fill:#fff;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.lp-dissolve .fx-wl{fill:none;stroke:currentColor;stroke-width:1.2;stroke-opacity:.45;stroke-linecap:round}
.lp-dissolve .fx-tear{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1;opacity:0}
.lp-dissolve .fx-perf .sh-l{stroke:currentColor;stroke-opacity:.4;stroke-dasharray:2 5}
.lp-dissolve .fx-perf .pf{fill:currentColor;fill-opacity:.5}
.lp-dissolve .fx-front{pointer-events:none}
.lp-dissolve .fx-tint{fill:#0e6e78;fill-opacity:.09;opacity:.55}
.lp-dissolve .fx-rip{fill:none;stroke:currentColor;stroke-width:1.2;opacity:0}
.lp-dissolve .fx-bub{fill:rgba(255,255,255,.55);stroke:currentColor;stroke-width:.9;opacity:0}
.lp-dissolve .fx-drop{fill:currentColor;fill-opacity:.75;opacity:0}
.lp-wt.is-fx .lp-dissolve .fb{opacity:0}
.lp-wt.is-fx.is-done .lp-dissolve .fb{animation:lp-wt-drift 5s ease-in-out var(--dd,0s) infinite alternate}
@keyframes lp-wt-drift{from{translate:0 0}to{translate:var(--dx2,4px) var(--dy2,3px)}}
.lp-wt__bar .lp-wt__tk{position:absolute;top:-3px;bottom:-3px;width:1.5px;margin-left:-.75px;background:var(--card);font-style:normal}
.lp-wt__ph{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:-8px 0 8px;padding:0;list-style:none}
.lp-wt__ph li{position:relative;display:grid;gap:6px;padding-top:2px;color:var(--fg2);transition:color .35s var(--ease)}
.lp-wt__phn{font:500 10.5px/1 var(--f-mono);letter-spacing:.08em;opacity:.7}
.lp-wt__phl{font-size:13px;font-weight:600;line-height:1.2;overflow-wrap:anywhere}
.lp-wt__ph i{display:block;height:2px;border-radius:2px;background:rgba(14,110,120,.14);overflow:hidden}
.lp-wt__ph b{display:block;height:100%;background:var(--lp-aqua);transform-origin:0 50%;transform:scaleX(var(--pp,0))}
.lp-wt__ph li.is-on{color:var(--lp-aqua)}
.lp-wt__ph li.is-past{color:var(--fg)}
.lp-wt__ph li.is-past .lp-wt__phn::after{content:" ✓";color:var(--lp-aqua)}
@media (max-width:520px){ .lp-wt__ph{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px} }
@media (prefers-reduced-motion:reduce){ .lp-wt.is-fx.is-done .lp-dissolve .fb{animation:none} }

/* ════════════════════════════════════════════════════════════════ 4.2 · hover rows — image change */
@keyframes lp-float-swap{from{clip-path:inset(100% 0 0 0);transform:scale(1.12)}to{clip-path:inset(0 0 0 0);transform:none}}
.lp-rows__float.is-swap img{animation:lp-float-swap .55s var(--ease)}
@media (prefers-reduced-motion:reduce){ .lp-rows__float.is-swap img{animation:none} }

/* ═══════════════════════════════════════════════ v4.3 · Animated map of Tunisia (.lp-tnmap)
   24 governorates (amCharts geodata, Mercator), Le Kram hub. Variants: --dist (home), --radar (Pulire Tunisie), --pin (call-to-action art). */
.lp-tnmap{--tm-a:var(--dw-a,#a9bcf5);--tm-f:color-mix(in srgb,var(--tm-a) 7%,transparent);--tm-w:color-mix(in srgb,var(--tm-a) 26%,transparent);--tm-h:color-mix(in srgb,var(--tm-a) 38%,transparent);display:block;overflow:visible}
.lp-tnmap text{font:500 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;fill:currentColor;stroke:none}
.lp-tnmap .tm-grat path{stroke:currentColor;stroke-opacity:.1;stroke-width:1;stroke-dasharray:2 7}
.lp-tnmap .tm-grat text{font-size:11px;fill-opacity:.32}
.lp-tnmap .tm-sea{font-size:14px;letter-spacing:.62em;fill-opacity:.34}
.lp-tnmap .tm-ctry{font-size:13px;letter-spacing:.5em;fill-opacity:.24}
.lp-tnmap .tm-coord{font-size:13px;letter-spacing:.12em;fill-opacity:.62;text-anchor:middle}
.lp-tnmap .g{fill:var(--tm-f);stroke:currentColor;stroke-opacity:.24;stroke-width:1;stroke-linejoin:round;cursor:default;transition:fill .3s var(--ease),stroke-opacity .3s var(--ease)}
.lp-tnmap .g.is-hot{fill:var(--tm-h);stroke-opacity:.85;animation:none!important}
.lp-tnmap .tm-coast{stroke:currentColor;stroke-opacity:.82;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}
.lp-tnmap :is(.tm-routes,.tm-pulses,.tm-dots,.tm-lead,.tm-kram,.tm-sweep,.tm-blips,.tm-rings,.tm-grat,text){pointer-events:none}
.lp-tnmap .tm-routes .r{stroke:var(--tm-a);stroke-opacity:.42;stroke-width:1.1;stroke-linecap:round}
.lp-tnmap .tm-pulses .p{stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:.05 .95;stroke-dashoffset:.05;opacity:0}
.lp-tnmap .tm-dots .c{fill:currentColor;fill-opacity:.9;transform-box:fill-box;transform-origin:center}
.lp-tnmap .tm-lead{stroke:currentColor;stroke-opacity:.55;stroke-width:1.2;stroke-dasharray:.012 .014;animation:tm-march 1.6s linear infinite}
.lp-tnmap .tm-kram .kd{fill:#fff;stroke:var(--tm-a);stroke-width:2.5}
.lp-tnmap .tm-kram .kh{fill:var(--tm-a);fill-opacity:.18;stroke:var(--tm-a);stroke-width:1.2}
.lp-tnmap .tm-kram .rp{stroke:var(--tm-a);stroke-width:1.4;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;opacity:0;animation:tm-rip 3.6s var(--ease) infinite;animation-delay:calc(var(--i,0) * 1.2s)}
@keyframes tm-rip{0%{transform:scale(1);opacity:.9}100%{transform:scale(7);opacity:0}}
@keyframes tm-march{to{stroke-dashoffset:-.052}}
@keyframes tm-pulse{0%{stroke-dashoffset:.05;opacity:0}6%{opacity:1}52%{stroke-dashoffset:-.95;opacity:1}58%,100%{stroke-dashoffset:-.95;opacity:0}}
@keyframes tm-hit{0%,50%,66%,100%{transform:none}55%{transform:scale(2.1)}}
@keyframes tm-wave{0%,16%,100%{fill:var(--tm-f)}6%{fill:var(--tm-w)}}
.lp-tnmap.is-in .g{animation:tm-wave 8s var(--ease-io) infinite;animation-delay:calc(var(--k,0) * .12s + 3s)}
.lp-tnmap.is-in .tm-pulses .p{animation:tm-pulse 4.2s var(--ease-io) infinite;animation-delay:calc(var(--k,0) * .19s + 2.6s)}
.lp-tnmap.is-in .tm-dots .c{animation:tm-hit 4.2s var(--ease-io) infinite;animation-delay:calc(var(--k,0) * .19s + 2.6s)}
/* reveal (scripted): governorates from Le Kram outwards, coastline drawn, routes, then the pulses */
.js .lp-tnmap .g{transition:opacity .7s var(--ease) calc(var(--k,0) * 50ms + .2s),fill .3s var(--ease),stroke-opacity .3s var(--ease)}
.js .lp-tnmap:not(.is-in) .g{opacity:0;transition:none}
.js .lp-tnmap .tm-coast{stroke-dasharray:1 1;transition:stroke-dashoffset 2.8s var(--ease-soft) .1s}
.js .lp-tnmap:not(.is-in) .tm-coast{stroke-dashoffset:1;transition:none}
.js .lp-tnmap .tm-routes .r{stroke-dasharray:1 1;transition:stroke-dashoffset 1.3s var(--ease-soft) calc(var(--k,0) * 60ms + 1.1s)}
.js .lp-tnmap:not(.is-in) .tm-routes .r{stroke-dashoffset:1;transition:none}
.js .lp-tnmap .tm-dots .c{transition:opacity .4s var(--ease) calc(var(--k,0) * 60ms + 1.7s)}
.js .lp-tnmap:not(.is-in) .tm-dots .c{opacity:0;transition:none}
.js .lp-tnmap :is(.tm-grat,.tm-lead,text){transition:opacity 1s var(--ease) 1.6s}
.js .lp-tnmap:not(.is-in) :is(.tm-grat,.tm-lead,text){opacity:0;transition:none}
.js .lp-tnmap .tm-kram{transition:opacity .6s var(--ease) .5s,transform .9s var(--ease-soft) .5s}
.js .lp-tnmap:not(.is-in) .tm-kram{opacity:0;transform:translateY(-40px);transition:none}
.lp-tnmap__tip{position:absolute;z-index:4;left:0;top:0;padding:7px 12px 6px;border-radius:var(--r-pill);background:#fffcf7;color:var(--lp-ink);box-shadow:0 10px 30px -12px rgba(9,13,69,.45);
  font:500 11.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;translate:-50% calc(-100% - 14px);opacity:0;transition:opacity .2s var(--ease)}
.lp-tnmap__tip.is-on{opacity:1}
.lp-tnmap__tip small{display:block;margin-bottom:4px;font-size:9.5px;letter-spacing:.16em;opacity:.55}

/* home — « Pulire Tunisie, au Kram. » */
@media (min-width:1024px){ .lp-dist__grid:has(.lp-dist__net--tn){grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)} }
.lp-dist__net.lp-dist__net--tn{aspect-ratio:840/1100;width:min(100%,660px);margin-inline:auto;
  background:radial-gradient(46% 30% at 45% 16%,rgba(169,188,245,.2),transparent 72%),radial-gradient(60% 50% at 40% 52%,rgba(169,188,245,.07),transparent 75%),rgba(255,255,255,.025)}
.lp-dist__net--tn::before{-webkit-mask:radial-gradient(80% 70% at 50% 40%,#000 25%,transparent 85%);mask:radial-gradient(80% 70% at 50% 40%,#000 25%,transparent 85%);opacity:.7}
.lp-dist__net--tn .lp-tnmap{position:absolute;inset:0;width:100%;height:100%}
.lp-dist__net--tn .lp-dist__hub{left:72.62%;top:22.73%;width:clamp(78px,19%,124px);box-shadow:0 0 0 10px rgba(169,188,245,.08),0 24px 50px -18px rgba(0,0,0,.6)}
.lp-dist__net--tn .lp-dist__tag[style*="--k:0"]{left:44.6%;top:7.4%}
.lp-dist__net--tn .lp-dist__tag[style*="--k:1"]{left:72.62%;top:34.6%}
.lp-dist__net--tn .lp-dist__tag[style*="--k:2"]{left:79%;top:79%}
.lp-dist__net--tn .lp-dist__tag[style*="--k:3"]{left:80%;top:60%}
.lp-dist__net--tn .lp-dist__tag{z-index:2}
@media (max-width:520px){ .lp-dist__net--tn .lp-dist__tag{padding:6px 10px;font-size:11px} .lp-dist__net--tn .lp-dist__tag--n b{font-size:18px} .lp-tnmap--dist :is(.tm-grat text,.tm-ctry){display:none} }

/* « Pulire Tunisie » — radar centred on Le Kram */
.lp-finder__radar.lp-finder__radar--tn{aspect-ratio:532/1030;width:min(100%,340px)}
.lp-finder__radar--tn svg{width:100%;height:100%}
.lp-tnmap--radar{color:var(--lp-navy);--tm-a:var(--lp-navy);--tm-f:rgba(1,33,105,.035);--tm-w:rgba(1,33,105,.1);--tm-h:rgba(1,33,105,.16)}
.lp-tnmap--radar .g{stroke-opacity:.2}
.lp-tnmap--radar .tm-coast{stroke-opacity:.7;stroke-width:1.4}
.lp-tnmap .tm-rings .rg{stroke:currentColor;stroke-opacity:.13;stroke-width:1;stroke-dasharray:3 7}
.lp-tnmap .tm-sweep .sw{transform-box:fill-box;transform-origin:center;animation:lp-spin 6s linear infinite}
.lp-tnmap .tm-blips .dt{fill:currentColor;transform-box:fill-box;transform-origin:center;opacity:.22;animation:lp-blip 6s linear infinite;animation-delay:var(--t,0s)}
.lp-tnmap--radar .tm-kram .kd{fill:var(--lp-navy);stroke:#fff}
.js .lp-tnmap :is(.tm-rings,.tm-sweep,.tm-blips){transition:opacity 1s var(--ease) 1.2s}
.js .lp-tnmap:not(.is-in) :is(.tm-rings,.tm-sweep,.tm-blips){opacity:0;transition:none}

/* call-to-action art — the map pin lands on Le Kram */
.lp-cta__art.lp-cta__art--tn{max-width:none;display:grid;place-items:center}
.lp-tnmap--pin{width:auto;height:clamp(280px,36vw,470px);max-width:100%;color:inherit}
.lp-tnmap--pin .tm-land{fill:currentColor;fill-opacity:.055}
.lp-tnmap--pin .tm-bord{stroke:currentColor;stroke-opacity:.26;stroke-width:1;stroke-linejoin:round}
.lp-tnmap--pin .tm-coast{stroke-width:1.8}
.lp-tnmap--pin .tm-rip{stroke:var(--tm-a);stroke-width:1.6;vector-effect:non-scaling-stroke;animation:lp-ripple 3.6s var(--ease-io) infinite;animation-delay:calc(var(--i,0) * .5s - 3.6s)}
.lp-tnmap--pin .tm-pin{animation:tm-bob 3s var(--ease-io) infinite}
.lp-tnmap--pin .tm-pin .pf{fill:var(--dw-f,#fffcf7);stroke:var(--tm-a);stroke-width:3;stroke-linejoin:round}
.lp-tnmap--pin .tm-pin .pc{fill:none;stroke:var(--tm-a);stroke-width:3}
.lp-tnmap--pin .tm-pin .pd{fill:var(--tm-a)}
.lp-tnmap--pin .tm-shd{fill:currentColor;fill-opacity:.22;transform-box:fill-box;transform-origin:center;animation:lp-shd 3s var(--ease-io) infinite}
@keyframes tm-bob{50%{transform:translateY(-14px)}}
.js .lp-tnmap--pin .tm-bord{stroke-dasharray:1 1;transition:stroke-dashoffset 2.2s var(--ease-soft) .6s}
.js .lp-tnmap--pin:not(.is-in) .tm-bord{stroke-dashoffset:1;transition:none}
.js .lp-tnmap--pin :is(.tm-land,.tm-rip,.tm-shd){transition:opacity .9s var(--ease) 1.2s}
.js .lp-tnmap--pin:not(.is-in) :is(.tm-land,.tm-rip,.tm-shd){opacity:0;transition:none}
.js .lp-tnmap--pin .tm-pin .pf,.js .lp-tnmap--pin .tm-pin .pc{stroke-dasharray:1 1;transition:stroke-dashoffset 1.1s var(--ease-soft) 1.3s}
.js .lp-tnmap--pin:not(.is-in) .tm-pin :is(.pf,.pc){stroke-dashoffset:1;transition:none}
.js .lp-tnmap--pin .tm-pin .pd{transition:opacity .4s var(--ease) 2.1s}
.js .lp-tnmap--pin:not(.is-in) .tm-pin .pd{opacity:0;transition:none}
@media (max-width:767px){ .lp-cta__art.lp-cta__art--tn{justify-self:start} .lp-tnmap--pin{height:clamp(230px,62vw,320px)} }
@media (prefers-reduced-motion:reduce){
  .lp-tnmap *,.lp-tnmap{animation:none!important;transition:none!important}
  .lp-tnmap .tm-kram .rp,.lp-tnmap .tm-pulses .p{display:none}
  .lp-tnmap .tm-blips .dt{opacity:.6}
  .lp-tnmap .tm-sweep{display:none}
}
@media print{ .lp-tnmap *{animation:none!important;transition:none!important;opacity:1!important;stroke-dashoffset:0!important} .lp-tnmap .tm-pulses,.lp-tnmap__tip{display:none!important} }
.lp-dist__net--tn .lp-dist__hub::before,.lp-dist__net--tn .lp-dist__hub::after{animation-name:lp-dist-ping-tn}
@keyframes lp-dist-ping-tn{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.65);opacity:0}}
.lp-tnmap--radar{overflow:hidden}
.lp-cta__art .lp-tnmap--pin{width:auto;height:clamp(280px,34vw,460px);max-width:100%}
@media (max-width:767px){ .lp-cta__art .lp-tnmap--pin{height:clamp(220px,60vw,300px)} }

/* =====================================================================
   v4.3 — photo / drawing switch (product grids) · gallery: drawing first, thumbnail slider
   ===================================================================== */
.lp-pvt{position:relative;display:inline-flex;flex:none;gap:2px;padding:3px;border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--card)}
.lp-pvt button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px 0 12px;border-radius:var(--r-pill);font:600 13px/1 var(--f-sans);color:var(--fg2);white-space:nowrap;transition:color var(--t-short),background-color var(--t-short)}
.lp-pvt button:hover{color:var(--fg)}
.lp-pvt button[aria-pressed="true"]{color:#fff}
.lp-pvt:not(.is-ink) button[aria-pressed="true"]{background:var(--lp-ink)}
.lp-pvt .lp-ic{width:17px;height:17px;flex:none}
.lp-pvt__ink{position:absolute;left:0;top:3px;bottom:3px;width:var(--w,0px);transform:translateX(var(--x,0px));border-radius:var(--r-pill);background:var(--lp-ink);transition:transform var(--t-med) var(--ease),width var(--t-med) var(--ease)}
html:not(.js) .lp-pvt,html:not(.js) .lp-pvbar{display:none}
[data-tone="ink"] .lp-pvt button[aria-pressed="true"],[data-tone="black"] .lp-pvt button[aria-pressed="true"]{color:var(--lp-ink)}
[data-tone="ink"] .lp-pvt__ink,[data-tone="black"] .lp-pvt__ink,[data-tone="ink"] .lp-pvt:not(.is-ink) button[aria-pressed="true"]{background:#fff}
.lp-pvbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:0 0 18px}
.lp-pvbar__l{font:500 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg2)}
@media (max-width:640px){
  .lp-pvt button{height:40px;padding:0 12px}
  .lp-pvt button > span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .lp-pvbar{margin-bottom:14px}
}

/* the drawing layer of a photo card (added by circolare.js from the drawing index) */
.lp-pv__dw{position:absolute;inset:0;display:grid;place-items:center;padding:16%;color:var(--lp-ink);background:radial-gradient(circle at 50% 46%,#fff 0,var(--lp-paper) 74%);opacity:0;visibility:hidden;pointer-events:none;
  --dw-a:var(--lc,var(--lp-navy));--dw-f:var(--lp-paper-bright);--dw-f2:#f1ebdf;--dw-f3:#e2d8c6;--dw-sw:1.9;transition:opacity .45s var(--ease),visibility 0s linear .45s}
.lp-pv__dw > svg{width:100%;height:100%;transition:transform .8s var(--ease)}
.lp-pc:hover .lp-pv__dw > svg{transform:translateY(-3%) scale(1.04)}
:is(.lp-pv__dw,.lp-gal__v--draw,.lp-gal__t > span)[style*="--sw"]{--dw-f:color-mix(in srgb,var(--sw) 34%,#fffcf7);--dw-f2:color-mix(in srgb,var(--sw) 52%,#f1ebdf);--dw-f3:color-mix(in srgb,var(--sw) 68%,#e2d8c6)}
.js[data-pv="draw"] .lp-pv--dual > img{opacity:0!important;transition:opacity .3s var(--ease)}
.js[data-pv="draw"] .lp-pv__dw{opacity:1;visibility:visible;transition:opacity .45s var(--ease)}
.js[data-pv="draw"] .lp-pv--dual{background:radial-gradient(circle at 50% 46%,#fff 0,var(--lp-paper) 74%)}
.lp-fc .lp-pv__dw{padding:13% 17%;background:linear-gradient(180deg,#fff 0,var(--lp-paper) 100%)}
.is-list .lp-pv__dw{padding:12%}
@media (min-width:760px){ .lp-pgrid--few .lp-pv__dw{padding:8% 12%} }

/* gallery: the drawing is the first view; the main photo keeps its packshot framing */
.lp-gal:not(.lp-gal--fato) .lp-gal__v--img.lp-gal__v--main:not(.lp-gal__v--photo):not(.lp-gal__v--pack) img{object-fit:contain;border-radius:0;filter:drop-shadow(0 30px 36px rgba(9,13,69,.18))}
.lp-gal__t--main img{object-fit:contain;padding:6px}
.lp-gal__t--main.lp-gal__t--photo img,.lp-gal--fato .lp-gal__t--main img{object-fit:cover;padding:0}
.lp-gal__t--draw span{background:radial-gradient(circle at 50% 46%,#fff 0,var(--lp-paper) 90%)}
.lp-gal--fato .lp-gal__v--draw .lp-draw{width:64%}

/* thumbnail slider */
.lp-gal{min-width:0}
.lp-gal__th{position:relative;display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;overflow:visible}
.lp-gal__tt{position:relative;flex:1;min-width:0;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:6px;padding:3px 2px 6px;overscroll-behavior-x:contain}
.lp-gal__tt::-webkit-scrollbar{display:none}
.lp-gal__tt > .lp-gal__t{scroll-snap-align:start}
.lp-gal__ar{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair-2);background:var(--card);color:var(--fg);transition:opacity var(--t-short),background-color var(--t-short),color var(--t-short),border-color var(--t-short)}
.lp-gal__ar:hover:not(:disabled){background:var(--lp-ink);border-color:var(--lp-ink);color:#fff}
.lp-gal__ar:disabled{opacity:.32;cursor:default}
.lp-gal__ar[hidden]{display:none}
.lp-gal__ar .lp-ic{width:18px;height:18px}
@media (max-width:640px){ .lp-gal__t{width:70px;height:70px} .lp-gal__ar{width:34px;height:34px} }
@media print{ .lp-pvt,.lp-pvbar,.lp-pv__dw{display:none!important} }

/* ═══════════════════════════════════════════════ v4.3.1 · quick view → product page */
.lp-qv__t a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-underline-offset:.12em;transition:text-decoration-color var(--t-short)}
.lp-qv__t a:hover,.lp-qv__t a:focus-visible{text-decoration-color:currentColor}
.lp-qv__acts .lp-qv__page{flex:1 1 230px;--b-bd:var(--lp-ink)}
.lp-qv__acts .lp-qv__cmp{flex:0 1 auto}
@media (max-width:767px){ .lp-qv__b .lp-qv__acts .lp-qv__page{flex:1 1 100%} }

/* ═══════════════════════════════════════════════ v4.4 · quick view: alternative pictures (thumbnail rail) */
.lp-qv__th{position:absolute;left:18px;top:50%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;max-height:calc(100% - 170px);transform:translateY(-50%)}
.lp-qv__th[hidden],.lp-qv__ta[hidden]{display:none}
.lp-qv__tt{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px;padding:3px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior:contain;scroll-snap-type:y proximity;touch-action:pan-y}
.lp-qv__tt::-webkit-scrollbar{display:none}
.lp-qv__tb{flex:none;width:58px;height:58px;padding:3px;border-radius:15px;border:1px solid var(--hair);background:rgba(255,252,247,.94);box-shadow:0 8px 18px -12px rgba(9,13,69,.45);scroll-snap-align:start;
  transition:border-color var(--t-short),transform var(--t-short) var(--ease),box-shadow var(--t-short)}
.lp-qv__tb > span{display:grid;place-items:center;width:100%;height:100%;border-radius:11px;overflow:hidden;background:radial-gradient(circle at 50% 46%,#fff 0,var(--lp-paper) 92%);color:var(--lp-ink)}
.lp-qv__tb img{width:100%;height:100%;object-fit:cover}
.lp-qv__tb:is(.lp-qv__tb--cut,.lp-qv__tb--pack,.lp-qv__tb--doc) img{object-fit:contain;padding:4px}
.lp-qv__tb--pack img{mix-blend-mode:multiply}
.lp-qv__tb svg{width:78%;height:78%;--dw-a:var(--lp-navy);--dw-f:var(--lp-paper-bright);--dw-f2:#f1ebdf;--dw-f3:#e2d8c6;--dw-sw:2.8}
.lp-qv__tb:hover{transform:translateX(2px);border-color:var(--hair-2)}
.lp-qv__tb[aria-pressed="true"]{border-color:var(--lp-ink);box-shadow:inset 0 0 0 1px var(--lp-ink),0 10px 22px -12px rgba(9,13,69,.5)}
.lp-qv__tb:focus-visible{outline:2px solid var(--c,var(--lp-navy));outline-offset:2px}
.lp-qv__ta{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair);background:rgba(255,252,247,.94);color:var(--lp-ink);transition:opacity var(--t-short),background-color var(--t-short),color var(--t-short)}
.lp-qv__ta .lp-ic{width:15px;height:15px;transform:rotate(90deg)}
.lp-qv__ta:hover:not(:disabled){background:var(--lp-ink);color:#fffcf7}
.lp-qv__ta:disabled{opacity:.3;cursor:default}
/* the main picture and orbit ring leave room for the vertical rail */
.lp-qv.has-th .lp-qv__ring{inset:28px 24px 68px 92px;width:calc(100% - 116px);height:calc(100% - 96px);max-width:420px;max-height:420px;margin:auto}
.lp-qv.has-th .lp-qv__v:not(.is-photo){inset:28px 24px 68px 92px;width:calc(100% - 168px);height:calc(100% - 148px);max-width:340px;max-height:340px;margin:auto}
.lp-qv.has-th .lp-qv__v.is-photo{padding-left:86px}
/* technical sheet view */
.lp-qv__v.is-doc{inset:28px 24px 68px 92px;width:calc(100% - 140px);height:calc(100% - 120px);max-width:380px;max-height:480px;margin:auto}
.lp-qv__doc{position:relative;display:grid;place-items:center;width:100%;height:100%}
.lp-qv__doc img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(9,13,69,.2))}
.lp-qv__doc > span{position:absolute;left:50%;bottom:4%;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--r-pill);background:var(--lp-ink);color:#fffcf7;font:600 13.5px/1 var(--f-sans);white-space:nowrap;transform:translateX(-50%);
  box-shadow:0 14px 26px -14px rgba(9,13,69,.6);transition:background-color var(--t-short),transform var(--t-short) var(--ease)}
.lp-qv__doc > span .lp-ic{width:16px;height:16px}
.lp-qv__doc:hover > span{background:var(--lp-navy);transform:translateX(-50%) translateY(-2px)}
.lp-qv__media:has(.is-doc) .lp-qv__ring{display:none}
@media (max-width:767px){
  .lp-qv__th{left:14px;right:112px;top:auto;bottom:12px;flex-direction:row;max-height:none;transform:none}
  .lp-qv__tt{flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;touch-action:pan-x}
  .lp-qv__tb{width:46px;height:46px;border-radius:13px}
  .lp-qv__tb > span{border-radius:9px}
  .lp-qv__tb:hover{transform:none}
  .lp-qv__ta{width:30px;height:30px}
  .lp-qv__ta .lp-ic{transform:none}
  .lp-qv.has-th .lp-qv__n{display:none}
  .lp-qv__ring,.lp-qv.has-th .lp-qv__ring{inset:14px 20px 66px 20px;width:calc(100% - 40px);height:calc(100% - 80px);max-width:210px;max-height:210px;margin:auto}
  .lp-qv__v:not(.is-photo),.lp-qv.has-th .lp-qv__v:not(.is-photo){inset:14px 20px 66px 20px;width:calc(100% - 80px);height:calc(100% - 110px);max-width:170px;max-height:170px;margin:auto}
  .lp-qv.has-th .lp-qv__v.is-photo{padding:0 0 62px}
}
@media print{ .lp-qv__th{display:none} }

/* ==========================================================================
   v4.4 / v4.6 · group websites (mega panels, mobile navigation, footer)
   ========================================================================== */
.lp-grp__l{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.lp-grp__s{--c:var(--lp-navy);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 12px;color:var(--lp-ink);text-decoration:none}
.lp-grp__m{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:color-mix(in srgb,var(--c) 11%,var(--lp-paper-bright));color:var(--c);
  transition:transform .5s var(--ease-back),background-color var(--t-short),box-shadow var(--t-short)}
.lp-grp__m .lp-ic{width:22px;height:22px;stroke-width:1.5}
.lp-grp__m.is-logo{width:70px;height:36px;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1px rgba(9,13,69,.09),0 1px 2px rgba(1,33,105,.04);overflow:hidden}
.lp-grp__m.is-logo img{display:block;width:86%;height:78%;object-fit:contain;transition:transform .55s var(--ease-soft)}
.lp-grp__b{display:flex;flex-direction:column;gap:1px;min-width:0}
.lp-grp__b strong{order:1;font:600 14px/1.15 var(--f-sans);letter-spacing:-.01em;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-grp__b em{order:2;font:500 10px/1.2 var(--f-mono);font-style:normal;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 76%,var(--lp-ink));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-grp__d{order:3;hyphens:manual;-webkit-hyphens:manual;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;line-height:1.35;color:var(--lp-slate)}
.lp-grp__u{display:inline-flex;align-items:center;gap:5px;grid-column:3;font:500 10.5px/1 var(--f-mono);color:var(--lp-slate);white-space:nowrap;
  transition:background-color var(--t-short),border-color var(--t-short),color var(--t-short),box-shadow var(--t-short)}
.lp-grp__u .lp-ic{flex:none;width:13px;height:13px;transition:transform var(--t-short) var(--ease)}
.lp-grp__s:hover .lp-grp__u .lp-ic,.lp-grp__s:focus-visible .lp-grp__u .lp-ic{transform:translate(1.5px,-1.5px)}
.lp-grp__s:hover .lp-grp__m:not(.is-logo),.lp-grp__s:focus-visible .lp-grp__m:not(.is-logo){transform:rotate(-5deg) scale(1.04)}
.lp-grp__s:hover .lp-grp__m.is-logo,.lp-grp__s:focus-visible .lp-grp__m.is-logo{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 38%,transparent),0 6px 14px -8px color-mix(in srgb,var(--c) 50%,transparent)}
.lp-grp__s:hover .lp-grp__m.is-logo img,.lp-grp__s:focus-visible .lp-grp__m.is-logo img{transform:scale(1.05)}
.lp-grp__h{margin:0}
.lp-grp__h .k{display:inline-flex;align-items:center;gap:8px;font:600 10.5px/1.2 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--lp-ink)}
.lp-grp__h .k::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--lp-navy);box-shadow:0 0 0 3px rgba(1,33,105,.12)}
.lp-grp__h .t{display:block;margin-top:4px;font:400 13px/1.35 var(--f-sans);color:var(--lp-slate)}

/* -- mega panel band (ultra-compact single-line ecosystem dock) */
.lp-grp--mx{border-top:1px solid var(--hair);background:linear-gradient(180deg,rgba(247,243,234,.42) 0%,rgba(239,232,217,.58) 100%)}
.lp-grp--mx .lp-grp__in{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 18px;padding-block:8px 9px}
.lp-grp--mx .lp-grp__h{display:inline-flex;align-items:center;white-space:nowrap;padding-right:4px}
.lp-grp--mx .lp-grp__h .t{display:none}
.lp-grp--mx .lp-grp__l{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.lp-grp--mx .lp-grp__s{height:100%;padding:5px 9px 5px 6px;border-radius:11px;background:var(--lp-paper-bright);box-shadow:inset 0 0 0 1px var(--hair),0 1px 2px rgba(9,13,69,.03);overflow:hidden;isolation:isolate;
  transition:background-color var(--t-short),box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease-soft)}
.lp-grp--mx .lp-grp__s::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 100% at 0% 50%,color-mix(in srgb,var(--c) 9%,transparent) 0%,transparent 65%);opacity:0;transition:opacity var(--t-med) var(--ease)}
.lp-grp--mx .lp-grp__s:hover,.lp-grp--mx .lp-grp__s:focus-visible{background:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 42%,transparent),0 10px 22px -12px color-mix(in srgb,var(--c) 36%,rgba(9,13,69,.18));transform:translateY(-1px)}
.lp-grp--mx .lp-grp__s:hover::after,.lp-grp--mx .lp-grp__s:focus-visible::after{opacity:1}
.lp-grp--mx .lp-grp__m{width:32px;height:32px;border-radius:8px}
.lp-grp--mx .lp-grp__m.is-logo{width:64px;height:32px;border-radius:7px}
.lp-grp--mx .lp-grp__b strong{font-size:13.5px}
.lp-grp--mx .lp-grp__d{display:none}
.lp-grp--mx .lp-grp__u{padding:5px 8px;border-radius:var(--r-pill);background:var(--lp-paper);box-shadow:inset 0 0 0 1px var(--hair)}
.lp-grp--mx .lp-grp__u .lp-ic{color:var(--c)}
.lp-grp--mx .lp-grp__s:hover .lp-grp__u,.lp-grp--mx .lp-grp__s:focus-visible .lp-grp__u{background:var(--c);color:#fff;box-shadow:inset 0 0 0 1px var(--c)}
.lp-grp--mx .lp-grp__s:hover .lp-grp__u .lp-ic,.lp-grp--mx .lp-grp__s:focus-visible .lp-grp__u .lp-ic{color:#fff}
@media (max-width:1439.98px){
  .lp-grp--mx .lp-grp__u > span{display:none}
  .lp-grp--mx .lp-grp__u{padding:6px}
}
@media (max-width:1199.98px){
  .lp-grp--mx .lp-grp__in{grid-template-columns:minmax(0,1fr);gap:6px}
}

/* -- mobile navigation */
.lp-grp--mnav{margin-top:26px}
.lp-grp--mnav .lp-grp__l{gap:0;margin-top:6px}
.lp-grp--mnav li{border-bottom:1px solid var(--hair)}
.lp-grp--mnav li:first-child{border-top:1px solid var(--hair)}
.lp-mnav__lv .lp-grp--mnav .lp-grp__s{display:grid;grid-template-columns:auto minmax(0,1fr) auto;width:100%;min-height:60px;padding:8px 0;border:0;font:inherit;color:var(--lp-ink)}
.lp-grp--mnav .lp-grp__m{grid-row:auto;width:38px;height:38px;border-radius:11px}
.lp-grp--mnav .lp-grp__m .lp-ic{width:20px;height:20px}
.lp-grp--mnav .lp-grp__m.is-logo{width:72px;height:40px;border-radius:9px}
.lp-grp--mnav .lp-grp__b strong{font-size:17px}
.lp-grp--mnav .lp-grp__u{grid-column:auto}
.lp-grp--mnav .lp-grp__u .lp-ic{width:17px;height:17px;color:var(--lp-navy)}
.lp-mnav.is-open .lp-grp--mnav{animation:lp-rise .6s var(--ease-soft) both;animation-delay:.42s}

/* -- footer (architectural dark-ink ecosystem dock) */
.lp-ft__grid:has(+ .lp-grp--ft){padding-bottom:32px}
.lp-grp--ft{display:grid;gap:14px 24px;padding:22px 0 24px;border-top:1px solid rgba(247,243,234,.12)}
.lp-grp--ft .lp-grp__h{display:grid;gap:4px}
.lp-grp--ft .lp-grp__h .lp-ft__h{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:11px;color:#fffcf7}
.lp-grp--ft .lp-grp__h .lp-ft__h::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--lp-kraft);box-shadow:0 0 0 3px rgba(176,137,88,.22)}
.lp-grp--ft .lp-grp__h .t{margin:0;font:400 13px/1.35 var(--f-sans);color:rgba(247,243,234,.6);max-width:28ch}
.lp-grp--ft .lp-grp__l{gap:10px}
.lp-grp--ft .lp-grp__s{align-items:center;height:100%;padding:9px 11px 9px 9px;border:1px solid rgba(247,243,234,.14);border-radius:14px;background:linear-gradient(135deg,rgba(255,252,247,.055) 0%,rgba(255,252,247,.018) 100%);color:#fffcf7;overflow:hidden;isolation:isolate;
  transition:border-color var(--t-short),background-color var(--t-short),transform var(--t-med) var(--ease-soft),box-shadow var(--t-med) var(--ease)}
.lp-grp--ft .lp-grp__s::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 100% at 0% 50%,color-mix(in srgb,var(--c) 18%,transparent) 0%,transparent 68%);opacity:0;transition:opacity var(--t-med) var(--ease)}
.lp-grp--ft .lp-grp__s:hover,.lp-grp--ft .lp-grp__s:focus-visible{border-color:color-mix(in srgb,var(--c) 68%,#fff);background:rgba(247,243,234,.07);transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(0,0,0,.45)}
.lp-grp--ft .lp-grp__s:hover::after,.lp-grp--ft .lp-grp__s:focus-visible::after{opacity:1}
.lp-grp--ft .lp-grp__m{width:40px;height:40px;border-radius:10px;background:rgba(247,243,234,.08);color:color-mix(in srgb,var(--c) 62%,#fff)}
.lp-grp--ft .lp-grp__m.is-logo{width:72px;height:40px;border-radius:9px;background:#fffcf7;box-shadow:0 2px 8px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.7)}
.lp-grp--ft .lp-grp__b em{color:color-mix(in srgb,var(--c) 58%,#fffcf7)}
.lp-grp--ft .lp-grp__b strong{font-size:15px;color:#fffcf7}
.lp-grp--ft .lp-grp__d{color:rgba(247,243,234,.56)}
.lp-grp--ft .lp-grp__u{margin-top:0;padding:6px 9px;border-radius:var(--r-pill);background:rgba(247,243,234,.06);border:1px solid rgba(247,243,234,.12);color:rgba(247,243,234,.76)}
.lp-grp--ft .lp-grp__s:hover .lp-grp__u,.lp-grp--ft .lp-grp__s:focus-visible .lp-grp__u{background:var(--c);border-color:var(--c);color:#fff}
@media (max-width:1359.98px){
  .lp-grp--ft .lp-grp__u > span{display:none}
  .lp-grp--ft .lp-grp__u{padding:7px}
}
@media (min-width:760px){ .lp-grp--ft .lp-grp__l{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1120px){ .lp-grp--ft{grid-template-columns:minmax(190px,.24fr) minmax(0,1fr);align-items:center} .lp-grp--ft .lp-grp__l{grid-column:auto} }
@media (prefers-reduced-motion:reduce){ .lp-grp__s,.lp-grp__s *,.lp-grp__s::after{transition:none!important} .lp-mnav.is-open .lp-grp--mnav{animation:none} }
@media print{ .lp-grp{display:none!important} }

/* ==========================================================================
   v4.5 · dispenser ↔ refill compatibility (product sheet panel, quick view chips)
   ========================================================================== */
.lp-cxa{--lc:var(--lp-navy);position:relative;display:grid;gap:22px}
.lp-cxa__h{display:grid;gap:8px;max-width:72ch}
.lp-cxa__k{display:inline-flex;align-items:center;gap:8px;margin:0;font:600 11px/1.2 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:color-mix(in srgb,var(--lc) 72%,var(--lp-ink))}
.lp-cxa__k .lp-ic{width:17px;height:17px}
.lp-cxa__t{margin:0;font:500 clamp(24px,2.6vw,34px)/1.06 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink)}
.lp-cxa__src{margin:0;font-size:13.5px;line-height:1.5;color:var(--lp-slate)}
.lp-cxa__r{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.lp-cxa__f{position:relative;display:inline-flex;justify-self:start;gap:4px;padding:4px;border-radius:var(--r-pill);background:var(--lp-paper);box-shadow:inset 0 0 0 1px var(--hair)}
.lp-cxa__f label{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 16px;border-radius:var(--r-pill);font:600 13px/1 var(--f-sans);color:var(--lp-slate);cursor:pointer;user-select:none;
  transition:background-color var(--t-short),color var(--t-short),box-shadow var(--t-short)}
.lp-cxa__f label span{font:500 11px/1 var(--f-mono);opacity:.7}
.lp-cxa__f .lp-ic{width:15px;height:15px}
.lp-cxa__f label:hover{color:var(--lp-ink)}
.lp-cxa__r--all:checked ~ .lp-cxa__f .lp-cxa__fa,.lp-cxa__r--tn:checked ~ .lp-cxa__f .lp-cxa__ft{background:var(--lp-paper-bright);color:var(--lp-ink);box-shadow:0 1px 2px rgba(1,33,105,.08),0 6px 16px -10px rgba(1,33,105,.4)}
.lp-cxa__r--all:focus-visible ~ .lp-cxa__f .lp-cxa__fa,.lp-cxa__r--tn:focus-visible ~ .lp-cxa__f .lp-cxa__ft{outline:2px solid var(--lp-navy);outline-offset:2px}
.lp-cxa__r--tn:checked ~ .lp-cxa__g .lp-cxa__i:not(.is-tn){display:none}
.lp-cxa__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,262px),1fr));gap:12px;margin:0;padding:0;list-style:none}
.lp-cxa__i{--lc:var(--lp-navy);position:relative}
.lp-cxa__a{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:14px;height:100%;padding:12px 40px 12px 12px;border-radius:var(--r-card);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair);
  color:var(--lp-ink);text-decoration:none;overflow:hidden;isolation:isolate;transition:transform var(--t-med) var(--ease-soft),box-shadow var(--t-med) var(--ease)}
.lp-cxa__a::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,color-mix(in srgb,var(--lc) 9%,transparent),transparent 62%);opacity:0;transition:opacity var(--t-med) var(--ease)}
.lp-cxa__a::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px;background:var(--lc);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-soft)}
.lp-cxa__a:hover,.lp-cxa__a:focus-visible{transform:translateY(-2px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lc) 34%,transparent),var(--elev-2)}
.lp-cxa__a:hover::before,.lp-cxa__a:focus-visible::before{opacity:1}
.lp-cxa__a:hover::after,.lp-cxa__a:focus-visible::after{transform:scaleX(1)}
.lp-cxa__v{position:relative;display:block;width:92px;aspect-ratio:1;border-radius:12px;background:radial-gradient(circle,#fff 0,var(--lp-paper) 80%);overflow:hidden}
.lp-cxa__v .lp-pv{padding:8%}
.lp-cxa__v .lp-pv--photo{padding:0}
.lp-cxa__v .lp-pv img{filter:drop-shadow(0 8px 10px rgba(9,13,69,.12))}
.lp-cxa__a:hover .lp-cxa__v .lp-pv img{transform:scale(1.1) translateY(-3%)}
.lp-cxa__b{display:grid;gap:4px;min-width:0}
.lp-cxa__l{font:600 10.5px/1.2 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--lc) 76%,var(--lp-ink))}
.lp-cxa__n{font:500 16.5px/1.18 var(--f-display);letter-spacing:-.01em;color:var(--lp-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lp-cxa__m{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 7px;font-size:12px;color:var(--lp-slate)}
.lp-cxa__m b{font:500 11px/1.2 var(--f-mono);letter-spacing:.02em;color:var(--lp-ink)}
.lp-cxa__m i{font-style:normal;opacity:.5}
.lp-cxa__s{display:inline-flex;align-items:center;gap:5px;margin-top:2px;font:500 10.5px/1.3 var(--f-mono);letter-spacing:.02em;color:var(--lp-slate)}
.lp-cxa__s .lp-ic{flex:none;width:13px;height:13px;color:var(--lp-leaf)}
.lp-cxa__i.is-soft .lp-cxa__s{color:var(--lp-kraft-ink,#7a5a2b)}
.lp-cxa__i.is-soft .lp-cxa__s .lp-ic{color:currentColor}
.lp-cxa__i.is-soft .lp-cxa__a{box-shadow:inset 0 0 0 1px var(--hair),inset 3px 0 0 color-mix(in srgb,var(--lp-kraft,#c69a5b) 60%,transparent)}
.lp-cxa__badge{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:4px;padding:4px 7px 4px 5px;border-radius:var(--r-pill);background:var(--lp-navy);color:#fff;font:600 9.5px/1 var(--f-sans);letter-spacing:.04em;text-transform:uppercase;box-shadow:0 4px 10px -4px rgba(1,33,105,.6)}
.lp-cxa__badge .lp-ic{width:11px;height:11px}
.lp-cxa__go{position:absolute;top:50%;right:14px;color:color-mix(in srgb,var(--lc) 80%,var(--lp-ink));transform:translateY(-50%);transition:transform var(--t-short) var(--ease)}
.lp-cxa__a:hover .lp-cxa__go,.lp-cxa__a:focus-visible .lp-cxa__go{transform:translate(4px,-50%)}
.lp-cxa__note{margin:0;max-width:72ch;padding:12px 16px;border-radius:12px;background:var(--lp-paper);font-size:13.5px;line-height:1.5;color:var(--lp-slate)}
.lp-cxa__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.lp-cxa__none{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;max-width:72ch;padding:clamp(18px,2.6vw,28px);border-radius:var(--r-card);background:var(--card);border:1px dashed var(--hair-2)}
.lp-cxa__none .lp-ic{width:30px;height:30px;color:var(--lp-navy)}
.lp-cxa__none p{margin:0;font-size:15px;line-height:1.5;color:var(--lp-ink)}
.lp-cxa__more{display:grid;gap:14px;margin-top:clamp(28px,4vw,44px);padding-top:clamp(22px,3vw,32px);border-top:1px solid var(--hair)}
.lp-cxa__mt{margin:0;font:600 11px/1.3 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--lp-slate)}
@media (max-width:559.98px){
  .lp-cxa__a{grid-template-columns:72px minmax(0,1fr);gap:12px}
  .lp-cxa__v{width:72px}
  .lp-cxa__f{display:flex;justify-self:stretch}
  .lp-cxa__f label{flex:1;justify-content:center}
}

/* -- quick view chips (v4.6: compact expandable/collapsible <details class="lp-qv__cx">) */
.lp-qv__cx{display:block;padding:2px 0;border-bottom:0}
.lp-qv__cxt{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:8px 11px 8px 12px;border-radius:12px;background:var(--lp-paper);box-shadow:inset 0 0 0 1px var(--hair);
  font:600 11px/1.2 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--lp-ink);cursor:pointer;list-style:none;user-select:none;transition:background-color var(--t-short),box-shadow var(--t-short)}
.lp-qv__cxt::-webkit-details-marker,.lp-qv__cxt::marker{display:none;content:""}
.lp-qv__cxt:hover,.lp-qv__cxt:focus-visible{background:color-mix(in srgb,var(--c,var(--lp-navy)) 6%,var(--lp-paper));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c,var(--lp-navy)) 34%,transparent)}
.lp-qv__cxl{display:inline-flex;align-items:center;gap:8px;min-width:0}
.lp-qv__cxl .lp-ic,.lp-qv__cxt > .lp-ic{flex:none;width:15px;height:15px;color:var(--c,var(--lp-navy))}
.lp-qv__cxr{display:inline-flex;align-items:center;gap:8px;flex:none;margin-left:auto}
.lp-qv__cxdots{display:inline-flex;align-items:center;padding-left:3px}
.lp-qv__cxdots i{width:10px;height:10px;margin-left:-3px;border-radius:50%;background:var(--c,var(--lp-navy));box-shadow:0 0 0 1.5px var(--lp-paper)}
.lp-qv__cxbtn{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--r-pill);background:var(--lp-paper-bright);box-shadow:inset 0 0 0 1px var(--hair);
  font:600 10.5px/1 var(--f-sans);letter-spacing:.01em;text-transform:none;color:var(--lp-ink);transition:background-color var(--t-short),color var(--t-short)}
.lp-qv__cxbtn .lp-ic{width:12px;height:12px;transition:transform var(--t-short) var(--ease)}
.lp-qv__cx:not([open]) .lp-qv__cxbtn .c,.lp-qv__cx[open] .lp-qv__cxbtn .o,.lp-qv__cx[open] .lp-qv__cxdots{display:none}
.lp-qv__cx[open] .lp-qv__cxbtn{background:var(--lp-ink);color:#fffcf7;box-shadow:inset 0 0 0 1px var(--lp-ink)}
.lp-qv__cx[open] .lp-qv__cxbtn .lp-ic{transform:rotate(180deg)}
.lp-qv__cxb{margin-top:7px;max-height:148px;overflow-y:auto;overscroll-behavior:contain;padding:2px;scrollbar-width:thin;scrollbar-color:rgba(9,13,69,.2) transparent}
.lp-qv__cx ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:5px;margin:0;padding:0;list-style:none}
.lp-qv__chip{--c:var(--lp-navy);display:inline-flex;align-items:center;gap:6px;width:100%;max-width:100%;min-height:29px;padding:4px 9px 4px 8px;border:0;border-radius:9px;background:var(--lp-paper);box-shadow:inset 0 0 0 1px var(--hair);
  font:500 12px/1.2 var(--f-sans);color:var(--lp-ink);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--t-short),box-shadow var(--t-short),transform var(--t-short) var(--ease)}
.lp-qv__chip i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--c)}
.lp-qv__chip span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lp-qv__chip code{flex:none;padding:2px 5px;border-radius:5px;background:rgba(9,13,69,.055);font:500 9.5px/1 var(--f-mono);color:var(--lp-slate)}
.lp-qv__chip small{flex:none;font:500 9.5px/1 var(--f-mono);color:var(--lp-slate)}
.lp-qv__chip.is-tn{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lp-navy) 26%,transparent)}
.lp-qv__chip:hover,.lp-qv__chip:focus-visible{background:color-mix(in srgb,var(--c) 9%,var(--lp-paper-bright));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent);transform:translateY(-1px)}
.lp-qv__chip--more{justify-content:center;padding-inline:10px;font-family:var(--f-mono);color:var(--lp-slate)}
@media (prefers-reduced-motion:reduce){
  .lp-cxa__a,.lp-cxa__a::after,.lp-cxa__go,.lp-cxa__v .lp-pv img,.lp-qv__chip,.lp-qv__cxbtn .lp-ic{transition:none}
  .lp-cxa__a:hover,.lp-cxa__a:focus-visible,.lp-qv__chip:hover{transform:none}
}
@media print{ .lp-cxa__f,.lp-cxa__r,.lp-cxa__cta{display:none} .lp-cxa__r--tn:checked ~ .lp-cxa__g .lp-cxa__i{display:block} }

/* -- v4.5 · Innovations mega panel: two feature cards (FATO + ECO GO GREEN) */
.lp-mxi--cards{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) 244px}
.lp-mxi__cards{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px;min-height:0}
.lp-mxi__cards .lp-mxi__fato{gap:6px;padding:18px}
.lp-mxi__cards .lp-mxi__fato strong{font-size:36px}
.lp-mxi__cards .lp-mxi__fato .t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.4}
.lp-mxi__fato .m{position:absolute;z-index:-1;pointer-events:none}
.lp-mxi__fato--egg{color:#1f3a12;background:radial-gradient(110% 80% at 0% 0%,#f4f9ee 0%,transparent 62%),linear-gradient(160deg,#e3efd5 0%,#b9d99a 100%)}
.lp-mxi__fato--egg::before{border-color:rgba(31,58,18,.22)}
.lp-mxi__fato--egg strong{font:600 22px/1.02 var(--f-sans);letter-spacing:.07em;color:#183110}
.lp-mxi__cards .lp-mxi__fato--egg strong{font-size:21px}
.lp-mxi__fato--egg.has-img > :not(.m){max-width:calc(100% - 52px)}
.lp-mxi__fato--egg .m{top:12px;right:10px;width:54px;height:62%;transform:rotate(9deg);transform-origin:50% 90%;transition:transform 1s var(--ease-soft)}
.lp-mxi__fato--egg .m img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(24,49,16,.28))}
.lp-mxi__fato--egg:hover .m,.lp-mxi__fato--egg:focus-visible .m{transform:rotate(2deg) translateY(-4px) scale(1.04)}
.lp-mxi__fato--egg .go{color:#183110}
@media (max-width:1279px){ .lp-mxi__cards{display:none} .lp-mxi--cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
@media (prefers-reduced-motion:reduce){ .lp-mxi__fato--egg .m{transition:none} .lp-mxi__fato--egg:hover .m{transform:rotate(9deg)} }

/* ==========================================================================
   v4.5 · ECO GO GREEN (Welkem) page — .lp-page--egg
   ========================================================================== */
.lp-page--egg{--egg:#4e9a2b;--egg-2:#356f1b;--egg-wash:#eef6e6;--c:var(--egg)}
/* hero */
.lp-egg-hero{position:relative;overflow:hidden;padding:clamp(28px,3.6vw,56px) 0 clamp(48px,6vw,96px);background:radial-gradient(70% 90% at 88% 30%,color-mix(in srgb,var(--egg,#4e9a2b) 16%,transparent) 0,transparent 70%),linear-gradient(180deg,var(--lp-paper) 0,color-mix(in srgb,var(--egg,#4e9a2b) 6%,var(--lp-paper)) 100%);color:var(--fg2)}
.lp-egg-hero__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(36px,5vw,88px);align-items:center}
.lp-egg-hero__text{position:relative;z-index:1;min-width:0}
.lp-egg-hero .lp-over{color:var(--fg)}
.lp-egg-hero .lp-over .tick{background:var(--egg,#4e9a2b);width:28px;height:3px}
.lp-egg-hero__t{font-size:clamp(44px,5.6vw,90px);line-height:.98;max-width:11ch;color:var(--lp-ink)}
.lp-egg-hero__lede{margin-top:clamp(20px,2.2vw,30px);max-width:52ch;font-size:clamp(17px,1.26vw,19px);line-height:1.62}
.lp-egg-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(32px,3.4vw,48px) 0 0;max-width:620px;border-top:1px solid var(--hair)}
.lp-egg-facts > div{padding:16px 16px 0 0}
.lp-egg-facts > div + div{padding-left:16px;border-left:1px solid var(--hair)}
.lp-egg-facts dt{font:500 11px/1.2 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg2)}
.lp-egg-facts dd{margin:8px 0 0;font:500 clamp(30px,3vw,44px)/1 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink)}
.lp-egg-facts dd .suf{font-size:.5em;letter-spacing:0;margin-left:.08em;color:var(--egg-2,#356f1b)}
.lp-egg-facts dd small{display:block;margin-top:8px;font:500 11.5px/1.3 var(--f-sans);letter-spacing:0;color:var(--fg2)}
.lp-egg-hero__stage{--tlx:0;--tly:0;position:relative;display:grid;place-items:center;aspect-ratio:1/1;max-width:600px;width:100%;justify-self:center;isolation:isolate}
.lp-egg-hero__halo{position:absolute;inset:8%;z-index:-2;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff 0,color-mix(in srgb,var(--egg,#4e9a2b) 20%,#fff) 58%,transparent 72%)}
.lp-egg-hero__ring{position:absolute;inset:2%;z-index:-1;width:96%;height:96%;overflow:visible}
.lp-egg-hero__ring circle{fill:none;stroke:color-mix(in srgb,var(--egg,#4e9a2b) 45%,transparent);stroke-width:1;stroke-dasharray:.006 .014;animation:lp-egg-spin 60s linear infinite;transform-origin:50% 50%}
@keyframes lp-egg-spin{to{transform:rotate(360deg)}}
.lp-egg-hero__disp{position:relative;z-index:1;width:44%;margin:0 0 6% -24%;transform:translate3d(calc(var(--tlx) * -10px),calc(var(--tly) * -8px),0);transition:transform .9s var(--ease-soft)}
.lp-egg-hero__disp img{display:block;width:100%;height:auto;filter:drop-shadow(0 30px 34px rgba(24,49,16,.28))}
.lp-egg-hero__pouches{position:absolute;right:2%;bottom:12%;z-index:2;display:flex;align-items:flex-end;gap:2%;width:52%;margin:0;padding:0;list-style:none;transform:translate3d(calc(var(--tlx) * 14px),calc(var(--tly) * 10px),0);transition:transform .9s var(--ease-soft)}
.lp-egg-hero__pouches li{flex:1;transform:translateY(calc(var(--k) * -7%)) rotate(calc((var(--k) - 1.5) * 4deg));transform-origin:50% 100%}
.lp-egg-hero__pouches img{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 16px rgba(24,49,16,.24));transition:transform .7s var(--ease-back)}
.lp-egg-hero__pouches li:hover img{transform:translateY(-8%) rotate(-3deg)}
.lp-egg-hero__tag{position:absolute;left:6%;bottom:4%;margin:0;padding:8px 12px;border-radius:var(--r-pill);background:rgba(255,255,255,.82);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px var(--hair);font:500 11px/1.2 var(--f-mono);letter-spacing:.03em;color:var(--lp-ink)}
/* full-bleed photo */
.lp-egg-bleed{position:relative;margin:0}
.lp-egg-bleed__f{position:relative;margin:0;overflow:hidden;height:clamp(320px,46vw,640px);background:#bcd6ee}
.lp-egg-bleed__m{position:absolute;inset:-8% 0;will-change:transform}
.lp-egg-bleed__m img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.lp-egg-bleed figcaption{position:absolute;left:0;right:0;bottom:clamp(18px,2.6vw,36px);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;color:#fff;font-size:14px;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.lp-egg-bleed__k{padding:6px 11px;border-radius:var(--r-pill);background:var(--egg,#4e9a2b);font:700 11px/1 var(--f-sans);letter-spacing:.12em;text-shadow:none}
/* manifesto (scroll scrub) */
.lp-egg-man{padding-block:clamp(72px,10vw,150px)}
.lp-egg-man__s{--p:1;margin-top:clamp(22px,3vw,36px)}
.lp-egg-man__t{margin:0;max-width:22ch;font:500 clamp(34px,4.6vw,72px)/1.06 var(--f-display);letter-spacing:-.025em;color:var(--lp-ink)}
.lp-egg-man__t span{opacity:clamp(.14,calc(var(--p) * 5.2 - var(--k) * 1.1),1);transition:opacity .2s linear}
.lp-egg-man__t .is-key{color:var(--egg-2,#356f1b);background:linear-gradient(transparent 72%,color-mix(in srgb,var(--egg,#4e9a2b) 26%,transparent) 72%) no-repeat 0 0/calc(clamp(0,calc(var(--p) * 1.6 - .5),1) * 100%) 100%}
.lp-egg-man__src{margin:clamp(22px,3vw,34px) 0 0;font:500 12px/1.4 var(--f-mono);color:var(--fg2)}
/* system */
.lp-egg-sys__l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);margin:0;padding:0;list-style:none;counter-reset:egg}
.lp-egg-sys__l li{position:relative;display:grid;align-content:start;gap:10px;padding:clamp(18px,2vw,26px);border-radius:var(--r-card);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair)}
.lp-egg-sys__l li + li::before{content:"";position:absolute;top:calc(clamp(18px,2vw,26px) + 110px);left:calc(-1 * clamp(14px,2vw,28px));width:clamp(14px,2vw,28px);height:1px;background:repeating-linear-gradient(90deg,var(--egg,#4e9a2b) 0 4px,transparent 4px 8px)}
.lp-egg-sys__m{display:grid;place-items:center;height:220px;margin:0 0 8px;border-radius:14px;background:radial-gradient(circle at 50% 45%,#fff 0,var(--egg-wash,#eef6e6) 85%);overflow:hidden}
.lp-egg-sys__m img{max-height:86%;width:auto;max-width:70%;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(24,49,16,.2));transition:transform .8s var(--ease-soft)}
.lp-egg-sys__m--photo img{max-height:none;max-width:none;width:100%;height:100%;object-fit:cover;filter:none}
.lp-egg-sys__l li:hover .lp-egg-sys__m img{transform:translateY(-4px) scale(1.04)}
.lp-egg-sys__n{font:500 12px/1 var(--f-mono);color:var(--egg-2,#356f1b)}
.lp-egg-sys__l h3{margin:0;font:500 22px/1.15 var(--f-display);letter-spacing:-.01em;color:var(--lp-ink)}
.lp-egg-sys__l p{margin:0;font-size:14.5px;line-height:1.55}
/* amenities vs pouch */
.lp-egg-vs__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.62fr) minmax(0,1fr);gap:clamp(14px,2vw,28px);align-items:stretch}
.lp-egg-vs__c{display:grid;align-content:start;gap:12px;padding:clamp(18px,2vw,26px);border-radius:var(--r-card);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair)}
.lp-egg-vs__c figure{display:grid;place-items:center;height:200px;margin:0;border-radius:14px;background:#fff;overflow:hidden}
.lp-egg-vs__c figure img{max-height:92%;width:auto;max-width:92%;object-fit:contain}
.lp-egg-vs__c h3{margin:4px 0 0;font:500 21px/1.15 var(--f-display);color:var(--lp-ink)}
.lp-egg-vs__c ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.lp-egg-vs__c li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.5}
.lp-egg-vs__c li::before{content:"";position:absolute;left:0;top:.28em;width:16px;height:16px;border-radius:50%;background:center/10px no-repeat}
.lp-egg-vs__c--old{background:color-mix(in srgb,var(--lp-paper-shade) 60%,var(--card))}
.lp-egg-vs__c--old li::before{background-color:rgba(9,13,69,.08);background-image:linear-gradient(45deg,transparent 45%,#6b7280 45% 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,#6b7280 45% 55%,transparent 55%)}
.lp-egg-vs__c--new{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--egg,#4e9a2b) 50%,transparent)}
.lp-egg-vs__c--new li::before{background-color:var(--egg,#4e9a2b);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6 9.6 3.6' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.lp-egg-vs__mid{display:grid;align-content:center;justify-items:center;gap:6px;padding:clamp(18px,2vw,26px);border-radius:var(--r-card);background:var(--egg-2,#356f1b);color:#f2f8ec;text-align:center}
.lp-egg-vs__big{margin:0;font:500 clamp(64px,7vw,104px)/.9 var(--f-display);letter-spacing:-.04em;color:#fff}
.lp-egg-vs__big .suf{font-size:.46em;margin-left:.04em}
.lp-egg-vs__big--s{margin-top:22px;font-size:clamp(40px,4.2vw,60px)}
.lp-egg-vs__lab{margin:0;max-width:24ch;font-size:13.5px;line-height:1.45;color:rgba(242,248,236,.86)}
/* fragrances */
.lp-egg-scent__g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,64px);align-items:center}
.lp-tabs--egg .lp-tabs__l{margin-bottom:22px}
.lp-egg-scent__p{display:grid;gap:22px}
.lp-egg-scent__k{margin:0;font:500 11px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sc)}
.lp-egg-scent__t h3{margin:6px 0 8px;font:500 clamp(34px,3.6vw,52px)/1 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink)}
.lp-egg-scent__t p{margin:0;max-width:44ch;font-size:15.5px;line-height:1.55}
.lp-egg-scent__l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.lp-egg-scent__l a{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;height:100%;padding:12px 38px 12px 12px;border-radius:var(--r-card);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair);color:var(--lp-ink);text-decoration:none;overflow:hidden;
  transition:transform var(--t-med) var(--ease-soft),box-shadow var(--t-med) var(--ease)}
.lp-egg-scent__l a::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sc)}
.lp-egg-scent__l a:hover,.lp-egg-scent__l a:focus-visible{transform:translateY(-2px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sc) 45%,transparent),var(--elev-2)}
.lp-egg-scent__l figure{display:grid;place-items:center;height:110px;margin:0;border-radius:10px;background:radial-gradient(circle at 50% 40%,#fff 0,color-mix(in srgb,var(--sc) 12%,#fff) 90%)}
.lp-egg-scent__l figure img{height:92%;width:auto;filter:drop-shadow(0 8px 10px rgba(9,13,69,.18));transition:transform .7s var(--ease-back)}
.lp-egg-scent__l a:hover figure img{transform:rotate(-5deg) translateY(-4px)}
.lp-egg-scent__l .b{display:grid;gap:4px;min-width:0}
.lp-egg-scent__l strong{font:500 16px/1.2 var(--f-display);letter-spacing:-.01em}
.lp-egg-scent__l .b > span{font-size:12.5px;line-height:1.4;color:var(--fg2)}
.lp-egg-scent__l code{justify-self:start;padding:3px 7px;border-radius:6px;background:var(--lp-paper);font:500 11px/1.2 var(--f-mono);color:var(--lp-ink)}
.lp-egg-scent__l .lp-arw{position:absolute;right:12px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--sc);transition:transform var(--t-short) var(--ease)}
.lp-egg-scent__l a:hover .lp-arw{transform:translate(3px,-50%)}
.lp-egg-scent__ph{margin:0;border-radius:var(--r-sheet);overflow:hidden;aspect-ratio:863/668;box-shadow:var(--elev-2)}
.lp-egg-scent__ph img{width:100%;height:100%;object-fit:cover}
/* skin */
.lp-egg-skin__g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:start}
.lp-egg-skin__ph{position:relative;margin:0;border-radius:var(--r-sheet);overflow:visible}
.lp-egg-skin__ph > img{display:block;width:100%;height:auto;border-radius:var(--r-sheet);aspect-ratio:538/360;object-fit:cover}
.lp-egg-skin__stamp{position:absolute;right:-18px;bottom:-34px;width:clamp(96px,11vw,150px);aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 18px 30px -14px rgba(9,13,69,.4);padding:8px;animation:lp-egg-spin 40s linear infinite}
.lp-egg-skin__stamp img{width:100%;height:100%;object-fit:contain}
.lp-egg-skin__t{display:grid;gap:22px}
.lp-egg-skin__t article h3{margin:0 0 6px;font:500 22px/1.15 var(--f-display);color:var(--lp-ink)}
.lp-egg-skin__t article p{margin:0;max-width:60ch;font-size:15px;line-height:1.6}
.lp-egg-skin__row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,2.4vw,32px);align-items:center;padding:18px;border-radius:var(--r-card);background:var(--egg-wash,#eef6e6)}
.lp-egg-skin__row .lp-gauges{margin:0}
.lp-egg-skin__l{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.lp-egg-skin__l li{display:flex;align-items:center;gap:10px;font-size:14.5px;line-height:1.4;color:var(--lp-ink)}
.lp-egg-skin__l .lp-ic{flex:none;width:22px;height:22px;color:var(--egg-2,#356f1b)}
/* Welkem SENS */
.lp-egg-wk__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,64px);align-items:center;margin-bottom:clamp(48px,6vw,88px)}
.lp-egg-wk__ph{position:relative;margin:0;border-radius:var(--r-sheet);overflow:hidden;aspect-ratio:1188/731}
.lp-egg-wk__m{position:absolute;inset:-6% 0}
.lp-egg-wk__m img{width:100%;height:100%;object-fit:cover}
.lp-egg-wk__t h2{margin:8px 0 14px;font:500 clamp(30px,3.4vw,50px)/1.02 var(--f-display);letter-spacing:-.02em;color:var(--lp-ink);max-width:16ch}
.lp-egg-wk__t p{max-width:52ch;font-size:15.5px;line-height:1.6}
.lp-egg-wk__t .lp-over{color:#1f8fd8}
@media (max-width:1023.98px){
  .lp-egg-hero__grid,.lp-egg-scent__g,.lp-egg-skin__g,.lp-egg-wk__in{grid-template-columns:minmax(0,1fr)}
  .lp-egg-hero__stage{max-width:480px}
  .lp-egg-vs__g{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .lp-egg-vs__mid{grid-column:1/-1;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left;justify-items:start}
  .lp-egg-vs__big--s{margin-top:0}
  .lp-egg-sys__l{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .lp-egg-sys__l li:nth-child(3){grid-column:1/-1}
  .lp-egg-sys__l li + li::before{display:none}
  .lp-egg-skin__stamp{right:12px}
}
@media (max-width:639.98px){
  .lp-egg-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .lp-egg-facts > div:nth-child(3){grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid var(--hair)}
  .lp-egg-vs__g,.lp-egg-sys__l,.lp-egg-scent__l{grid-template-columns:minmax(0,1fr)}
  .lp-egg-vs__mid{grid-template-columns:minmax(0,1fr)}
  .lp-egg-sys__l li:nth-child(3){grid-column:auto}
  .lp-egg-skin__row{grid-template-columns:minmax(0,1fr);justify-items:start}
  .lp-egg-hero__disp{width:50%;margin-left:-30%}
  .lp-egg-hero__pouches{width:56%}
}
@media (prefers-reduced-motion:reduce){
  .lp-egg-hero__ring circle,.lp-egg-skin__stamp{animation:none}
  .lp-egg-hero__disp,.lp-egg-hero__pouches,.lp-egg-hero__pouches img,.lp-egg-sys__m img,.lp-egg-scent__l a,.lp-egg-scent__l figure img{transition:none}
  .lp-egg-man__t span{opacity:1}
}

/* =====================================================================
   v4.6 · Circolare Shield™ Interactive Security Captcha & File Attachment
   ===================================================================== */
.lp-fld--captcha{margin-top:10px;margin-bottom:6px}
.lp-captcha-box{position:relative;background:linear-gradient(145deg,#fbf8f2 0%,#f2ece1 100%);border:1px solid rgba(9,13,69,.14);border-radius:16px;padding:16px 18px;box-shadow:0 8px 24px -14px rgba(9,13,69,.08),inset 0 1px 0 rgba(255,255,255,.75);transition:border-color .28s cubic-bezier(.22,1,.36,1),background .28s ease,box-shadow .28s ease;overflow:hidden}
.lp-fld--captcha.is-ok .lp-captcha-box,.lp-captcha-box.is-verified{border-color:#15803d;background:linear-gradient(145deg,#f4fbf7 0%,#e6f7ed 100%);box-shadow:0 10px 28px -12px rgba(21,128,61,.18),inset 0 1px 0 rgba(255,255,255,.85)}
.lp-fld--captcha.is-err .lp-captcha-box{border-color:#b91c1c;background:linear-gradient(145deg,#fef6f6 0%,#fde8e8 100%)}
.lp-captcha-box__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid rgba(9,13,69,.09)}
.lp-captcha-box__brand{display:flex;align-items:center;gap:11px;min-width:0}
.lp-captcha-box__ic{width:36px;height:36px;border-radius:10px;background:#090d45;color:#fbf8f2;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px rgba(9,13,69,.16);transition:background-color .25s ease,transform .25s ease}
.lp-captcha-box__ic svg{width:19px;height:19px}
.lp-captcha-box.is-verified .lp-captcha-box__ic{background:#15803d;transform:scale(1.04)}
.lp-captcha-box__t{display:block;font:600 13.5px/1.25 var(--f-sans,"Plus Jakarta Sans",sans-serif);color:#090d45;letter-spacing:-.01em}
.lp-captcha-box__sub{display:block;font-size:11.5px;color:#515677;margin-top:2px}
.lp-captcha-box__actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.lp-captcha-box__mode{height:30px;padding:0 11px;border-radius:999px;border:1px solid rgba(9,13,69,.16);background:rgba(255,255,255,.75);color:#090d45;font:600 11px/1 var(--f-sans,"Plus Jakarta Sans",sans-serif);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .2s ease}
.lp-captcha-box__mode:hover{background:#090d45;color:#fff;border-color:#090d45}
.lp-captcha-box__shield{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font:600 10.5px/1.1 var(--f-mono,monospace);letter-spacing:.08em;text-transform:uppercase;background:rgba(9,13,69,.07);color:#090d45;transition:all .25s ease}
.lp-captcha-box.is-verified .lp-captcha-box__shield{background:#15803d;color:#fff;box-shadow:0 3px 10px rgba(21,128,61,.22)}
.lp-captcha-box__refresh{width:30px;height:30px;border-radius:999px;border:1px solid rgba(9,13,69,.16);background:rgba(255,255,255,.8);color:#090d45;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .25s ease,background-color .2s ease,color .2s ease}
.lp-captcha-box__refresh:hover{background:#090d45;color:#fff;transform:rotate(120deg)}
/* Mode 1: Tactile Slide-to-Align Track */
.lp-cap-slider{position:relative;user-select:none;-webkit-user-select:none}
.lp-cap-track{position:relative;height:46px;border-radius:999px;background:#fff;border:1px solid rgba(9,13,69,.16);box-shadow:inset 0 2px 5px rgba(9,13,69,.05);display:flex;align-items:center;padding:0 16px;overflow:hidden;touch-action:none}
.lp-cap-track__fill{position:absolute;left:0;top:0;bottom:0;width:0%;background:linear-gradient(90deg,rgba(9,13,69,.08) 0%,rgba(29,99,184,.18) 100%);pointer-events:none;transition:background .25s ease}
.lp-captcha-box.is-verified .lp-cap-track__fill{background:linear-gradient(90deg,rgba(21,128,61,.12) 0%,rgba(21,128,61,.24) 100%)}
.lp-cap-track__target{position:absolute;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:999px;border:1.5px dashed #1d63b8;background:rgba(29,99,184,.08);display:flex;align-items:center;justify-content:center;color:#1d63b8;font-size:12px;pointer-events:none;z-index:1;animation:lpCapPulse 2.2s infinite ease-in-out}
.lp-captcha-box.is-verified .lp-cap-track__target{border-style:solid;border-color:#15803d;background:rgba(21,128,61,.16);color:#15803d;animation:none}
@keyframes lpCapPulse{0%,100%{box-shadow:0 0 0 0 rgba(29,99,184,.25)}50%{box-shadow:0 0 0 6px rgba(29,99,184,0)}}
.lp-cap-track__lbl{position:relative;z-index:1;width:100%;text-align:center;font:500 12.5px/1.2 var(--f-sans,"Plus Jakarta Sans",sans-serif);color:#515677;pointer-events:none;padding:0 42px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}
.lp-captcha-box.is-verified .lp-cap-track__lbl{color:#15803d;font-weight:600}
.lp-cap-thumb{position:absolute;top:4px;left:4px;width:36px;height:36px;border-radius:999px;border:none;background:#090d45;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:grab;z-index:2;box-shadow:0 4px 12px rgba(9,13,69,.25);transition:background-color .2s ease,box-shadow .2s ease,transform .15s ease;padding:0}
.lp-cap-thumb:hover{background:#16206b;transform:scale(1.04)}
.lp-cap-thumb:active,.lp-cap-thumb.is-dragging{cursor:grabbing;background:#1d63b8;transform:scale(1.06)}
.lp-captcha-box.is-verified .lp-cap-thumb{background:#15803d;box-shadow:0 4px 12px rgba(21,128,61,.3)}
/* Mode 2: HTML5 Canvas Visual Code Challenge */
.lp-captcha-box__math{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:2px}
.lp-captcha-box__math[hidden]{display:none!important}
.lp-cap-canvas-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lp-cap-canvas{width:150px;height:44px;border-radius:10px;border:1px solid rgba(9,13,69,.16);background:#f2ece1;box-shadow:inset 0 1px 3px rgba(9,13,69,.06);flex-shrink:0}
.lp-captcha-box__q{font-size:13px;color:#090d45;margin:0!important;position:static!important;transform:none!important;pointer-events:auto!important}
.lp-captcha-box__q strong{display:inline-block;padding:2px 7px;border-radius:6px;background:#fff;border:1px solid rgba(9,13,69,.15);font-family:var(--f-mono,monospace);font-size:13px;color:#090d45}
.lp-captcha-box__inp{display:inline-flex;align-items:center;gap:8px}
.lp-captcha-box__inp input[type="number"]{width:86px!important;height:42px!important;padding:4px 10px!important;border:1.5px solid rgba(9,13,69,.22)!important;border-radius:10px!important;background:#fff!important;text-align:center;font:700 16px/1 var(--f-mono,monospace)!important;color:#090d45!important;transition:border-color .2s ease,box-shadow .2s ease}
.lp-captcha-box__inp input[type="number"]:focus{border-color:#090d45!important;outline:none;box-shadow:0 0 0 3px rgba(9,13,69,.12)}
.lp-captcha-box.is-verified .lp-captcha-box__inp input[type="number"]{border-color:#15803d!important;background:#f0fdf4!important;color:#15803d!important}
.lp-fld--file .lp-file-drop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px dashed rgba(9,13,69,.24);border-radius:10px;background:rgba(255,255,255,.55);cursor:pointer;font-size:13px;transition:border-color .2s ease,background-color .2s ease}
.lp-fld--file .lp-file-drop:hover{border-color:#090d45;background:#fff}
