:root{
  --or:#D4A94E; --ord:#B87333; --wa:#25D366;
  --dp:'Cormorant Garamond',Georgia,serif;
  --bd:'Inter',system-ui,-apple-system,sans-serif;
  --g:clamp(16px,4vw,72px);
  --r:3px;
}
:root,[data-theme="dark"]{
  --bg:#0A0A0A; --bg2:#151310; --bg3:#201D18;
  --tx:#FAF9F7; --t2:rgba(250,249,247,.7); --t3:rgba(250,249,247,.56);
  --ln:rgba(250,249,247,.15); --ln2:rgba(250,249,247,.08);
  --hd:rgba(10,10,10,.85); --sh:0 18px 50px rgba(0,0,0,.4);
}
[data-theme="light"]{
  --bg:#FBFAF8; --bg2:#F3F0EA; --bg3:#E9E2D6;
  --tx:#14120F; --t2:rgba(20,18,15,.72); --t3:rgba(20,18,15,.6);
  --ln:rgba(20,18,15,.17); --ln2:rgba(20,18,15,.09);
  --hd:rgba(251,250,248,.9); --sh:0 18px 45px rgba(60,50,30,.13);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font-family:var(--bd);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .5s,color .5s}
body.lock{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
::selection{background:var(--or);color:#0A0A0A}
:focus-visible{outline:3px solid var(--or);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
h1,h2,h3,h4{font-family:var(--dp);font-weight:400;line-height:1.1;letter-spacing:-.01em}
h2{font-size:clamp(2rem,4.4vw,3.3rem)}
h3{font-size:1.5rem}

/* ================= HEADER ================= */
.hdr{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;gap:18px;
  padding:16px var(--g);border-bottom:1px solid transparent;
  transition:padding .4s,background .4s,backdrop-filter .4s,border-color .4s}
.hdr.st{padding:10px var(--g);background:var(--hd);backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom-color:var(--ln2)}
.brand img{height:54px;width:auto;transition:height .4s}
.hdr.st .brand img{height:40px}
[data-theme="light"] .hdr.st .brand img{filter:brightness(.22) saturate(1.8)}
.nav{display:flex;gap:28px;margin-left:auto;align-items:center}
.nav a{font-size:15.5px;font-weight:500;padding:8px 0;position:relative;color:#FAF9F7}
.hdr.st .nav a{color:var(--tx)}
.nav a::after{content:"";position:absolute;left:0;bottom:2px;height:2px;width:100%;background:var(--or);
  transform:scaleX(0);transform-origin:left;transition:transform .35s}
.nav a:hover::after{transform:scaleX(1)}
.icb{width:48px;height:48px;border:1.5px solid rgba(250,249,247,.32);border-radius:50%;
  display:grid;place-items:center;font-size:20px;flex:0 0 auto;color:#FAF9F7;transition:.3s}
.hdr.st .icb{border-color:var(--ln);color:var(--tx)}
.icb:hover{border-color:var(--or);color:var(--or)}
.hCta{background:var(--or);color:#0A0A0A;font-weight:600;font-size:15.5px;padding:15px 26px;
  border-radius:var(--r);transition:.3s;white-space:nowrap}
.hCta:hover{background:var(--ord);color:#fff}
.burger{display:none;width:48px;height:48px;border:1.5px solid rgba(250,249,247,.32);
  border-radius:var(--r);position:relative;flex:0 0 auto}
.hdr.st .burger{border-color:var(--ln)}
.burger i{position:absolute;left:12px;width:22px;height:2px;background:#FAF9F7;transition:.4s}
.hdr.st .burger i{background:var(--tx)}
.burger i:nth-child(1){top:16px}.burger i:nth-child(2){top:23px}.burger i:nth-child(3){top:30px}
body.mnu .burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.mnu .burger i:nth-child(2){opacity:0}
body.mnu .burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:78;background:var(--bg);padding:100px var(--g) 40px;
  display:flex;flex-direction:column;clip-path:inset(0 0 100% 0);pointer-events:none;
  transition:clip-path .6s cubic-bezier(.76,0,.24,1);overflow-y:auto}
body.mnu .mnav{clip-path:inset(0 0 0 0);pointer-events:auto}
.mnav a{font-family:var(--dp);font-size:2.1rem;padding:14px 0;border-bottom:1px solid var(--ln2)}
.mnav .hCta{margin-top:26px;text-align:center;padding:20px;font-size:17px}

/* ================= HERO ================= */
.heroWrap{height:200vh;position:relative}
.heroSt{position:sticky;top:0;height:100vh;min-height:640px;overflow:hidden}
.pic{position:absolute;inset:-5%;will-change:transform;background:#2B4A63;overflow:hidden}
.pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.pic #heroBlur{z-index:0;filter:blur(24px);transform:scale(1.1)}
.sl{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity 1.3s ease;pointer-events:none}
.sl.on{opacity:1;z-index:2}
.sl img{filter:brightness(.82) saturate(.92) contrast(1.04);transform:scale(1)}
.sl.on img{animation:kb 9s linear forwards}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.09)}}

/* commandes du slider */
.hNav{position:absolute;left:var(--g);bottom:30px;z-index:6;display:flex;flex-direction:column;
  align-items:flex-start;gap:12px;pointer-events:auto}
.slCap{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,249,247,.72);
  display:flex;align-items:center;gap:10px;min-height:18px;
  transition:opacity .45s;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.slCap s{display:block;width:22px;height:1px;background:var(--or)}
.slCap.out{opacity:0}
.dots{display:flex;gap:9px}
.dot{width:42px;height:4px;border-radius:2px;background:rgba(250,249,247,.3);position:relative;
  overflow:hidden;transition:background .4s;padding:0}
.dot::before{content:"";position:absolute;inset:-12px -3px}
.dot:hover{background:rgba(250,249,247,.5)}
.dot i{position:absolute;inset:0;background:var(--or);transform:scaleX(0);transform-origin:left;display:block}
.dot.on i{animation:bar var(--dur,6s) linear forwards}
.dot.done i{transform:scaleX(1)}
@keyframes bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hArr{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:52px;height:52px;border-radius:50%;
  background:rgba(8,8,8,.42);backdrop-filter:blur(8px);border:1.5px solid rgba(250,249,247,.28);
  color:#FAF9F7;font-size:22px;display:grid;place-items:center;opacity:0;transition:.35s;pointer-events:auto}
.heroSt:hover .hArr{opacity:1}
.hArr:hover{background:var(--or);border-color:var(--or);color:#0A0A0A}
.hArr.p{left:18px} .hArr.n{right:18px}
.veil{position:absolute;inset:0;
  background:
    radial-gradient(ellipse 72% 58% at 50% 48%, rgba(3,5,8,.72) 0%, rgba(3,5,8,.38) 58%, transparent 84%),
    linear-gradient(180deg, rgba(5,7,9,.88) 0%, rgba(5,7,9,.56) 18%, rgba(5,7,9,.5) 42%,
                    rgba(5,7,9,.74) 70%, rgba(8,8,8,.97) 100%)}
.grain{position:absolute;inset:0;opacity:.04;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.heroIn{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;
  align-items:center;text-align:center;padding:96px var(--g) 40px;color:#FAF9F7;
  will-change:transform,opacity;text-shadow:0 2px 26px rgba(0,0,0,.55);pointer-events:none}
.heroIn .qs,.heroIn a,.heroIn button{pointer-events:auto}
.eb{font-size:13px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--or);
  margin-bottom:20px;opacity:0;animation:fd 1s .8s forwards}
h1{font-size:clamp(2.3rem,5.6vw,4.9rem);max-width:17ch}
h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom}
h1 .w b{display:inline-block;font-weight:inherit;transform:translateY(112%);
  animation:rs 1.1s cubic-bezier(.16,1,.3,1) forwards}
@keyframes rs{to{transform:translateY(0)}}
@keyframes fd{to{opacity:1}}
.roof{margin:24px auto 20px;width:min(320px,58vw);height:26px;overflow:visible}
.roof path{fill:none;stroke:var(--or);stroke-width:2;stroke-dasharray:640;stroke-dashoffset:640;
  filter:drop-shadow(0 1px 6px rgba(0,0,0,.6));
  animation:dw 1.7s 1.1s cubic-bezier(.16,1,.3,1) forwards}
@keyframes dw{to{stroke-dashoffset:0}}
.hsub{font-size:clamp(1rem,1.7vw,1.18rem);color:rgba(250,249,247,.84);max-width:44ch;
  opacity:0;animation:fd 1s 1.4s forwards}
.qs{margin-top:34px;width:min(920px,100%);opacity:0;animation:fd 1s 1.7s forwards}
.qsT{display:flex;gap:10px;justify-content:center;margin-bottom:12px}
.qsT button{background:rgba(10,10,10,.5);backdrop-filter:blur(10px);border:1.5px solid rgba(250,249,247,.32);
  color:#FAF9F7;font-weight:600;font-size:16px;padding:15px 34px;border-radius:var(--r);transition:.3s}
.qsT button.on{background:var(--or);border-color:var(--or);color:#0A0A0A}
.qsB{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;background:rgba(10,10,10,.5);
  backdrop-filter:blur(14px);padding:11px;border-radius:var(--r);border:1px solid rgba(250,249,247,.2)}
.qsB select{background:transparent;border:1.5px solid rgba(250,249,247,.3);color:#FAF9F7;padding:17px 16px;
  border-radius:var(--r);font-size:16px;font-weight:500;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23D4A94E' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center}
.qsB select option{background:#14120F;color:#FAF9F7}
.qsB button{background:var(--or);color:#0A0A0A;font-weight:600;font-size:16px;padding:17px 38px;border-radius:var(--r);transition:.3s}
.qsB button:hover{background:#fff}
.sh{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:6;color:rgba(250,249,247,.5);
  font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}
.sh s{width:1px;height:36px;background:linear-gradient(180deg,var(--or),transparent);animation:pl 2.2s infinite}
@keyframes pl{0%,100%{opacity:1}50%{opacity:.3}}

/* ================= SECTIONS ================= */
.sec{position:relative;z-index:2;background:var(--bg);padding:clamp(56px,8vw,104px) var(--g)}
.sHead{margin-bottom:30px}
.sHead p{color:var(--t2);margin-top:10px}

/* barre recherche + tri */
.top{display:grid;grid-template-columns:1fr 250px;gap:12px;margin-bottom:16px}
.srch{position:relative}
.srch input{width:100%;background:var(--bg2);border:1.5px solid var(--ln);color:var(--tx);
  padding:18px 48px 18px 50px;border-radius:var(--r);font-size:17px}
.srch input:focus{border-color:var(--or);outline:none}
.srch .ic{position:absolute;left:17px;top:50%;transform:translateY(-50%);font-size:19px;color:var(--t3)}
.srch .cl{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;
  border-radius:50%;color:var(--t3);font-size:17px;display:none}
.srch .cl.on{display:grid;place-items:center}
.sel{width:100%;background:var(--bg2);border:1.5px solid var(--ln);color:var(--tx);padding:18px 42px 18px 15px;
  border-radius:var(--r);font-size:16px;font-weight:500;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23D4A94E' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center}
.sel:disabled{opacity:.45;cursor:not-allowed}

/* filtres */
.flt{background:var(--bg2);border:1px solid var(--ln2);border-radius:var(--r);padding:24px;margin-bottom:36px}
.rng{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.rng span{color:var(--t3);font-size:15px}
.rng .sel{background:var(--bg)}
.hint{color:var(--t3);font-size:14.5px;margin-top:9px}
.favT{border:1.5px solid var(--ln);color:var(--tx);font-size:15.5px;font-weight:600;
  padding:13px 22px;border-radius:var(--r);transition:.22s}
.favT:hover{border-color:var(--or)}
.favT.on{background:var(--or);border-color:var(--or);color:#0A0A0A}
.fBot .grp{display:flex;gap:9px;flex-wrap:wrap}
.date{font-size:13px;color:var(--t3);margin-top:10px}
.fr{margin-bottom:22px}
.fr:last-of-type{margin-bottom:0}
.fr>label{display:block;font-size:13.5px;font-weight:700;color:var(--t2);margin-bottom:11px;
  text-transform:uppercase;letter-spacing:.12em}
.ops{display:flex;flex-wrap:wrap;gap:9px}
.op{border:1.5px solid var(--ln);color:var(--tx);font-size:16px;font-weight:500;padding:13px 21px;
  border-radius:var(--r);transition:.22s;min-height:50px}
.op:hover{border-color:var(--or)}
.op.on{background:var(--or);border-color:var(--or);color:#0A0A0A;font-weight:600}
.fg{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px}
.fg select{width:100%;background:var(--bg);border:1.5px solid var(--ln);color:var(--tx);padding:16px;
  border-radius:var(--r);font-size:16px;font-weight:500;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23D4A94E' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center}
.more{margin-top:18px;color:var(--or);font-weight:600;font-size:15.5px;display:flex;align-items:center;gap:9px}
.adv{display:none;margin-top:22px;padding-top:22px;border-top:1px solid var(--ln2)}
.adv.show{display:block}
.fBot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:22px;padding-top:20px;border-top:1px solid var(--ln2)}
.fCt{font-size:17px;font-weight:500}
.fCt b{color:var(--or);font-size:23px;font-weight:700}
.rst{border:1.5px solid var(--ln);color:var(--t2);font-size:15px;font-weight:500;padding:13px 22px;border-radius:var(--r);transition:.22s}
.rst:hover{border-color:var(--or);color:var(--or)}

/* cartes */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(325px,1fr));gap:26px}
.card{background:var(--bg2);border:1px solid var(--ln2);border-radius:var(--r);overflow:hidden;cursor:pointer;
  opacity:0;transform:translateY(20px);
  transition:opacity .6s,transform .5s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .4s}
.card.in{opacity:1;transform:none}
.card:hover{transform:translateY(-6px);border-color:var(--or);box-shadow:var(--sh)}
.shot{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg3)}
.trk{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.trk::-webkit-scrollbar{display:none}
.sd{flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}
.sd img{width:100%;height:100%;object-fit:cover;background:var(--bg3);
  transition:transform 1s cubic-bezier(.16,1,.3,1);-webkit-user-drag:none}
.card:hover .sd img{transform:scale(1.05)}
.cA{position:absolute;top:50%;z-index:2;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;
  background:rgba(10,10,10,.6);backdrop-filter:blur(8px);border:1.5px solid rgba(250,249,247,.35);
  color:#FAF9F7;font-size:24px;line-height:1;display:grid;place-items:center;padding-bottom:3px;transition:.25s}
.cA.p{left:10px}.cA.n{right:10px}
.cA:hover{background:var(--or);border-color:var(--or);color:#0A0A0A}
.cC{position:absolute;right:11px;bottom:11px;z-index:2;display:flex;align-items:center;gap:6px;
  background:rgba(10,10,10,.72);backdrop-filter:blur(8px);color:#FAF9F7;font-size:13.5px;font-weight:600;
  padding:6px 11px;border-radius:20px;pointer-events:none}
.cC .ic{width:15px;height:15px}
.ic{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.tag{position:absolute;z-index:2;top:13px;left:13px;background:rgba(10,10,10,.82);backdrop-filter:blur(8px);
  color:#FAF9F7;font-size:13px;font-weight:600;padding:8px 14px;border-radius:var(--r)}
.tag.rn{background:var(--or);color:#0A0A0A}
.fav{position:absolute;z-index:2;top:11px;right:11px;width:44px;height:44px;border-radius:50%;
  background:rgba(10,10,10,.6);backdrop-filter:blur(8px);color:#FAF9F7;font-size:19px;
  display:grid;place-items:center;transition:.3s}
.fav.on,.fav:hover{color:var(--or)}
.cB{padding:20px}
.cL{font-size:14px;color:var(--t3);margin-bottom:7px;display:flex;align-items:center;gap:6px}
.cL .ic{width:16px;height:16px;color:var(--or)}
.cT{font-size:1.4rem;margin-bottom:12px}
.cT a:hover{color:var(--or)}
.fLk{columns:2;column-gap:28px}
.fLk li{break-inside:avoid}
.mLnk{display:inline-block;margin-top:14px;color:var(--or);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cP{font-size:1.28rem;font-weight:700;color:var(--or);margin-bottom:14px}
.cP i{font-style:normal;font-size:13.5px;color:var(--t3);font-weight:400}
.spc{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:15px;color:var(--t2);padding-top:14px;border-top:1px solid var(--ln2)}
.spc span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.spc .ic{color:var(--or)}
.emp{grid-column:1/-1;text-align:center;padding:64px 20px;color:var(--t2);font-size:18px}
.emp button{margin-top:18px;background:var(--or);color:#0A0A0A;font-weight:600;padding:16px 30px;border-radius:var(--r)}

/* dépôt */
.dep{background:var(--bg2);border-top:1px solid var(--ln2);border-bottom:1px solid var(--ln2);
  padding:clamp(56px,8vw,100px) var(--g);text-align:center}
.dep p{color:var(--t2);max-width:50ch;margin:16px auto 28px;font-size:18px}
.big{display:inline-block;background:var(--or);color:#0A0A0A;font-weight:600;font-size:18px;
  padding:21px 44px;border-radius:var(--r);transition:.3s}
.big:hover{background:var(--ord);color:#fff}
.dq{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:880px;margin:0 auto 26px;text-align:left}
.dq .fld{margin:0}
.dq select{background:var(--bg)}
.waBig{background:var(--wa);color:#04280F}
.waBig:hover{background:#1eb85a;color:#04280F}
.dep .dqN{font-size:15px;color:var(--t3);margin:14px auto 0}
#fQt{background:var(--bg);max-width:480px}

footer{background:var(--bg);padding:clamp(46px,6vw,76px) var(--g) 30px;border-top:1px solid var(--ln2)}
.fT{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:36px;margin-bottom:40px}
footer .lg{height:62px;width:auto;margin-bottom:16px}
[data-theme="light"] footer .lg{filter:brightness(.22) saturate(1.8)}
footer h4,footer h2.fh{font-family:var(--bd);font-size:13.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--or);margin-bottom:15px}
footer li{list-style:none;margin-bottom:11px}
footer a{color:var(--t2);font-size:16px}
footer a:hover{color:var(--or)}
.fB{padding-top:24px;border-top:1px solid var(--ln2);color:var(--t3);font-size:14px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* ================= MODALE ================= */
.mod{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.9);backdrop-filter:blur(5px);
  display:none;overflow-y:auto}
.mod.open{display:block}
.mBox{background:var(--bg);max-width:1060px;margin:0 auto;min-height:100vh}
.mX{position:fixed;top:16px;right:16px;z-index:5;width:54px;height:54px;border-radius:50%;
  background:rgba(10,10,10,.78);backdrop-filter:blur(8px);border:1.5px solid rgba(250,249,247,.28);
  color:#FAF9F7;font-size:25px;line-height:1}
.gal{position:relative;aspect-ratio:16/10;background:#0A0A0A;overflow:hidden}
.gal img{width:100%;height:100%;object-fit:cover}
.gN{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;
  background:rgba(10,10,10,.62);backdrop-filter:blur(8px);border:1.5px solid rgba(250,249,247,.28);
  color:#FAF9F7;font-size:22px;display:grid;place-items:center}
.gN.p{left:14px}.gN.n{right:14px}
.gC{position:absolute;bottom:14px;right:14px;background:rgba(10,10,10,.75);color:#FAF9F7;
  padding:8px 15px;border-radius:var(--r);font-size:14px;font-weight:600}
.mIn{padding:32px var(--g) 56px}
.mIn .tag{position:static;display:inline-block;margin-bottom:14px}
.mLoc{color:var(--t2);font-size:17px;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.mLoc .ic{color:var(--or);width:20px;height:20px}
.mPr{font-family:var(--dp);font-size:2.1rem;font-weight:600;color:var(--or);margin-bottom:26px}
.mPr em{display:block;font-family:var(--bd);font-style:normal;font-size:15px;font-weight:500;
  color:var(--t3);margin-top:2px}
.mSp{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:1px;
  background:var(--ln2);border:1px solid var(--ln2);margin-bottom:28px}
.mSp div{background:var(--bg2);padding:19px 14px;text-align:center}
.mSp .ic{display:block;width:26px;height:26px;margin:0 auto 8px;color:var(--or)}
.mSp b{display:block;font-family:var(--dp);font-size:1.5rem;font-weight:500}
.mSp span{font-size:12.5px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em}
.mIn h3{margin:28px 0 12px}
.dsc{color:var(--t2);font-size:17px}
.dsc+.dsc{margin-top:14px}
.fts{display:flex;flex-wrap:wrap;gap:9px}
.fts span{background:var(--bg2);border:1px solid var(--ln2);padding:11px 17px;font-size:15px;border-radius:var(--r)}
.map{background:var(--bg2);border:1px solid var(--ln2);border-radius:var(--r);padding:40px 20px;
  text-align:center;color:var(--t3);font-size:15px}
.ctc{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:30px}
.ctc a{display:flex;align-items:center;justify-content:center;gap:10px;padding:22px;border-radius:var(--r);
  font-weight:600;font-size:17px;transition:.3s}
.cw{background:var(--wa);color:#04280F}
.cw:hover{background:#1eb85a}
.ct{background:var(--or);color:#0A0A0A}
.ct:hover{background:var(--ord);color:#fff}

/* ================= FORMULAIRE ================= */
.frm{max-width:740px;margin:0 auto}
.fld{margin-bottom:22px}
.fld label{display:block;font-size:16px;font-weight:600;margin-bottom:9px}
.fld label em{font-style:normal;color:var(--t3);font-weight:400;font-size:14px}
.fld input,.fld select,.fld textarea{width:100%;background:var(--bg2);border:1.5px solid var(--ln);
  color:var(--tx);padding:17px 15px;border-radius:var(--r);font-size:17px}
.fld textarea{min-height:125px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--or);outline:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.four{grid-template-columns:repeat(4,1fr)}
.eHint{margin:-8px 0 20px}
.ePh{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:12px}
.pt{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--bg3);border:2px solid transparent}
.pt.cv{border-color:var(--or)}
.pt img{width:100%;height:100%;object-fit:cover}
.cvB,.nwB{position:absolute;top:6px;left:6px;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:20px}
.cvB{background:var(--or);color:#0A0A0A}
.nwB{left:auto;right:6px;top:6px;background:var(--wa);color:#04280F}
.ptA{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:5px;padding:24px 6px 6px;
  background:linear-gradient(transparent,rgba(0,0,0,.8))}
.ptA button{min-width:32px;height:32px;border-radius:16px;background:rgba(10,10,10,.8);color:#fff;font-size:17px;
  display:grid;place-items:center;border:1px solid rgba(255,255,255,.25)}
.ptA button:disabled{opacity:.3}
.ptA span{flex:1}
.ptA .nb{flex:0;color:#fff;font-size:13px;font-weight:700;padding:0 4px}
.cvS{position:absolute;top:6px;left:6px;background:rgba(10,10,10,.8);color:#fff;font-size:11.5px;font-weight:600;
  padding:5px 9px;border-radius:20px;border:1px solid rgba(255,255,255,.3)}
.cvS:hover{background:var(--or);color:#0A0A0A}
.ptA button:not(:disabled):hover{background:var(--or);color:#0A0A0A}
.ptA .x:hover{background:#E5484D!important;color:#fff!important}
.eChk{display:flex;flex-wrap:wrap;gap:12px 28px;margin:4px 0 28px}
.eChk label{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500;cursor:pointer}
.eChk input{width:22px;height:22px;accent-color:var(--or)}
.eWarn{margin:-6px 0 22px}
.eWarn:empty{display:none}
.eWarn b{display:block;font-size:14px;color:var(--t2);margin-bottom:6px}
.eWarn li{list-style:none;font-size:14.5px;color:var(--t2);padding:9px 12px;border-left:3px solid #F5A623;background:var(--bg2);margin-bottom:6px}
.eBtns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.eBtns .big{border:0}
.eDel{margin-left:auto;color:#E5484D;font-size:15px;font-weight:600;padding:13px 16px;
  border:1.5px solid transparent;border-radius:var(--r)}
.eDel:hover{border-color:#E5484D}
.drop{border:2px dashed var(--ln);background:var(--bg2);padding:32px 18px;text-align:center;
  border-radius:var(--r);cursor:pointer;transition:.3s}
.drop:hover{border-color:var(--or)}
.drop b{display:block;font-size:17px;margin-bottom:5px}
.drop span{color:var(--t3);font-size:14px}
.thm{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.th{position:relative;width:94px;height:94px;border-radius:var(--r);overflow:hidden}
.th img{width:100%;height:100%;object-fit:cover}
.th button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;
  background:rgba(0,0,0,.78);color:#fff;font-size:14px;line-height:1}
.inf{background:var(--bg3);border-left:3px solid var(--or);padding:17px 19px;font-size:15px;
  color:var(--t2);margin-bottom:26px}
.ok{text-align:center;padding:48px 20px}
.ok .em{font-size:54px;margin-bottom:16px}
.err{color:#E5484D;font-size:15px;margin-top:8px;display:none}
.err.show{display:block}

/* ================= CHAT ================= */
.bub{position:fixed;right:18px;bottom:18px;z-index:100;width:64px;height:64px;border-radius:50%;
  background:var(--or);color:#0A0A0A;font-size:26px;box-shadow:0 8px 28px rgba(0,0,0,.35);
  display:grid;place-items:center;transition:.3s}
.bub:hover{transform:scale(1.07)}
.bub b{position:absolute;top:-1px;right:-1px;width:15px;height:15px;border-radius:50%;
  background:#E5484D;border:2px solid var(--bg)}
.cht{position:fixed;right:18px;bottom:94px;z-index:101;width:min(366px,calc(100vw - 36px));
  background:var(--bg);border:1px solid var(--ln);border-radius:12px;overflow:hidden;
  box-shadow:0 22px 58px rgba(0,0,0,.42);display:none}
.cht.open{display:block;animation:pp .35s cubic-bezier(.16,1,.3,1)}
@keyframes pp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cTop{background:var(--bg2);padding:16px 18px;border-bottom:1px solid var(--ln2);display:flex;align-items:center;gap:11px}
.cTop img{height:32px;width:auto}
[data-theme="light"] .cTop img{filter:brightness(.22) saturate(1.8)}
.cTop b{font-size:15px;display:block;line-height:1.3}
.cTop small{font-size:12.5px;color:var(--wa)}
.cTop button{margin-left:auto;color:var(--t3);font-size:21px}
.cBd{padding:18px;max-height:min(56vh,400px);overflow-y:auto}
.msg{background:var(--bg2);padding:14px 16px;border-radius:12px 12px 12px 3px;font-size:16px;
  margin-bottom:14px;line-height:1.55}
.cOp{display:flex;flex-direction:column;gap:8px}
.cOp button{border:1.5px solid var(--or);color:var(--or);font-weight:600;padding:14px 17px;
  border-radius:var(--r);text-align:left;font-size:15.5px;transition:.22s}
.cOp button:hover{background:var(--or);color:#0A0A0A}
.cOp button.w{background:var(--wa);border-color:var(--wa);color:#04280F;text-align:center}
.cOp button.w:hover{background:#1eb85a}
.cBk{color:var(--t3);font-size:14px;margin-top:12px}

/* ================= ADMIN ================= */
.adm{display:none;min-height:100vh;background:var(--bg);padding:22px var(--g) 64px}
body.adm-on .adm{display:block}
body.adm-on .pub,body.adm-on .bub,body.adm-on .cht{display:none!important}
.aT{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:20px;
  border-bottom:1px solid var(--ln2);margin-bottom:24px}
.aT .lg{height:44px;width:auto}
[data-theme="light"] .aT .lg{filter:brightness(.22) saturate(1.8)}
.aT h2{font-family:var(--bd);font-size:1.35rem;font-weight:700}
.aT .sp{margin-left:auto;display:flex;gap:9px;flex-wrap:wrap}
.aT .sp button{border:1.5px solid var(--ln);color:var(--tx);padding:12px 19px;border-radius:var(--r);font-size:15px;font-weight:500}
.aT .sp button:hover{border-color:var(--or);color:var(--or)}
.aTabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}
.aBar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:24px}
.aBar .aTabs{margin:0}
.aTab small{font-size:13px;opacity:.7;margin-left:4px}
#aQ{flex:1;min-width:230px;max-width:400px;background:var(--bg2);border:1.5px solid var(--ln);color:var(--tx);
  padding:14px 15px;border-radius:var(--r);font-size:16px}
#aQ:focus{border-color:var(--or);outline:none}
.row>img{cursor:pointer}
.aTab{border:1.5px solid var(--ln);color:var(--tx);padding:14px 23px;border-radius:var(--r);font-size:16px;font-weight:500;transition:.22s}
.aTab.on{background:var(--or);border-color:var(--or);color:#0A0A0A;font-weight:700}
.aTab em{font-style:normal;background:#E5484D;color:#fff;border-radius:20px;padding:2px 9px;font-size:13px;margin-left:7px;font-weight:700}
.aTab.on em{background:#0A0A0A;color:var(--or)}
.sts{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:1px;
  background:var(--ln2);border:1px solid var(--ln2);margin-bottom:28px}
.sts div{background:var(--bg2);padding:20px 16px}
.sts b{display:block;font-family:var(--dp);font-size:2rem;font-weight:600;color:var(--or)}
.sts span{font-size:13.5px;color:var(--t3)}
.row{display:flex;gap:16px;background:var(--bg2);border:1px solid var(--ln2);border-radius:var(--r);
  padding:15px;margin-bottom:12px;align-items:center;flex-wrap:wrap}
.row>img{width:128px;height:94px;object-fit:cover;border-radius:var(--r);flex:0 0 auto;background:var(--bg3)}
.rI{flex:1;min-width:205px}
.rI b{font-family:var(--dp);font-size:1.15rem;font-weight:500;display:block;margin-bottom:4px}
.rI p{font-size:14px;color:var(--t3)}
.rI .pr{color:var(--or);font-weight:700;font-size:16px;margin-top:5px}
.bg{display:inline-block;font-size:12px;font-weight:700;padding:5px 11px;border-radius:20px;margin:5px 5px 0 0}
.bP{background:#F5A623;color:#2A1A00}
.bA{background:var(--wa);color:#04280F}
.bR{background:#E5484D;color:#fff}
.bS{background:var(--bg3);color:var(--t2)}
.acts{display:flex;gap:7px;flex-wrap:wrap}
.acts button{border:1.5px solid var(--ln);color:var(--tx);padding:12px 17px;border-radius:var(--r);font-size:15px;font-weight:500;transition:.22s}
.acts .y{border-color:var(--wa);color:var(--wa)}
.acts .y:hover{background:var(--wa);color:#04280F}
.acts .n{border-color:#E5484D;color:#E5484D}
.acts .n:hover{background:#E5484D;color:#fff}
.lk{max-width:390px;margin:15vh auto;text-align:center}
.lk img{height:76px;width:auto;margin:0 auto 24px}
[data-theme="light"] .lk img{filter:brightness(.22) saturate(1.8)}
.lk input{width:100%;background:var(--bg2);border:1.5px solid var(--ln);color:var(--tx);
  padding:18px 15px;border-radius:var(--r);font-size:17px;text-align:center;margin-bottom:12px}
.lk button{width:100%;background:var(--or);color:#0A0A0A;font-weight:700;padding:18px;border-radius:var(--r);font-size:17px}
.lk .back{width:auto;background:none;color:var(--t2);font-weight:500;font-size:15px;padding:10px;margin-top:18px}
.lk .back:hover{color:var(--or)}
.lk p{color:#E5484D;font-size:15px;margin-top:12px;min-height:22px}
.tst{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(150px);z-index:200;
  background:var(--or);color:#0A0A0A;padding:16px 28px;border-radius:var(--r);font-weight:600;
  transition:transform .45s cubic-bezier(.16,1,.3,1);box-shadow:0 12px 38px rgba(0,0,0,.32)}
.tst.show{transform:translateX(-50%) translateY(0)}

@media(max-width:900px){
  .nav,.hCta{display:none}
  .burger{display:block}
  .qsB{grid-template-columns:1fr}
  .qsT{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .qsT button{padding:15px 6px;font-size:15px;white-space:nowrap}
  .top{grid-template-columns:1fr}
  .hArr{display:none}
  .hNav{left:0;right:0;bottom:74px;align-items:center;padding:0 20px;gap:10px}
  .slCap{font-size:10.5px;letter-spacing:.12em;text-align:center;justify-content:center}
  .slCap s{width:16px}
  .dot{width:34px;height:5px}
  .heroWrap{height:100vh}
  .heroSt{position:relative}
  .sh{display:none}
  .two{grid-template-columns:1fr}
  .mSp{grid-template-columns:repeat(2,1fr)}
  .dq{grid-template-columns:1fr}
  .three{gap:10px}
  .four{grid-template-columns:1fr 1fr}
  .eDel{margin-left:0}
}
@media(max-width:560px){
  body{font-size:16px}
  .grid{grid-template-columns:1fr}
  .row>img{width:100%;height:165px}
  .gal{aspect-ratio:4/3}
  .cA{width:40px;height:40px;font-size:22px}
  .ePh{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}
  h1 .w b{transform:none}
  .roof path{stroke-dashoffset:0}
  .eb,.hsub,.qs{opacity:1}
  .sl.on img{animation:none;transform:none}
  .dot.on i{animation:none;transform:scaleX(1)}
}
