:root{
  --bg:#f7f7f4; --paper:#ffffff; --ink:#080808; --muted:#676767; --line:#deded8; --soft:#efefeb; --dark:#090909;
  --header:72px; --footer:46px; --pad:clamp(14px,2vw,26px); --radius:28px;
}
*{box-sizing:border-box} html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}
button,a,input,textarea{font:inherit} button,a{cursor:pointer} .site-shell{height:100dvh;width:100vw;overflow:hidden;display:grid;grid-template-rows:var(--header) 1fr var(--footer);background:radial-gradient(circle at 10% 15%,#fff 0,#f7f7f4 38%,#ededE8 100%)}
.topbar{height:var(--header);display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:16px;padding:0 var(--pad);border-bottom:1px solid var(--line);background:rgba(255,255,255,.82);backdrop-filter:blur(18px);z-index:5}.brand{display:flex;align-items:center}.brand img{height:38px;width:auto;object-fit:contain}.main-nav{display:flex;justify-content:center;gap:6px;min-width:0}.main-nav button,.lang-switch button,.legal-links button{border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:650;padding:10px 12px;border-radius:999px;white-space:nowrap;transition:.25s ease}.main-nav button:hover,.main-nav button.active,.lang-switch button.active{background:var(--ink);color:white}.lang-switch{display:flex;gap:4px;border:1px solid var(--line);border-radius:999px;padding:3px;background:white}.lang-switch button{font-size:12px;padding:7px 9px}.viewport{min-height:0;overflow:hidden;position:relative}.track{width:100%;height:100%;display:flex;flex-direction:column;transition:transform .42s cubic-bezier(.76,0,.24,1);will-change:transform}.panel{width:100vw;height:100%;min-height:100%;flex:0 0 100%;display:flex;align-items:center;justify-content:center;padding:clamp(10px,1.5vw,22px) var(--pad);overflow:hidden}.panel-inner{width:min(1180px,100%);height:100%;max-height:calc(100dvh - var(--header) - var(--footer) - 28px);display:grid;align-items:center;gap:clamp(14px,2.2vw,36px)}
.hero-grid,.location-grid,.contact-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:.82fr 1.18fr}.cert-layout{grid-template-columns:.85fr 1.15fr}.references-layout{grid-template-rows:auto 1fr}.copy-block{min-width:0}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.22em;font-size:clamp(10px,1vw,12px);font-weight:800;margin-bottom:clamp(10px,1.6vh,18px)}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,5.1vw,62px);line-height:.96;letter-spacing:-.06em;font-weight:820;max-width:820px}h2{font-size:clamp(25px,4.2vw,50px);line-height:1;letter-spacing:-.05em;font-weight:820}p{font-size:clamp(13px,1.45vw,17px);line-height:1.58;color:var(--muted);max-width:620px}.copy-block>p{margin-top:clamp(12px,1.9vh,22px)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(16px,2.5vh,30px)}.primary,.secondary,.contact-form button{border:1px solid var(--ink);border-radius:999px;padding:13px 18px;font-weight:750;font-size:14px;transition:.25s ease}.primary,.contact-form button{background:var(--ink);color:#fff}.secondary{background:transparent;color:var(--ink)}.primary:hover,.contact-form button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.14)}.secondary:hover{background:var(--ink);color:#fff}.trust-line{display:flex;align-items:center;gap:12px;margin-top:clamp(18px,2.8vh,34px);border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:18px;padding:10px 12px;width:max-content;max-width:100%;font-size:13px;font-weight:650;color:#222}.trust-line img{height:32px;width:auto}.media-card{height:100%;max-height:560px;min-height:300px;border-radius:var(--radius);border:1px solid var(--line);background:#ddd;position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.10)}.photo-slider{height:100%;display:flex;width:300%;animation:slide 18s infinite ease-in-out}.photo{width:100%;height:100%;background-size:cover;background-position:center}.photo-1{background-image:linear-gradient(90deg,rgba(0,0,0,.20),rgba(0,0,0,.02)),url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?q=80&w=1500&auto=format&fit=crop')}.photo-2{background-image:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.02)),url('https://images.unsplash.com/photo-1581092580497-e0d23cbdf1dc?q=80&w=1500&auto=format&fit=crop')}.photo-3{background-image:linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.03)),url('https://images.unsplash.com/photo-1509395176047-4a66953fd231?q=80&w=1500&auto=format&fit=crop')}.floating-note{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.65);border-radius:20px;padding:16px;display:grid;gap:5px}.floating-note strong{font-size:15px}.floating-note span{color:var(--muted);font-size:13px}.compact-copy{align-self:center}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;height:min-content}.service-card{background:white;border:1px solid var(--line);border-radius:24px;padding:clamp(16px,2vw,24px);min-height:clamp(130px,18vh,180px);transition:.25s ease}.service-card:hover,.client-logo:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(0,0,0,.08)}.service-card span{font-size:12px;font-weight:800;color:#aaa}.service-card h3{font-size:clamp(17px,1.6vw,22px);letter-spacing:-.03em;margin:12px 0 8px}.service-card p{font-size:clamp(12px,1.15vw,14px);line-height:1.48}.cert-card{height:min(58vh,430px);background:#fff;border:1px solid var(--line);border-radius:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;box-shadow:0 30px 70px rgba(0,0,0,.08);padding:30px}.cert-card img{max-width:min(260px,72%);height:auto}.cert-card strong{display:block;font-size:clamp(19px,2vw,26px);letter-spacing:-.03em}.cert-card span{color:var(--muted);font-size:14px}.pill-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.pill-row span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 13px;font-weight:700;font-size:13px}.centered-copy{text-align:center;margin:0 auto}.centered-copy p{margin-left:auto;margin-right:auto}.logo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);align-self:start}.client-logo{height:clamp(110px,20vh,180px);display:flex;align-items:center;justify-content:center;background:white;border:1px solid var(--line);border-radius:28px;transition:.25s ease;padding:24px}.client-logo img{max-width:74%;max-height:58px;object-fit:contain;filter:grayscale(1);opacity:.78;transition:.25s ease}.client-logo:hover img{filter:grayscale(0);opacity:1}.address-card{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;display:grid;gap:7px;width:max-content;max-width:100%;font-size:14px;color:#333}.map-card{height:100%;min-height:270px;max-height:520px;border-radius:30px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 70px rgba(0,0,0,.10);background:#ddd}.map-card iframe{width:100%;height:100%;border:0;display:block}.contact-panel{background:var(--dark);color:#fff}.contact-panel p,.light-copy p{color:#b9b9b9}.contact-panel .eyebrow{color:#aaa}.mini-details{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.mini-details span{border:1px solid #333;border-radius:999px;padding:9px 12px;color:#ddd;font-size:13px}.contact-form{background:#101010;border:1px solid #262626;border-radius:30px;padding:clamp(16px,2.3vw,28px);display:grid;grid-template-columns:1fr 1fr;gap:13px}.contact-form label{display:grid;gap:7px;color:#ddd;font-weight:650;font-size:13px}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;background:#050505;color:white;border:1px solid #303030;border-radius:16px;padding:13px 14px;outline:none}.contact-form textarea{height:clamp(78px,15vh,130px);resize:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#fff}.contact-form button{grid-column:1/-1;background:#fff;color:#000;border-color:#fff}.contact-form small{grid-column:1/-1;color:#858585;line-height:1.4}.bottombar{height:var(--footer);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 var(--pad);border-top:1px solid var(--line);background:rgba(255,255,255,.82);backdrop-filter:blur(18px);font-size:12px;color:var(--muted);z-index:5}.dots{display:flex;gap:7px}.dots button{width:8px;height:8px;border-radius:999px;border:0;background:#cfcfca;padding:0;transition:.25s}.dots button.active{width:26px;background:#111}.legal-links{display:flex;justify-content:flex-end;gap:4px;min-width:0}.legal-links button{font-size:12px;padding:7px 8px}.legal-links button:hover{color:#000;background:#eee}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:20;padding:20px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(8px)}.modal-box{position:relative;width:min(680px,100%);max-height:min(82dvh,680px);overflow:auto;background:#fff;border-radius:28px;padding:28px;border:1px solid var(--line);box-shadow:0 40px 100px rgba(0,0,0,.35)}.modal-close{position:absolute;right:18px;top:16px;width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:28px;line-height:1}.modal-box h2{font-size:clamp(24px,3vw,36px);margin-bottom:14px}.modal-box p,.modal-box li{font-size:14px;line-height:1.6;color:#555}.modal-box ul{padding-left:18px}

.vertical-mode .dots{position:fixed;right:14px;top:50%;transform:translateY(-50%);flex-direction:column;z-index:30;background:rgba(255,255,255,.55);backdrop-filter:blur(12px);border:1px solid rgba(222,222,216,.8);border-radius:999px;padding:9px 7px}.vertical-mode .dots button{width:8px;height:8px}.vertical-mode .dots button.active{width:8px;height:26px}.vertical-mode .bottombar .dots{justify-content:center}

@keyframes slide{0%,28%{transform:translateX(0)}36%,62%{transform:translateX(-33.333%)}70%,94%{transform:translateX(-66.666%)}100%{transform:translateX(0)}}
@media (max-width:900px){:root{--header:110px;--footer:58px;--pad:14px}.topbar{grid-template-columns:1fr auto;grid-template-rows:auto auto;padding-top:10px;padding-bottom:8px}.brand img{height:32px}.main-nav{grid-column:1/-1;order:3;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.main-nav::-webkit-scrollbar{display:none}.main-nav button{font-size:12px;padding:8px 10px}.panel{padding:10px var(--pad)}.panel-inner{max-height:calc(100dvh - var(--header) - var(--footer) - 16px);gap:10px}.hero-grid,.split,.cert-layout,.references-layout,.location-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{grid-template-rows:auto 1fr}.copy-block>p{margin-top:9px}.actions{margin-top:12px}.media-card{min-height:0;max-height:none;height:100%}.floating-note{padding:10px;border-radius:16px;left:10px;right:10px;bottom:10px}.trust-line{margin-top:10px;padding:8px 10px}.trust-line img{height:25px}.service-grid{grid-template-columns:repeat(2,1fr);gap:9px}.service-card{min-height:auto;padding:12px;border-radius:18px}.service-card h3{margin:7px 0 4px}.service-card p{font-size:11px;line-height:1.35}.cert-card{height:clamp(135px,26vh,220px);border-radius:24px}.cert-card img{max-height:100px;width:auto}.logo-row{grid-template-columns:1fr 1fr 1fr;gap:9px}.client-logo{height:clamp(88px,17vh,140px);padding:14px;border-radius:20px}.client-logo img{max-height:44px}.map-card{height:100%;min-height:0}.contact-form{grid-template-columns:1fr;padding:14px;border-radius:22px;gap:9px}.contact-form textarea{height:72px}.bottombar{grid-template-columns:1fr auto;grid-template-rows:1fr 1fr;height:var(--footer);gap:0}.dots{justify-content:flex-end}.legal-links{grid-column:1/-1;justify-content:center;overflow-x:auto;white-space:nowrap}.legal-links button{font-size:11px;padding:4px 6px}}
@media (max-width:520px){:root{--header:104px;--footer:60px;--pad:10px}.topbar{gap:6px}.lang-switch button{font-size:10px;padding:6px 7px}.main-nav button{font-size:11px;padding:7px 9px}h1{font-size:clamp(25px,9vw,38px)}h2{font-size:clamp(22px,8vw,34px)}p{font-size:12px;line-height:1.45}.eyebrow{font-size:9px;margin-bottom:7px}.primary,.secondary{padding:10px 12px;font-size:12px}.hero-grid{grid-template-rows:auto minmax(130px,1fr)}.media-card{border-radius:20px}.trust-line{font-size:11px}.service-grid{grid-template-columns:1fr 1fr}.service-card span{display:none}.cert-layout{grid-template-rows:auto 1fr}.pill-row{gap:6px;margin-top:12px}.pill-row span{font-size:11px;padding:7px 8px}.address-card{font-size:12px;padding:11px}.location-grid{grid-template-rows:auto 1fr}.contact-grid{grid-template-rows:auto auto}.mini-details{margin-top:10px}.mini-details span{font-size:11px}.contact-form input,.contact-form textarea{padding:10px 11px;border-radius:13px}.contact-form button{padding:11px}.modal{padding:10px}.modal-box{padding:20px;border-radius:22px}.modal-close{right:10px;top:10px}.bottombar>span{font-size:11px}}
@media (max-height:720px){.panel{padding-top:8px;padding-bottom:8px}.copy-block>p{margin-top:8px}.actions{margin-top:10px}.trust-line{margin-top:10px}h1{font-size:clamp(27px,4.5vw,52px)}h2{font-size:clamp(23px,3.4vw,40px)}p{font-size:clamp(12px,1.2vw,15px);line-height:1.43}.eyebrow{margin-bottom:7px}.service-card{padding:14px;min-height:auto}.cert-card{height:min(48vh,330px)}.client-logo{height:clamp(84px,17vh,140px)}.contact-form{padding:16px}.contact-form textarea{height:70px}}
@media (max-height:600px){:root{--header:62px;--footer:38px}.topbar{grid-template-columns:120px 1fr auto;grid-template-rows:1fr;padding-top:0;padding-bottom:0}.brand img{height:28px}.main-nav{grid-column:auto;order:initial}.main-nav button{font-size:11px;padding:7px 8px}.lang-switch button{font-size:10px;padding:5px 6px}.bottombar{height:var(--footer);grid-template-columns:1fr auto 1fr;grid-template-rows:1fr}.legal-links{grid-column:auto}.trust-line,.floating-note span,.contact-form small{display:none}.service-card p{display:none}.cert-card span{display:none}.media-card{min-height:180px}.contact-form textarea{height:56px}}

/* ===== Correctifs responsive vertical mobile ===== */
.vertical-mode .dots{
  position:fixed !important;
  right:14px !important;
  top:50dvh !important;
  bottom:auto !important;
  left:auto !important;
  transform:translateY(-50%) !important;
  flex-direction:column !important;
  align-items:center;
  justify-content:center;
  z-index:50;
}

@media (max-width:700px){
  :root{--header:128px;--footer:48px;--pad:12px;--radius:22px;}
  html,body{overflow:hidden;}
  .site-shell{grid-template-rows:var(--header) 1fr var(--footer);}
  .topbar{
    height:var(--header);
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    gap:8px 10px;
    padding:9px var(--pad) 8px;
    align-content:center;
  }
  .brand img{height:30px;}
  .lang-switch{align-self:center;}
  .lang-switch button{font-size:10px;padding:6px 7px;}
  .main-nav{
    grid-column:1/-1;
    order:3;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:5px;
    overflow:visible;
    padding:0;
  }
  .main-nav button{
    flex:0 0 auto;
    font-size:10.5px;
    line-height:1;
    padding:7px 9px;
    max-width:none;
  }
  .viewport{min-height:0;}
  .panel{
    padding:8px calc(var(--pad) + 20px) 8px var(--pad);
    overflow:hidden;
  }
  .panel-inner{
    height:100%;
    max-height:calc(100dvh - var(--header) - var(--footer) - 16px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-width:none;
    gap:10px;
    align-content:center;
    padding-right:2px;
  }
  .panel-inner::-webkit-scrollbar{display:none;}
  .hero-grid,.split,.cert-layout,.references-layout,.location-grid,.contact-grid{grid-template-columns:1fr;}
  .hero-grid{grid-template-rows:auto minmax(145px,1fr);}
  h1{font-size:clamp(25px,8.8vw,36px);line-height:1.02;letter-spacing:-.045em;}
  h2{font-size:clamp(22px,7.5vw,32px);line-height:1.04;letter-spacing:-.04em;}
  h3{line-height:1.1;}
  p{font-size:12px;line-height:1.42;}
  .eyebrow{font-size:8.8px;letter-spacing:.14em;margin-bottom:7px;}
  .copy-block>p{margin-top:8px;}
  .actions{margin-top:10px;gap:8px;}
  .primary,.secondary,.contact-form button{font-size:11.5px;padding:9px 11px;}
  .trust-line{font-size:10.5px;padding:7px 9px;margin-top:9px;border-radius:14px;}
  .trust-line img{height:22px;}
  .media-card{min-height:145px;height:100%;border-radius:20px;}
  .floating-note{left:9px;right:9px;bottom:9px;padding:9px;border-radius:15px;}
  .floating-note strong{font-size:12px;}
  .floating-note span{font-size:10.5px;}
  .service-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .service-card{padding:10px;border-radius:16px;min-height:auto;}
  .service-card span{display:none;}
  .service-card h3{font-size:14px;margin:0 0 5px;}
  .service-card p{font-size:10.5px;line-height:1.3;}
  .cert-card{height:auto;min-height:130px;padding:18px;border-radius:22px;gap:10px;}
  .cert-card img{max-height:78px;width:auto;}
  .cert-card strong{font-size:17px;}
  .cert-card span{font-size:11px;}
  .pill-row{gap:6px;margin-top:11px;}
  .pill-row span{font-size:10.5px;padding:7px 8px;}
  .references-layout{grid-template-rows:auto auto;align-content:center;}
  .logo-row{grid-template-columns:1fr;gap:8px;}
  .client-logo{height:72px;border-radius:18px;padding:12px;}
  .client-logo img{max-height:38px;}
  .address-card{font-size:11.5px;padding:10px;margin-top:10px;border-radius:16px;}
  .map-card{height:210px;min-height:180px;border-radius:20px;}
  .mini-details{margin-top:9px;gap:6px;}
  .mini-details span{font-size:10.5px;padding:7px 8px;}
  .contact-form{grid-template-columns:1fr;padding:12px;gap:8px;border-radius:20px;}
  .contact-form label{font-size:11.5px;gap:5px;}
  .contact-form input,.contact-form textarea{padding:9px 10px;border-radius:12px;font-size:12px;}
  .contact-form textarea{height:66px;}
  .contact-form small{font-size:10px;}
  .bottombar{
    height:var(--footer);
    grid-template-columns:1fr;
    grid-template-rows:auto;
    padding:0 8px;
    gap:0;
    text-align:center;
  }
  .bottombar>span{display:none;}
  .legal-links{
    grid-column:1/-1;
    justify-content:center;
    overflow-x:auto;
    white-space:nowrap;
    gap:2px;
    scrollbar-width:none;
  }
  .legal-links::-webkit-scrollbar{display:none;}
  .legal-links button{font-size:9.5px;padding:5px 5px;white-space:nowrap;}
  .vertical-mode .dots{
    right:6px !important;
    padding:7px 5px;
    gap:6px;
  }
}

@media (max-width:380px){
  :root{--header:122px;--footer:44px;--pad:9px;}
  .brand img{height:27px;}
  .main-nav{gap:4px;}
  .main-nav button{font-size:9.5px;padding:6px 7px;}
  .lang-switch button{font-size:9px;padding:5px 6px;}
  .panel{padding-right:24px;}
  h1{font-size:clamp(22px,8.3vw,31px);}
  h2{font-size:clamp(20px,7.2vw,28px);}
  p{font-size:11.2px;line-height:1.36;}
  .service-card p{font-size:10px;}
  .map-card{height:170px;}
  .contact-form textarea{height:54px;}
  .legal-links button{font-size:8.8px;padding:4px 4px;}
}

@media (max-height:680px) and (max-width:700px){
  :root{--header:110px;--footer:40px;}
  .topbar{padding-top:6px;padding-bottom:6px;gap:5px;}
  .brand img{height:25px;}
  .main-nav button{font-size:9.2px;padding:5px 7px;}
  .lang-switch button{font-size:8.8px;padding:4px 5px;}
  h1{font-size:clamp(21px,7.6vw,30px);}
  h2{font-size:clamp(19px,6.6vw,27px);}
  p{font-size:10.8px;line-height:1.32;}
  .eyebrow{font-size:8px;margin-bottom:5px;}
  .actions{margin-top:7px;}
  .trust-line{display:none;}
  .media-card{min-height:115px;}
  .floating-note span{display:none;}
  .service-card{padding:8px;}
  .service-card h3{font-size:12.5px;}
  .service-card p{font-size:9.6px;}
  .cert-card{min-height:105px;padding:12px;}
  .cert-card img{max-height:58px;}
  .pill-row span{font-size:9.5px;padding:6px 7px;}
  .client-logo{height:58px;}
  .map-card{height:150px;}
  .contact-form{padding:10px;gap:6px;}
  .contact-form input,.contact-form textarea{padding:7px 9px;}
  .contact-form textarea{height:48px;}
  .contact-form small{display:none;}
}

/* ===== Nouvelle section Services : Fibre / Énergie avec points communs ===== */
.services-panel .panel-inner{align-content:center;}
.services-duo{grid-template-rows:auto 1fr;gap:clamp(14px,2vh,24px);}
.services-head h2{max-width:840px;margin:0 auto;}
.services-head p{max-width:760px;margin-left:auto;margin-right:auto;}
.expertise-board{display:grid;grid-template-columns:1fr minmax(170px,.56fr) 1fr;gap:clamp(12px,1.6vw,20px);height:100%;min-height:0;align-items:stretch;}
.domain-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(12px,1.8vh,20px);min-height:0;background:#fff;border:1px solid var(--line);border-radius:30px;padding:clamp(18px,2.3vw,30px);overflow:hidden;box-shadow:0 28px 60px rgba(0,0,0,.07);transition:.3s ease;}
.domain-card::before{content:"";position:absolute;inset:0;opacity:.08;pointer-events:none;background:radial-gradient(circle at 20% 10%,#000 0,transparent 34%);}
.fibre-card{background:#fff;color:#080808;}
.energy-card{background:#090909;color:#fff;border-color:#202020;}
.energy-card p{color:#c9c9c9;}
.domain-kicker{position:relative;z-index:1;text-transform:uppercase;letter-spacing:.18em;font-weight:850;font-size:11px;color:var(--muted);}
.energy-card .domain-kicker{color:#aaa;}
.domain-card h3{position:relative;z-index:1;font-size:clamp(28px,3.4vw,46px);letter-spacing:-.06em;line-height:.95;margin-top:8px;}
.domain-card>p{position:relative;z-index:1;font-size:clamp(12px,1.15vw,15px);line-height:1.5;max-width:520px;}
.service-meaning{position:relative;z-index:1;display:none;margin-top:auto;border-radius:22px;padding:clamp(14px,1.8vw,20px);border:1px solid var(--line);background:#f7f7f4;animation:fadeMeaning .24s ease both;}
.energy-card .service-meaning{border-color:#2a2a2a;background:#111;}
.service-meaning.active{display:block;}
.service-meaning strong{display:block;font-size:clamp(16px,1.5vw,20px);letter-spacing:-.035em;margin-bottom:8px;}
.service-meaning p{font-size:clamp(12px,1.05vw,14px);line-height:1.5;}
.shared-services{display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0;}
.shared-service{position:relative;border:1px solid var(--line);background:rgba(255,255,255,.78);backdrop-filter:blur(12px);border-radius:999px;padding:14px 16px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;text-align:left;box-shadow:0 18px 45px rgba(0,0,0,.06);transition:.28s ease;}
.shared-service span{width:28px;height:28px;border-radius:999px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:850;}
.shared-service strong{font-size:clamp(13px,1.25vw,16px);letter-spacing:-.02em;white-space:nowrap;}
.shared-service:hover,.shared-service.active{background:#111;color:#fff;transform:translateY(-2px) scale(1.02);border-color:#111;}
.shared-service:hover span,.shared-service.active span{background:#fff;color:#111;}
@keyframes fadeMeaning{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

@media (max-width:900px){
  .services-duo{grid-template-rows:auto auto;}
  .expertise-board{grid-template-columns:1fr;gap:10px;height:auto;}
  .shared-services{order:-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .shared-service{border-radius:18px;padding:10px;grid-template-columns:1fr;text-align:center;justify-items:center;gap:6px;}
  .shared-service span{width:24px;height:24px;font-size:10px;}
  .shared-service strong{white-space:normal;font-size:12px;}
  .domain-card{border-radius:22px;padding:14px;gap:8px;}
  .domain-card h3{font-size:clamp(24px,5.2vw,34px);}
  .domain-card>p{font-size:12px;line-height:1.35;}
  .service-meaning{border-radius:16px;padding:11px;}
  .service-meaning strong{font-size:14px;margin-bottom:5px;}
  .service-meaning p{font-size:11px;line-height:1.34;}
}
@media (max-width:700px){
  .services-panel .panel-inner{align-content:start;}
  .services-head p{display:block;}
  .expertise-board{gap:8px;}
  .shared-services{grid-template-columns:1fr 1fr 1fr;position:sticky;top:0;z-index:3;}
  .shared-service{padding:8px 6px;border-radius:14px;}
  .shared-service span{display:none;}
  .shared-service strong{font-size:10.5px;}
  .domain-card{padding:12px;border-radius:18px;}
  .domain-kicker{font-size:9px;letter-spacing:.13em;}
  .domain-card h3{font-size:22px;margin-top:3px;}
  .domain-card>p{font-size:10.7px;}
  .service-meaning{padding:10px;border-radius:14px;}
  .service-meaning strong{font-size:12.5px;}
  .service-meaning p{font-size:10.2px;}
}
@media (max-height:680px) and (max-width:700px){
  .services-head p{display:none;}
  .services-head h2{font-size:20px;}
  .domain-card>p{display:none;}
  .domain-card h3{font-size:19px;}
  .service-meaning p{font-size:9.5px;line-height:1.25;}
  .shared-service{padding:6px 4px;}
}

/* ===== Ajouts : points propres + menu mobile/tablette ===== */
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;color:#111;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800;align-items:center;gap:8px;box-shadow:0 10px 26px rgba(0,0,0,.06);}
.menu-toggle::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:.25s ease;}
.menu-toggle.open::after{transform:rotate(-135deg) translateY(-1px);}
.domain-points{position:relative;z-index:1;display:grid;gap:7px;margin:0;padding:0;list-style:none;}
.domain-points li{display:flex;align-items:center;gap:8px;font-size:clamp(11px,1vw,13px);font-weight:750;color:#303030;line-height:1.25;}
.domain-points li::before{content:"";width:7px;height:7px;border-radius:999px;background:#111;flex:0 0 auto;}
.energy-card .domain-points li{color:#e9e9e9;}
.energy-card .domain-points li::before{background:#fff;}
.click-hint{display:flex;align-items:center;justify-content:center;gap:8px;color:#666;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:900;text-align:center;margin-bottom:2px;}
.click-hint::before,.click-hint::after{content:"";width:18px;height:1px;background:#cfcfca;display:block;}
.shared-service::after{content:"↗";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.45;transition:.25s ease;}
.shared-service:hover::after,.shared-service.active::after{opacity:1;transform:translateY(-50%) scale(1.15);}

@media (max-width:1024px){
  .topbar{grid-template-columns:150px auto auto;position:relative;}
  .menu-toggle{display:inline-flex;justify-self:end;}
  .main-nav{position:absolute;top:calc(100% + 8px);left:var(--pad);right:var(--pad);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:22px;box-shadow:0 22px 60px rgba(0,0,0,.16);backdrop-filter:blur(18px);opacity:0;transform:translateY(-10px);pointer-events:none;z-index:80;transition:.25s ease;}
  .main-nav.open{opacity:1;transform:translateY(0);pointer-events:auto;}
  .main-nav button{background:#f4f4ef;text-align:center;justify-content:center;color:#333;}
  .lang-switch{justify-self:end;}
}

@media (max-width:700px){
  :root{--header:74px;}
  .topbar{height:var(--header);grid-template-columns:1fr auto auto;grid-template-rows:1fr;gap:8px;padding:0 var(--pad);align-content:center;}
  .brand img{height:30px;}
  .menu-toggle{font-size:11px;padding:8px 10px;}
  .main-nav{grid-column:auto;order:initial;grid-template-columns:1fr;max-height:calc(100dvh - var(--header) - 20px);overflow:auto;}
  .main-nav button{font-size:12px;padding:11px 12px;border-radius:14px;}
  .lang-switch button{font-size:10px;padding:6px 7px;}
  .services-duo{gap:10px;}
  .domain-points{grid-template-columns:1fr;gap:5px;}
  .domain-points li{font-size:10.2px;}
  .domain-points li::before{width:5px;height:5px;}
  .click-hint{font-size:8.6px;letter-spacing:.11em;margin-bottom:0;grid-column:1/-1;}
  .click-hint::before,.click-hint::after{width:10px;}
  .shared-service::after{display:none;}
  .panel-inner{max-height:calc(100dvh - var(--header) - var(--footer) - 16px);}
}

@media (max-width:380px){
  :root{--header:70px;}
  .topbar{gap:5px;}
  .brand img{height:25px;}
  .menu-toggle{font-size:10px;padding:7px 8px;}
  .lang-switch button{font-size:8.5px;padding:5px 5px;}
}

@media (max-height:680px) and (max-width:700px){
  :root{--header:62px;--footer:38px;}
  .topbar{padding-top:0;padding-bottom:0;}
  .menu-toggle{font-size:9.5px;padding:6px 8px;}
  .domain-points{display:none;}
}


/* ===== Ajustements finaux : bulles actives + responsive global ===== */
.click-hint{display:none !important;}
.shared-services{align-items:stretch;}
.shared-service{cursor:pointer;transform:scale(.92);opacity:.52;filter:grayscale(1);box-shadow:0 8px 22px rgba(0,0,0,.045);}
.shared-service.active{transform:scale(1.08);opacity:1;filter:grayscale(0);background:#111;color:#fff;border-color:#111;box-shadow:0 22px 55px rgba(0,0,0,.18);z-index:2;}
.shared-service:not(.active):hover{opacity:.82;filter:grayscale(.45);transform:scale(.98);}
.shared-service.active span{background:#fff;color:#111;}
.shared-service::after{content:"";position:absolute;inset:-5px;border:1px solid rgba(0,0,0,.16);border-radius:inherit;opacity:0;transform:scale(.94);transition:.28s ease;pointer-events:none;}
.shared-service.active::after{opacity:1;transform:scale(1);}
.shared-service:focus-visible{outline:3px solid rgba(0,0,0,.22);outline-offset:4px;}

@media (max-width:1024px){
  .topbar{z-index:90;}
  .main-nav{max-height:70dvh;overflow:auto;}
}

@media (max-width:900px){
  .panel-inner{align-content:start;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;}
  .panel-inner::-webkit-scrollbar{display:none;}
  .cert-layout{grid-template-rows:auto auto;align-content:center;gap:12px;}
  .cert-card{height:auto;min-height:0;padding:16px;gap:10px;}
  .cert-card img{max-height:76px;max-width:180px;}
  .cert-card strong{font-size:17px;}
  .cert-card span{font-size:12px;}
  .pill-row{margin-top:12px;}
}

@media (max-width:700px){
  .panel{padding:8px calc(var(--pad) + 14px) 8px var(--pad);}
  .services-panel .panel-inner{align-content:start;gap:8px;padding-bottom:8px;}
  .services-duo{display:flex;flex-direction:column;gap:8px;}
  .services-head .eyebrow{display:none;}
  .services-head h2{font-size:clamp(19px,6.2vw,26px);line-height:1.03;}
  .services-head p{font-size:10.5px;line-height:1.25;margin-top:6px;max-width:95%;}
  .expertise-board{display:grid;grid-template-columns:1fr;gap:7px;}
  .shared-services{order:-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;position:sticky;top:0;z-index:5;background:linear-gradient(180deg,rgba(247,247,244,.98),rgba(247,247,244,.78));padding:2px 0 4px;}
  .shared-service{padding:8px 5px;border-radius:14px;transform:scale(.94);opacity:.55;min-height:46px;}
  .shared-service.active{transform:scale(1.04);}
  .shared-service span{display:none;}
  .shared-service strong{font-size:10.2px;line-height:1.05;}
  .domain-card{padding:10px;border-radius:16px;gap:5px;}
  .domain-card h3{font-size:20px;margin-top:2px;}
  .domain-card>p{font-size:10px;line-height:1.25;}
  .domain-points{gap:4px;}
  .domain-points li{font-size:9.7px;line-height:1.15;}
  .service-meaning{padding:8px;border-radius:12px;margin-top:2px;}
  .service-meaning strong{font-size:11.3px;margin-bottom:3px;line-height:1.12;}
  .service-meaning p{font-size:9.5px;line-height:1.22;}
  .cert-layout{align-content:center;gap:9px;}
  .cert-card{padding:12px;border-radius:18px;}
  .cert-card img{max-height:58px;}
  .cert-card strong{font-size:14px;}
  .cert-card span{font-size:10.5px;}
  .cert-layout .copy-block{text-align:left;}
  .cert-layout h2{font-size:clamp(20px,6.4vw,28px);}
  .cert-layout p{font-size:11.2px;line-height:1.35;}
  .pill-row{gap:5px;margin-top:9px;}
  .pill-row span{font-size:9.8px;padding:6px 7px;}
}

@media (max-width:430px){
  .services-head p{display:none;}
  .shared-services{gap:5px;}
  .shared-service{min-height:40px;padding:7px 4px;}
  .shared-service strong{font-size:9.4px;}
  .domain-card>p{display:none;}
  .domain-points{grid-template-columns:1fr;gap:3px;}
  .domain-points li{font-size:9.2px;}
  .service-meaning{padding:7px;}
  .service-meaning p{font-size:9px;line-height:1.18;}
}

@media (max-height:720px) and (max-width:700px){
  .services-head h2{font-size:19px;}
  .domain-card h3{font-size:18px;}
  .domain-points{display:none;}
  .service-meaning p{font-size:8.8px;line-height:1.14;}
  .cert-card img{max-height:48px;}
  .cert-card span{display:none;}
  .cert-layout p{font-size:10.5px;line-height:1.25;}
  .pill-row span{font-size:9px;padding:5px 6px;}
}

@media (max-height:620px) and (max-width:700px){
  .services-head{display:none;}
  .shared-service{min-height:34px;padding:5px 3px;}
  .shared-service strong{font-size:8.8px;}
  .service-meaning strong{font-size:10.5px;}
  .service-meaning p{display:none;}
  .cert-card{display:none;}
  .cert-layout{align-content:center;}
}

/* ===== Ajustements références + services responsive ===== */
.logo-row-five{
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:stretch;
}
.logo-row-five .client-logo:nth-child(1),
.logo-row-five .client-logo:nth-child(2){
  grid-column:span 3;
}
.logo-row-five .client-logo:nth-child(n+3){
  grid-column:span 2;
}
.logo-row-five .client-logo img{
  max-width:82%;
  max-height:62px;
}
.logo-row-five .client-logo img[src*="equans"]{
  max-width:88%;
  max-height:72px;
}

.expertise-board,
.shared-services{
  overflow:visible;
}
.shared-services{
  padding:8px;
}
.shared-service.active{
  transform:scale(1.06);
}
.shared-service:not(.active){
  transform:scale(.93);
}

@media (max-width:900px){
  .logo-row-five{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .logo-row-five .client-logo:nth-child(n){
    grid-column:auto;
  }
  .logo-row-five .client-logo:last-child{
    grid-column:1 / -1;
  }
  .logo-row-five .client-logo{
    height:clamp(74px,13vh,115px);
  }
  .logo-row-five .client-logo img{
    max-height:46px;
  }
  .logo-row-five .client-logo img[src*="equans"]{
    max-height:54px;
  }

  .services-panel .panel-inner{
    overflow-y:auto;
    overflow-x:visible;
    padding-left:4px;
    padding-right:4px;
  }
  .services-duo{
    gap:12px;
  }
  .expertise-board{
    overflow:visible;
    gap:12px;
    padding:0 6px 8px;
  }
  .shared-services{
    position:relative !important;
    top:auto !important;
    z-index:2;
    order:0;
    padding:8px 10px;
    margin:2px 0 4px;
    background:transparent;
    overflow:visible;
  }
  .shared-service{
    overflow:visible;
    transform:scale(.96);
  }
  .shared-service.active{
    transform:scale(1.025);
  }
  .shared-service:not(.active):hover{
    transform:scale(.98);
  }
}

@media (max-width:700px){
  .panel.services-panel{
    padding-left:10px;
    padding-right:18px;
  }
  .services-panel .panel-inner{
    padding-right:0;
  }
  .services-head{
    margin-bottom:2px;
  }
  .services-head h2{
    font-size:clamp(20px,6vw,25px);
  }
  .services-head p{
    display:block;
    font-size:10.8px;
    line-height:1.3;
  }
  .shared-services{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    padding:8px 6px;
    margin:0 2px 4px;
  }
  .shared-service{
    min-height:42px;
    padding:8px 5px;
    border-radius:14px;
  }
  .shared-service.active{
    transform:scale(1.02);
  }
  .domain-card{
    padding:12px;
    gap:7px;
  }
  .service-meaning p{
    font-size:9.7px;
    line-height:1.25;
  }
  .cert-layout{
    align-content:start;
    gap:8px;
  }
  .cert-card{
    max-height:120px;
  }
  .cert-card img{
    max-height:52px;
  }
}

@media (max-width:430px){
  .services-head p{
    display:none;
  }
  .shared-services{
    gap:6px;
    padding:6px 4px;
  }
  .shared-service.active{
    transform:scale(1.015);
  }
  .shared-service strong{
    font-size:9.6px;
  }
  .logo-row-five{
    grid-template-columns:1fr;
  }
  .logo-row-five .client-logo:last-child{
    grid-column:auto;
  }
  .logo-row-five .client-logo{
    height:64px;
  }
}

@media (max-height:680px) and (max-width:700px){
  .services-head{display:block;}
  .services-head p{display:none;}
  .shared-services{
    margin-top:0;
  }
  .shared-service{
    min-height:36px;
    padding:6px 4px;
  }
  .shared-service strong{
    font-size:8.9px;
  }
  .cert-card{
    display:flex;
    max-height:92px;
    padding:10px;
  }
}


/* ===== Amélioration première page + bouton retour haut ===== */
.hero .copy-block{position:relative;z-index:2;}
.hero h1{font-size:clamp(34px,4.8vw,66px);line-height:.94;letter-spacing:-.07em;}
.hero .copy-block>p{font-size:clamp(14px,1.35vw,18px);line-height:1.62;max-width:760px;color:#4f4f4f;}
.hero-domains{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(16px,2.4vh,26px);max-width:760px;}
.hero-domain-card{position:relative;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.78);backdrop-filter:blur(14px);border-radius:22px;padding:15px 16px;display:grid;gap:5px;box-shadow:0 18px 45px rgba(0,0,0,.055);}
.hero-domain-card::before{content:"";position:absolute;inset:auto 14px 0 14px;height:3px;border-radius:999px;background:#111;opacity:.85;}
.hero-domain-card span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:#777;}
.hero-domain-card strong{font-size:clamp(15px,1.35vw,19px);line-height:1.08;letter-spacing:-.035em;}
.hero-domain-card em{font-style:normal;font-size:clamp(11px,1vw,13px);line-height:1.38;color:#666;}
.hero-domain-dark{background:#090909;color:#fff;border-color:#1f1f1f;}
.hero-domain-dark::before{background:#fff;}
.hero-domain-dark span{color:#aaa;}
.hero-domain-dark em{color:#c9c9c9;}
.hero .actions{margin-top:clamp(16px,2.2vh,24px);}
.hero .media-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.10),rgba(255,255,255,.02) 44%,rgba(0,0,0,.18));z-index:1;pointer-events:none;}
.hero .floating-note{z-index:2;}
.back-top{position:fixed;right:clamp(16px,2.2vw,28px);bottom:calc(var(--footer) + 18px);width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.65);background:#090909;color:#fff;display:flex;align-items:center;justify-content:center;z-index:60;box-shadow:0 18px 45px rgba(0,0,0,.22);opacity:0;transform:translateY(14px) scale(.92);pointer-events:none;transition:.28s ease;}
.back-top span{font-size:22px;line-height:1;font-weight:900;transform:translateY(-1px);}
.back-top.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.back-top:hover{transform:translateY(-3px) scale(1.03);background:#fff;color:#090909;border-color:#090909;}

@media (max-width:900px){
  .hero h1{font-size:clamp(28px,6vw,44px);line-height:.98;letter-spacing:-.055em;}
  .hero .copy-block>p{font-size:12.5px;line-height:1.45;}
  .hero-domains{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;}
  .hero-domain-card{border-radius:18px;padding:11px 12px;gap:4px;}
  .hero-domain-card span{font-size:8.8px;letter-spacing:.13em;}
  .hero-domain-card strong{font-size:13px;}
  .hero-domain-card em{font-size:10.5px;line-height:1.28;}
  .back-top{right:12px;bottom:calc(var(--footer) + 12px);width:42px;height:42px;}
}
@media (max-width:700px){
  .hero-grid{grid-template-rows:auto minmax(120px,1fr)!important;align-content:start;}
  .hero h1{font-size:clamp(24px,7.8vw,34px);line-height:1.01;letter-spacing:-.045em;}
  .hero .copy-block>p{font-size:11.5px;line-height:1.36;}
  .hero-domains{grid-template-columns:1fr;gap:7px;margin-top:9px;}
  .hero-domain-card{padding:9px 10px;border-radius:15px;}
  .hero-domain-card em{display:none;}
  .hero .actions{margin-top:9px;}
  .back-top{right:8px;bottom:calc(var(--footer) + 10px);width:38px;height:38px;}
  .back-top span{font-size:18px;}
}
@media (max-height:680px) and (max-width:700px){
  .hero-domains{grid-template-columns:1fr 1fr;}
  .hero-domain-card span{display:none;}
  .hero-domain-card strong{font-size:11.5px;}
  .hero .copy-block>p{font-size:10.6px;line-height:1.3;}
}

/* ===== Première page simplifiée : lecture immédiate Fibre / Énergie ===== */
.hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(320px,.97fr);}
.hero h1{max-width:780px;font-size:clamp(36px,5vw,68px);line-height:.95;letter-spacing:-.07em;}
.hero .copy-block>p{max-width:590px;font-size:clamp(15px,1.25vw,18px);line-height:1.5;color:#555;margin-top:18px;}
.hero-simple-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;max-width:620px;}
.hero-simple-tags span{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.82);border-radius:999px;padding:10px 13px;font-size:13px;font-weight:800;color:#191919;box-shadow:0 12px 30px rgba(0,0,0,.045);}
.hero-simple-tags span::before{content:"";width:7px;height:7px;border-radius:999px;background:#111;}
.hero-clean-card{background:#fff;min-height:360px;max-height:520px;padding:0;display:flex;align-items:stretch;justify-content:center;}
.hero-clean-card::before{display:none!important;}
.hero-clean-visual{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;background:#f4f4f0;}
.visual-side{position:relative;display:flex;align-items:flex-start;padding:24px;overflow:hidden;}
.visual-side::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.25);opacity:.56;transition:.35s ease;}
.visual-side::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.16));}
.visual-fibre::before{background-image:url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?q=80&w=1200&auto=format&fit=crop');}
.visual-energy::before{background-image:url('https://images.unsplash.com/photo-1509395176047-4a66953fd231?q=80&w=1200&auto=format&fit=crop');}
.visual-energy::after{background:linear-gradient(180deg,rgba(10,10,10,.74),rgba(10,10,10,.20));}
.visual-side span{position:relative;z-index:2;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;background:#fff;color:#111;box-shadow:0 14px 34px rgba(0,0,0,.12);}
.visual-energy span{background:#090909;color:#fff;border:1px solid rgba(255,255,255,.22);}
.visual-center{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:min(230px,52%);aspect-ratio:1;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.72);box-shadow:0 30px 70px rgba(0,0,0,.18);backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;}
.visual-center strong{font-size:clamp(28px,3vw,42px);letter-spacing:-.08em;line-height:.9;}
.visual-center em{font-style:normal;color:#666;font-weight:750;font-size:13px;margin-top:10px;line-height:1.25;}
.minimal-note{left:24px!important;right:24px!important;bottom:22px!important;display:flex!important;align-items:center;justify-content:space-between;gap:16px;border-radius:18px!important;padding:13px 15px!important;background:rgba(255,255,255,.9)!important;}
.minimal-note strong{font-size:14px!important;letter-spacing:-.02em;}
.minimal-note span{font-size:12px!important;white-space:nowrap;}

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(230px,1fr)!important;}
  .hero h1{font-size:clamp(30px,6vw,46px);}
  .hero .copy-block>p{font-size:13px;line-height:1.42;margin-top:11px;}
  .hero-simple-tags{margin-top:13px;gap:7px;}
  .hero-simple-tags span{font-size:11px;padding:8px 10px;}
  .hero-clean-card{min-height:220px;height:100%;}
  .visual-side{padding:15px;}
  .visual-side span{font-size:10px;padding:7px 10px;letter-spacing:.1em;}
  .visual-center{width:min(185px,48%);padding:18px;}
  .visual-center strong{font-size:30px;}
  .visual-center em{font-size:11px;}
  .minimal-note{left:12px!important;right:12px!important;bottom:12px!important;padding:10px 11px!important;}
  .minimal-note span{display:none;}
}
@media (max-width:700px){
  .hero-grid{grid-template-rows:auto 170px!important;gap:9px;}
  .hero h1{font-size:clamp(27px,8.6vw,36px);line-height:1;}
  .hero .copy-block>p{font-size:11.8px;line-height:1.34;max-width:100%;}
  .hero-simple-tags{margin-top:10px;}
  .hero-simple-tags span{font-size:10px;padding:7px 8px;}
  .hero-simple-tags span::before{width:5px;height:5px;}
  .hero-clean-card{min-height:160px;border-radius:18px;}
  .visual-side{padding:10px;}
  .visual-side span{font-size:8.5px;padding:6px 8px;}
  .visual-center{width:132px;padding:12px;}
  .visual-center strong{font-size:23px;}
  .visual-center em{font-size:9.5px;margin-top:6px;}
  .minimal-note{display:none!important;}
}
@media (max-height:680px) and (max-width:700px){
  .hero-grid{grid-template-rows:auto 120px!important;}
  .hero-simple-tags span:last-child{display:none;}
  .hero-clean-card{min-height:115px;}
  .visual-center{width:108px;}
  .visual-center strong{font-size:19px;}
  .visual-center em{display:none;}
}


/* =========================================================
   FINAL — PAMUS Fibre & Énergie
   Styles consolidés : hero, badges, footer, VCA, contact, SEO-ready
========================================================= */

/* Hero texte */
.panel.hero h1,
.hero .copy-block h1{
  font-weight:640 !important;
  letter-spacing:-0.052em !important;
  line-height:1.03 !important;
  max-width:760px !important;
}

.panel.hero h1 .hero-blue,
.hero .copy-block h1 .hero-blue{
  color:#1e64ba !important;
  font-weight:680 !important;
}

.panel.hero h1 .hero-green,
.hero .copy-block h1 .hero-green{
  color:#2a7a42 !important;
  font-weight:680 !important;
}

.hero-simple-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:20px !important;
}

.hero-simple-tags span{
  background:#f8f8f5 !important;
  border:1px solid #deded8 !important;
  box-shadow:none !important;
  font-weight:560 !important;
  color:#242424 !important;
}

.hero-simple-tags span:nth-child(1){
  color:#1e64ba !important;
  border-color:rgba(30,100,186,.25) !important;
}

.hero-simple-tags span:nth-child(2){
  color:#2a7a42 !important;
  border-color:rgba(42,122,66,.25) !important;
}

/* Hero images */
.hero-image-duo-card{
  position:relative !important;
  overflow:hidden !important;
  border-radius:30px !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  box-shadow:0 34px 80px rgba(0,0,0,.10) !important;
  padding:0 !important;
}

.hero-image-duo{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:1fr 1fr;
}

.hero-domain-image{
  position:relative;
  height:100%;
  overflow:hidden;
  background:#111;
}

.hero-domain-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
}

.hero-domain-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}

.hero-domain-fibre::after{
  background:
    linear-gradient(180deg, rgba(6,24,50,.18) 0%, rgba(6,39,88,.42) 100%),
    linear-gradient(90deg, rgba(4,15,30,.14), rgba(4,15,30,0));
}

.hero-domain-energy::after{
  background:
    linear-gradient(180deg, rgba(13,50,25,.08) 0%, rgba(19,78,38,.36) 100%),
    linear-gradient(90deg, rgba(8,30,15,.08), rgba(8,30,15,0));
}

.hero-domain-title{
  position:absolute !important;
  top:20px !important;
  left:20px !important;
  z-index:4 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:11px 19px !important;
  min-height:52px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  color:#fff !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  box-shadow:0 14px 36px rgba(0,0,0,.18) !important;
}

.hero-domain-title strong{
  color:#fff !important;
  font-size:14px !important;
  font-weight:650 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
}

.hero-domain-title-fibre{
  background:rgba(20,74,160,.18) !important;
}

.hero-domain-title-energy{
  background:rgba(43,111,57,.20) !important;
}

.domain-icon-image{
  width:32px !important;
  height:32px !important;
  object-fit:contain !important;
  display:block !important;
  flex:0 0 auto !important;
  filter:brightness(0) invert(1) !important;
}

.domain-icon,
.fibre-icon,
.energy-icon,
.domain-dot{
  display:none !important;
}

.hero-image-note{
  position:absolute;
  z-index:5;
  left:18px;
  right:18px;
  bottom:18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:14px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.58);
  backdrop-filter:blur(16px);
}

.hero-image-note strong{
  color:#111;
  font-size:14px;
  font-weight:600;
  letter-spacing:-.015em;
}

.hero-image-note span{
  color:#666;
  font-size:12px;
  font-weight:400;
}

/* Bande VCA accueil */
.hero .copy-block{
  min-width:0 !important;
}

.hero .trust-line{
  position:relative !important;
  z-index:1 !important;
  width:fit-content !important;
  max-width:100% !important;
  min-width:0 !important;
  flex-wrap:nowrap !important;
  overflow:hidden !important;
}

.hero .trust-line span{
  min-width:0 !important;
  white-space:normal !important;
  line-height:1.25 !important;
}

.hero .trust-line img{
  flex:0 0 auto !important;
}

/* Section VCA premium */
.cert-layout{
  align-items:center !important;
}

.cert-card{
  position:relative;
  overflow:hidden;
}

.cert-card::after{
  content:"";
  position:absolute;
  inset:auto 12% -34% 12%;
  height:46%;
  background:radial-gradient(circle, rgba(0,0,0,.08), transparent 68%);
  pointer-events:none;
}

.cert-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}

.cert-feature-grid article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:13px 14px;
  box-shadow:0 14px 32px rgba(0,0,0,.045);
}

.cert-feature-grid strong{
  display:block;
  font-size:13px;
  font-weight:800;
  color:#111;
  margin-bottom:5px;
}

.cert-feature-grid span{
  display:block;
  color:#666;
  font-size:11.5px;
  line-height:1.35;
}

/* Contact */
.mini-details a{
  border:1px solid #333;
  border-radius:999px;
  padding:9px 12px;
  color:#ddd;
  font-size:13px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  line-height:1;
  transition:.22s ease;
}

.mini-details a:hover{
  background:#fff;
  color:#000;
  border-color:#fff;
  transform:translateY(-1px);
}

.mini-details .contact-linkedin{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-weight:650;
}

.mini-details .contact-linkedin::before{
  content:"in";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  margin-right:7px;
  border-radius:4px;
  background:#fff;
  color:#111;
  font-size:11px;
  font-weight:800;
  line-height:1;
}

.mini-details .contact-linkedin:hover{
  background:#fff;
  color:#000;
  border-color:#fff;
}

.mini-details .contact-linkedin:hover::before{
  background:#111;
  color:#fff;
}

/* Map */
.map-card iframe{
  filter:saturate(.92) contrast(.98);
}

/* Footer */
.bottombar{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(100px,1fr) auto minmax(320px,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  padding:0 var(--pad) !important;
  padding-right:18px !important;
  min-width:0 !important;
}

.footer-copy{
  justify-self:start;
  white-space:nowrap;
}

.bottombar .dots{
  justify-self:center;
}

.bottombar .legal-links{
  justify-self:end;
  display:flex !important;
  justify-content:flex-end !important;
  min-width:0 !important;
  overflow-x:auto !important;
  white-space:nowrap !important;
  scrollbar-width:none;
}

.bottombar .legal-links::-webkit-scrollbar{
  display:none;
}

.bottombar .legal-links button{
  font-size:11.5px !important;
  padding:6px 7px !important;
}

.legal-mobile-menu{
  display:none;
}

.linkedin-footer{
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  height:24px !important;
  min-width:54px !important;
  opacity:.9 !important;
  transition:.2s ease !important;
}

.linkedin-footer:hover{
  opacity:1 !important;
  transform:translateY(-1px);
}

.linkedin-footer img{
  display:block !important;
  height:14px !important;
  width:auto !important;
  max-width:58px !important;
  object-fit:contain !important;
  filter:none !important;
}

/* Popups légaux */
.modal-box a{
  color:#111;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

.modal-box ul{
  margin:10px 0 14px;
}

.location-grid .copy-block p,
.contact-grid .copy-block p{
  max-width:640px;
}

/* Responsive */
@media (max-width:900px){
  .panel.hero h1,
  .hero .copy-block h1{
    font-weight:630 !important;
    letter-spacing:-0.045em !important;
  }

  .hero-image-duo-card{
    min-height:300px !important;
  }

  .hero-domain-title{
    top:14px !important;
    left:14px !important;
    min-height:46px !important;
    padding:9px 15px !important;
    gap:9px !important;
  }

  .domain-icon-image{
    width:28px !important;
    height:28px !important;
  }

  .hero-domain-title strong{
    font-size:12px !important;
  }

  .hero-image-note{
    left:12px;
    right:12px;
    bottom:12px;
    padding:12px 14px;
  }

  .hero .trust-line{
    margin-top:12px !important;
    padding:8px 10px !important;
    border-radius:15px !important;
    font-size:12px !important;
  }

  .hero .trust-line img{
    height:24px !important;
  }

  .cert-layout{
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(170px,.75fr) auto !important;
    align-content:center !important;
    gap:14px !important;
  }

  .cert-card{
    height:100% !important;
    min-height:170px !important;
    max-height:260px !important;
    padding:22px !important;
    border-radius:26px !important;
  }

  .cert-card img{
    max-height:95px !important;
    max-width:min(240px,72%) !important;
  }

  .cert-card strong{
    font-size:clamp(18px,3.8vw,24px) !important;
  }

  .cert-card span{
    font-size:13px !important;
  }

  .cert-layout .copy-block{
    align-self:start !important;
  }

  .cert-feature-grid{
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
  }

  .cert-feature-grid article{
    padding:10px;
    border-radius:15px;
  }

  .mini-details a{
    font-size:12px;
    padding:8px 10px;
  }

  .bottombar{
    grid-template-columns:1fr auto auto !important;
    grid-template-rows:auto auto !important;
    height:68px !important;
    row-gap:1px !important;
    padding:6px 12px !important;
  }

  .site-shell{
    grid-template-rows:var(--header) 1fr 68px !important;
  }

  .footer-copy{
    grid-column:1/2;
    grid-row:1;
    font-size:11px;
  }

  .bottombar .dots{
    grid-column:2/3;
    grid-row:1;
  }

  .linkedin-footer{
    grid-column:3/4;
    grid-row:1;
    min-width:46px !important;
    height:20px !important;
  }

  .linkedin-footer img{
    height:12px !important;
    max-width:50px !important;
  }

  .bottombar .legal-links{
    grid-column:1 / -1;
    grid-row:2;
    justify-self:center !important;
    justify-content:center !important;
    width:100%;
    padding:0 4px;
  }

  .bottombar .legal-links button{
    font-size:10px !important;
    padding:4px 6px !important;
  }
}

@media (max-width:700px){
  :root{
    --footer:72px !important;
  }

  .site-shell{
    grid-template-rows:var(--header) 1fr var(--footer) !important;
  }

  .panel-inner{
    max-height:calc(100dvh - var(--header) - var(--footer) - 12px) !important;
  }

  .hero-grid{
    grid-template-rows:auto minmax(220px,1fr) !important;
    align-content:start !important;
  }

  .hero .copy-block{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .hero-image-duo-card{
    min-height:270px !important;
    border-radius:22px !important;
  }

  .hero-domain-title{
    top:9px !important;
    left:9px !important;
    min-height:38px !important;
    padding:7px 11px !important;
    gap:7px !important;
  }

  .domain-icon-image{
    width:23px !important;
    height:23px !important;
  }

  .hero-domain-title strong{
    font-size:10px !important;
    letter-spacing:.045em !important;
  }

  .hero-image-note{
    left:8px;
    right:8px;
    bottom:8px;
    padding:10px 11px;
    border-radius:14px;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
  }

  .hero-image-note strong{
    font-size:11px;
  }

  .hero-image-note span{
    font-size:9.5px;
  }

  .hero .trust-line{
    width:100% !important;
    max-width:100% !important;
    margin-top:10px !important;
    padding:7px 9px !important;
    gap:8px !important;
    font-size:10.5px !important;
    border-radius:14px !important;
    order:5 !important;
  }

  .hero .trust-line img{
    height:21px !important;
  }

  .hero .trust-line span{
    font-size:10.5px !important;
    line-height:1.22 !important;
  }

  .cert-layout{
    height:100% !important;
    grid-template-rows:minmax(150px,30vh) auto !important;
    align-content:center !important;
    gap:10px !important;
  }

  .cert-card{
    min-height:150px !important;
    height:100% !important;
    max-height:none !important;
    padding:18px !important;
    gap:10px !important;
  }

  .cert-card img{
    max-height:74px !important;
  }

  .cert-card strong{
    font-size:17px !important;
  }

  .cert-card span{
    display:block !important;
    font-size:11.5px !important;
  }

  .cert-layout .copy-block p{
    font-size:11.5px !important;
    line-height:1.38 !important;
  }

  .cert-layout .pill-row{
    margin-top:10px !important;
    gap:6px !important;
  }

  .cert-layout .pill-row span{
    font-size:10px !important;
    padding:7px 8px !important;
  }

  .cert-feature-grid{
    grid-template-columns:1fr !important;
    gap:6px;
    margin-top:10px;
  }

  .cert-feature-grid article{
    padding:8px 10px;
    border-radius:14px;
  }

  .cert-feature-grid strong{
    font-size:11px;
    margin-bottom:2px;
  }

  .cert-feature-grid span{
    font-size:9.8px;
  }

  .mini-details{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
  }

  .mini-details span,
  .mini-details a{
    font-size:10.5px !important;
    padding:7px 8px !important;
    max-width:100%;
  }

  .mini-details .contact-linkedin::before{
    width:15px;
    height:15px;
    font-size:9px;
    margin-right:5px;
  }

  .map-card{
    height:230px !important;
    min-height:210px !important;
  }

  .bottombar{
    height:var(--footer) !important;
    grid-template-columns:1fr auto !important;
    grid-template-rows:26px 1fr !important;
    padding:4px 8px 5px !important;
    gap:0 8px !important;
  }

  .footer-copy{
    display:block !important;
    grid-column:1;
    grid-row:1;
    font-size:10.5px !important;
    align-self:center;
  }

  .linkedin-footer{
    grid-column:2;
    grid-row:1;
    align-self:center;
    justify-self:end !important;
    min-width:42px !important;
    height:18px !important;
  }

  .linkedin-footer img{
    height:11px !important;
    max-width:45px !important;
  }

  .bottombar .legal-links{
    display:none !important;
  }

  .legal-mobile-menu{
    display:block;
    grid-column:1 / -1;
    grid-row:2;
    align-self:center;
    position:relative;
    justify-self:start;
    width:100%;
  }

  .legal-mobile-menu summary{
    list-style:none;
    width:max-content;
    max-width:100%;
    border:1px solid var(--line);
    background:#fff;
    border-radius:999px;
    padding:6px 10px;
    color:#333;
    font-size:10px;
    font-weight:750;
    cursor:pointer;
  }

  .legal-mobile-menu summary::-webkit-details-marker{
    display:none;
  }

  .legal-mobile-menu div{
    position:absolute;
    left:0;
    bottom:28px;
    z-index:60;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
    min-width:min(310px,calc(100vw - 16px));
    padding:8px;
    border:1px solid var(--line);
    border-radius:16px;
    background:rgba(255,255,255,.96);
    box-shadow:0 18px 48px rgba(0,0,0,.16);
    backdrop-filter:blur(14px);
  }

  .legal-mobile-menu:not([open]) div{
    display:none;
  }

  .legal-mobile-menu button{
    border:0;
    background:#f4f4ef;
    color:#333;
    border-radius:999px;
    padding:7px 8px;
    font-size:9.5px;
    font-weight:700;
    white-space:nowrap;
  }

  .bottombar > .dots{
    display:none !important;
  }
}

@media (max-width:420px){
  .hero-image-duo-card{
    min-height:240px !important;
  }

  .hero-domain-title strong{
    font-size:10px;
  }

  .bottombar .legal-links button{
    font-size:8.6px !important;
    padding:4px 4px !important;
  }

  .map-card{
    height:190px !important;
    min-height:170px !important;
  }
}

@media (max-width:380px){
  .hero-domain-title{
    padding:6px 8px !important;
    gap:5px !important;
  }

  .domain-icon-image{
    width:20px !important;
    height:20px !important;
  }

  .hero-domain-title strong{
    font-size:9px !important;
  }

  .hero .trust-line{
    font-size:9.8px !important;
    padding:6px 8px !important;
  }

  .hero .trust-line img{
    height:19px !important;
  }

  .cert-layout{
    grid-template-rows:minmax(135px,28vh) auto !important;
    gap:8px !important;
  }

  .cert-card{
    min-height:135px !important;
    padding:14px !important;
  }

  .cert-card img{
    max-height:62px !important;
  }
}

/* ===== FINAL CLEAN : VCA sans répétition ===== */
.cert-feature-grid{
  margin-top:22px !important;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.cert-feature-grid article{
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px 15px;
  box-shadow:0 14px 32px rgba(0,0,0,.045);
}

.cert-feature-grid strong{
  display:block;
  font-size:13px;
  font-weight:800;
  color:#111;
  margin-bottom:5px;
}

.cert-feature-grid span{
  display:block;
  color:#666;
  font-size:11.5px;
  line-height:1.35;
}

@media (max-width:900px){
  .cert-feature-grid{
    gap:8px;
  }

  .cert-feature-grid article{
    min-height:82px;
    padding:11px;
    border-radius:15px;
  }
}

@media (max-width:700px){
  .cert-feature-grid{
    grid-template-columns:1fr !important;
    gap:6px;
    margin-top:12px !important;
  }

  .cert-feature-grid article{
    min-height:auto;
    padding:8px 10px;
    border-radius:14px;
  }

  .cert-feature-grid strong{
    font-size:11px;
    margin-bottom:2px;
  }

  .cert-feature-grid span{
    font-size:9.8px;
  }
}


/* ===== Correction footer mobile/tablette : bouton légal centré sur la même ligne ===== */
@media (max-width:900px){
  .bottombar{
    height:48px !important;
    grid-template-columns:1fr auto 1fr !important;
    grid-template-rows:1fr !important;
    align-items:center !important;
    padding:0 10px !important;
    gap:8px !important;
  }

  .site-shell{
    grid-template-rows:var(--header) 1fr 48px !important;
  }

  .footer-copy{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    align-self:center !important;
    font-size:11px !important;
    white-space:nowrap !important;
  }

  .bottombar .dots{
    display:none !important;
  }

  .bottombar .legal-links{
    display:none !important;
  }

  .legal-mobile-menu{
    display:block !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:center !important;
    align-self:center !important;
    position:relative !important;
    width:auto !important;
  }

  .legal-mobile-menu summary{
    list-style:none !important;
    width:max-content !important;
    max-width:100% !important;
    border:1px solid var(--line) !important;
    background:#fff !important;
    border-radius:999px !important;
    padding:7px 13px !important;
    color:#333 !important;
    font-size:10.5px !important;
    font-weight:750 !important;
    cursor:pointer !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .legal-mobile-menu summary::-webkit-details-marker{
    display:none !important;
  }

  .legal-mobile-menu div{
    position:absolute !important;
    left:50% !important;
    bottom:34px !important;
    transform:translateX(-50%) !important;
    z-index:60 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:5px !important;
    min-width:min(310px,calc(100vw - 16px)) !important;
    padding:8px !important;
    border:1px solid var(--line) !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 18px 48px rgba(0,0,0,.16) !important;
    backdrop-filter:blur(14px) !important;
  }

  .legal-mobile-menu:not([open]) div{
    display:none !important;
  }

  .legal-mobile-menu button{
    border:0 !important;
    background:#f4f4ef !important;
    color:#333 !important;
    border-radius:999px !important;
    padding:7px 8px !important;
    font-size:9.5px !important;
    font-weight:700 !important;
    white-space:nowrap !important;
  }

  .linkedin-footer{
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:center !important;
    min-width:auto !important;
    height:20px !important;
    width:auto !important;
  }

  .linkedin-footer img{
    height:12px !important;
    max-width:50px !important;
  }
}

@media (max-width:420px){
  .bottombar{
    padding:0 8px !important;
    grid-template-columns:minmax(70px,1fr) auto minmax(45px,1fr) !important;
  }

  .footer-copy{
    font-size:10px !important;
  }

  .legal-mobile-menu summary{
    font-size:9.5px !important;
    padding:6px 10px !important;
  }

  .linkedin-footer img{
    height:10px !important;
    max-width:44px !important;
  }
}

.form-message {
  display: none;
  width: 100%;
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
}

.form-message.success {
  display: block;
  background: rgba(30, 160, 90, 0.14);
  color: #117a43;
  border: 1px solid rgba(30, 160, 90, 0.35);
}

.form-message.error {
  display: block;
  background: rgba(220, 50, 50, 0.14);
  color: #b91c1c;
  border: 1px solid rgba(220, 50, 50, 0.35);
}

.contact-form input.error,
.contact-form textarea.error {
  border-color: #dc2626 !important;
}

