/* =========================================================================
   Modèle « Lagon » — piscinistes
   Solaire et graphique, façon Riviera : enduit rose-sable, eau profonde,
   reflets (caustiques) qui dansent, lignes d'eau, plaques de profondeur.
   Une seule famille : Urbanist (variable, romain + italique).
   ========================================================================= */

:root{--wrap:1240px;--hdr:78px;--radius-btn:999px;--radius-input:14px;--field-bg:var(--surface);--mobilebar-bg:rgba(7,42,69,.96);--ease:cubic-bezier(.2,.7,.2,1);--shadow:0 30px 60px -32px rgba(10,37,64,.45);--shadow-s:0 14px 30px -18px rgba(10,37,64,.4);--corner:28px 150px 28px 28px;--ph-hiver:#9DB4C8;--ph-remise:var(--sun);--ph-saison:var(--water-light);--ph-fermeture:var(--accent)}
html{background:var(--bg);scroll-padding-top:calc(var(--hdr) + 24px)}
body{margin:0;background:var(--bg);color:var(--ink);font:500 1.0625rem/1.62 var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
::selection{background:var(--water-light);color:var(--ink)}
:focus-visible{outline:3px solid var(--water);outline-offset:3px;border-radius:8px}
h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:800;line-height:1;letter-spacing:-.03em}
p{margin:0}
em{font-style:italic;font-weight:400;color:var(--water);letter-spacing:-.02em}
.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;padding:10px 16px;background:var(--ink);color:var(--bg);border-radius:999px;transition:top .2s}
.skip-link:focus{top:12px}
.ico{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sec{position:relative;padding:clamp(80px,10vw,140px) 0}

/* ---------- Boutons ---------- */
.btn{font-family:var(--font-body);font-weight:700;letter-spacing:.005em;min-height:50px;padding:.85em 1.55em;font-size:1rem}
.btn .ico{width:1.1em;height:1.1em;transition:transform .3s var(--ease)}
.btn:hover .ico:last-child{transform:translateX(4px)}
.btn--primary{box-shadow:0 12px 26px -14px color-mix(in srgb,var(--accent) 90%,#000)}
.btn--primary:hover{background:color-mix(in srgb,var(--accent) 86%,#fff);transform:translateY(-2px)}
.btn--line{background:transparent;border:2px solid var(--ink);color:var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--bg)}
.btn--glass{background:rgba(245,237,227,.1);border:1.5px solid rgba(245,237,227,.5);color:var(--on-dark)}
.btn--glass:hover{background:rgba(245,237,227,.22)}
.btn--lg{min-height:58px;padding:.95em 1.75em;font-size:1.06rem}
.lg-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--water);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.lg-link .ico{transition:transform .3s}
.lg-link:hover .ico{transform:translateX(3px)}

/* ---------- Plaque de profondeur, sur-titre, en-têtes ---------- */
.lg-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;font-size:.8rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--water)}
.lg-eyebrow--light,.lg-sh--light .lg-eyebrow{color:var(--water-on-dark)}
.lg-depth{display:inline-flex;align-items:baseline;gap:2px;padding:5px 9px 4px;border:2px solid var(--ink);border-radius:6px;background:#fff;color:var(--ink);font-size:.86rem;font-weight:900;letter-spacing:.02em;font-variant-numeric:tabular-nums;line-height:1;box-shadow:3px 3px 0 var(--water-light)}
.lg-depth small{font-size:.72em;font-weight:700}
.lg-eyebrow--light .lg-depth,.lg-sh--light .lg-depth{border-color:#fff;box-shadow:3px 3px 0 var(--accent)}
.lg-sh{max-width:760px;margin-bottom:clamp(40px,5vw,66px)}
.lg-sh--split{display:grid;gap:22px 64px;max-width:none;align-items:end}
@media (min-width:900px){.lg-sh--split{grid-template-columns:1.3fr 1fr}}
.lg-sh__title{font-size:clamp(2.3rem,5vw,4.3rem)}
.lg-sh__text{max-width:520px;font-size:1.12rem;color:var(--muted)}
.lg-sh--light .lg-sh__title{color:var(--on-dark)}
.lg-sh--light .lg-sh__title em{color:var(--water-on-dark)}
.lg-sh--light .lg-sh__text{color:var(--on-dark-muted)}
.lg-meta{display:block;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--water)}
.lg-specs{display:flex;flex-wrap:wrap;gap:12px 30px;margin:0;padding:16px 0;border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line)}
.lg-specs div{display:grid;gap:2px}
.lg-specs dt{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lg-specs dd{margin:0;font-size:1.08rem;font-weight:800}
.tag-example{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:4px 10px;border-radius:999px;background:var(--bg-2);color:var(--ink-2);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tag-example::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.demo-note{margin-top:28px;padding:14px 18px;border:1.5px dashed var(--line);border-radius:14px;font-size:.92rem;color:var(--muted)}

/* Ligne d'eau (bouchons de couloir) */
.lg-rope{height:14px;background:repeating-linear-gradient(90deg,var(--accent) 0 108px,#fff 108px 162px,var(--water) 162px 216px);-webkit-mask:radial-gradient(circle,#000 5.5px,transparent 6px) 0 50%/18px 14px repeat-x;mask:radial-gradient(circle,#000 5.5px,transparent 6px) 0 50%/18px 14px repeat-x}
@media (prefers-reduced-motion:no-preference){.lg-rope{animation:lg-bob 6s ease-in-out infinite alternate}}
@keyframes lg-bob{to{background-position:72px 0}}

/* Vague de séparation */
.lg-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(30px,5vw,70px);fill:var(--bg);pointer-events:none}

/* Bouée (logo) */
.lg-buoy{width:46px;height:46px;flex:none;transition:transform .8s var(--ease)}
.lg-buoy__w{fill:none;stroke:#fff;stroke-width:9}
.lg-buoy__c{fill:none;stroke:var(--accent);stroke-width:9;stroke-dasharray:12.5 12.5}
.lg-buoy__rope{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-dasharray:2 3.2}

/* Caustiques (reflets d'eau) */
.lghero__caustics,.lgyear__caustics,.lgcta__caustics,.lgf__caustics,.lgq__caustics,.lgm::before,.lgsteps__water::before,.lgpr__plan.is-featured::before,.notfound::before{background-image:url('assets/caustics.webp');background-size:340px 340px;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .lghero__caustics,.lgyear__caustics,.lgcta__caustics,.lgf__caustics,.lgq__caustics,.lgsteps__water::before,.notfound::before{animation:lg-drift 38s linear infinite}
}
@keyframes lg-drift{to{background-position:340px 680px}}

/* =========================================================================
   En-tête
   ========================================================================= */
.lgt{background:var(--deep-2);color:var(--on-dark);font-size:.84rem;font-weight:600}
.lgt__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px}
.lgt__msg{display:flex;align-items:center;gap:10px}
.lgt__sun{width:12px;height:12px;flex:none;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px rgba(242,182,50,.25)}
.lgt__state{color:var(--on-dark-muted);white-space:nowrap}
.lgt__state span{color:var(--on-dark-muted)}
.lgt__dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#C9A08F;vertical-align:1px}
.lgt__dot.is-open{background:#5BD08A;box-shadow:0 0 0 3px rgba(91,208,138,.25)}
@media (max-width:760px){.lgt__state{display:none}.lgt__in{min-height:34px;font-size:.78rem}}
.lgh{position:sticky;top:0;z-index:100;background:rgba(245,237,227,.86);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1.5px solid transparent;transition:border-color .3s,box-shadow .3s,background-color .3s}
.has-demobar .lgh{top:48px}
.lgh.is-scrolled{border-bottom-color:var(--line);box-shadow:0 10px 30px -24px rgba(10,37,64,.5)}
.nav-open .lgh{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}
.lgh__in{display:flex;align-items:center;gap:24px;min-height:var(--hdr)}
.lgh__logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.lgh__logo:hover .lg-buoy{transform:rotate(90deg)}
.lgh__logo-img{max-height:52px;width:auto}
.lgh__word{display:flex;flex-direction:column;font-size:1.32rem;font-weight:900;letter-spacing:-.03em;line-height:1}
.lgh__sub{margin-top:5px;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--water)}
.lgh__nav ul{display:flex;gap:4px;margin:0;padding:0}
.lgh__nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font-weight:700;text-decoration:none;border-radius:999px;transition:background-color .25s}
.lgh__nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:3px;border-radius:3px;background:var(--water-light);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.lgh__nav a:hover::after,.lgh__nav a[aria-current=page]::after{transform:scaleX(1)}
.lgh__nav a[aria-current=page]::after{background:var(--accent)}
.lgh__actions{display:flex;align-items:center;gap:12px}
.lgh__phone{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:800;text-decoration:none;white-space:nowrap}
.lgh__phone-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--surface);border:1.5px solid var(--line);color:var(--water);transition:background-color .25s,color .25s}
.lgh__phone:hover .lgh__phone-ico{background:var(--water);color:#fff;border-color:var(--water)}
.lgh__phone-ico .ico{width:18px;height:18px}
.lgh__burger{display:none;align-items:center;gap:10px;min-height:46px;padding:0 16px 0 18px;border:0;border-radius:999px;background:var(--ink);color:var(--bg);font:800 .95rem/1 var(--font-body);cursor:pointer}
.lgh__burger-lines{position:relative;width:20px;height:12px}
.lgh__burger-lines::before,.lgh__burger-lines::after{content:"";position:absolute;left:0;width:20px;height:2.5px;border-radius:3px;background:currentColor;transition:transform .35s var(--ease)}
.lgh__burger-lines::before{top:1px}
.lgh__burger-lines::after{bottom:1px;width:14px}
[aria-expanded=true] .lgh__burger-lines::before{transform:translateY(4px) rotate(45deg)}
[aria-expanded=true] .lgh__burger-lines::after{width:20px;transform:translateY(-4px) rotate(-45deg)}
.lgm{display:none}
@media (max-width:1279px){.lgh__phone-t{display:none}}
@media (max-width:1023px){
  .lgh__nav{display:none}
  .lgh__burger{display:inline-flex}
  .lgh__cta{display:none}
  .lgm{display:block;position:fixed;inset:0;z-index:-1;padding:calc(var(--hdr) + 46px) 0 40px;background:var(--deep);color:var(--on-dark);overflow-y:auto;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .6s var(--ease),visibility 0s .6s}
  .has-demobar .lgm{padding-top:calc(var(--hdr) + 94px)}
  .lgt+.lgh .lgm{padding-top:calc(var(--hdr) + 80px)}
  .lgm::before{content:"";position:absolute;inset:0;opacity:.14;mix-blend-mode:screen}
  .lgm.is-open{clip-path:inset(0);visibility:visible;transition:clip-path .6s var(--ease)}
  .lgm__in{position:relative;display:grid;gap:36px}
  .lgm__list{margin:0;padding:0;border-top:1px solid rgba(245,237,227,.18)}
  .lgm__list a{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid rgba(245,237,227,.18);font-size:clamp(1.9rem,8vw,2.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;text-decoration:none}
  .lgm__d{min-width:4.2em;font-size:.82rem;font-weight:800;letter-spacing:.04em;color:var(--water-on-dark);font-variant-numeric:tabular-nums}
  .lgm__list a[aria-current=page]{color:var(--accent-on-dark)}
  .lgm__foot{display:grid;gap:12px}
  .lgm__state{color:var(--on-dark-muted);font-size:.95rem}
  body.nav-open{overflow:hidden}
  .nav-open .lgt{visibility:hidden}
  .nav-open .lgh{background:var(--deep);color:var(--on-dark);border-color:transparent}
  .nav-open .lgh__phone-ico{background:transparent;color:var(--on-dark);border-color:rgba(245,237,227,.4)}
  .nav-open .lgh__burger{background:var(--accent);color:var(--accent-ink)}
  .nav-open .lgh__sub{color:var(--water-on-dark)}
  .nav-open .lg-buoy__rope{stroke:var(--on-dark)}
}
@media (max-width:420px){.lgh__word{font-size:1.12rem}.lgh__sub{letter-spacing:.1em}.lg-buoy{width:40px;height:40px}.lgh__in{gap:10px}.lgh__burger-t{display:none}.lgh__burger{padding:0 14px}}

/* Jauge de profondeur fixe (grand écran) */
.lg-gauge{display:none}
@media (min-width:1400px){
  .lg-gauge{position:fixed;right:22px;top:50%;z-index:40;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translateY(-40%);color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}
  .lg-gauge__ruler{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:240px;padding-right:12px;border-right:2px solid var(--ink);font-variant-numeric:tabular-nums}
  .lg-gauge__ruler span{position:relative;line-height:1}
  .lg-gauge__ruler span::after{content:"";position:absolute;right:-14px;top:50%;width:8px;height:2px;background:var(--ink)}
  .lg-gauge__mark{position:absolute;right:-9px;top:0;width:16px;height:16px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);box-shadow:0 0 0 2px var(--ink);transform:translateY(-50%)}
  @supports (animation-timeline:scroll()){
    .lg-gauge__mark{animation:lg-dive linear both;animation-timeline:scroll(root)}
  }
}
@keyframes lg-dive{from{top:0}to{top:100%}}

/* =========================================================================
   Hero
   ========================================================================= */
.lghero{position:relative;padding:clamp(40px,6vw,80px) 0 clamp(90px,10vw,140px);background:var(--bg);overflow:hidden}
.lghero__sun{position:absolute;right:-8vw;top:-14vw;width:52vw;max-width:760px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--sun) 55%,var(--bg)) 0 38%,color-mix(in srgb,var(--sun) 18%,var(--bg)) 60%,transparent 70%);pointer-events:none}
.lghero__in{position:relative;display:grid;gap:56px;align-items:center}
@media (min-width:1024px){.lghero__in{grid-template-columns:1.18fr .82fr;gap:56px}}
.lghero__title{font-size:clamp(2.7rem,5.5vw,5.5rem);text-wrap:balance;font-weight:850;line-height:.95;letter-spacing:-.045em}
.lghero__title em{display:inline;font-weight:300}
.lghero__lead{max-width:560px;margin-top:28px;font-size:clamp(1.08rem,1.4vw,1.25rem);color:var(--ink-2)}
.lghero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.lghero__quick{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:34px;padding-top:22px;border-top:1.5px solid var(--line)}
.lghero__quick-t{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lghero__chips,.lgcta__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.lghero__chips a{display:inline-flex;align-items:center;min-height:44px;padding:.45em 1.05em;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);font-weight:700;font-size:.95rem;text-decoration:none;transition:background-color .25s,border-color .25s,color .25s,transform .25s}
.lghero__chips a:hover{background:var(--water);border-color:var(--water);color:#fff;transform:translateY(-2px)}
.lghero__visual{position:relative;padding:0 0 60px 0}
@media (min-width:1024px){.lghero__visual{padding:0 0 40px 40px}}
.lghero__photo{position:relative;margin:0;aspect-ratio:4/5;border-radius:var(--corner);overflow:hidden;box-shadow:var(--shadow);isolation:isolate}
.lghero__img{width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:no-preference){.lghero__img{animation:lg-float 9s ease-in-out infinite alternate}}
@keyframes lg-float{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.04) translateY(-10px)}}
.lghero__caustics{position:absolute;inset:0;opacity:.75;mix-blend-mode:soft-light;-webkit-mask:linear-gradient(transparent 44%,#000 60%);mask:linear-gradient(transparent 44%,#000 60%)}
.lghero__plaque{position:absolute;left:18px;top:44%;display:inline-flex;align-items:baseline;gap:2px;padding:7px 11px 6px;border:2px solid var(--ink);border-radius:6px;background:#fff;font-weight:900;font-size:1.05rem;line-height:1;box-shadow:3px 3px 0 var(--accent)}
.lghero__plaque small{font-size:.7em}
.lghero__cap{position:absolute;left:16px;top:16px;padding:6px 12px;border-radius:999px;background:rgba(7,42,69,.72);color:#fff;font-size:.78rem;font-weight:700}
.lghero__reading{position:absolute;left:-6px;bottom:0;width:min(290px,78%);padding:18px 20px 16px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}
@media (min-width:1024px){.lghero__reading{left:0}}
.lghero__reading-t{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;font-weight:800}
.lghero__reading-t span{padding:3px 8px;border-radius:999px;background:var(--bg-2);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.lghero__vals{display:grid;gap:6px;margin:0}
.lghero__vals div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px dashed var(--line)}
.lghero__vals dt{font-size:.88rem;color:var(--muted);font-weight:700}
.lghero__vals dd{margin:0;display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}
.lghero__vals strong{font-size:1.05rem;font-weight:900}
.lghero__ok{padding:2px 7px;border-radius:999px;background:#DDF2E6;color:#145A36;font-size:.7rem;font-weight:800}
.lghero__reading-f{margin-top:8px;font-size:.76rem;color:var(--muted)}
.lghero__seal{position:absolute;right:-10px;top:-24px;width:128px;height:128px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-s)}
.lghero__seal>svg{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);overflow:visible}
.lghero__seal text{font:800 10px var(--font-body);letter-spacing:.12em;text-transform:uppercase;fill:currentColor}
@media (prefers-reduced-motion:no-preference){.lghero__seal>svg{animation:lg-spin 26s linear infinite}}
@keyframes lg-spin{to{transform:rotate(360deg)}}
.lghero__seal-c{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--surface);color:var(--ink)}
.lghero__facts{position:relative;display:grid;gap:18px;margin:clamp(40px,6vw,72px) 0 0;padding:0}
@media (min-width:700px){.lghero__facts{grid-template-columns:repeat(3,1fr);gap:30px}}
.lghero__facts li{display:flex;align-items:baseline;gap:14px;padding-top:18px;border-top:2px solid var(--ink)}
.lghero__facts strong{font-size:clamp(2.2rem,3.6vw,3.2rem);font-weight:900;letter-spacing:-.04em;line-height:1;color:var(--water)}
.lghero__facts span{max-width:180px;font-weight:700;line-height:1.3;color:var(--ink-2)}
.lg-wave--hero{fill:var(--bg-2)}
@media (max-width:640px){.lghero__seal{width:100px;height:100px;right:-4px;top:-18px}.lghero__plaque{top:40%}}

/* =========================================================================
   Services — couloirs
   ========================================================================= */
.lglanes{background:var(--bg-2)}
.lglanes__list{margin:0;padding:0}
.lglanes__item+.lglanes__item::before{content:"";display:block;height:14px;margin:6px 0;background:repeating-linear-gradient(90deg,var(--accent) 0 108px,#fff 108px 162px,var(--water) 162px 216px);-webkit-mask:radial-gradient(circle,#000 5.5px,transparent 6px) 0 50%/18px 14px repeat-x;mask:radial-gradient(circle,#000 5.5px,transparent 6px) 0 50%/18px 14px repeat-x;opacity:.6}
.lglane{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px 22px;padding:22px 18px;border-radius:22px;text-decoration:none;isolation:isolate;overflow:hidden}
.lglane::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--water-light) 55%,var(--surface)),var(--surface) 80%);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.lglane:hover::before,.lglane:focus-visible::before{transform:scaleX(1)}
.lglane__n{grid-column:1/-1;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--water)}
.lglane__ico{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--surface);color:var(--water);border:1.5px solid var(--line);transition:background-color .3s,color .3s}
.lglane:hover .lglane__ico{background:var(--water);color:#fff;border-color:var(--water)}
.lglane__body{display:grid;gap:6px}
.lglane__t{font-size:clamp(1.45rem,2.6vw,2.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.lglane__s{max-width:620px;color:var(--muted);line-height:1.5}
.lglane__img{display:none}
.lglane__go{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--ink);transition:background-color .3s,color .3s,transform .4s var(--ease)}
.lglane:hover .lglane__go{background:var(--ink);color:var(--bg);transform:rotate(-45deg)}
@media (min-width:900px){
  .lglane{grid-template-columns:150px 54px 1fr 170px 48px;padding:22px 24px}
  .lglane__n{grid-column:auto}
  .lglane__img{display:block;width:170px;height:104px;border-radius:16px 56px 16px 16px;overflow:hidden;transform:rotate(-2deg) scale(.92);opacity:.85;transition:transform .5s var(--ease),opacity .4s}
  .lglane__img img{width:100%;height:100%;object-fit:cover}
  .lglane:hover .lglane__img{transform:rotate(0) scale(1);opacity:1}
}
@media (max-width:520px){.lglane{grid-template-columns:auto 1fr;padding:18px 6px}.lglane__go{display:none}.lglane__ico{width:46px;height:46px}}

/* =========================================================================
   Formes de bassin
   ========================================================================= */
.lgshapes{padding-bottom:clamp(30px,4vw,60px)}
.lgshapes__box{padding:clamp(18px,3vw,34px);border-radius:34px;background:var(--surface);box-shadow:var(--shadow-s);border:1.5px solid var(--line)}
.lgshapes__tabs{display:flex;gap:8px;overflow-x:auto;padding:4px;margin:-4px -4px 26px;scrollbar-width:none}
.lgshapes__tabs::-webkit-scrollbar{display:none}
.lgshapes__tab{display:inline-flex;align-items:center;gap:10px;flex:none;min-height:48px;padding:0 18px 0 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);font:700 .98rem/1 var(--font-body);cursor:pointer;transition:background-color .25s,border-color .25s,color .25s}
.lgshapes__tab:hover{border-color:var(--water)}
.lgshapes__tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.lgshapes__mini{display:block;width:26px;height:16px;border:2px solid currentColor;border-radius:3px;background:var(--water-light)}
.lgshapes__mini--lane{width:30px;height:8px}
.lgshapes__mini--free{border-radius:60% 40% 55% 45%/60% 50% 50% 40%;width:24px;height:16px}
.lgshapes__mini--mini{width:16px;height:12px}
.lgshapes__mini--overflow{border-bottom-width:5px;border-bottom-color:var(--water)}
.lgshapes__panel{display:grid;gap:28px;align-items:center}
@media (min-width:960px){.lgshapes__panel{grid-template-columns:1.15fr 1fr;gap:48px}}
.lgshapes__plan{margin:0}
.lgshapes__plan svg{display:block;width:100%;height:auto;border-radius:24px;overflow:hidden}
.lgshapes__cap{margin-top:10px;font-size:.8rem;font-weight:700;color:var(--muted)}
.lgplan__deck{fill:#EDE1D2}
.lgplan__joint{fill:none;stroke:rgba(10,37,64,.07);stroke-width:1}
.lgplan__coping{fill:#FFFBF6;stroke:#D7C6B0;stroke-width:1.5}
.lgplan__coping--path{stroke-width:14;stroke:#FFFBF6}
.lgw-a{stop-color:var(--water-light)}
.lgw-b{stop-color:var(--water)}
.lgplan__lane{stroke:var(--accent);stroke-width:3;stroke-dasharray:3 4;fill:none}
.lgplan__stairs{fill:rgba(255,255,255,.28);stroke:rgba(255,255,255,.75);stroke-width:1.5}
.lgplan__gutter{fill:var(--deep)}
.lgplan__spill{stroke:#fff;stroke-width:2;stroke-dasharray:6 5;fill:none}
.lgplan__dim{stroke:var(--ink);stroke-width:1.4;fill:none}
.lgplan__txt{font:800 13px var(--font-body);fill:var(--ink);text-anchor:middle}
.lgplan__shine path{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;opacity:.45;stroke-dasharray:40 140}
@media (prefers-reduced-motion:no-preference){.lgplan__shine path{animation:lg-shine 5s linear infinite}.lgplan__shine path+path{animation-duration:7s}}
@keyframes lg-shine{to{stroke-dashoffset:-360}}
.lgshapes__k{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--water)}
.lgshapes__name{margin-top:8px;font-size:clamp(2rem,3.6vw,3rem)}
.lgshapes__text{margin-top:14px;color:var(--ink-2)}
.lgshapes__specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;margin:24px 0 18px;border-radius:18px;overflow:hidden;background:var(--line);border:1.5px solid var(--line)}
.lgshapes__specs div{display:grid;gap:3px;padding:12px 14px;background:var(--bg)}
.lgshapes__specs dt{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lgshapes__specs dd{margin:0;font-weight:800}
.lgshapes__specs .is-price{grid-column:1/-1;background:var(--deep);color:var(--on-dark)}
.lgshapes__specs .is-price dt{color:var(--water-on-dark)}
.lgshapes__specs .is-price dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:1.6rem;letter-spacing:-.02em}
.lgshapes__specs .is-price small{font-size:.76rem;font-weight:600;letter-spacing:0;color:var(--on-dark-muted)}
.lgshapes__good{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0}
.lgshapes__good li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--bg-2);font-size:.9rem;font-weight:700}
.lgshapes__good .ico{width:16px;height:16px;color:var(--water)}

/* =========================================================================
   Réalisations
   ========================================================================= */
.lgpf{background:var(--bg)}
.lgpf__main{display:grid;gap:26px;align-items:stretch}
@media (min-width:1000px){.lgpf__main{grid-template-columns:1.65fr 1fr;gap:40px}}
.lgpf__ba,.lgpf__img,.lgpg__ba,.lgpg__img{border-radius:28px;overflow:hidden;aspect-ratio:4/3}
.lgpf__ba img,.lgpf__img img,.lgpg__img img{width:100%;height:100%;object-fit:cover}
.ba__tag{border-radius:999px;background:rgba(7,42,69,.82);padding:5px 11px}
.ba__knob{background:var(--accent)!important;color:var(--accent-ink)!important}
.lgpf__info{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:clamp(22px,3vw,36px);border-radius:28px;background:var(--surface);border:1.5px solid var(--line)}
.lgpf__t{font-size:clamp(1.7rem,2.8vw,2.4rem)}
.lgpf__p{color:var(--ink-2)}
.lgpf__hint{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;color:var(--muted)}
.lgpf__hint .ico{width:16px;height:16px}
.lgpf__more{display:grid;gap:22px;margin:40px 0 0;padding:0}
@media (min-width:760px){.lgpf__more{grid-template-columns:repeat(3,1fr)}}
.lgpf__card a{display:grid;gap:8px;text-decoration:none}
.lgpf__thumb{position:relative;display:block;aspect-ratio:5/4;border-radius:24px 24px 24px 90px;overflow:hidden;margin-bottom:8px}
.lgpf__card:nth-child(2) .lgpf__thumb{border-radius:24px 90px 24px 24px}
.lgpf__thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.lgpf__card a:hover .lgpf__thumb img{transform:scale(1.06)}
.lgpf__pl{position:absolute;right:14px;top:14px;display:inline-flex;align-items:baseline;padding:5px 9px 4px;border:2px solid var(--ink);border-radius:6px;background:#fff;font-weight:900;font-size:.86rem;line-height:1}
.lgpf__pl small{font-size:.7em}
.lgpf__ct{font-size:1.32rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.lgpf__card a:hover .lgpf__ct{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.lgpf__all{margin-top:40px;text-align:center}
.lgpg__filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.lgpg__f{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:700 .98rem/1 var(--font-body);cursor:pointer;transition:background-color .25s,color .25s,border-color .25s}
.lgpg__f span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--bg-2);font-size:.78rem}
.lgpg__f:hover{border-color:var(--water)}
.lgpg__f[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.lgpg__f[aria-pressed=true] span{background:var(--accent);color:var(--accent-ink)}
.lgpg__list{display:grid;gap:clamp(40px,5vw,64px);margin:0;padding:0}
@media (min-width:900px){.lgpg__list{grid-template-columns:1fr 1fr;gap:56px 40px}.lgpg__item:nth-child(even){margin-top:80px}}
.lgpg__item{display:grid;gap:20px;align-content:start}
.lgpg__body{display:grid;gap:12px}
.lgpg__t{font-size:clamp(1.5rem,2.4vw,2rem)}
.lgpg__p{color:var(--ink-2)}

/* =========================================================================
   L'année de la piscine (fond eau profonde)
   ========================================================================= */
.lgyear{background:var(--deep);color:var(--on-dark);overflow:hidden}
.lgyear__caustics{position:absolute;inset:0;opacity:.12;mix-blend-mode:screen}
.lgyear__wrap{position:relative}
.lgyear__chart{padding:clamp(20px,3vw,34px);border-radius:30px;background:rgba(7,42,69,.55);border:1.5px solid rgba(245,237,227,.14)}
.lgyear__axis{margin-bottom:22px;font-size:.84rem;font-weight:700;color:var(--on-dark-muted)}
.lgyear__months{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;margin:0;padding:34px 0 0}
.lgyear__m{position:relative;display:grid;justify-items:center;gap:8px}
.lgyear__tube{position:relative;width:min(100%,46px);height:190px;border-radius:999px;border:2px solid rgba(245,237,227,.3);background:rgba(245,237,227,.05);overflow:hidden}
.lgyear__water{position:absolute;left:0;right:0;bottom:0;height:0;border-radius:0 0 999px 999px;background:var(--ph,var(--water-light));transition:height 1.4s var(--ease)}
.lgyear__water::before{content:"";position:absolute;left:-30%;right:-30%;top:-5px;height:10px;border-radius:50%;background:inherit;filter:brightness(1.15)}
.ph-hiver{--ph:var(--ph-hiver)}.ph-remise{--ph:var(--ph-remise)}.ph-saison{--ph:var(--ph-saison)}.ph-fermeture{--ph:var(--ph-fermeture)}
.lgyear__chart.is-in .lgyear__h0,.no-js .lgyear__h0{height:4%}
.lgyear__h1{--h:10%}.lgyear__h2{--h:20%}.lgyear__h3{--h:30%}.lgyear__h4{--h:40%}.lgyear__h5{--h:50%}.lgyear__h6{--h:60%}.lgyear__h7{--h:70%}.lgyear__h8{--h:80%}.lgyear__h9{--h:90%}.lgyear__h10{--h:96%}
.lgyear__chart.is-in .lgyear__water,html:not(.js) .lgyear__water{height:var(--h,4%)}
.lgyear__m:nth-child(2) .lgyear__water{transition-delay:.05s}.lgyear__m:nth-child(3) .lgyear__water{transition-delay:.1s}.lgyear__m:nth-child(4) .lgyear__water{transition-delay:.15s}.lgyear__m:nth-child(5) .lgyear__water{transition-delay:.2s}.lgyear__m:nth-child(6) .lgyear__water{transition-delay:.25s}.lgyear__m:nth-child(7) .lgyear__water{transition-delay:.3s}.lgyear__m:nth-child(8) .lgyear__water{transition-delay:.35s}.lgyear__m:nth-child(9) .lgyear__water{transition-delay:.4s}.lgyear__m:nth-child(10) .lgyear__water{transition-delay:.45s}.lgyear__m:nth-child(11) .lgyear__water{transition-delay:.5s}.lgyear__m:nth-child(12) .lgyear__water{transition-delay:.55s}
.lgyear__temp{font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums}
.lgyear__name{font-size:.82rem;font-weight:700;color:var(--on-dark-muted)}
.lgyear__name abbr{text-decoration:none}
.lgyear__dot{width:100%;height:6px;border-radius:6px;background:var(--ph)}
.lgyear__m.is-now .lgyear__tube{border-color:var(--accent-on-dark);box-shadow:0 0 0 4px rgba(255,148,121,.18)}
.lgyear__m.is-now .lgyear__name{color:var(--on-dark)}
.lgyear__here{position:absolute;top:-34px;left:50%;transform:translateX(-50%);padding:4px 9px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.68rem;font-weight:800;white-space:nowrap}
.lgyear__here::after{content:"";position:absolute;left:50%;bottom:-4px;width:8px;height:8px;background:inherit;transform:translateX(-50%) rotate(45deg)}
.lgyear__phases{display:grid;gap:14px;margin:28px 0 0;padding:0}
@media (min-width:700px){.lgyear__phases{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.lgyear__phases{grid-template-columns:repeat(4,1fr)}}
.lgyear__ph{position:relative;display:grid;align-content:start;gap:10px;padding:22px 22px 24px;border-radius:24px;background:rgba(245,237,227,.06);border:1.5px solid rgba(245,237,227,.14)}
.lgyear__ph.is-now{border-color:var(--accent-on-dark);background:rgba(245,237,227,.1)}
.lgyear__ph-when{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted)}
.lgyear__sw{width:14px;height:14px;border-radius:50%;background:var(--ph)}
.lgyear__now{padding:3px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);letter-spacing:.04em}
.lgyear__ph-t{font-size:1.5rem;letter-spacing:-.02em}
.lgyear__ph-p{color:var(--on-dark-muted);font-size:.98rem}
.lgyear__tasks{display:grid;gap:6px;margin:6px 0 0;padding:0}
.lgyear__tasks li{display:flex;gap:10px;font-weight:600;font-size:.95rem}
.lgyear__tasks li::before{content:"";flex:none;width:8px;height:8px;margin-top:.55em;border-radius:50%;border:2px solid var(--ph)}
.lgyear__note{margin-top:22px;font-size:.86rem;color:var(--on-dark-muted)}
.lgyear__more{margin-top:28px}
@media (max-width:760px){
  .lgyear__months{grid-template-columns:repeat(6,1fr);row-gap:44px}
  .lgyear__tube{height:120px}
  .lgyear__temp{font-size:.85rem}
  .lgyear__name{font-size:.74rem}
}

/* =========================================================================
   Contrats
   ========================================================================= */
.lgpr{background:var(--bg)}
.lgpr__list{display:grid;gap:22px;margin:0;padding:0;align-items:stretch}
@media (min-width:960px){.lgpr__list{grid-template-columns:repeat(3,1fr)}}
.lgpr__plan{position:relative;display:flex;flex-direction:column;gap:12px;padding:46px clamp(22px,2.6vw,32px) 30px;border-radius:30px;background:var(--surface);border:1.5px solid var(--line);overflow:hidden;isolation:isolate}
.lgpr__rope{position:absolute;left:0;right:0;top:16px;height:14px;background:repeating-linear-gradient(90deg,var(--accent) 0 108px,#fff 108px 162px,var(--water) 162px 216px);-webkit-mask:radial-gradient(circle,#000 5.5px,transparent 6px) 0 50%/18px 14px repeat-x;mask:radial-gradient(circle,#000 5.5px,transparent 6px) 0 50%/18px 14px repeat-x}
.lgpr__plan:not(.is-featured) .lgpr__rope{filter:saturate(.8)}
.lgpr__plan.is-featured{background:var(--deep);color:var(--on-dark);border-color:var(--deep);box-shadow:var(--shadow)}
.lgpr__plan.is-featured::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;mix-blend-mode:screen}
@media (min-width:960px){.lgpr__plan.is-featured{transform:translateY(-14px)}}
.lgpr__badge{position:absolute;right:20px;top:42px;padding:5px 11px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.74rem;font-weight:800}
.lgpr__lane{margin-top:10px;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--water)}
.is-featured .lgpr__lane{color:var(--water-on-dark)}
.lgpr__name{font-size:clamp(1.7rem,2.6vw,2.2rem)}
.lgpr__tag{color:var(--muted);min-height:3em}
.is-featured .lgpr__tag{color:var(--on-dark-muted)}
.lgpr__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:6px}
.lgpr__price strong{font-size:clamp(3rem,4.6vw,3.9rem);font-weight:900;letter-spacing:-.05em;line-height:1}
.lgpr__from,.lgpr__unit{font-weight:700;color:var(--muted)}
.is-featured .lgpr__from,.is-featured .lgpr__unit{color:var(--on-dark-muted)}
.lgpr__ex{font-size:.8rem;color:var(--muted)}
.is-featured .lgpr__ex{color:var(--on-dark-muted)}
.lgpr__visits{display:grid;gap:8px;padding:14px 0;border-top:1.5px dashed var(--line);border-bottom:1.5px dashed var(--line);font-weight:700;font-size:.95rem}
.is-featured .lgpr__visits{border-color:rgba(245,237,227,.22)}
.lgpr__drops{display:flex;gap:5px}
.lgpr__drops i{width:12px;height:12px;border-radius:50% 0 50% 50%;transform:rotate(-45deg);background:var(--water-light)}
.lgpr__feat{display:grid;gap:9px;margin:4px 0 0;padding:0}
.lgpr__feat li{display:flex;gap:10px;align-items:flex-start;line-height:1.4}
.lgpr__feat .ico{width:18px;height:18px;margin-top:2px;color:var(--water)}
.is-featured .lgpr__feat .ico{color:var(--water-on-dark)}
.lgpr__feat--no li{color:var(--muted)}
.lgpr__feat--no .ico{color:var(--muted)}
.is-featured .lgpr__feat--no li,.is-featured .lgpr__feat--no .ico{color:var(--on-dark-muted)}
.lgpr__btn{margin-top:auto;width:100%}
.lgpr__feat+.lgpr__btn,.lgpr__feat--no+.lgpr__btn{margin-top:auto}
.lgpr__plan>.lgpr__btn{margin-top:auto}
.lgpr__plan .lgpr__feat:last-of-type{margin-bottom:14px}
.is-featured .btn--line{border-color:var(--on-dark);color:var(--on-dark)}
.lgpr__extras{margin-top:34px;padding:clamp(22px,3vw,34px);border-radius:28px;background:var(--bg-2)}
.lgpr__extras-t{font-size:1.5rem;margin-bottom:14px}
.lgpr__rows{display:grid;gap:4px 48px;margin:0 0 14px;padding:0}
@media (min-width:860px){.lgpr__rows{grid-template-columns:1fr 1fr}}
.lgpr__rows li{display:flex;align-items:baseline;gap:10px;padding:10px 0}
.lgpr__x-n{font-weight:700}
.lgpr__x-d{flex:1;min-width:20px;border-bottom:2px dotted color-mix(in srgb,var(--ink) 35%,transparent)}
.lgpr__x-p{font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.lgpr__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 30px;margin-top:30px}
.lgpr__tax{display:flex;gap:10px;max-width:640px;font-size:.88rem;color:var(--muted)}
.lgpr__tax .ico{margin-top:2px;color:var(--water)}

/* =========================================================================
   Étapes — escalier roman qui descend dans l'eau
   ========================================================================= */
.lgsteps{background:var(--bg-2);overflow:hidden;padding-bottom:clamp(110px,12vw,170px)}
.lgsteps .wrap{position:relative;z-index:1}
.lgsteps__list{display:grid;gap:14px;margin:0;padding:0;counter-reset:s}
.lgsteps__step{position:relative;display:grid;align-content:start;gap:10px;padding:24px 22px 26px;border-radius:22px 22px 8px 8px;background:color-mix(in srgb,var(--surface) 92%,transparent);border-top:6px solid #fff;box-shadow:0 -1px 0 var(--line),var(--shadow-s)}
.lgsteps__n{font-size:3.2rem;font-weight:900;line-height:.9;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px var(--water)}
.lgsteps__t{font-size:1.32rem;letter-spacing:-.02em}
.lgsteps__p{color:var(--ink-2);font-size:.98rem;line-height:1.5}
.lgsteps__when{display:flex;align-items:center;gap:7px;margin-top:4px;font-size:.84rem;font-weight:800;color:var(--water)}
.lgsteps__when .ico{width:16px;height:16px}
.lgsteps__note{display:inline-block;margin-top:30px;padding:8px 16px;border-radius:999px;background:var(--surface);font-size:.86rem;color:var(--muted)}
.lgsteps__water{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(color-mix(in srgb,var(--water-light) 80%,transparent),var(--water));pointer-events:none}
.lgsteps__water::before{content:"";position:absolute;inset:0;opacity:.35;mix-blend-mode:soft-light}
.lgsteps__water::after{content:"";position:absolute;left:0;right:0;top:-1px;height:4px;background:rgba(255,255,255,.6)}
@media (min-width:1000px){
  .lgsteps__list{grid-template-columns:repeat(6,1fr);gap:12px}
  .lgsteps__step:nth-child(2){margin-top:46px}.lgsteps__step:nth-child(3){margin-top:92px}.lgsteps__step:nth-child(4){margin-top:138px}.lgsteps__step:nth-child(5){margin-top:184px}.lgsteps__step:nth-child(6){margin-top:230px}
  .lgsteps__step:nth-child(n+4){background:color-mix(in srgb,var(--surface) 80%,transparent)}
}
@media (min-width:640px) and (max-width:999px){.lgsteps__list{grid-template-columns:1fr 1fr}.lgsteps__step:nth-child(even){margin-top:36px}}
@media (max-width:999px){.lgsteps__water{height:22%}}

/* =========================================================================
   Avis
   ========================================================================= */
.lgtm{background:var(--bg)}
.lgtm__score{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:-26px 0 34px;font-weight:700;color:var(--muted)}
.lgtm__score strong{font-size:2rem;font-weight:900;color:var(--ink);letter-spacing:-.03em}
.lgtm__stars,.lgtm__rating span[aria-hidden]{display:inline-flex;gap:2px;color:var(--sun)}
.lgtm__stars .ico,.lgtm__rating .ico{width:18px;height:18px;fill:currentColor;stroke:none}
.lgtm__grid{display:grid;gap:22px}
@media (min-width:960px){.lgtm__grid{grid-template-columns:1.25fr 1fr;gap:28px}}
.lgtm__big{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:30px;margin:0;padding:clamp(28px,4vw,52px);border-radius:var(--corner);background:var(--plaster);color:var(--ink);overflow:hidden}
.lgtm__mark{position:absolute;right:26px;top:-24px;font-size:13rem;font-weight:900;line-height:1;color:rgba(255,251,246,.55);pointer-events:none}
.lgtm__big{justify-content:flex-start}
.lgtm__big .lgtm__who{margin-top:auto}
.lgtm__q p{position:relative;font-size:clamp(1.4rem,2.4vw,2.05rem);font-weight:700;line-height:1.3;letter-spacing:-.02em}
.lgtm__q,.lgtm__sq{margin:0}
.lgtm__who{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.lgtm__who span{color:var(--muted)}
.lgtm__big .lgtm__who span{color:var(--ink-2)}
.lgtm__big .tag-example{background:rgba(255,251,246,.65)}
.lgtm__rating{display:inline-flex}
.lgtm__list{display:grid;gap:16px;margin:0;padding:0}
.lgtm__item{display:grid;gap:12px;padding:24px;border-radius:24px;background:var(--surface);border:1.5px solid var(--line)}
.lgtm__sq p{font-size:1.04rem;line-height:1.55}

/* =========================================================================
   FAQ
   ========================================================================= */
.lgfaq{background:var(--bg-2)}
.lgfaq__in{display:grid;gap:36px}
@media (min-width:960px){.lgfaq__in{grid-template-columns:.85fr 1.15fr;gap:72px}.lgfaq__side{position:sticky;top:calc(var(--hdr) + 40px);align-self:start}.has-demobar .lgfaq__side{top:calc(var(--hdr) + 88px)}}
.lgfaq .lg-sh{margin-bottom:28px}
.lgfaq__call{display:inline-flex;align-items:center;gap:14px;padding:12px 22px 12px 12px;border-radius:999px;background:var(--surface);border:1.5px solid var(--line);text-decoration:none;font-size:1.25rem;font-weight:900;transition:border-color .25s,transform .3s var(--ease)}
.lgfaq__call:hover{border-color:var(--water);transform:translateY(-2px)}
.lgfaq__call:hover .lg-buoy{transform:rotate(180deg)}
.lgfaq__call small{display:block;font-size:.78rem;font-weight:700;color:var(--muted)}
.lgfaq__list{display:grid;gap:10px}
.lgfaq__item{border-radius:22px;background:var(--surface);border:1.5px solid var(--line);transition:border-color .3s}
.lgfaq__item[open]{border-color:var(--water)}
.lgfaq__item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:16px 18px 16px 24px;cursor:pointer;list-style:none;font-size:1.12rem;font-weight:800;letter-spacing:-.01em}
.lgfaq__item summary::-webkit-details-marker{display:none}
.lgfaq__plus{position:relative;flex:none;width:36px;height:36px;border-radius:50%;border:3px solid var(--accent);transition:transform .45s var(--ease),background-color .3s}
.lgfaq__plus::before,.lgfaq__plus::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2.5px;border-radius:2px;background:var(--ink);transform:translate(-50%,-50%)}
.lgfaq__plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.lgfaq__item[open] .lgfaq__plus{transform:rotate(135deg);background:var(--accent)}
.lgfaq__a{display:grid;gap:12px;padding:0 24px 22px;color:var(--ink-2)}

/* =========================================================================
   Appel final — grand bain
   ========================================================================= */
.lgcta{position:relative;padding:0 0 clamp(90px,11vw,150px);background:var(--deep);color:var(--on-dark);overflow:hidden;text-align:center}
.lgcta>.lg-rope{position:relative;z-index:1;margin:22px 0 clamp(60px,8vw,110px)}
.lgcta__caustics{position:absolute;inset:0;opacity:.18;mix-blend-mode:screen}
.lgcta__in{position:relative;display:grid;justify-items:center;gap:22px}
.lgcta .lg-eyebrow{justify-content:center;margin:0}
.lgcta__title{max-width:14ch;font-size:clamp(3rem,8vw,7.2rem);line-height:.92;letter-spacing:-.05em}
.lgcta__title em{color:var(--water-on-dark)}
.lgcta__text{max-width:560px;font-size:1.15rem;color:var(--on-dark-muted)}
.lgcta__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px}
.lgcta__chips{justify-content:center;margin-top:10px}
.lgcta__chips a{display:inline-flex;align-items:center;min-height:44px;padding:.45em 1.05em;border:1.5px solid rgba(245,237,227,.32);border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;transition:background-color .25s,color .25s}
.lgcta__chips a:hover{background:var(--on-dark);color:var(--deep)}

/* =========================================================================
   En-tête des pages intérieures
   ========================================================================= */
.lgph{position:relative;padding:clamp(34px,5vw,64px) 0 clamp(80px,9vw,130px);background:var(--bg-2);overflow:hidden}
.lgph::before{content:"";position:absolute;left:-12vw;bottom:-22vw;width:46vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--sun) 40%,var(--bg-2)) 0 36%,transparent 68%);pointer-events:none}
.lgph__in{position:relative;display:grid;gap:36px;align-items:center}
@media (min-width:1000px){.lgph__in{grid-template-columns:1.05fr .95fr;gap:60px}}
.lgph__crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;font-size:.88rem;font-weight:700;color:var(--muted)}
.lgph__crumbs a{text-decoration:underline;text-underline-offset:4px}
.lgph__crumbs--light{color:var(--on-dark-muted)}
.lgph__title{font-size:clamp(2.6rem,6vw,5.2rem);line-height:.96;letter-spacing:-.045em}
.lgph__title em{font-weight:300}
.lgph__lead{max-width:560px;margin-top:22px;font-size:1.15rem;color:var(--ink-2)}
.lgph__links{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0}
.lgph__links a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:var(--surface);border:1.5px solid var(--line);font-weight:700;text-decoration:none}
.lgph__links a:hover{border-color:var(--water)}
.lgph__img{position:relative;margin:0;aspect-ratio:16/11;border-radius:var(--corner);overflow:hidden;box-shadow:var(--shadow)}
.lgph__img img{width:100%;height:100%;object-fit:cover}
.lgph__img .lghero__caustics{-webkit-mask:none;mask:none;opacity:.55}

/* =========================================================================
   Services — fiches
   ========================================================================= */
.lgsd__in{display:grid;gap:40px}
@media (min-width:1100px){.lgsd__in{grid-template-columns:240px 1fr;gap:64px}}
.lgsd__in>*{min-width:0}
.lgsd__toc{align-self:start}
@media (min-width:1100px){.lgsd__toc{position:sticky;top:calc(var(--hdr) + 30px)}.has-demobar .lgsd__toc{top:calc(var(--hdr) + 78px)}}
.lgsd__toc-t{margin-bottom:12px;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--water)}
.lgsd__toc ol{display:grid;gap:4px;margin:0;padding:0}
.lgsd__toc a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:12px;font-weight:700;text-decoration:none;transition:background-color .25s}
.lgsd__toc a:hover{background:var(--surface)}
.lgsd__toc a span{font-size:.78rem;font-weight:800;color:var(--water);font-variant-numeric:tabular-nums}
@media (max-width:1099px){.lgsd__toc ol{display:flex;overflow-x:auto;gap:8px;scrollbar-width:none}.lgsd__toc ol::-webkit-scrollbar{display:none}.lgsd__toc a{flex:none;white-space:nowrap;background:var(--surface);border:1.5px solid var(--line);border-radius:999px}}
.lgsd__list{display:grid;gap:clamp(56px,7vw,96px)}
.lgsd__item{display:grid;gap:28px;scroll-margin-top:calc(var(--hdr) + 80px)}
@media (min-width:860px){.lgsd__item{grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}.lgsd__item:nth-child(even) .lgsd__media{order:2}}
.lgsd__media{position:relative;aspect-ratio:4/5;border-radius:28px 28px 120px 28px;overflow:hidden}
@media (min-width:860px){.lgsd__media{position:sticky;top:calc(var(--hdr) + 30px)}}
.lgsd__item:nth-child(even) .lgsd__media{border-radius:28px 120px 28px 28px}
.lgsd__media img{width:100%;height:100%;object-fit:cover}
.lgsd__lane{position:absolute;left:16px;top:16px;padding:6px 12px;border-radius:999px;background:var(--surface);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.lgsd__body{display:grid;gap:18px}
.lgsd__k{display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--water)}
.lgsd__t{font-size:clamp(2rem,3.6vw,3rem)}
.lgsd__text{display:grid;gap:12px;color:var(--ink-2);font-size:1.06rem}
.lgsd__tasks{display:grid;gap:8px;margin:0;padding:18px 20px;border-radius:20px;background:var(--surface);border:1.5px solid var(--line)}
@media (min-width:640px){.lgsd__tasks{grid-template-columns:1fr 1fr;gap:10px 20px}}
.lgsd__tasks li{display:flex;gap:10px;line-height:1.35;font-weight:600}
.lgsd__tasks .ico{width:18px;height:18px;margin-top:1px;color:var(--water)}
.lgsd__body .btn{justify-self:start}

/* =========================================================================
   Galerie
   ========================================================================= */
.lggal{background:var(--bg)}
.lggal__grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:160px;grid-auto-flow:dense;gap:12px;margin:0;padding:0}
@media (min-width:900px){.lggal__grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px}}
.lggal__cell a{position:relative;display:block;height:100%;border-radius:20px;overflow:hidden}
.lggal__cell--tall{grid-row:span 2}
.lggal__cell--square{grid-row:span 1}
@media (min-width:900px){.lggal__cell--land{grid-column:span 2}.lggal__cell--tall{grid-row:span 2}}
.lggal__cell img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.lggal__cell a:hover img{transform:scale(1.06)}
.lggal__cap{position:absolute;left:10px;right:10px;bottom:10px;padding:7px 12px;border-radius:12px;background:rgba(7,42,69,.78);color:#fff;font-size:.84rem;font-weight:700;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s var(--ease)}
.lggal__cell a:hover .lggal__cap,.lggal__cell a:focus-visible .lggal__cap{opacity:1;transform:none}
@media (hover:none){.lggal__cap{opacity:1;transform:none;font-size:.76rem}}

/* =========================================================================
   À propos, engagements
   ========================================================================= */
.lgab__in{display:grid;gap:40px;align-items:start}
@media (min-width:960px){.lgab__in{grid-template-columns:.9fr 1.1fr;gap:72px}}
.lgab__photo{margin:0}
.lgab__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--corner)}
.lgab__photo figcaption{margin-top:10px;font-size:.84rem;font-weight:700;color:var(--muted)}
.lgab__text{display:grid;gap:16px;font-size:1.1rem;color:var(--ink-2)}
.lgab__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0 0;padding:0}
.lgab__facts li{display:grid;gap:6px;padding:16px;border:2px solid var(--ink);border-radius:10px;background:#fff;box-shadow:4px 4px 0 var(--water-light)}
.lgab__facts strong{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:900;letter-spacing:-.04em;line-height:1}
.lgab__facts span{font-size:.86rem;font-weight:700;color:var(--muted);line-height:1.3}
.lgab__sign{margin-top:28px;font-style:italic;font-weight:500;font-size:1.15rem;color:var(--water)}
@media (max-width:520px){.lgab__facts{grid-template-columns:1fr}}
.lgtr{background:var(--bg-2)}
.lgtr__list{display:grid;gap:3px;margin:0;padding:3px;border-radius:28px;background:var(--water-light);overflow:hidden}
@media (min-width:700px){.lgtr__list{grid-template-columns:1fr 1fr}}
@media (min-width:1050px){.lgtr__list{grid-template-columns:repeat(3,1fr)}}
.lgtr__item{display:grid;align-content:start;gap:10px;padding:28px 26px;background:var(--surface)}
.lgtr__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--bg-2);color:var(--water)}
.lgtr__t{font-size:1.3rem;letter-spacing:-.02em}
.lgtr__p{color:var(--ink-2)}

/* =========================================================================
   Devis
   ========================================================================= */
.lgq{padding-top:clamp(30px,4vw,56px)}
.lgq__in{display:grid;gap:26px;align-items:start}
@media (min-width:1000px){.lgq__in{grid-template-columns:.9fr 1.1fr;gap:40px}}
.lgq__side{position:relative;padding:clamp(26px,4vw,48px);border-radius:var(--corner);background:var(--deep);color:var(--on-dark);overflow:hidden;isolation:isolate}
.lgq__caustics{position:absolute;inset:0;z-index:-1;opacity:.14;mix-blend-mode:screen}
.lgq__title{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.96;letter-spacing:-.045em}
.lgq__title em{color:var(--water-on-dark);font-weight:300}
.lgq__lead{margin-top:20px;font-size:1.1rem;color:var(--on-dark-muted)}
.lgq__next-t{margin-top:30px;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--water-on-dark)}
.lgq__next{display:grid;gap:10px;margin:12px 0 0;padding:0}
.lgq__next li{display:flex;align-items:center;gap:14px;font-weight:700}
.lgq__next span{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;border:2px solid var(--water-on-dark);font-weight:900}
.lgq__call{display:inline-flex;align-items:center;gap:14px;margin-top:30px;padding:12px 22px 12px 14px;border-radius:999px;background:rgba(245,237,227,.1);border:1.5px solid rgba(245,237,227,.3);text-decoration:none;font-size:1.2rem;font-weight:900}
.lgq__call small{display:block;font-size:.76rem;font-weight:700;color:var(--on-dark-muted)}
.lgq__call:hover{background:rgba(245,237,227,.18)}
.lgq__form,.lgct__form{padding:clamp(22px,3.4vw,42px);border-radius:30px;background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--shadow-s)}

/* Formulaires (moteur) */
.sform__field label,.sform__label{font-weight:800;font-size:.95rem}
.sform__field input,.sform__field textarea,.sform__field select{border:1.5px solid var(--line);background:var(--bg);font:inherit;font-weight:600}
.sform__field input:focus,.sform__field textarea:focus,.sform__field select:focus{border-color:var(--water);box-shadow:0 0 0 4px color-mix(in srgb,var(--water-light) 45%,transparent);outline:none}
.sform__req{color:var(--accent-text)}
.sform__err{color:#B3261E;font-weight:700}
.sform__legend{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;margin-bottom:16px}
.sform__legend span{display:block;margin-bottom:4px;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--water)}
.sform__progress li{border-top-width:4px;font-weight:700}
.sform__progress li.is-current,.sform__progress li.is-done{border-top-color:var(--water)}
.sform__progress-n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--bg-2);font-weight:900;font-size:.8rem}
.sform__progress li.is-current .sform__progress-n{background:var(--water);color:#fff}
.chip span{border-radius:999px;border:1.5px solid var(--line);background:var(--bg);font-weight:700}
.chip:hover span{border-color:var(--water)}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.sform__submit{min-height:56px}
.sform__legal{color:var(--muted);font-size:.84rem}
.sform__status{font-weight:700}

/* =========================================================================
   Contact
   ========================================================================= */
.lgct{padding-top:clamp(34px,5vw,64px);background:var(--bg-2)}
.lgct__in{display:grid;gap:36px;align-items:start}
@media (min-width:1000px){.lgct__in{grid-template-columns:1fr 1fr;gap:60px}}
.lgct__list{display:grid;gap:0;margin:34px 0 0;padding:0}
.lgct__list>li{display:flex;gap:16px;padding:18px 0;border-top:1.5px solid var(--line)}
.lgct__list>li:last-child{border-bottom:1.5px solid var(--line)}
.lgct__list small{display:block;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--water)}
.lgct__ico{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:var(--surface);color:var(--water)}
.lgct__big{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;letter-spacing:-.03em;text-decoration:none}
.lgct__big:hover{color:var(--water)}
.lgct__state{display:block;margin:4px 0 8px;font-weight:700}
.lgct__hours{margin-top:6px}
.lgct__em{display:block;margin-top:8px;color:var(--muted)}
.lgct__areas-t{margin-top:28px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--water)}
.lgct__areas{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0}
.lgct__areas li{padding:5px 12px;border-radius:999px;background:var(--surface);font-size:.9rem;font-weight:700}
.lgct__form-t{font-size:1.8rem;font-weight:800;letter-spacing:-.03em}
.lgct__form-p{margin:8px 0 20px;color:var(--muted)}
.lgct__form-p a{color:var(--water);font-weight:700}

/* =========================================================================
   Pied de page — le fond du bassin
   ========================================================================= */
.lgf{position:relative;background:var(--deep-2);color:var(--on-dark);overflow:hidden;padding:clamp(70px,9vw,120px) 0 30px}
.lgf__caustics{position:absolute;inset:0;opacity:.09;mix-blend-mode:screen}
.lgf__wrap{position:relative}
.lgf__top{display:grid;gap:26px;align-items:end;padding-bottom:clamp(40px,6vw,70px);border-bottom:1px solid rgba(245,237,227,.16)}
@media (min-width:960px){.lgf__top{grid-template-columns:1.4fr 1fr}}
.lgf__big{font-size:clamp(2.3rem,5vw,4.4rem);font-weight:850;line-height:.98;letter-spacing:-.045em}
.lgf__act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
@media (min-width:960px){.lgf__act{justify-content:flex-end}}
.lgf__phone{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:1.3rem;font-weight:900;text-decoration:none}
.lgf__grid{display:grid;gap:34px;padding:clamp(40px,6vw,64px) 0}
@media (min-width:700px){.lgf__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1050px){.lgf__grid{grid-template-columns:1.5fr 1fr 1fr 1fr}}
.lgf__word{display:flex;align-items:center;gap:12px;font-size:1.4rem;font-weight:900;letter-spacing:-.03em}
.lgf .lg-buoy__rope{stroke:var(--on-dark)}
.lgf__desc{margin-top:14px;max-width:380px;color:var(--on-dark-muted)}
.lgf__certs{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0}
.lgf__certs li{padding:5px 11px;border:1px solid rgba(245,237,227,.28);border-radius:999px;font-size:.8rem;font-weight:700}
.lgf__demo{margin-top:8px;font-size:.78rem;color:var(--on-dark-muted)}
.lgf__title{margin-bottom:14px;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--water-on-dark)}
.lgf__list,.lgf__socials{display:grid;gap:2px;margin:0;padding:0}
.lgf__list a,.lgf__link{display:inline-flex;align-items:center;min-height:36px;color:var(--on-dark);text-decoration:none;font-weight:600}
.lgf__list a:hover,.lgf__link:hover{text-decoration:underline;text-underline-offset:4px}
.lgf__hours,.lgct__hours{display:grid;gap:4px;margin:0;padding:0;font-size:.94rem;font-variant-numeric:tabular-nums}
.lgf__hours li,.lgct__hours li{display:flex;justify-content:space-between;gap:14px;padding:2px 0}
.lgf__hours li.is-today{color:var(--accent-on-dark);font-weight:800}
.lgct__hours li.is-today{color:var(--water);font-weight:800}
.lgf__hours li.is-closed{color:var(--on-dark-muted)}
.lgct__hours li.is-closed{color:var(--muted)}
.lgf__note{margin-top:12px;font-size:.84rem;color:var(--on-dark-muted)}
.lgf__addr{color:var(--on-dark)}
.lgf__floor{display:flex;align-items:center;justify-content:center;gap:18px;padding:22px 0;border-top:1px solid rgba(245,237,227,.16)}
.lgf__drain{flex:none;width:54px;height:54px;border-radius:50%;border:3px solid rgba(245,237,227,.5);background:repeating-linear-gradient(90deg,rgba(245,237,227,.45) 0 3px,transparent 3px 8px)}
.lgf__up{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:700;color:var(--on-dark);text-decoration:none}
.lgf__up .ico{transform:rotate(-90deg);transition:transform .3s var(--ease)}
.lgf__up:hover .ico{transform:rotate(-90deg) translateX(4px)}
.lgf__up:hover span{text-decoration:underline;text-underline-offset:4px}
.lgf__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 30px;padding-top:22px;border-top:1px solid rgba(245,237,227,.16);font-size:.88rem;color:var(--on-dark-muted)}
.lgf__nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.lgf__nav a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none;color:var(--on-dark-muted)}
.lgf__nav a:hover{color:var(--on-dark)}
.lgf :focus-visible,.lgyear :focus-visible,.lgcta :focus-visible,.lgq__side :focus-visible,.lgm :focus-visible,.is-featured :focus-visible{outline-color:var(--water-on-dark)}
@media (max-width:899px){.lgf{padding-bottom:100px}}

/* Barre mobile */
.mobile-bar{border-radius:999px;padding:6px}
.mobile-bar__item{border-radius:999px;font-weight:800}

/* =========================================================================
   404 et mentions
   ========================================================================= */
.notfound{position:relative;background:var(--deep);color:var(--on-dark);overflow:hidden;isolation:isolate}
.notfound::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;mix-blend-mode:screen}
.notfound__in{display:grid;justify-items:start;gap:20px;max-width:780px}
.notfound .eyebrow{display:inline-flex;padding:6px 11px;border:2px solid #fff;border-radius:6px;font-weight:900;letter-spacing:.06em;box-shadow:3px 3px 0 var(--accent)}
.notfound__title{font-size:clamp(3rem,8vw,6.4rem);line-height:.92;letter-spacing:-.05em}
.notfound__text{font-size:1.2rem;color:var(--on-dark-muted)}
.legal__in{max-width:780px}
.legal .page-hero__title{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:24px}
.legal h2{margin:34px 0 10px;font-size:1.5rem}
.legal p{color:var(--ink-2)}
.legal__demo{padding:14px 18px;border-radius:14px;background:var(--bg-2);font-weight:700}

/* Apparitions */
.js [data-reveal]{transition-duration:.9s;transition-timing-function:var(--ease)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .lgyear__water{height:var(--h,4%)!important}
}
.lgtr+.lgsteps{background:var(--bg)}
