/* ============================================================
   ID LIFT — Feuille de style principale
   ============================================================ */

:root {
  --blue:       #214478;
  --blue-dark:  #162e54;
  --blue-deeper:#0d1e3a;
  --orange:     #FF7300;
  --inox-l:     #8a8a8a;
  --inox-m:     #d0d0d0;
  --inox-h:     #f0f0f0;
  --light:      #f5f4f0;
  --white:      #ffffff;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html  { scroll-behavior:smooth; }
body  { font-family:'Barlow',sans-serif; background:var(--blue-deeper); color:var(--white); overflow-x:hidden; }

/* ── ANIMATION D'ENTRÉE : PORTES PLEIN ÉCRAN ── */
#intro-doors { position:fixed; inset:0; z-index:9999; display:flex; }
.door {
  position:relative; width:50%; height:100%; overflow:hidden;
  display:flex; align-items:center;
  background:linear-gradient(160deg,var(--inox-h) 0%,var(--inox-m) 40%,var(--inox-l) 100%);
  transition:transform 1.4s cubic-bezier(0.76,0,0.24,1);
}
.inox-lines {
  position:absolute; inset:0;
  background:repeating-linear-gradient(90deg,
    rgba(255,255,255,0.07) 0,rgba(255,255,255,0.07) 1px,
    transparent 1px,transparent 6px);
}
.door-l { justify-content:flex-end; }
.door-r { justify-content:flex-start; }
.logo-half { width:160px; position:relative; z-index:2; }
.door-l.open { transform:translateX(-100%); }
.door-r.open { transform:translateX(100%); }
#intro-doors.gone { display:none !important; }

#orange-line {
  position:fixed; left:50%; top:0; transform:translateX(-50%);
  width:3px; height:0;
  background:var(--orange);
  box-shadow:0 0 8px rgba(255,115,0,0.8),0 0 20px rgba(255,115,0,0.35);
  z-index:10000; pointer-events:none;
  transition:height 1600ms cubic-bezier(0.4,0,0.1,1);
}

/* ── PANEL DE NAVIGATION DESKTOP ── */
#elevator-panel {
  position:fixed; right:30px; top:50%; transform:translateY(-50%);
  z-index:1000; opacity:0; pointer-events:none;
  transition:right 0.3s ease;
}
@media (max-width:1440px) { #elevator-panel { right:0; } }

.panel-box {
  background:linear-gradient(160deg,#0e0e0e,#1a1a1a);
  padding:14px; border-radius:60px;
  border:1px solid rgba(255,255,255,0.06);
  display:flex; flex-direction:column; gap:12px;
  box-shadow:0 30px 70px rgba(0,0,0,0.7),inset 0 1px 0 rgba(255,255,255,0.06);
}
.floor-btn {
  width:78px; height:78px; border-radius:50%;
  border:2px solid rgba(255,255,255,0.06);
  background:rgba(255,255,255,0.03);
  cursor:pointer; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:3px;
  transition:all 0.35s cubic-bezier(0.34,1.56,0.64,1);
  position:relative; overflow:visible;
}
.floor-btn::before {
  content:''; position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle at center,rgba(255,115,0,0.32) 0%,transparent 70%);
  opacity:0; transition:opacity 0.3s;
}
.floor-btn::after {
  content:''; position:absolute; inset:-3px; border-radius:50%;
  border:2px solid transparent; box-shadow:none;
  transition:border-color 0.35s,box-shadow 0.35s;
}
.floor-btn:hover::before,.floor-btn.active::before { opacity:1; }
.floor-btn:hover::after,.floor-btn.active::after {
  border-color:var(--orange);
  box-shadow:0 0 22px rgba(255,115,0,0.55),0 0 45px rgba(255,115,0,0.2);
}
.floor-btn:hover,.floor-btn.active {
  background:rgba(255,115,0,0.07);
  border-color:rgba(255,115,0,0.35);
  transform:scale(1.1);
}
.f-num {
  font-family:'Bebas Neue',sans-serif; font-size:1.65rem;
  color:#555; line-height:1;
  transition:color 0.3s,text-shadow 0.3s; position:relative; z-index:1;
}
.floor-btn:hover .f-num,.floor-btn.active .f-num {
  color:var(--orange);
  text-shadow:0 0 14px var(--orange),0 0 28px rgba(255,115,0,0.4);
}
.f-txt {
  font-family:'Barlow Condensed',sans-serif; font-size:0.65rem;
  letter-spacing:0.14em; color:#444; text-transform:uppercase;
  transition:color 0.3s; position:relative; z-index:1;
}
.floor-btn:hover .f-txt,.floor-btn.active .f-txt { color:#bbb; }
.btn-alarm .f-num { display:flex; align-items:center; justify-content:center; }
.btn-alarm svg { width:24px; height:24px; }

/* ── NAVIGATION MOBILE ── */
#mobile-panel { display:none; position:fixed; bottom:0; left:0; right:0; z-index:1000; opacity:0; pointer-events:none; }
.mobile-bar {
  background:rgba(8,8,10,0.94); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border-top:1px solid rgba(255,115,0,0.18);
  padding:10px 8px env(safe-area-inset-bottom);
  display:flex; justify-content:space-around; align-items:center; gap:4px;
}
.mob-btn {
  flex:1; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:5px;
  padding:4px; border:none; background:transparent; cursor:pointer;
}
.mob-round {
  width:50px; height:50px; border-radius:50%;
  background:rgba(255,255,255,0.03); border:1.5px solid rgba(255,255,255,0.07);
  display:flex; align-items:center; justify-content:center;
  transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
.mob-btn.active .mob-round,.mob-btn:hover .mob-round {
  background:rgba(255,115,0,0.1); border-color:var(--orange);
  box-shadow:0 0 16px rgba(255,115,0,0.5);
}
.m-num {
  font-family:'Bebas Neue',sans-serif; font-size:1rem;
  color:#555; transition:color 0.3s,text-shadow 0.3s;
}
.mob-btn.active .m-num,.mob-btn:hover .m-num {
  color:var(--orange); text-shadow:0 0 8px rgba(255,115,0,0.6);
}
.m-txt {
  font-family:'Barlow Condensed',sans-serif; font-size:0.5rem;
  letter-spacing:0.1em; color:#444; text-transform:uppercase; transition:color 0.3s;
}
.mob-btn.active .m-txt,.mob-btn:hover .m-txt { color:#aaa; }

/* ── MISE EN PAGE GÉNÉRALE ── */
#main-content { display:none; opacity:0; }
.v-section {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:0 max(40px, calc((100% - 1200px) / 2));
  position:relative; overflow:hidden;
}

/* ── SECTION 1 : HERO ── */
#sec-1 { background:var(--blue-deeper); }
.hero-bg {
  position:absolute; inset:0;
  background-image:url('img/photo2-installateur-ascenseur.webp');
  background-size:cover; background-position:center;
}
.hero-bg-overlay {
  position:absolute; inset:0;
  background:linear-gradient(105deg,rgba(13,30,58,0.95) 40%,rgba(33,68,120,0.35) 100%);
}
.hero-inner { position:relative; z-index:2; width:100%; }
.hero-tag {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,115,0,0.1); border:1px solid rgba(255,115,0,0.3);
  border-radius:999px; padding:6px 18px;
  font-family:'Barlow Condensed',sans-serif; font-size:1.1rem;
  letter-spacing:0.22em; color:var(--orange); text-transform:uppercase; margin-bottom:32px;
}
.hero-tag-dot {
  width:6px; height:6px; border-radius:50%; background:var(--orange);
  animation:pulse 1.8s ease-in-out infinite;
}
@keyframes pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:0.4; transform:scale(0.6); }
}
.hero-title {
  font-family:'Bebas Neue',sans-serif; font-size:clamp(3.4rem,7vw,5rem);
  line-height:0.95; letter-spacing:0.02em; color:var(--white);
}
.hero-title .accent {
  color:var(--orange); display:block;
  text-shadow:0 0 60px rgba(255,115,0,0.35);
}
.hero-soustitle {
  font-family:'Bebas Neue',sans-serif; font-size:35px;
  line-height:0.95; letter-spacing:0.02em; color:var(--orange);
}
.hero-sub {
  font-size:1.05rem; font-weight:300; color:#FFF;
  max-width:500px; line-height:1.75; margin-bottom:48px;
}
.hero-cta {
  display:inline-flex; align-items:center; gap:12px;
  background:var(--orange); color:var(--white);
  font-family:'Barlow Condensed',sans-serif; font-size:0.9rem;
  font-weight:700; letter-spacing:0.15em; text-transform:uppercase;
  padding:16px 32px; border-radius:50px; border:none; cursor:pointer;
  text-decoration:none; transition:all 0.3s;
  box-shadow:0 8px 30px rgba(255,115,0,0.35);
}
.hero-cta:hover {
  background:#ff8c1f; transform:translateY(-2px);
  box-shadow:0 14px 40px rgba(255,115,0,0.5); color:#fff;
}
.hero-cta svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }

/* ── ÉLÉMENTS COMMUNS SECTIONS ── */
.section-inner { width:100%; padding:100px 0; }
.sec-label {
  font-family:'Barlow Condensed',sans-serif; font-size:0.9rem;
  letter-spacing:0.3em; text-transform:uppercase; color:var(--orange);
  margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.sec-label::before { content:''; display:block; width:30px; height:1px; background:var(--orange); }
.sec-title {
  font-family:'Bebas Neue',sans-serif; font-size:clamp(2.5rem,5vw,4.5rem);
  line-height:1; color:var(--blue); margin-bottom:30px;
}

/* ── SECTION 2 : SERVICES ── */
#sec-2 { background:var(--light); color:var(--blue); }
.services-row { display:flex; gap:16px; align-items:stretch; }
.service-card {
  flex:1; background:var(--white); border-radius:14px;
  border:1px solid rgba(0,0,0,0.07); overflow:hidden;
  display:flex; flex-direction:column;
  transition:box-shadow 0.4s ease,transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.service-card:hover { transform:translateY(-8px); box-shadow:0 24px 60px rgba(33,68,120,0.13); }
.service-img { width:100%; aspect-ratio:1/1; overflow:hidden; position:relative; background:#d0d7e3; }
.service-img img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94);
}
.service-card:hover .service-img img { transform:scale(1.1); }
.service-img::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:var(--orange); transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s ease; z-index:3;
}
.service-card:hover .service-img::after { transform:scaleX(1); }
.service-img.dual img {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:opacity 0.9s ease,transform 0.55s cubic-bezier(0.25,0.46,0.45,0.94);
}
.service-img.dual .img-a { opacity:1; z-index:1; }
.service-img.dual .img-b { opacity:0; z-index:2; }
.service-img.dual.show-b .img-a { opacity:0; }
.service-img.dual.show-b .img-b { opacity:1; }
.service-card:hover .service-img.dual img { transform:scale(1.1); }
.service-body { padding:18px 20px 22px; flex:1; display:flex; flex-direction:column; }
.service-card h3 {
  font-family:'Barlow Condensed',sans-serif; font-size:1.05rem;
  font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--blue); margin-bottom:8px; transition:color 0.3s;
}
.service-card:hover h3 { color:var(--orange); }
.service-card p { font-size:0.9rem; color:#214478; line-height:1.4; }

/* ── CARROUSEL FOURNISSEURS ── */
.suppliers-block { padding-top:52px; }
.suppliers-head {
  font-family:'Barlow Condensed',sans-serif; font-size:0.9rem;
  letter-spacing:0.3em; text-transform:uppercase; color:var(--orange);
  display:flex; align-items:center; gap:10px; margin-bottom:32px;
}
.suppliers-head::before { content:''; display:block; width:30px; height:1px; background:var(--orange); }
.suppliers-carousel-wrapper { position:relative; margin-bottom:40px; overflow:hidden; }
.suppliers-carousel { overflow:hidden; position:relative; }
.suppliers-carousel::before,
.suppliers-carousel::after {
  content:''; position:absolute; top:0; bottom:0; width:80px;
  z-index:2; pointer-events:none;
}
.suppliers-carousel::before { left:0; background:linear-gradient(to right,var(--light),transparent); }
.suppliers-carousel::after  { right:0; background:linear-gradient(to left,var(--light),transparent); }
.suppliers-track {
  display:flex; gap:0;
  transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
  will-change:transform;
}
.supplier-slide {
  flex:0 0 20%; display:flex; align-items:center;
  justify-content:center; padding:0 24px;
}
.supplier-slide-inner {
  width:100%; height:70px; display:flex; align-items:center; justify-content:center;
  transition:filter 0.35s ease,transform 0.35s ease;
}
.supplier-slide-inner:hover { transform:scale(1.08); }
.supplier-slide-inner img { max-width:100%; max-height:60px; object-fit:contain; }

.suppliers-badges { display:flex; gap:20px; justify-content:left; flex-wrap:wrap; margin-bottom:28px; }
.sup-badge {
  display:flex; align-items:center; gap:10px;
  background:var(--white); border:1px solid rgba(33,68,120,0.1);
  border-radius:12px; padding:20px; min-width:220px; flex:1; max-width:100%;
  transition:box-shadow 0.3s,border-color 0.3s;
}
.sup-badge:hover { border-color:rgba(255,115,0,0.3); box-shadow:0 8px 24px rgba(33,68,120,0.08); }
.sup-badge-icon {
  width:54px; height:54px; border-radius:10px;
  background:rgba(255,115,0,0.1); display:flex; align-items:center;
  justify-content:center; flex-shrink:0;
}
.sup-badge-icon svg { width:20px; height:20px; fill:none; stroke:var(--orange); stroke-width:2; }
.sup-badge-text { flex:1; }
.sup-badge-title {
  font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; font-weight:700;
  letter-spacing:0.05em; text-transform:uppercase; color:var(--blue); line-height:1.2;
}
.sup-badge-sub { font-size:0.85rem; color:#6b7a99; line-height:1.3; margin-top:2px; }
.suppliers-mention { text-align:left; font-size:0.88rem; color:#5a6a88; }
.suppliers-mention strong { color:var(--blue); font-weight:600; }

/* ── SECTION 3 : FAQ ── */
#sec-3 { background:#214478; }
#sec-3 .sec-title { color:var(--white); }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }
.faq-item {
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.09);
  border-radius:12px; overflow:hidden; transition:border-color 0.3s;
}
.faq-item.open { border-color:var(--orange); }
.faq-trigger {
  width:100%; background:none; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 24px; text-align:left;
}
.faq-question {
  font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; font-weight:700;
  letter-spacing:0.04em; color:var(--white); line-height:1.3; text-transform:uppercase;
  transition:color 0.25s;
}
.faq-item.open .faq-question,
.faq-trigger:hover .faq-question { color:var(--orange); }
.faq-icon {
  flex-shrink:0; width:26px; height:26px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.2); display:flex; align-items:center;
  justify-content:center;
  transition:border-color 0.25s,background 0.25s,transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
}
.faq-icon svg {
  width:12px; height:12px; stroke:rgba(255,255,255,0.6); fill:none; stroke-width:2.5;
  transition:stroke 0.25s,transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
}
.faq-item.open .faq-icon { background:var(--orange); border-color:var(--orange); }
.faq-item.open .faq-icon svg { stroke:var(--white); transform:rotate(180deg); }
.faq-body { display:grid; grid-template-rows:0fr; transition:grid-template-rows 0.38s cubic-bezier(0.4,0,0.2,1); }
.faq-item.open .faq-body { grid-template-rows:1fr; }
.faq-body-inner { overflow:hidden; }
.faq-answer { font-size:0.88rem; font-weight:300; color:rgba(255,255,255,0.75); line-height:1.65; padding:0 24px 20px; }
.faq-answer strong { color:rgba(255,255,255,0.95); font-weight:600; }

/* ── SECTION 4 : ÉQUIPE / ENTREPRISE ── */
#sec-4 { background:#F5F4F0; }
.about-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; margin-bottom:80px; }
.about-text p { font-size:1.2rem; font-weight:400; color:#214478; line-height:1.3; margin-bottom:20px; }
.about-federation-box {
  display:flex; align-items:center; gap:24px; background:#FFF;
  border-radius:12px; padding:24px; border:1px solid rgba(33,68,120,0.08); margin-top:18px;
}
.about-federation-logo { flex:0 0 265px; max-width:265px; }
.about-federation-logo img { width:265px; height:68px; object-fit:contain; display:block; }
.about-federation-text { font-size:0.9rem; font-weight:400; color:#214478; line-height:1.4; }
.about-stats { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
.stats-col { display:grid; gap:20px; }
.stat-box  { background:#FFF; border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:25px; }
.stat-box2 { background:#FFF; border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:24px; display:flex; flex-direction:column; gap:20px; }
.stat-box2 img { max-width:100%; height:auto; display:block; border-radius:12px; }
.stat-num { font-family:'Bebas Neue',sans-serif; font-size:3rem; color:var(--orange); text-shadow:0 0 20px rgba(255,115,0,0.4); line-height:1; margin-bottom:4px; }
.stat-label { font-family:'Barlow Condensed',sans-serif; font-size:1rem; letter-spacing:1px; text-transform:uppercase; color:var(--blue); }
.founders-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,4vw,3.5rem); color:var(--orange); margin-bottom:40px; line-height:1; }
.founders-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.founder-card {
  background:#fff; border:1px solid rgba(255,255,255,0.08); border-radius:16px;
  padding:36px; display:flex; gap:28px; align-items:flex-start;
  transition:all 0.35s; position:relative; overflow:hidden;
}
.founder-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--orange),transparent);
  transform:scaleX(0); transform-origin:left; transition:transform 0.4s;
}
.founder-card:hover { border-color:rgba(255,115,0,0.25); }
.founder-card:hover::before { transform:scaleX(1); }
.founder-avatar { width:168px; height:220px; border-radius:10px; flex-shrink:0; overflow:hidden; }
.founder-avatar img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.founder-info { flex:1; }
.founder-role { font-family:'Barlow Condensed',sans-serif; font-size:0.8rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--orange); margin-bottom:6px; }
.founder-name { font-family:'Bebas Neue',sans-serif; font-size:1.7rem; color:var(--blue); line-height:1; margin-bottom:6px; }
.founder-email { display:inline-flex; align-items:center; gap:6px; font-family:'Barlow',sans-serif; font-size:0.9rem; font-weight:400; color:var(--blue); text-decoration:none; margin-bottom:14px; }
.founder-email:hover { opacity:1; color:var(--orange); }
.founder-email svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2; flex-shrink:0; }
.founder-bio { font-size:0.9rem; font-weight:400; color:#214478; line-height:1.6; }

/* ── SECTION 5 : CONTACT ── */
#sec-5 { background:#214478; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; width:100%; }
.contact-col { padding:80px 60px; display:flex; flex-direction:column; align-items:flex-start; position:relative; }
.contact-col:first-child { border-right:1px solid rgba(255,255,255,0.08); }
.contact-col-label {
  font-family:'Barlow Condensed',sans-serif; font-size:0.85rem;
  letter-spacing:0.3em; text-transform:uppercase; color:var(--orange);
  display:flex; align-items:center; gap:10px; margin-bottom:20px;
}
.contact-col-label::before { content:''; display:block; width:24px; height:1px; background:var(--orange); }
.contact-col h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.05; color:var(--white); margin-bottom:14px; }
.contact-col p   { font-size:0.95rem; font-weight:300; color:#fff; line-height:1.7; margin-bottom:36px; }
.contact-cta-tel,
.contact-cta-mail {
  display:inline-flex; align-items:center; gap:14px;
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.15);
  border-radius:999px; padding:16px 36px;
  font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; font-weight:700;
  letter-spacing:0.08em; color:var(--white); text-decoration:none; transition:all 0.3s;
}
.contact-cta-tel:hover,
.contact-cta-mail:hover {
  background:rgba(255,255,255,0.09); border-color:rgba(255,255,255,0.35);
  transform:scale(1.03); color:white !important;
}
.contact-cta-tel svg  { width:18px; height:18px; fill:var(--white); flex-shrink:0; }
.contact-cta-mail svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; flex-shrink:0; }

/* ── FOOTER ── */
#site-footer { background:#111214; color:#ccc; font-family:'Barlow',sans-serif; display:none; opacity:0; }
.footer-top {
  display:flex; align-items:center; gap:0;
  border-bottom:1px solid rgba(255,255,255,0.07);
  padding:36px max(40px, calc((100% - 1200px) / 2));
}
.footer-logo { flex:0 0 220px; }
.footer-logo img { max-width:160px; height:auto; display:block; }
.footer-logo p { font-family:'Barlow Condensed',sans-serif; font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:#666; margin-top:6px; }
.footer-sep { width:1px; align-self:stretch; background:rgba(255,255,255,0.1); margin:0 48px; flex-shrink:0; }
.footer-address { flex:0 0 auto; margin-right:48px; }
.footer-address p { font-size:0.88rem; color:#aaa; line-height:1.7; }
.footer-zones { flex:1; }
.footer-zones p  { font-size:0.88rem; color:#aaa; line-height:1.7; }
.footer-zones strong { color:#e0e0e0; font-weight:600; }
.footer-region { flex:0 0 auto; margin-left:48px; }
.footer-region img { height:auto; display:block; }
.footer-bottom {
  padding:18px max(40px, calc((100% - 1200px) / 2));
  display:flex; align-items:center; justify-content:center;
  font-size:0.82rem; color:#555; text-align:center; gap:6px; flex-wrap:wrap;
}
.footer-bottom a { color:var(--orange); text-decoration:none; transition:opacity 0.2s; }
.footer-bottom a:hover { opacity:0.8; }
.footer-bottom .footer-dot { color:#333; margin:0 4px; }

/* ── RESPONSIVE ── */
@media (max-width:960px) {
  #elevator-panel { display:none; }
  #mobile-panel   { display:block; }
  .v-section      { padding:0 24px; padding-bottom:90px; }
  .faq-grid       { grid-template-columns:1fr; }
  .founders-grid  { grid-template-columns:1fr; }
  .services-row   { flex-wrap:wrap; }
  .service-card   { flex:1 1 calc(50% - 8px); min-width:240px; }
  .about-intro-grid   { grid-template-columns:1fr; gap:40px; }
  .about-federation-box { flex-direction:column; align-items:flex-start; }
  .about-federation-logo { flex:0 0 auto; max-width:100%; }
  .about-federation-logo img { width:100%; max-width:265px; height:auto; }
  .founder-card   { flex-direction:column; align-items:center; text-align:center; }
  .founder-avatar { width:120px; height:160px; }
  .about-stats    { grid-template-columns:1fr; }
  .supplier-slide { flex:0 0 33.333%; }
  .suppliers-badges { flex-direction:column; align-items:center; }
  .sup-badge      { max-width:100%; }
  .contact-grid   { grid-template-columns:1fr; }
  .contact-col    { padding:60px 32px; }
  .contact-col:first-child { border-right:none; border-bottom:1px solid rgba(255,255,255,0.08); }
  .footer-top     { flex-wrap:wrap; gap:28px; }
  .footer-sep     { display:none; }
  .footer-logo    { flex:0 0 100%; }
  .footer-address { margin-right:0; flex:0 0 100%; }
  .footer-zones   { flex:0 0 100%; }
  .footer-region  { margin-left:0; flex:0 0 auto; }
}
@media (max-width:480px) {
  .m-txt      { display:none; }
  .mob-round  { width:44px; height:44px; }
  .supplier-slide { flex:0 0 50%; }
}
