


.scroll-bar{
  position:fixed;inset-inline:0;top:0;height:2px;z-index:60;pointer-events:none;
  background:var(--iris);transform:scaleX(0);transform-origin:left center;
}


header#top{position:sticky;top:0;z-index:50;padding-top:12px}

.nav{
  position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;
  min-height:60px;padding-inline:18px;border-radius:var(--radius-pill);
  border:1px solid transparent;
  transition:background var(--dur) var(--ease-lux),border-color var(--dur) var(--ease-lux),box-shadow var(--dur) var(--ease-lux),min-height var(--dur) var(--ease-lux);
}
header .wrap.nav{max-width:calc(var(--maxw) - 2 * var(--gutter) + 36px);width:calc(100% - 2 * var(--gutter) + 36px);padding-inline:18px}
header.scrolled .nav{
  min-height:56px;
  background:rgba(12,12,16,.62);border-color:var(--line-hi);box-shadow:var(--glass-shadow);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(170%);backdrop-filter:blur(var(--glass-blur)) saturate(170%);
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  header.scrolled .nav{background:var(--glass-solid)}
}

.brand{display:inline-flex;align-items:center;color:var(--text);flex:none;border-radius:12px}
.brand .logo{height:34px;width:auto}
.logo .lg-mark{transform-origin:32px 35px;transition:transform .8s var(--ease-lux)}
.brand:hover .lg-mark{transform:rotate(-8deg) scale(1.04)}


.nav-links{display:flex;align-items:center;gap:2px}
.nav-links>a,.nav-svc{
  position:relative;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:var(--radius-pill);
  font-size:.9rem;color:var(--muted);background:transparent;border:0;cursor:pointer;
  transition:color var(--dur-fast),background var(--dur-fast);
}
.nav-links>a:hover,.nav-svc:hover,.nav-svc[aria-expanded="true"]{color:var(--text);background:rgba(255,255,255,.05)}
.nav-svc svg{width:12px;height:12px;transition:transform var(--dur) var(--ease-lux)}
.nav-svc[aria-expanded="true"] svg{transform:rotate(180deg)}

.nav-links>a[aria-current]{color:var(--text)}
.nav-links>a[aria-current]::after,.nav-svc.is-current::after{
  content:"";position:absolute;inset-inline:14px;bottom:5px;height:1px;border-radius:1px;background:var(--iris);
}


.svc-panel{
  position:absolute;top:calc(100% + 10px);inset-inline-start:50%;width:min(420px,calc(100vw - 32px));padding:8px;
  display:grid;gap:2px;border-radius:24px;
  background:rgba(16,16,22,.96);border:1px solid var(--line-hi);box-shadow:var(--glass-shadow);
  -webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%);
  transform:translateX(-50%);
}
.svc-panel[hidden]{display:none}
.svc-link{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:baseline;padding:14px 16px;border-radius:16px;transition:background var(--dur-fast)}
.svc-link:hover{background:rgba(255,255,255,.06)}
.svc-link b{font-weight:560;color:var(--text);font-size:.98rem}
.svc-link span{grid-column:2;font-size:.84rem;color:var(--muted)}
.svc-link[aria-current] b{text-decoration:underline;text-decoration-color:var(--line-hi);text-underline-offset:4px}
.dot-svc{width:8px;height:8px;border-radius:50%;transform:translateY(-1px);background:var(--c,var(--dim))}
.dot-site{--c:var(--svc-site)}
.dot-ads{--c:var(--svc-ads)}
.dot-social{--c:var(--svc-social)}


.nav-cta{display:flex;align-items:center;gap:8px;flex:none}
.nav-cta .btn{height:42px;padding-inline:30px 18px;font-size:.88rem}
.nav-tel{
  display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 12px;border-radius:var(--radius-pill);
  
  font-size:.86rem;font-weight:520;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;
  transition:color var(--dur-fast),background var(--dur-fast);
}
.nav-tel:hover{color:var(--text);background:rgba(255,255,255,.05)}
.nav-tel svg{width:16px;height:16px;flex:none}
.nav-tel-n{display:inline}
@media (max-width:1199px){
  .nav-tel{width:42px;padding:0;justify-content:center;border:1px solid var(--line)}
  .nav-tel-n{display:none}
}
.nav-devis{display:none}

.menu-btn{
  display:none;align-items:center;gap:8px;height:44px;padding:0 14px 0 16px;border-radius:var(--radius-pill);cursor:pointer;
  background:rgba(255,255,255,.06);border:1px solid var(--line-hi);font-size:.9rem;font-weight:520;
}
.menu-btn svg{width:18px;height:18px}

.menu-btn path{transition:transform var(--dur-fast) var(--ease-out)}
.mb-1{transform-origin:12px 8px}
.mb-2{transform-origin:12px 16px}
.menu-btn[aria-expanded="true"] .mb-1{transform:translateY(4px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .mb-2{transform:translateY(-4px) rotate(-45deg)}
.mb-t{display:inline-grid}
.mb-t>span{grid-area:1/1}
.mb-close,.menu-btn[aria-expanded="true"] .mb-open{visibility:hidden}
.menu-btn[aria-expanded="true"] .mb-close{visibility:visible}


.sheet{display:none}
@media (max-width:1023px){
  .nav-links{display:none}
  .menu-btn{display:inline-flex}
  header .wrap.nav{width:calc(100% - 16px);padding-inline:12px 8px}
  .sheet{
    position:fixed;inset:0;z-index:-1;display:flex;flex-direction:column;gap:6px;overflow-y:auto;
    padding:calc(var(--header-h) + 28px) max(var(--gutter),calc((100% - 640px) / 2)) calc(28px + env(safe-area-inset-bottom));
    
    background:#050507;
    opacity:0;visibility:hidden;transition:opacity var(--dur),visibility 0s linear var(--dur);
  }
  .sheet.open{opacity:1;visibility:visible;transition-delay:0s}
  body.menu-open{overflow:hidden}
  
  body.menu-open header .nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;border-color:transparent;box-shadow:none}
  .sheet-links{display:grid;gap:2px}
  .sheet-links a{
    display:flex;align-items:center;gap:14px;min-height:52px;padding:6px 0;
    font-size:clamp(1.5rem,7vw,2rem);font-weight:560;letter-spacing:-.025em;color:var(--text);
  }
  .sheet-links a[aria-current]{color:var(--text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
  .sheet-links .dot-svc{width:9px;height:9px;transform:none}
  .sheet-sep{height:1px;margin:10px 0;background:var(--line)}
  .sheet-contact{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-top:14px}
  .sheet-contact a{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:72px;border-radius:18px;
    border:1px solid var(--line-hi);background:rgba(255,255,255,.04);font-size:.86rem;color:var(--text);
  }
  .sheet-contact svg{width:22px;height:22px}
  .sheet .btn-primary{margin-top:16px;width:100%}
}
@media (max-width:760px){
  .nav-full .nav-cta>.btn,.nav-cta>.nav-tel{display:none}
  .nav-devis{
    display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:var(--radius-pill);
    background:#F5F5F7;color:#0B0B10;font-size:.9rem;font-weight:600;
  }
  header .wrap.nav{padding-inline:10px 6px;min-height:58px}
  header.scrolled .nav{min-height:56px}
  .brand .logo{height:30px}
}


.btn{
  --tx:0px;--ty:0px;
  position:relative;isolation:isolate;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  height:48px;padding-inline:38px 24px;border-radius:var(--radius-pill);border:1px solid transparent;
  font-size:.95rem;font-weight:560;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;
  transform:translate(var(--tx),var(--ty));
  transition:transform .6s var(--ease-out),box-shadow var(--dur) var(--ease-lux),color var(--dur) var(--ease-lux);
}
.btn:active{transform:translate(var(--tx),calc(var(--ty) + 1px))}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.btn-content,.btn-arrive{display:inline-flex;align-items:center;gap:.5em;transition:transform .55s var(--ease-lux),opacity .35s var(--ease-lux)}
.btn-arrive{position:absolute;inset:0;justify-content:center;padding-inline:inherit;transform:translateY(105%);opacity:0;color:#fff}
.btn-dot{
  position:absolute;inset-inline-start:19px;top:50%;width:6px;height:6px;border-radius:50%;z-index:-1;
  background:var(--iris);transform:translate(-50%,-50%) scale(1);
  transition:transform .7s var(--ease-lux);
}
.btn .arrow{display:inline-block;transition:transform var(--dur) var(--ease-lux)}
.btn svg{width:18px;height:18px;flex:none}
@media (hover:hover) and (pointer:fine){
  .btn:hover .btn-content{transform:translateY(-105%);opacity:0}
  .btn:hover .btn-arrive{transform:none;opacity:1}
  .btn:hover .btn-dot{transform:translate(-50%,-50%) scale(90)}
}
.btn:focus-visible{outline-offset:4px}
@media (max-width:760px){ .btn{height:52px} }


.btn-primary{background:#F5F5F7;color:#0B0B10;box-shadow:0 0 0 1px rgba(255,255,255,.4) inset,0 18px 40px -18px rgba(192,132,252,.7)}
.btn-primary:hover{box-shadow:0 0 0 1px rgba(255,255,255,.2) inset,0 22px 60px -16px rgba(236,72,153,.75)}

.btn-primary .btn-arrive{color:var(--ink-1)}
.btn-ghost{background:rgba(255,255,255,.05);color:var(--text);border-color:var(--line-hi)}
.btn-wa,.btn-tel{padding-inline:20px}
.btn-wa .btn-dot,.btn-tel .btn-dot{display:none}
@media (hover:hover) and (pointer:fine){
  .btn-wa:hover .btn-content,.btn-tel:hover .btn-content{transform:none;opacity:1}
  .btn-wa:hover,.btn-tel:hover{background:rgba(255,255,255,.1)}
}
.btn-wa .btn-arrive,.btn-tel .btn-arrive{display:none}
.btn-block{width:100%}
.btn-sm{height:42px;padding-inline:28px 18px;font-size:.88rem}
@media (forced-colors:active){ .btn{border:1px solid ButtonText} }


.link-more{
  display:inline-flex;align-items:center;min-height:44px;gap:.35em;color:var(--text);font-weight:520;
  text-decoration:underline;text-decoration-color:var(--line-hi);text-underline-offset:5px;text-decoration-thickness:1px;
  transition:text-decoration-color var(--dur-fast);
}
.link-more:hover{text-decoration-color:var(--svc-ads)}


.dock{display:none}
@media (max-width:760px){
  .dock{
    position:fixed;inset-inline:0;bottom:0;z-index:55;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;
    padding:4px 8px calc(4px + env(safe-area-inset-bottom));
    background:var(--glass-solid);border-top:1px solid var(--glass-stroke);
    transform:translateY(calc(100% + 2px));
    
    visibility:hidden;transition:transform 200ms var(--ease-out),visibility 0s linear 200ms;
  }
  @supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
    .dock{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  }
  .dock.show{transform:none;visibility:visible;transition-delay:0s}
  .dock a{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:56px;border-radius:14px;
    font-size:.74rem;font-weight:560;letter-spacing:.01em;color:var(--text);
  }
  .dock svg{width:20px;height:20px}
  .dock .dock-devis{background:#F5F5F7;color:#0B0B10}
  body.menu-open .dock{transform:translateY(calc(100% + 2px));visibility:hidden}
}
@media (max-width:760px) and (prefers-reduced-motion:reduce){ .dock{transition:none} }

@media (prefers-reduced-motion:reduce){ .sheet,.sheet *{transition:none!important} }


.live{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.02em;color:var(--muted);font-variant-numeric:tabular-nums}
.live-dot{flex:none;width:6px;height:6px;border-radius:50%;background:#F5E1FF;box-shadow:0 0 10px rgba(245,225,255,.6)}
.live-h:empty{display:none}



footer.foot{margin-top:0;padding-top:clamp(40px,6vw,80px);border-top:1px solid var(--line);overflow-x:clip}

.foot-logo{--k:1;--lh:clamp(56px,6vw,84px);margin-bottom:clamp(30px,4.4vw,60px)}
.sfx-ready .foot-logo{--k:min(1,var(--in,1) * 1.5)}

.foot-logo .logo{display:block;width:auto;height:var(--lh);margin-inline-start:calc(var(--lh) * -.125);color:var(--text)}
.ft-f1{transform:translate(0,calc((1 - var(--k)) * -7px))}
.ft-f2{transform:translate(calc((1 - var(--k)) * -6px),calc((1 - var(--k)) * 4px))}
.ft-f3{transform:translate(calc((1 - var(--k)) * 6px),calc((1 - var(--k)) * 4px))}
.ft-edges{opacity:calc(var(--k) * var(--k))}
.ft-word{opacity:clamp(0,calc(var(--k) * 1.6 - .6),1);transform:translate(calc((1 - var(--k)) * 8px),0)}
.foot-cols{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:36px 40px}

.foot-col .live{white-space:nowrap}
.foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:.94rem;color:var(--muted)}
.foot-col h2{
  margin-bottom:4px;font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;line-height:1.4;
  letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--muted);
}
.foot-col a{color:var(--muted);transition:color var(--dur-fast);min-height:24px;display:inline-flex;align-items:center}
.foot-col a:hover{color:var(--text)}
.foot-col address{font-style:normal;color:var(--text)}
.foot-legal{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:clamp(40px,5vw,64px);padding-top:22px;border-top:1px solid var(--line);font-size:.84rem}
.foot-legal a{color:var(--muted);min-height:24px;display:inline-flex;align-items:center;transition:color var(--dur-fast)}
.foot-legal a:hover{color:var(--text)}
.foot-last{
  display:flex;flex-wrap:wrap;gap:6px 22px;padding-block:18px 28px;
  font-family:var(--font-mono);font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums;
}
@media (max-width:1000px){ .foot-cols{grid-template-columns:1fr 1fr} }
@media (max-width:760px){
  .foot-cols{grid-template-columns:1fr 1fr;gap:28px 18px}
  .foot-cols>.foot-col:first-child,.foot-cols>.foot-col:nth-child(2){grid-column:1 / -1}
  .foot-col{font-size:.9rem;gap:4px}
  .foot-legal{gap:2px 16px;margin-top:28px;padding-top:14px;font-size:.8rem}
  .foot-last{padding-block:12px 18px;font-size:.78rem}
  .foot-logo{margin-bottom:24px}
  html.has-dock footer.foot{padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){ .foot-logo{--k:1!important} }
.live.is-live .live-t{display:none}
.nav-back{
  display:inline-flex;align-items:center;height:42px;padding:0 16px;border-radius:var(--radius-pill);
  border:1px solid var(--line-hi);background:rgba(255,255,255,.04);font-size:.88rem;color:var(--text);white-space:nowrap;
  transition:background var(--dur-fast);
}
.nav-back:hover{background:rgba(255,255,255,.09)}
@media (max-width:760px){
  
  .nav-devis-head .nav-tel,.nav-devis-head .btn-wa,.nav-contact .nav-tel,.nav-contact .btn-wa{display:none}
  .nav-back{height:44px;padding:0 14px;font-size:.86rem}
}
