/* ============================================================================
   MOTEUR LENY MAGOUFAKIS — engine.css
   Design system canonique partagé par tous les sites de l'écosystème.
   Source de vérité unique. On ne fork pas : on surcharge par site.
   Extrait et normalisé depuis films.lenymagoufakis.com (version canonique).

   Convention : tout est scopé sous #lm-re. Les surcharges par site se font
   dans le <style> de la page (préfixés #lm-re), jamais dans ce fichier.
   ============================================================================ */

/* ---------- POLICES (self-hosted, même origine) ---------- */
/* Archivo — sans, corps + nav */
@font-face{font-family:'Archivo';font-style:normal;font-weight:300 600;font-stretch:100%;font-display:swap;src:url("fonts/archivo-vietnamese.woff2") format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:300 600;font-stretch:100%;font-display:swap;src:url("fonts/archivo-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:300 600;font-stretch:100%;font-display:swap;src:url("fonts/archivo-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* Fraunces — serif, titres (italique) */
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 500;font-display:swap;src:url("fonts/fraunces-italic-vietnamese.woff2") format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 500;font-display:swap;src:url("fonts/fraunces-italic-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 500;font-display:swap;src:url("fonts/fraunces-italic-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* Fraunces — serif, titres (normal) */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 600;font-display:swap;src:url("fonts/fraunces-vietnamese.woff2") format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 600;font-display:swap;src:url("fonts/fraunces-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 600;font-display:swap;src:url("fonts/fraunces-latin.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- TOKENS ---------- */
#lm-re{
  --ink:#0a1518; --ink-2:#0c1c20; --teal-deep:#0e2429;
  --bone:#efe7d7; --bone-ink:#13282c; --bone-muted:#42585b;
  --paper:#f1ede3; --muted:rgba(241,237,227,.58); --faint:rgba(241,237,227,.30); --line:rgba(241,237,227,.13);
  --amber:#d6a25c; --amber-hi:#f0c889;
  --gold-deep:#9a6b2f; --gold-deep-hi:#a9712b; /* or sur fond clair : LA paire canonique de l'écosystème */
  --gold:linear-gradient(100deg,#a8641f 0%,#d6a25c 22%,#ffe1b0 50%,#d6a25c 78%,#a8641f 100%);
  --gold-soft:linear-gradient(100deg,#b98c4e 0%,#e7bd84 22%,#fff3d6 50%,#e7bd84 78%,#b98c4e 100%);
  --serif:'Fraunces',Georgia,serif; --sans:'Archivo',-apple-system,BlinkMacSystemFont,sans-serif;
  position:relative;background:var(--ink);color:var(--paper);font-family:var(--sans);font-weight:300;line-height:1.5;-webkit-font-smoothing:antialiased;
}
#lm-re *{box-sizing:border-box;margin:0;padding:0;}
#lm-re a{color:inherit;text-decoration:none;}
#lm-re img,#lm-re video{max-width:100%;height:auto;display:block;}

/* ---------- LANGUE (show/hide) ---------- */
#lm-re.lang-en .t-es,#lm-re.lang-en .t-fr{display:none;}
#lm-re.lang-es .t-en,#lm-re.lang-es .t-fr{display:none;}
#lm-re.lang-fr .t-en,#lm-re.lang-fr .t-es{display:none;}

/* ---------- PRELOADER ---------- */
#lm-re #lm-preload{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#0a1518;overflow:hidden;transform:translateZ(0);transition:opacity .95s cubic-bezier(.45,0,.18,1) .05s;}
#lm-re #lm-preload::before{content:"";position:absolute;inset:-20%;background:radial-gradient(42% 42% at 50% 45%,rgba(214,162,92,.15),transparent 70%);}
#lm-re #lm-preload.is-done{opacity:0;pointer-events:none;}
#lm-re .lm-pre-inner{position:relative;text-align:center;padding:0 24px;transition:opacity .8s ease,transform .9s cubic-bezier(.7,0,.2,1);}
#lm-re #lm-preload.is-done .lm-pre-inner{opacity:0;transform:translateY(-12px);transition:opacity .45s ease,transform .65s cubic-bezier(.45,0,.18,1);}
#lm-re .lm-pre-name{font-family:var(--serif);font-weight:340;text-transform:uppercase;letter-spacing:.2em;font-size:clamp(1.3rem,5.2vw,3.2rem);line-height:1;background:linear-gradient(100deg,#b98c4e 0%,#e7bd84 22%,#fff3d6 50%,#e7bd84 78%,#b98c4e 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;opacity:0;animation:lm-pre-in 1s ease .15s forwards,lm-pre-sheen 2.6s ease-in-out .8s 1;}
#lm-re .lm-pre-rule{height:1px;width:0;margin:clamp(15px,2vw,24px) auto 0;background:linear-gradient(90deg,transparent,var(--amber),transparent);animation:lm-pre-rule 1s ease .5s forwards;}
#lm-re .lm-pre-sub{margin-top:clamp(12px,1.6vw,18px);font-family:var(--sans);text-transform:uppercase;letter-spacing:.36em;font-size:clamp(.6rem,1.3vw,.74rem);color:var(--amber-hi);opacity:0;animation:lm-pre-in .9s ease .95s forwards;}
@keyframes lm-pre-in{from{opacity:0;transform:translateY(10px);filter:blur(7px);}to{opacity:1;transform:none;filter:blur(0);}}
@keyframes lm-pre-rule{from{width:0;opacity:0;}to{width:min(300px,62vw);opacity:1;}}
@keyframes lm-pre-sheen{0%{background-position:150% 0;}45%{background-position:-50% 0;}55%{background-position:-50% 0;}100%{background-position:150% 0;}}
body.fx-hold #lm-re .lm-reveal{opacity:0!important;transform:translateY(30px) scale(1.012)!important;filter:blur(7px)!important;transition:none!important;}
@media (prefers-reduced-motion:reduce){#lm-re .lm-pre-name,#lm-re .lm-pre-sub{animation:none;opacity:1;}#lm-re .lm-pre-rule{animation:none;width:min(300px,62vw);opacity:1;}#lm-re #lm-preload{transition:opacity .3s ease;}}

/* ---------- REVEAL AU SCROLL ---------- */
#lm-re .lm-reveal{opacity:0;transform:translateY(30px) scale(1.012);filter:blur(7px);transition:opacity .85s cubic-bezier(.16,.84,.26,1) var(--d,0s),transform .95s cubic-bezier(.16,.84,.26,1) var(--d,0s),filter .7s ease var(--d,0s);}
#lm-re .lm-reveal.is-in{opacity:1;transform:none;filter:blur(0);}
@media (prefers-reduced-motion:reduce){#lm-re .lm-reveal{opacity:1;transform:none;transition:none;}}

/* ---------- TYPOGRAPHIE ---------- */
#lm-re .lm-eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--amber);}
#lm-re .lm-bone .lm-eyebrow{color:var(--gold-deep);}
#lm-re .lm-display{font-family:var(--serif);font-optical-sizing:auto;font-weight:340;font-size:clamp(3rem,9vw,7.4rem);line-height:.96;letter-spacing:-.025em;}
#lm-re .lm-h2{font-family:var(--serif);font-weight:340;font-size:clamp(1.9rem,4.4vw,3.4rem);line-height:1.05;letter-spacing:-.015em;}
#lm-re .lm-lede{max-width:46ch;font-size:clamp(1rem,1.5vw,1.18rem);color:rgba(241,237,227,.72);line-height:1.6;}
#lm-re .lm-scroll{margin-top:clamp(28px,4vw,46px);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);}
#lm-re .lm-statement{font-family:var(--serif);font-weight:340;font-size:clamp(1.6rem,3.8vw,3rem);line-height:1.22;letter-spacing:-.01em;color:var(--bone-ink);}
#lm-re .lm-em{font-style:italic;color:var(--amber-hi);font-weight:360;}
#lm-re .lm-bone .lm-em{font-style:italic;color:var(--gold-deep-hi);}
/* or animé lettre par lettre (statique) */
#lm-re .lm-em-hl{background:var(--gold);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:lm-emhl 4s ease-in-out infinite,fxGold 5.2s ease-in-out infinite;}
@keyframes lm-emhl{0%,100%{background-position:0% 50%;filter:drop-shadow(0 1px 2px rgba(168,100,31,.18));}50%{background-position:100% 50%;filter:drop-shadow(0 1px 12px rgba(214,162,92,.6));}}
@keyframes fxGold{0%{background-position:115% 0}45%{background-position:-115% 0}55%{background-position:-115% 0}100%{background-position:115% 0}}
/* lueurs */
#lm-re .lm-heroglow{animation:lm-heroglow 7s ease-in-out infinite;}
@keyframes lm-heroglow{0%,100%{text-shadow:0 0 22px rgba(240,200,137,.10)}50%{text-shadow:0 0 46px rgba(240,200,137,.33)}}
#lm-re .lm-glowname{animation:lm-numglow 5.5s ease-in-out infinite;}
#lm-re .lm-num{display:block;font-family:var(--serif);font-weight:330;font-size:clamp(2.2rem,5vw,3.7rem);color:var(--amber-hi);line-height:1;letter-spacing:-.02em;animation:lm-numglow 5s ease-in-out infinite;}
@keyframes lm-numglow{0%,100%{text-shadow:0 0 10px rgba(240,200,137,.10)}50%{text-shadow:0 0 26px rgba(240,200,137,.46)}}

/* ---------- NAV ---------- */
#lm-re .lm-nav{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;justify-content:space-between;align-items:center;padding:16px clamp(20px,5vw,56px);transition:background .4s ease,backdrop-filter .4s ease,border-color .4s ease,padding .4s ease;border-bottom:1px solid transparent;}
#lm-re .lm-nav.scrolled{background:rgba(11,30,35,.72);backdrop-filter:blur(13px) saturate(1.1);-webkit-backdrop-filter:blur(13px) saturate(1.1);border-bottom-color:rgba(241,237,227,.1);padding-top:12px;padding-bottom:12px;}
#lm-re .lm-nav-name{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--paper);background:var(--gold);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:fxGold 5.2s ease-in-out infinite;}
#lm-re .lm-nav-right{display:flex;align-items:center;gap:12px;}
#lm-re .lm-nav-cta{font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);border:1px solid rgba(241,237,227,.3);padding:8px 15px;border-radius:40px;transition:background .35s ease,border-color .35s ease,color .35s ease;}
#lm-re .lm-nav-cta:hover{background:rgba(241,237,227,.1);border-color:var(--amber);color:var(--amber-hi);}
/* pilule langue */
#lm-re .lm-lng{display:flex;gap:4px;border:1px solid rgba(241,237,227,.3);border-radius:99px;padding:3px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(8,23,26,.4);box-sizing:border-box;}
#lm-re .lm-lng button{background:none;border:none;color:rgba(239,231,215,.55);font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.16em;padding:6px 13px;border-radius:99px;cursor:pointer;transition:color .3s,background-color .3s,text-shadow .3s;line-height:1;}
#lm-re .lm-lng button.on{background:rgba(238,203,142,.16);color:var(--amber-hi);text-shadow:0 0 14px rgba(238,203,142,.5);}
#lm-re .lm-lng button:hover{color:var(--amber-hi);}

/* ---------- SECTIONS ---------- */
#lm-re .lm-section{padding:clamp(64px,11vw,150px) clamp(28px,7vw,90px);max-width:1280px;margin:0 auto;}
#lm-re .lm-bone{background:var(--bone);color:var(--bone-ink);padding:clamp(70px,12vw,160px) clamp(28px,7vw,90px);position:relative;overflow:hidden;}
#lm-re .lm-bone-inner{max-width:1180px;margin:0 auto;position:relative;z-index:1;}
/* dérive de fond crème */
#lm-re .lm-drift-bg{position:absolute;inset:-25%;z-index:0;pointer-events:none;background:radial-gradient(38% 46% at 28% 32%,rgba(214,162,92,.18),transparent 70%),radial-gradient(42% 52% at 76% 72%,rgba(14,80,86,.17),transparent 72%);animation:lm-drift 20s ease-in-out infinite alternate;}
@keyframes lm-drift{0%{transform:translate(-2%,1%) scale(1)}100%{transform:translate(3%,-3%) scale(1.1)}}

/* ---------- HERO (coquille générique) ---------- */
#lm-re .lm-hero{position:relative;min-height:94vh;display:flex;align-items:flex-end;overflow:hidden;padding:clamp(28px,7vw,90px);}
#lm-re .lm-hero-bg{position:absolute;inset:0;z-index:0;}
#lm-re .lm-hero-bg img,#lm-re .lm-hero-bg video{width:100%;height:100%;object-fit:cover;filter:contrast(1.07) saturate(.82) brightness(.58);animation:lmkb 32s ease-in-out infinite alternate;transform-origin:50% 42%;}
@keyframes lmkb{from{transform:scale(1.02)}to{transform:scale(1.12)}}
#lm-re .lm-hero-tint{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,20,24,.42) 0%,rgba(7,16,20,.6) 46%,rgba(7,15,18,.97) 100%),linear-gradient(75deg,rgba(7,15,18,.7),rgba(7,15,18,.14) 60%,transparent),radial-gradient(80% 60% at 78% 18%,rgba(20,72,76,.28),transparent 60%);}
#lm-re .lm-hero-inner{position:relative;z-index:3;max-width:1120px;width:100%;margin:0 auto;}
@media (prefers-reduced-motion:reduce){#lm-re .lm-hero-bg img,#lm-re .lm-hero-bg video{animation:none;}}

/* ---------- GRAIN ---------- */
#lm-re .lm-grain{position:fixed;top:-17%;left:-17%;width:134%;height:134%;pointer-events:none;z-index:70;opacity:.15;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='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='gamma' exponent='3.2' amplitude='1' offset='0'/%3E%3CfeFuncG type='gamma' exponent='3.2' amplitude='1' offset='0'/%3E%3CfeFuncB type='gamma' exponent='3.2' amplitude='1' offset='0'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:130px 130px;will-change:transform;animation:lm-grain .5s steps(3,end) infinite;}
@keyframes lm-grain{0%{transform:translate(0,0)}10%{transform:translate(-6%,-4%)}20%{transform:translate(-9%,5%)}30%{transform:translate(6%,-9%)}40%{transform:translate(-4%,9%)}50%{transform:translate(-10%,4%)}60%{transform:translate(9%,1%)}70%{transform:translate(1%,9%)}80%{transform:translate(-9%,1%)}90%{transform:translate(5%,5%)}100%{transform:translate(0,0)}}
#lm-re .lm-bone-grain{position:absolute;inset:0;z-index:0;opacity:.06;mix-blend-mode:multiply;pointer-events:none;background-size:170px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='nbg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.86' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23nbg)'/%3E%3C/svg%3E");}
@media (prefers-reduced-motion:reduce){#lm-re .lm-grain{animation:none;}}

/* ---------- CAUSTIQUES (sections crème) — exclusif films + mariage, jamais hub/portraits/entreprises ---------- */
#lm-re .lm-caustics{position:absolute;inset:-6%;width:112%;height:112%;z-index:0;pointer-events:none;opacity:0;mix-blend-mode:multiply;transition:opacity 1.4s ease;transform:translateZ(0);}
#lm-re .lm-bone.fx-live .lm-caustics{opacity:.2;animation:lmCausDrift 44s ease-in-out infinite alternate;}
@keyframes lmCausDrift{from{transform:translate(-1.4%,.4%) scale(1)}to{transform:translate(1.4%,-1.6%) scale(1.05)}}
@media (prefers-reduced-motion:reduce){#lm-re .lm-caustics{display:none;}}

/* ---------- MARQUEE ---------- */
#lm-re .lm-marquee{overflow:hidden;white-space:nowrap;background:#15343d;border-top:1px solid rgba(239,231,215,.10);border-bottom:1px solid rgba(239,231,215,.10);padding:clamp(15px,2.1vw,25px) 0;}
#lm-re .lm-marquee-track{display:inline-block;white-space:nowrap;will-change:transform;animation:lm-march 36s linear infinite;}
#lm-re .lm-marquee-track.lm-rev{animation-direction:reverse;}
#lm-re .lm-marquee .ph{font-family:var(--serif);font-style:italic;font-weight:340;font-size:clamp(1.15rem,2.4vw,2rem);letter-spacing:.005em;color:var(--bone);padding:0 .4em;}
#lm-re .lm-marquee .sep{color:var(--amber);font-size:clamp(.8rem,1.5vw,1.2rem);vertical-align:middle;padding:0 .1em;}
@keyframes lm-march{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){#lm-re .lm-marquee-track{animation:none;}}

/* ---------- FAÇADE VIDÉO + LIGHTBOX ---------- */
#lm-re .lm-video{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:3px;background:linear-gradient(150deg,#13242a,#0a1417);}
#lm-re .lm-video.v16{aspect-ratio:16/9;}
#lm-re .lm-video.v916{aspect-ratio:9/16;}
#lm-re .lm-yt{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:none;display:block;}
#lm-re .lm-yt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.86) saturate(1.02);transition:filter .55s ease,transform .65s cubic-bezier(.22,.61,.36,1);}
#lm-re .lm-video:hover .lm-yt img{filter:brightness(1);transform:scale(1.035);}
#lm-re .lm-yt-frame{position:absolute;inset:0;width:100%;height:100%;border:0;}
#lm-re .lm-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 50% 38%,rgba(231,189,132,.95),rgba(184,132,62,.92));box-shadow:0 10px 40px rgba(0,0,0,.4),0 0 0 1px rgba(255,243,214,.35),0 0 34px rgba(214,162,92,.28);transition:transform .45s cubic-bezier(.16,.84,.26,1),box-shadow .45s ease;}
#lm-re .lm-play.sm{width:54px;height:54px;}
#lm-re .lm-play::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-left:17px solid #0a1518;border-top:10px solid transparent;border-bottom:10px solid transparent;}
#lm-re .lm-play.sm::after{border-left-width:13px;border-top-width:8px;border-bottom-width:8px;}
#lm-re .lm-yt:hover .lm-play{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 14px 50px rgba(0,0,0,.45),0 0 0 1px rgba(255,243,214,.5),0 0 50px rgba(214,162,92,.45);}

/* ---------- CARROUSEL paginé (desktop) ---------- */
#lm-re .lm-carow{position:relative;}
#lm-re .lm-carow-vp{overflow:hidden;}
#lm-re .lm-arw{display:none;}
@media(min-width:901px){
 #lm-re .lm-carow .lm-grid{display:flex;flex-wrap:nowrap;gap:var(--gap,38px);transition:transform .9s cubic-bezier(.16,.84,.26,1);will-change:transform;}
 #lm-re .lm-carow .lm-grid>*{flex:0 0 calc((100% - 2*var(--gap,38px))/3);}
 #lm-re .lm-arw{display:grid;place-items:center;position:absolute;top:calc(50% - 30px);transform:translateY(-50%);z-index:20;width:48px;height:48px;border-radius:50%;background:rgba(10,21,24,.46);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(214,162,92,.55);color:var(--bone);font-size:24px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .6s ease,background .35s ease,border-color .35s ease,transform .35s ease;box-shadow:0 10px 34px rgba(0,0,0,.45);}
 #lm-re .lm-arw.show{opacity:1;pointer-events:auto;}
 #lm-re .lm-arw:hover{background:rgba(10,21,24,.7);border-color:var(--amber);transform:translateY(-50%) scale(1.07);}
 #lm-re .lm-arw.prev{left:-26px;}
 #lm-re .lm-arw.next{right:-26px;}
 #lm-re .lm-carow-dots{display:flex;gap:9px;justify-content:center;margin-top:clamp(26px,3vw,40px);}
 #lm-re .lm-carow-dot{width:7px;height:7px;border-radius:50%;background:rgba(239,231,215,.22);transition:background .4s,width .4s;cursor:pointer;border:none;}
 #lm-re .lm-carow-dot.on{background:var(--amber);width:22px;border-radius:5px;}
}
@keyframes lmBreath{0%,100%{box-shadow:0 0 0 0 rgba(238,203,142,0);transform:translateY(-50%) scale(1)}50%{box-shadow:0 0 22px 2px rgba(238,203,142,.28);transform:translateY(-50%) scale(1.07);border-color:rgba(238,203,142,.65)}}
#lm-re .lm-arw.next{animation:lmBreath 2.8s ease-in-out infinite;}
#lm-re .lm-arw:hover{animation-play-state:paused;}

/* ---------- CARROUSEL simple (scroll-snap) ---------- */
#lm-re .lm-carousel{position:relative;}
#lm-re .lm-car-mask{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);}
#lm-re .lm-car-track{display:flex;gap:clamp(12px,1.6vw,20px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:2px 0 6px;scrollbar-width:none;}
#lm-re .lm-car-track::-webkit-scrollbar{display:none;}
#lm-re .lm-slide{flex:0 0 86%;scroll-snap-align:center;aspect-ratio:16/10;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#0c1c20;}
#lm-re .lm-slide img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.04) saturate(.9) brightness(.95);}
#lm-re .lm-car-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(241,237,227,.25);background:rgba(8,20,24,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--paper);font-size:1.5rem;line-height:1;cursor:pointer;z-index:5;transition:background .3s ease,border-color .3s ease,color .3s ease;}
#lm-re .lm-car-btn:hover{background:rgba(214,162,92,.22);border-color:var(--amber);color:var(--amber-hi);}
#lm-re .lm-car-btn.prev{left:10px;}
#lm-re .lm-car-btn.next{right:10px;animation:lmBreath 2.8s ease-in-out infinite;}
@media(min-width:900px){#lm-re .lm-slide{flex-basis:70%;}}

/* ---------- AVANT / APRÈS ---------- */
#lm-re .lm-ba-wrap{margin:clamp(40px,5.5vw,70px) auto;max-width:1160px;}
#lm-re .lm-ba-kick{display:flex;align-items:center;gap:18px;justify-content:center;margin-bottom:clamp(18px,2.4vw,26px);}
#lm-re .lm-ba-kick .ln{height:1px;width:clamp(40px,7vw,90px);background:linear-gradient(90deg,transparent,rgba(214,162,92,.55));flex:none;}
#lm-re .lm-ba-kick .ln:last-child{background:linear-gradient(90deg,rgba(214,162,92,.55),transparent);}
#lm-re .lm-ba-kick .tx{font-family:var(--sans);text-transform:uppercase;letter-spacing:.32em;font-size:clamp(.56rem,1.1vw,.66rem);color:var(--amber);white-space:nowrap;}
@media(max-width:560px){#lm-re .lm-ba-kick .tx{white-space:normal;text-align:center;line-height:1.7;}}
#lm-re .lm-ba-stage{perspective:1100px;}
#lm-re .lm-ba{position:relative;width:100%;aspect-ratio:16/10;border-radius:18px;overflow:hidden;user-select:none;cursor:ew-resize;box-shadow:0 50px 110px -40px rgba(0,0,0,.85),0 0 0 1px rgba(214,162,92,.14);will-change:transform;}
#lm-re .lm-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;display:block;}
#lm-re .lm-ba .after{clip-path:inset(0 0 0 var(--p,50%));z-index:2;}
#lm-re .lm-ba .lbl{position:absolute;bottom:18px;font-family:var(--sans);text-transform:uppercase;letter-spacing:.3em;font-size:.58rem;color:rgba(239,231,215,.92);background:rgba(10,21,24,.55);backdrop-filter:blur(10px);padding:8px 16px;border-radius:40px;border:1px solid rgba(214,162,92,.25);pointer-events:none;z-index:3;}
#lm-re .lm-ba .lbl.l{left:18px;}
#lm-re .lm-ba .lbl.r{right:18px;}
#lm-re .lm-ba .hdl{position:absolute;top:0;bottom:0;left:var(--p,50%);width:1px;background:linear-gradient(180deg,transparent 4%,rgba(214,162,92,.85),transparent 96%);transform:translateX(-50%);pointer-events:none;z-index:4;}
#lm-re .lm-ba .hdl::after{content:"";position:absolute;top:50%;left:50%;width:52px;height:52px;border-radius:50%;transform:translate(-50%,-50%);background:rgba(10,21,24,.42);backdrop-filter:blur(10px);border:1px solid rgba(214,162,92,.8);box-shadow:0 6px 26px rgba(0,0,0,.5),0 0 22px rgba(214,162,92,.18);}
#lm-re .lm-ba .hdl::before{content:"\2039\00a0\00a0\203A";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--bone);font-size:15px;letter-spacing:2px;z-index:5;}
#lm-re .lm-ba-tabs{display:flex;gap:clamp(14px,2vw,22px);align-items:center;justify-content:center;margin-top:clamp(20px,2.6vw,30px);flex-wrap:wrap;}
#lm-re .lm-ba-dot{color:rgba(214,162,92,.5);font-size:.8rem;}
#lm-re .lm-ba-tab{position:relative;font-family:var(--sans);text-transform:uppercase;letter-spacing:.22em;font-size:clamp(.58rem,1.1vw,.68rem);color:rgba(239,231,215,.45);background:none;border:none;padding:6px 2px;cursor:pointer;transition:color .45s;}
#lm-re .lm-ba-tab::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:1px;background:var(--amber);transform:translateX(-50%);transition:width .5s cubic-bezier(.16,.84,.26,1);}
#lm-re .lm-ba-tab.on{color:var(--amber);}
#lm-re .lm-ba-tab.on::after{width:100%;}
#lm-re .lm-ba-tab:hover{color:rgba(239,231,215,.85);}

/* ---------- FOCUS DE GROUPE + TILT ---------- */
#lm-re .fx-grp>*{transition:opacity .45s,transform .45s;}
#lm-re .fx-grp:hover>*{opacity:.42;}
#lm-re .fx-grp>*:hover{opacity:1!important;}
#lm-re [data-fxtilt]{will-change:transform;}
@media (prefers-reduced-motion:reduce){#lm-re .fx-grp:hover>*{opacity:1;}}

/* ---------- CONTACT / PIED ---------- */
#lm-re .lm-contact{text-align:center;padding:clamp(80px,13vw,170px) clamp(28px,7vw,90px);background:radial-gradient(80% 120% at 50% 0%,rgba(20,72,76,.4),transparent 60%),var(--teal-deep);border-top:1px solid var(--line);}
#lm-re .lm-cta-h{font-family:var(--serif);font-weight:340;font-size:clamp(2.3rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.02em;margin:.35em 0 .9em;}
#lm-re .lm-cta-links{display:flex;flex-direction:column;gap:18px;align-items:center;}
#lm-re .lm-cta-wa{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--amber-hi);padding:16px 36px;border-radius:44px;transition:transform .35s ease,background .35s ease,box-shadow .35s ease;box-shadow:0 8px 30px rgba(240,200,137,.14);}
#lm-re .lm-cta-wa:hover{background:#fff;transform:translateY(-2px);}
#lm-re .lm-cta-mail{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,3vw,2rem);color:var(--amber-hi);border-bottom:1px solid transparent;transition:border-color .4s ease;padding-bottom:2px;}
#lm-re .lm-cta-mail:hover{border-color:var(--amber-hi);}
#lm-re .lm-cta-phone{font-size:1rem;letter-spacing:.12em;color:var(--muted);}
#lm-re .lm-social{margin-top:28px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
#lm-re .lm-social a:hover{color:var(--amber-hi);}
#lm-re .lm-dot{margin:0 12px;color:var(--faint);}
#lm-re .lm-foot{margin-top:clamp(40px,6vw,70px);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);}

#lm-re .lm-legal a{color:rgba(241,237,227,.55);transition:color .3s ease;}
#lm-re .lm-legal a:hover{color:#e7bd84;}


/* ---------- VAGUE LIQUIDE (titres, pointeur fin) ---------- */
#lm-re .lm-wl,#lm-re .lm-ww{display:inline-block;}
#lm-re .lm-ww{white-space:nowrap;}
#lm-re .lm-wl-emhl{color:#d9a657;-webkit-text-fill-color:#d9a657;background:none;text-shadow:0 0 1px rgba(217,166,87,.35);animation:lmShim 3.4s ease-in-out infinite;will-change:filter;}
@keyframes lmShim{0%,100%{filter:brightness(.82)}50%{filter:brightness(1.34)}}
@media (prefers-reduced-motion:reduce){#lm-re .lm-wl-emhl{animation:none;}}

/* ---------- CURSEUR / AURA / PROGRESSION ---------- */
@media(pointer:fine) and (hover:hover){body.fx-cursor,body.fx-cursor a,body.fx-cursor button{cursor:none;}}
#fxCur,#fxRing{position:fixed;left:0;top:0;pointer-events:none;z-index:99998;border-radius:50%;transform:translate(-50%,-50%);}
#fxCur{width:7px;height:7px;background:#f0c889;box-shadow:0 0 18px 4px rgba(240,200,137,.85);transition:opacity .3s ease;}
#fxRing{width:34px;height:34px;border:1px solid rgba(240,200,137,.55);transition:width .35s,height .35s,border-color .35s,background .35s,box-shadow .35s,opacity .3s ease;}
/* naissance cachee : invisibles tant qu'aucune position pointeur n'est connue
   (sans quoi le rond apparaitrait gare dans le coin haut-gauche au chargement) */
#fxCur.fx-nopos,#fxRing.fx-nopos{opacity:0;}
#fxRing.hov{width:66px;height:66px;border-color:rgba(240,200,137,.95);background:rgba(240,200,137,.1);box-shadow:0 0 34px rgba(240,200,137,.4),inset 0 0 18px rgba(240,200,137,.15);}
@media(hover:none),(pointer:coarse){#fxCur,#fxRing{display:none!important;}}
#fxAura{position:fixed;left:30%;top:30%;width:840px;height:840px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(190,120,42,.21),rgba(190,120,42,.07) 45%,transparent 70%);filter:blur(64px);transform:translate(-50%,-50%);will-change:transform;mix-blend-mode:screen;}
@media(hover:none),(pointer:coarse){#fxAura{animation:fxDrift 18s ease-in-out infinite alternate;}}
@keyframes fxDrift{from{transform:translate(-50%,-50%)}to{transform:translate(8%,22%) scale(1.16)}}
#fxProg{position:fixed;top:0;left:0;height:2px;width:0;z-index:99999;background:linear-gradient(90deg,#a8641f,#d6a25c,#ffe1b0);box-shadow:0 0 12px rgba(240,200,137,.7);}
@media(prefers-reduced-motion:reduce){#fxCur,#fxRing,#fxAura,#fxProg{display:none;}#lm-re .lm-em-hl,#lm-re .lm-nav-name{animation:none;}}

/* ---------- SCROLLBAR ---------- */
html{scrollbar-gutter:stable;}
/* ===== BARRE DE DEFILEMENT (nuit + jour) ===== */
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:#0a1518;}
::-webkit-scrollbar-thumb{background:#23363a;border-radius:6px;border:3px solid #0a1518;}
::-webkit-scrollbar-thumb:hover{background:#a8641f;}
html{scrollbar-width:thin;scrollbar-color:#23363a #0a1518;}
html:has(body.day),html:has(body.day) *{scrollbar-color:#c9b58c #eadfc3;}
html:has(body.day)::-webkit-scrollbar-track,
html:has(body.day) ::-webkit-scrollbar-track{background:#eadfc3;}
html:has(body.day)::-webkit-scrollbar-thumb,
html:has(body.day) ::-webkit-scrollbar-thumb{background:#c9b58c;border-color:#eadfc3;}
html:has(body.day)::-webkit-scrollbar-thumb:hover,
html:has(body.day) ::-webkit-scrollbar-thumb:hover{background:#9a6b2f;}
html,body{overflow-x:clip;}

/* ---------- FOCUS VISIBLE (clavier) ---------- */
/* anneau or des tokens au clavier uniquement (:focus-visible) ; la navigation
   souris ne change pas. Suit le thème : var(--amber) bascule via .lm-themed. */
#lm-re :focus-visible{outline:2px solid var(--amber);outline-offset:3px;}

/* ---------- PERFORMANCE MOBILE / TACTILE ---------- */
@media (hover:none),(pointer:coarse){
  #fxAura{display:none!important;}
  #lm-re .lm-nav.scrolled{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(11,30,35,.93)!important;}
  #lm-re .lm-lng{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
}
@media (max-width:700px){
  #lm-re .lm-caustics{animation:none!important;filter:none!important;opacity:.12!important;}
  #lm-re .lm-lng button:not(.on){display:none;}
  #lm-re .lm-lng{gap:0;padding:3px;}
  #lm-re .lm-nav-name{letter-spacing:.18em;font-size:.72rem;}
}

/* ============================================================================
   MODULE : MENU HAMBURGER (porté de mariage, référence visuelle validée)
   Markup attendu : .lm-burger (3 spans) dans la nav + .lm-menu (liens directs)
   + slot .lm-menu-foot (liens secondaires, ex. retour hub). Inerte sans markup.
   ============================================================================ */
#lm-re .lm-burger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;border:1px solid rgba(241,237,227,.25);border-radius:50%;background:rgba(8,20,24,.4);cursor:pointer;padding:0;flex:0 0 auto;transition:border-color .3s,background .3s;}
#lm-re .lm-burger:hover{border-color:var(--amber);background:rgba(214,162,92,.16);}
#lm-re .lm-burger span{display:block;width:18px;height:1.5px;background:var(--paper);transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .3s;}
#lm-re .lm-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
#lm-re .lm-burger.open span:nth-child(2){opacity:0;}
#lm-re .lm-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
#lm-re .lm-menu{position:fixed;inset:0;z-index:60;background:linear-gradient(160deg,rgba(8,20,24,.975),rgba(11,28,32,.985));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:clamp(12px,2.2vw,20px);opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s;padding:90px 24px 32px;overflow-y:auto;overscroll-behavior:contain;}
/* centrage sûr : marges auto = centré quand ça tient, scroll depuis le HAUT quand
   le menu déborde (viewports courts + menus longs des spokes). justify-content:center
   couperait le haut ET le bas sans aucun scroll possible. */
#lm-re .lm-menu>:first-child{margin-top:auto;}
#lm-re .lm-menu>:last-child{margin-bottom:auto;}
#lm-re .lm-menu.open{opacity:1;visibility:visible;}
#lm-re .lm-menu a{font-family:var(--serif);font-weight:340;font-size:clamp(1.7rem,5vw,2.7rem);color:var(--paper);text-decoration:none;letter-spacing:-.01em;opacity:0;transform:translateY(16px);position:relative;transition:color .3s ease;}
#lm-re .lm-menu.open a{opacity:1;transform:none;transition:opacity .55s ease,transform .6s cubic-bezier(.16,.84,.26,1),color .3s ease;}
#lm-re .lm-menu.open a:nth-child(1){transition-delay:.05s}#lm-re .lm-menu.open a:nth-child(2){transition-delay:.1s}#lm-re .lm-menu.open a:nth-child(3){transition-delay:.15s}#lm-re .lm-menu.open a:nth-child(4){transition-delay:.2s}#lm-re .lm-menu.open a:nth-child(5){transition-delay:.25s}#lm-re .lm-menu.open a:nth-child(6){transition-delay:.3s}#lm-re .lm-menu.open a:nth-child(7){transition-delay:.35s}#lm-re .lm-menu.open a:nth-child(8){transition-delay:.4s}
#lm-re .lm-menu a:hover{color:var(--amber-hi);}
#lm-re .lm-menu a::after{content:"";position:absolute;left:50%;bottom:-3px;width:0;height:1px;background:var(--amber);transition:width .3s ease,left .3s ease;}
#lm-re .lm-menu a:hover::after{width:100%;left:0;}
#lm-re .lm-menu-foot{margin-top:auto;padding-top:22px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;justify-content:center;}
#lm-re .lm-menu-foot a{font-family:var(--sans)!important;font-size:.78rem!important;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
#lm-re .lm-menu-foot a:hover{color:var(--amber-hi);}
body.lm-menu-open{overflow:hidden;}
#lm-re .lm-menu.closing a{opacity:0;transform:translateY(-14px);transition:opacity .3s ease,transform .42s cubic-bezier(.5,0,.75,0);}
#lm-re .lm-menu.closing a:nth-child(1){transition-delay:.21s}#lm-re .lm-menu.closing a:nth-child(2){transition-delay:.18s}#lm-re .lm-menu.closing a:nth-child(3){transition-delay:.15s}#lm-re .lm-menu.closing a:nth-child(4){transition-delay:.12s}#lm-re .lm-menu.closing a:nth-child(5){transition-delay:.09s}#lm-re .lm-menu.closing a:nth-child(6){transition-delay:.06s}#lm-re .lm-menu.closing a:nth-child(7){transition-delay:.03s}#lm-re .lm-menu.closing a:nth-child(8){transition-delay:0s}
#lm-re .lm-menu.closing .lm-menu-foot{opacity:0;transition:opacity .25s ease;}
@media (hover:none),(pointer:coarse){#lm-re .lm-menu{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:linear-gradient(160deg,rgba(8,20,24,.99),rgba(11,28,32,.995));}}
@media (prefers-reduced-motion:reduce){#lm-re .lm-menu a,#lm-re .lm-menu.open a,#lm-re .lm-menu.closing a{transition:none;transition-delay:0s;}}

/* ============================================================================
   MODULE : MODE JOUR / NUIT
   Convention : le thème s'applique via body.day (existant sur portraits et
   entreprises). Tokens jour = styleguide entreprises validé. Le preloader
   reste sombre dans les deux modes (identité).
   Garde-fou : les règles jour du moteur sont conditionnées à #lm-re.lm-themed,
   classe posée par engine.js UNIQUEMENT si la page contient .lm-switch.
   Les pages à jour/nuit local (portraits, entreprises) restent intactes.
   ============================================================================ */
body.day #lm-re.lm-themed{
  --ink:#f1ede3; --ink-2:#e9e2d2; --teal-deep:#e7e0d1;
  --bone:#e7e0d1; --bone-ink:#17282b;
  --paper:#17282b; --muted:rgba(23,40,43,.66); --faint:rgba(23,40,43,.4); --line:rgba(23,40,43,.16);
  --amber:#9a6620; --amber-hi:#7c4d16;
  --gold:linear-gradient(100deg,#5e3410 0%,#8a5a1c 22%,#c08a30 50%,#8a5a1c 78%,#5e3410 100%);
  --gold-soft:linear-gradient(100deg,#6e4218 0%,#9a6a26 22%,#caa04a 50%,#9a6a26 78%,#6e4218 100%);
}
/* preloader : sombre dans les deux modes (identité) */
body.day #lm-re.lm-themed #lm-preload{background:#0a1518;}
body.day #lm-re.lm-themed #lm-preload::before{background:radial-gradient(42% 42% at 50% 45%,rgba(214,162,92,.15),transparent 70%);}
body.day #lm-re.lm-themed .lm-pre-name{background:linear-gradient(100deg,#b98c4e 0%,#e7bd84 22%,#fff3d6 50%,#e7bd84 78%,#b98c4e 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;}
body.day #lm-re.lm-themed .lm-pre-sub{color:#f0c889;}
body.day #lm-re.lm-themed .lm-pre-rule{background:linear-gradient(90deg,transparent,#d6a25c,transparent);}
/* chrome : nav, pilule langue, burger, menu, grain, contact, marquee */
body.day #lm-re.lm-themed .lm-nav.scrolled{background:rgba(241,237,227,.78);border-bottom-color:rgba(23,40,43,.12);}
body.day #lm-re.lm-themed .lm-nav-cta{border-color:rgba(23,40,43,.3);}
body.day #lm-re.lm-themed .lm-nav-cta:hover{background:rgba(23,40,43,.06);}
body.day #lm-re.lm-themed .lm-lng{border-color:rgba(23,40,43,.3);background:rgba(231,224,209,.5);}
body.day #lm-re.lm-themed .lm-lng button{color:rgba(23,40,43,.55);}
body.day #lm-re.lm-themed .lm-lng button.on{background:rgba(154,102,32,.14);color:#7c4d16;text-shadow:none;}
body.day #lm-re.lm-themed .lm-lng button:hover{color:#7c4d16;}
body.day #lm-re.lm-themed .lm-burger{border-color:rgba(23,40,43,.3);background:rgba(231,224,209,.4);}
body.day #lm-re.lm-themed .lm-burger:hover{border-color:var(--amber);background:rgba(154,102,32,.14);}
body.day #lm-re.lm-themed .lm-menu{background:radial-gradient(150% 115% at 50% 0%,rgba(248,241,224,.97) 0%,rgba(239,228,203,.98) 52%,rgba(234,223,195,.985) 100%);}
body.day #lm-re.lm-themed .lm-grain{opacity:.08;}
body.day #lm-re.lm-themed .lm-contact{background:radial-gradient(80% 120% at 50% 0%,rgba(154,102,32,.12),transparent 60%),var(--teal-deep);}
body.day #lm-re.lm-themed .lm-marquee{background:#e0d8c4;border-top-color:rgba(23,40,43,.12);border-bottom-color:rgba(23,40,43,.12);}
body.day #lm-re.lm-themed .lm-marquee .ph{color:#17282b;}
body.day #lm-re.lm-themed .lm-legal a{color:rgba(23,40,43,.55);}
body.day #lm-re.lm-themed .lm-legal a:hover{color:#7c4d16;}

body.day #lm-re.lm-themed .lm-cta-wa:hover{background:#17282b;}
/* texte courant clair codé en dur -> encre en jour */
body.day #lm-re.lm-themed .lm-lede{color:rgba(23,40,43,.72);}
/* vague liquide : variante jour des lettres or (les couleurs inline jour sont posées par engine.js) */
body.day #lm-re.lm-themed .lm-wl-emhl{color:#8a5a1c;-webkit-text-fill-color:#8a5a1c;text-shadow:0 0 1px rgba(138,90,28,.35);}
/* avant/après + carrousels : chrome nuit codé en dur -> encre en jour */
body.day #lm-re.lm-themed .lm-ba-tab{color:rgba(23,40,43,.45);}
body.day #lm-re.lm-themed .lm-ba-tab.on{color:var(--amber);}
body.day #lm-re.lm-themed .lm-ba-tab:hover{color:rgba(23,40,43,.85);}
body.day #lm-re.lm-themed .lm-ba-dot{color:rgba(154,102,32,.5);}
body.day #lm-re.lm-themed .lm-carow-dot{background:rgba(23,40,43,.22);}
body.day #lm-re.lm-themed .lm-carow-dot.on{background:var(--amber);}
/* flèches carrousel simple : le fond verre reste sombre dans les deux modes, glyphe clair */
body.day #lm-re.lm-themed .lm-car-btn{color:#e7e0d1;}
body.day #lm-re.lm-themed .lm-car-btn:hover{color:#f0c889;}
/* placeholders médias : fond de chargement clair en jour (plus de pavé sombre sur le crème) */
body.day #lm-re.lm-themed .lm-slide{background:rgba(19,40,44,.08);}
body.day #lm-re.lm-themed .lm-video{background:linear-gradient(150deg,rgba(19,40,44,.10),rgba(19,40,44,.05));}
/* curseur custom (appendu à body, hors #lm-re) : variante jour via la classe
   garde-fou body.lm-day, posée uniquement par le module thème du moteur
   (les jour/nuit locaux de portraits/entreprises ne la posent pas). */
body.lm-day #fxCur{background:#7c4d16;box-shadow:0 0 14px 3px rgba(124,77,22,.5);}
body.lm-day #fxRing{border-color:rgba(124,77,22,.55);}
body.lm-day #fxRing.hov{border-color:rgba(124,77,22,.95);background:rgba(124,77,22,.1);box-shadow:0 0 34px rgba(124,77,22,.35),inset 0 0 18px rgba(124,77,22,.12);}
@media (hover:none),(pointer:coarse){body.day #lm-re.lm-themed .lm-nav.scrolled{background:rgba(241,237,227,.95)!important;}}
/* switch jour/nuit (repris du #ptSwitch de portraits, nommé moteur) */
#lm-re .lm-switch{display:flex;align-items:center;gap:10px;background:transparent;border:0;cursor:pointer;font-family:var(--sans);padding:0;}
#lm-re .lm-switch .lbl{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);transition:color .5s ease;min-width:38px;text-align:right;}
#lm-re .lm-switch .sw-d{display:none;}
body.day #lm-re.lm-themed .lm-switch .sw-n{display:none;}
body.day #lm-re.lm-themed .lm-switch .sw-d{display:inline;}
#lm-re .lm-switch .track{position:relative;width:56px;height:27px;border-radius:999px;background:rgba(241,237,227,.10);border:1px solid rgba(241,237,227,.22);transition:background .6s ease,border-color .6s ease;display:flex;align-items:center;}
body.day #lm-re.lm-themed .lm-switch .track{background:rgba(19,40,44,.12);border-color:rgba(19,40,44,.3);}
#lm-re .lm-switch .knob{position:absolute;left:3px;width:21px;height:21px;border-radius:50%;background:var(--amber-hi);display:grid;place-items:center;transition:transform .6s cubic-bezier(.65,.05,.36,1),background .6s ease;box-shadow:0 1px 4px rgba(0,0,0,.35);}
body.day #lm-re.lm-themed .lm-switch .knob{transform:translateX(29px);background:#9a6620;}
#lm-re .lm-switch .knob svg{width:12px;height:12px;display:block;}
#lm-re .lm-switch .knob .moon{stroke:#0a1518;fill:none;stroke-width:1.6;}
#lm-re .lm-switch .knob .sun{stroke:#f4f1e9;fill:none;stroke-width:1.6;display:none;}
body.day #lm-re.lm-themed .lm-switch .knob .moon{display:none;}
body.day #lm-re.lm-themed .lm-switch .knob .sun{display:block;}
@media(max-width:480px){#lm-re .lm-switch .lbl{display:none;}}

/* ============================================================================
   MODULE : BOUTONS NORMALISÉS (additif — la paire mariage + formulaires)
   ============================================================================ */
#lm-re .lm-cta{display:inline-block;font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:16px 30px;border-radius:40px;transition:all .35s;cursor:pointer;}
#lm-re .lm-cta.primary{background:var(--amber-hi);color:var(--ink);border:0;}
#lm-re .lm-cta.primary:hover{background:#fff3d6;}
body.day #lm-re.lm-themed .lm-cta.primary{background:#17282b;color:#f6f1e6;}
body.day #lm-re.lm-themed .lm-cta.primary:hover{background:#0e1c1e;}
#lm-re .lm-cta.ghost{background:transparent;border:1px solid rgba(241,237,227,.3);color:var(--paper);}
#lm-re .lm-cta.ghost:hover{border-color:var(--amber-hi);color:var(--amber-hi);}
body.day #lm-re.lm-themed .lm-cta.ghost{border-color:rgba(23,40,43,.3);}
#lm-re .lm-submit{font-family:var(--sans);letter-spacing:.03em;background:linear-gradient(100deg,#cd9a4e,#f0c889);color:#0a1518;border:0;border-radius:40px;padding:15px 34px;font-size:.95rem;cursor:pointer;transition:transform .35s cubic-bezier(.16,.84,.26,1),box-shadow .35s;}
#lm-re .lm-submit:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(214,162,92,.32);}
#lm-re .lm-wa-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);letter-spacing:.02em;font-size:.92rem;color:var(--paper);background:transparent;text-decoration:none;border:1px solid var(--line);border-radius:40px;padding:14px 26px;cursor:pointer;transition:border-color .3s,background .3s,color .3s;}
#lm-re .lm-wa-btn:hover{border-color:#25d366;background:rgba(37,211,102,.12);color:#fff;}
body.day #lm-re.lm-themed .lm-wa-btn{border-color:rgba(23,40,43,.3);}
body.day #lm-re.lm-themed .lm-wa-btn:hover{border-color:#128c46;background:rgba(18,140,70,.1);color:#17282b;}

/* ============================================================================
   MODULE : GABARIT PAGE ANNEXE (.lm-page) + FOOTER MULTI-RANGÉES + LAVA
   Footer : scoped sur footer.lm-foot pour ne pas toucher l'usage simple
   existant (<p class="lm-foot"> du hub). Lava : porté de portraits (#pt-lava),
   fond transparent, discret. Tous inertes sans markup.
   ============================================================================ */
#lm-re .lm-page{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:clamp(110px,16vw,180px) clamp(24px,6vw,48px) clamp(70px,10vw,130px);}
#lm-re .lm-page-head{margin-bottom:clamp(34px,5vw,56px);}
#lm-re .lm-page-head h1{font-family:var(--serif);font-weight:340;font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.04;letter-spacing:-.02em;margin-top:14px;}
#lm-re .lm-page h2{font-family:var(--serif);font-weight:340;font-size:clamp(1.4rem,3vw,2rem);line-height:1.15;letter-spacing:-.01em;margin:2.1em 0 .65em;}
#lm-re .lm-page p,#lm-re .lm-page li{font-size:clamp(.95rem,1.3vw,1.05rem);line-height:1.7;color:var(--muted);margin:0 0 1em;}
#lm-re .lm-page ul,#lm-re .lm-page ol{padding-left:1.2em;margin:0 0 1em;}
#lm-re .lm-page a{color:var(--amber-hi);border-bottom:1px solid transparent;transition:border-color .3s ease;}
#lm-re .lm-page a:hover{border-color:var(--amber-hi);}
#lm-re .lm-page strong,#lm-re .lm-page b{font-weight:500;color:var(--paper);}
/* footer multi-rangées (porté de mariage) — uniquement sur <footer class="lm-foot"> */
#lm-re footer.lm-foot{position:relative;z-index:1;margin-top:0;border-top:1px solid var(--line);padding:clamp(50px,6vw,84px) clamp(28px,7vw,90px);max-width:1280px;margin-left:auto;margin-right:auto;text-align:center;font-size:inherit;letter-spacing:normal;text-transform:none;color:inherit;}
#lm-re .lm-foot-top{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2vw,20px);}
#lm-re .lm-foot-name{font-family:var(--serif);font-weight:340;font-size:clamp(1.7rem,3.2vw,2.4rem);letter-spacing:.05em;color:var(--paper);}
#lm-re .lm-foot-rule{width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--amber),transparent);}
#lm-re .lm-foot-tag{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--amber);}
#lm-re .lm-foot-links{display:flex;gap:clamp(20px,3vw,40px);flex-wrap:wrap;justify-content:center;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px;}
#lm-re .lm-foot-links a{transition:color .3s;}
#lm-re .lm-foot-links a:hover{color:var(--amber-hi);}
#lm-re .lm-foot-legal{margin-top:10px;font-size:.62rem;gap:clamp(16px,2.4vw,30px);}
#lm-re .lm-foot-legal a{color:var(--faint);}
#lm-re .lm-foot-copy{margin-top:clamp(26px,3.5vw,40px);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);}
/* fond lava lamp (porté de portraits #pt-lava, discret) */
#lm-re .lm-lava{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
#lm-re .lm-lava .blob{position:absolute;width:85vmax;height:85vmax;border-radius:50%;filter:blur(92px);opacity:.38;mix-blend-mode:screen;will-change:transform;}
#lm-re .lm-lava .b1{left:-22%;top:-24%;background:radial-gradient(circle,rgba(21,74,80,.9),transparent 64%);animation:lm-lava1 38s ease-in-out infinite;}
#lm-re .lm-lava .b2{right:-24%;top:2%;background:radial-gradient(circle,rgba(14,74,80,.82),transparent 62%);animation:lm-lava2 46s ease-in-out infinite;}
#lm-re .lm-lava .b3{left:12%;bottom:-30%;background:radial-gradient(circle,rgba(26,94,86,.72),transparent 60%);animation:lm-lava3 54s ease-in-out infinite;}
body.day #lm-re.lm-themed .lm-lava .blob{opacity:.45;mix-blend-mode:multiply;filter:blur(100px);}
body.day #lm-re.lm-themed .lm-lava .b1{background:radial-gradient(circle,rgba(199,150,86,.34),transparent 66%);}
body.day #lm-re.lm-themed .lm-lava .b2{background:radial-gradient(circle,rgba(60,110,104,.2),transparent 64%);}
body.day #lm-re.lm-themed .lm-lava .b3{background:radial-gradient(circle,rgba(199,150,86,.24),transparent 62%);}
@keyframes lm-lava1{0%{transform:translate(-10%,-8%) scale(1)}50%{transform:translate(20%,14%) scale(1.16)}100%{transform:translate(-10%,-8%) scale(1)}}
@keyframes lm-lava2{0%{transform:translate(8%,-6%) scale(1.08)}50%{transform:translate(-18%,12%) scale(.9)}100%{transform:translate(8%,-6%) scale(1.08)}}
@keyframes lm-lava3{0%{transform:translate(-8%,10%) scale(1)}50%{transform:translate(16%,-12%) scale(1.2)}100%{transform:translate(-8%,10%) scale(1)}}
@media (prefers-reduced-motion:reduce){#lm-re .lm-lava .blob{animation:none;}}
@media (hover:none),(pointer:coarse){#lm-re .lm-lava .blob{filter:blur(60px);}}

/* ===== uniformisation etalon mariage (prechargeur / nav) ===== */
#lm-preload{transition:opacity .95s cubic-bezier(.45,0,.18,1) .05s!important}
#lm-preload.is-done .lm-pre-inner{transition:opacity .45s ease,transform .65s cubic-bezier(.45,0,.18,1)!important}
#lm-re .lm-nav-name{background:linear-gradient(100deg,#a8641f 0%,#d6a25c 22%,#ffe1b0 50%,#d6a25c 78%,#a8641f 100%);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:fxGold 5.2s ease-in-out infinite}
#lm-re .lm-nav-name .lm-em-hl{display:inline-block}
#lm-re .lm-switch .lbl{display:none!important}
#lm-re .lm-nav.scrolled{padding-top:12px;padding-bottom:12px;border-bottom-color:rgba(241,237,227,.1)}
@media (prefers-reduced-motion:reduce){#lm-re .lm-nav-name{animation:none}}

/* langue : UN bouton visible a toutes les largeurs (decision Leny) */
#lm-re .lm-lng button:not(.on){display:none;}

/* fondu de langue (etalon mariage) */
#lm-re.lng-anim .t-fr,#lm-re.lng-anim .t-en,#lm-re.lng-anim .t-es{animation:lngIn .6s ease}
@keyframes lngIn{0%{opacity:.08;filter:blur(7px)}100%{opacity:1;filter:blur(0)}}

/* prechargeur : fond nuit = fond de base mariage (nuances teal statiques) */
#lm-preload{background:radial-gradient(84% 70% at -6% 6%,rgba(17,105,107,.16),transparent 62%),radial-gradient(76% 64% at 106% 52%,rgba(13,84,87,.14),transparent 64%),radial-gradient(70% 58% at 42% 106%,rgba(15,93,90,.12),transparent 64%),#0a1518!important}
/* prechargeur en mode JOUR (seulement si choisi par l'utilisateur, jamais a l'initial) : creme + or inverse */
body.day #lm-preload{background:radial-gradient(84% 70% at -6% 6%,rgba(154,102,32,.10),transparent 62%),radial-gradient(76% 64% at 106% 52%,rgba(154,102,32,.07),transparent 64%),#eadfc3!important}
body.day #lm-preload::before{background:radial-gradient(42% 42% at 50% 45%,rgba(154,102,32,.08),transparent 70%)!important}
body.day .lm-pre-name{background:linear-gradient(100deg,#5e3410 0%,#8a5a1c 22%,#c08a30 50%,#8a5a1c 78%,#5e3410 100%)!important;background-size:240% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important}
body.day .lm-pre-rule{background:linear-gradient(90deg,transparent,#7a4d16,transparent)!important}
body.day .lm-pre-sub{color:#4c3410!important}

/* crossfade jour/nuit (etalon mariage) */
::view-transition-group(root){animation-duration:.62s}
::view-transition-old(root),::view-transition-new(root){animation-duration:.62s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
@media(prefers-reduced-motion:reduce){#lm-re.lng-anim .t-fr,#lm-re.lng-anim .t-en,#lm-re.lng-anim .t-es{animation:none}}

/* ===== CONTENU LEGAL : typographie etalon mariage (porte verbatim) ===== */
/* ===== Pages Contact / RGPD ===== */ #lm-re .lm-page{max-width:1280px;margin:0 auto;padding:clamp(120px,15vw,190px) clamp(28px,7vw,90px) clamp(60px,9vw,110px)}
#lm-re .lm-page-head{text-align:center;margin-bottom:clamp(36px,5vw,60px)}
#lm-re .lm-page-head .lm-eyebrow{display:inline-block}
#lm-re .lm-page-head .lm-h2{margin:.18em 0 0}
#lm-re .lm-page-sub{color:var(--muted);font-family:var(--sans);max-width:560px;margin:18px auto 0;line-height:1.6}
#lm-re .lm-page,#lm-re .lm-foot{position:relative;z-index:2}
/* légal */ #lm-re .lm-legal{display:block;text-align:left;max-width:780px;margin:0 auto;font-family:var(--sans);font-size:1rem;letter-spacing:normal;text-transform:none}
#lm-re .lm-legal h2{font-family:var(--serif);font-weight:340;font-size:clamp(1.3rem,3vw,1.85rem);margin:38px 0 12px;color:var(--paper);line-height:1.2}
#lm-re .lm-legal h2:first-of-type{margin-top:0}
#lm-re .lm-legal p,#lm-re .lm-legal li{color:var(--muted);line-height:1.75;font-size:.97rem;margin:0 0 12px}
#lm-re .lm-legal ul{padding-left:20px;margin:0 0 16px}
#lm-re .lm-legal a{color:var(--amber-hi)}
#lm-re .lm-legal .fill{color:var(--amber);font-style:italic}

/* fondu de navigation entre pages (meme origine) : plus de saut sec vers le prechargeur */
@view-transition{navigation:auto}

/* ZONE TACTILE (mobile) : les commandes gardent leur taille visuelle, mais
   leur surface sensible atteint les 44 px recommandes au doigt.
   CORRECTIF (verif finale mobile) :
   1. l ancienne regle visait .lm-lang, classe qui n existe nulle part dans le
      markup : le selecteur de langue s appelle .lm-lng. Elle n agrandissait
      donc que .lm-switch, et rien d autre.
   2. elle etait enfermee dans @media (hover:none), condition que beaucoup de
      navigateurs ne declenchent pas (mesure : hover:none, pointer:coarse et
      any-hover:none tous faux a 375 px). On passe a une media query de
      LARGEUR, elle fiable sur telephone.
   3. la liste vise les commandes reellement fautives, mesurees a 375 px :
      bouton de langue 44x23, liens de pied de page 15 a 18 px de haut,
      filtres 27 a 36 px, onglets avant/apres 22 px, indice de defilement 34.
   Technique : ::before transparent, centre, superpose a la commande.
   ::before et PAS ::after : ::after sert deja de soulignement anime sur
   .lm-menu a et de trait actif sur .lm-ba-tab.
   position:relative n est pose QUE sur les commandes en flux. Celles qui sont
   deja en absolute/fixed (.ix-scrollcue, .dx-lb-x, .dx-lb-nav) sont deja leur
   propre bloc conteneur : y toucher casserait leur position. Les fleches de
   carrousel (.lm-arw 48px, .lm-car-btn 48px, .lm-lb-x 46px, .lm-lb-nav 44px,
   .lm-ba-fleche 44px) sont deja au gabarit, on n y touche pas. */
@media (max-width:768px){
  #lm-re .lm-lng button,
  #lm-re .lm-switch,
  #lm-re .lm-burger,
  #lm-re .lm-nav-cta,
  #lm-re .lm-foot-links a,
  #lm-re .lm-gfilter,
  #lm-re .pt-btn,
  #lm-re .pv-cta,
  #lm-re .lm-ig{position:relative;}

  #lm-re .lm-lng button::before,
  #lm-re .lm-switch::before,
  #lm-re .lm-burger::before,
  #lm-re .lm-nav-cta::before,
  #lm-re .lm-foot-links a::before,
  #lm-re .lm-menu-foot a::before,
  #lm-re .lm-gfilter::before,
  #lm-re .pt-btn::before,
  #lm-re .pv-cta::before,
  #lm-re .lm-ig::before,
  #lm-re .lm-tab::before,
  #lm-re .lm-ba-tab::before,
  #lm-re .ix-scrollcue::before,
  #lm-re .dx-lb-x::before,
  #lm-re .dx-lb-nav::before{
    content:'';position:absolute;left:50%;top:50%;
    transform:translate(-50%,-50%);
    width:max(100%,44px);height:max(100%,44px);
    border-radius:inherit;background:transparent;
  }

  /* respiration entre les cibles : sans ca les zones de 44 px des deux rangees
     du pied de page se chevauchent (gaps mesures : 20 px entre rangees,
     10 px avant la ligne legale). */
  #lm-re .lm-foot-links{row-gap:30px;}
  #lm-re .lm-foot-legal{margin-top:30px;}
  /* meme raison pour les filtres portraits : gap de 7px, les zones de 44 px
     se mangeaient entre rangees (mesure : 35 px utiles au lieu de 44). */
  #lm-re .pt-cats{row-gap:16px;}
}

/* ===== LM-NAV-NOWRAP : logotype de nav sur UNE ligne (correctif mobile) =====
   Le module « or anime » decoupe le logotype en spans .lm-em-hl en inline-block :
   chaque lettre devient une occasion de retour a la ligne. Des que .lm-nav-right
   (langue + jour/nuit + CTA + burger) serre le premier enfant du flex, le
   logotype se casse en colonne (mesure : 22 x 138 px sur 8 lignes a 360 px).
   nowrap + flex:0 0 auto interdisent la casse. Sous 640px le bouton CTA quitte
   la barre : il reste atteignable dans le menu burger. Sous 400px le logotype
   se resserre plutot que d etre tronque.
   NB : .lm-nav-right reste retrecissable, pour que le burger ne sorte jamais
   de l ecran dans un cas extreme. */
#lm-re .lm-nav-name{white-space:nowrap;flex:0 0 auto;}
#lm-re .lm-nav-name .lm-em-hl{white-space:nowrap;}
@media (max-width:640px){
  #lm-re .lm-nav .lm-nav-cta{display:none;}
}
@media (max-width:400px){
  #lm-re .lm-nav{padding-left:16px;padding-right:16px;}
  #lm-re .lm-nav-right{gap:9px;}
  #lm-re .lm-nav-name{letter-spacing:.15em;}
}
@media (max-width:340px){
  #lm-re .lm-nav-name{font-size:.64rem;letter-spacing:.11em;}
}
/* Bouton « Reserver » retire de la barre (decision Leny, 31/07) : doublon
   du menu et des appels a l action du contenu. */
#lm-re .lm-nav-cta{display:none}

/* PLUS DE SURLIGNAGE AU CLIC. Un bouton contient du texte : le navigateur croit
   qu'on veut le selectionner et pose un rectangle bleu. On le desactive sur tout
   ce qui est cliquable, JAMAIS sur le texte de contenu ni sur les adresses, qui
   doivent rester copiables. */
#lm-re button,#lm-re [role="button"],#lm-re summary,#lm-re label,
#lm-re .lm-tab,#lm-re .lm-gfilter,#lm-re .pt-btn,#lm-re .lm-dd,#lm-re .lm-dd-list div,
#lm-re .lm-switch,#lm-re .lm-burger,#lm-re .lm-lng,#lm-re .lm-lng *,
#lm-re .lm-car-nav,#lm-re .lm-ba,#lm-re .lm-ba *,#lm-re .lm-gphoto,#lm-re .lm-slide,
#lm-re .lm-nav-name,#lm-re .lm-lb,#lm-re .lm-lb *{
  -webkit-user-select:none;-moz-user-select:none;user-select:none;
  -webkit-tap-highlight-color:transparent;
}

/* LM-SELECTION-TACTILE. Sur telephone la selection part d'un APPUI LONG : elle
   peut surgir n'importe ou, y compris pendant un glissement. On bloque donc
   tout par defaut et on la REND au texte qu'on peut vouloir copier. iOS impose
   en plus -webkit-touch-callout pour son menu contextuel. Ordinateur inchange. */
@media (hover:none){
  #lm-re,#lm-re *{
    -webkit-user-select:none;-moz-user-select:none;user-select:none;
    -webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;
  }
  #lm-re p,#lm-re li,#lm-re h1,#lm-re h2,#lm-re h3,#lm-re h4,#lm-re td,#lm-re th,
  #lm-re blockquote,#lm-re address,#lm-re dd,#lm-re dt,#lm-re .lm-lead,
  #lm-re a[href^="mailto"],#lm-re a[href^="tel"],
  #lm-re input,#lm-re textarea{
    -webkit-user-select:text;-moz-user-select:text;user-select:text;
    -webkit-touch-callout:default;
  }
}
