/* ==========================================================================
                             VARIABLES GLOBALES
   ========================================================================== */
:root {
  --trafic-primary: #0078C8;
  --trafic-dark: #08021F;
  --trafic-white: #FFFFFF;
  --trafic-cta: #018849;
  --trafic-grey: #F5F7FA;
  --at-reassurance-h: 40px;
  --at-header-h: 74px;
  --clients-bg1:#eaf2ff;
  --clients-bg2:#dce8ff;
  --at-margin:26px;
  --at-stagger-step-xs: 60ms;
  --at-stagger-step-s:  80ms;
  --at-stagger-step-m:  100ms;
  color-scheme: light dark;
}
@media (max-width: 768px) {
  :root { --at-reassurance-h: 30px; --at-header-h: 62px; }}
@media (prefers-color-scheme: dark){
  html{
    scrollbar-color: color-mix(in srgb, var(--trafic-primary) 60%, var(--trafic-white) 40%) var(--trafic-dark);}}
@supports (overflow: clip){
  html, body { overflow-x: hidden; }}
/* Chrome / Edge / Safari (WebKit/Blink) */
@media (pointer: fine){
  /* Track : couleurs existantes */
  ::-webkit-scrollbar-track{
    background-color: var(--trafic-grey);}
  /* Thumb : on part sur primary, puis on affine avec color-mix (fallback-friendly) */
  ::-webkit-scrollbar-thumb{
    background-color: var(--trafic-primary); /* fallback */
    background-color: color-mix(in srgb, var(--trafic-primary) 35%, var(--trafic-dark) 65%);
    border-radius: 999px;}
  /* Hover léger (sans changer la taille) */
  ::-webkit-scrollbar-thumb:hover{
    background-color: color-mix(in srgb, var(--trafic-primary) 45%, var(--trafic-dark) 55%);}}
/* Variante dark mode pour pointeur fin */
@media (pointer: fine) and (prefers-color-scheme: dark){
  ::-webkit-scrollbar-track{
    background-color: var(--trafic-dark);}
  ::-webkit-scrollbar-thumb{
    background-color: var(--trafic-primary); /* fallback */
    background-color: color-mix(in srgb, var(--trafic-primary) 60%, var(--trafic-white) 40%);}
  ::-webkit-scrollbar-thumb:hover{
    background-color: color-mix(in srgb, var(--trafic-primary) 70%, var(--trafic-white) 30%);}}
@supports (scrollbar-gutter: stable) {
  html { scrollbar-gutter: stable; }}
/* ===== Reset et base globale ===== */
* { box-sizing: border-box; }
html { scroll-behavior: auto; -webkit-font-smoothing: antialiased;overflow-x: clip; -moz-osx-font-smoothing: grayscale; scrollbar-color: color-mix(in srgb, var(--trafic-primary) 35%, var(--trafic-dark) 65%)
                   var(--trafic-grey);}
body { margin: 0; padding: 0; font-family: 'Nunito', sans-serif; scroll-padding-top: 0; overflow-anchor: none; background-color: #f5f5f5;overflow-x: clip; }
/* === A11y: Skip link vers le contenu principal ============================ */
.at-skip-link {position: fixed;top: 0.5rem;left: 0.5rem;z-index: 10000;padding: 0.625rem 0.875rem;border-radius: 0.5rem;
  background: #111;color: #fff;text-decoration: none;font-weight: 700;line-height: 1;transform: translateY(-200%);transition: transform 160ms ease-in-out;}
/* ==========================================================================
                             STYLES GLOBAUX
   ========================================================================== */
.at-container-1280{ max-width: 1280px; margin: 0 auto; text-align:center;} /* container générique à ajouter dans chaque section */
.at-h1-title{margin: 0 0 29px; font-family: 'Oswald', sans-serif; text-transform: uppercase;
  letter-spacing: .8px; font-size: 42px; line-height: 1;opacity: 0; animation: fadeInUp .6s ease-out .15s forwards; font-weight: 500;}
.at-h1-title-line{ display:block; } /* 1ère ligne de la balise H1 */
.at-h1-title-pill{ /* 2ème ligne de la balise H1 */
  display:inline-block; margin-top:.35em; padding:.35em .5em; border-radius:4px;color:var(--trafic-white); background:var(--trafic-primary); text-shadow:2px 2px #0003;
  transform:rotate(-2deg); font-size:.7em; letter-spacing:.8px;opacity:0; animation: fadeInUpRotated .6s ease-out .15s forwards;}
.at-h2-title{margin: 0 0 var(--at-margin);font-family: 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: .8px;
  color: var(--trafic-dark); font-size:30px; line-height: 38px;font-weight:500;}
.at-h2-title span{background: linear-gradient(90deg, var(--trafic-primary), var(--trafic-cta));-webkit-background-clip:text; background-clip:text; color: transparent;}
.at-kicker{ margin: 0 0 8px;font-family: 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: .8px;color: var(--trafic-primary); font-size: 12px;}
.at-p-desc{ font-size: 14px; line-height: 1.6; color: var(--trafic-dark); margin: 0 0 var(--at-margin); letter-spacing: .05px;}
.at-appear-down {opacity: 0; transform: translateY(var(--at-margin)); animation: none;}
.at-appear-down.is-in{animation: at-reveal-up .85s cubic-bezier(.2,.8,.2,1) .25s forwards;}
.at-appear-left {opacity: 0; transform: translateX(var(--at-margin)); animation: none;}
.at-appear-left.is-in{animation: at-reveal-left .85s cubic-bezier(.2,.8,.2,1) .25s forwards;}
@keyframes at-reveal-up{ from{opacity:0;transform:translateY(18px);} to{opacity:1;transform:none;} }
@keyframes at-reveal-left {from { opacity:0; transform: translateX(var(--at-margin)); } to{ opacity:1; transform: translateX(0); }}
.at-stagger[data-stg="xs"] { --at-stg-step: var(--at-stagger-step-xs); }
.at-stagger[data-stg="s"]  { --at-stg-step: var(--at-stagger-step-s); }
.at-stagger[data-stg="m"]  { --at-stg-step: var(--at-stagger-step-m); }
/* enfants “révélables” masqués au départ */
.at-stagger > .at-appear-down,
.at-stagger > .at-appear-left{
  opacity:0; transform:translateY(var(--at-margin)); animation:none;}
.at-stagger > .at-appear-left{ transform:translateX(var(--at-margin)); }
/* delay basé sur --i (défini par le JS) */
.at-stagger > .at-appear-down.is-in{
  animation: at-reveal-up .55s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: calc(var(--i, 0) * var(--at-stg-step, 80ms));}
.at-stagger > .at-appear-left.is-in{
  animation: at-reveal-left .35s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: calc(var(--i, 0) * var(--at-stg-step, 80ms));}
/* Boutons */
.at-buttons { display: flex; gap: 15px; }
.at-button { font-family: 'Oswald', sans-serif; text-transform: uppercase; padding: 10px 20px; border: none; cursor: pointer; font-size: 14px; letter-spacing: 1px; display: flex; align-items: center; position: relative; overflow: hidden; clip-path: polygon(0 10px, 10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%); transition: clip-path 0.3s ease; text-decoration: none;  }
.at-button::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; transition: left 0.3s ease; }
.at-button:hover::before { left: 0; }
.at-button::after { content: ''; position: absolute; right: 3px; bottom: 3px; width: 0; height: 0; border-style: solid; border-width: 0 0 8px 8px; opacity: 0; transition: opacity 0.3s ease; }
.at-button:hover::after { opacity: 1; }
.at-button:hover { clip-path: polygon(0 10px, 10px 0, 100% 0, 100% 100%, calc(100% - 10px) 100%, 0 100%); text-decoration: none; }
.at-button-content { position: relative; z-index: 1; display: flex; align-items: center; }
.at-button-primary { background-color: var(--trafic-primary); color: var(--trafic-white); }
.at-button-primary::before { background-color: #005a96; }
.at-button-primary::after { border-color: transparent transparent var(--trafic-white) transparent; }
.at-button-cta { background-color: var(--trafic-cta); color: var(--trafic-white); }
.at-button-cta::before { background-color: #016837; }
.at-button-cta::after { border-color: transparent transparent var(--trafic-white) transparent; }
.at-button-icon { margin-right: 8px; font-size: 1.2em; }
.at-cta-link{display:inline-flex; align-items:center; gap:8px;padding:8px 12px; border-radius:999px; text-decoration:none;
  background:#fff; border:1px solid rgba(0,0,0,.08); color:inherit;transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background-color .15s ease;}
.at-cta-link[href^="tel:"]::before{ content:"📞"; }
.at-cta-link[href^="mailto:"]::before{ content:"✉️"; }
.at-cta-link:hover{ transform: translateY(-1px); box-shadow:0 8px 20px rgba(0,0,0,.10); border-color:rgba(0,0,0,.16); }
.at-cta-link:focus-visible{ outline: none; box-shadow:0 0 0 3px color-mix(in srgb, var(--trafic-cta) 30%, transparent); }
/* Overlay global */
.at-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); backdrop-filter: blur(5px); opacity: 0; visibility: hidden; transition: all 0.3s ease; z-index: 998; }
.at-overlay.active { opacity: 1; visibility: visible; }
/* ===== MEDIA QUERIES STYLES GLOBAUX ===== */
@media (max-width: 991px) {
    .at-h1-title {font-size:39px;}
    .at-h2-title {font-size:26px; line-height: 34px;}
    .at-buttons { margin-top: 30px; flex-direction: column; gap: 15px; }}
@media (max-width: 767px) {
  .at-h1-title {font-size:32px;}
  .at-h2-title {font-size:24px;  line-height: 32px;}}
@media (max-width: 450px) {
  .at-h1-title {font-size:26px;}}
/* ==========================================================================
                             PRE-HEADER
   ========================================================================== */
.at-reassurance-bar { background-color: var(--trafic-dark); color: var(--trafic-white); height: var(--at-reassurance-h); overflow: hidden; position: relative; width: 100%; }
.at-reassurance-container { display: flex; align-items: center; height: 100%; animation: slide 40s linear infinite; will-change: transform; transform: translateZ(0);   list-style: none; margin: 0;padding: 0;}
.at-reassurance-item { display: flex; align-items: center; padding: 0 20px; white-space: nowrap; transition: transform 0.3s ease; }
.at-reassurance-item:hover { transform: scale(1.05); }
.at-reassurance-item span { font-family: 'Oswald', sans-serif; text-transform: uppercase; font-size: 0.8rem; margin-left: 10px; letter-spacing: 0.5px; }
.at-reassurance-emoji { font-size: 1.2rem; }
@keyframes slide { 0%{transform:translateX(0)} 100%{transform:translateX(calc(-50% - 20px))} }
.at-reassurance-bar:hover .at-reassurance-container { animation-play-state: paused; }
/* ===== MEDIA QUERIES PRE-HEADER ===== */
@media (max-width: 768px) {
  .at-reassurance-bar { height: var(--at-reassurance-h); }
  .at-reassurance-item { padding: 0 10px; }
  .at-reassurance-item span { font-size: 0.7rem; }
  .at-reassurance-emoji { font-size: 1rem; }
  .at-reassurance-container { animation: slide 20s linear infinite; }}
/* ==========================================================================
                             HEADER
   ========================================================================== */
.at-header { background-color: var(--trafic-white); box-shadow: 0 2px 10px rgba(0,0,0,0.1); position: fixed; top: var(--at-reassurance-h); left: 0; right: 0; z-index: 1002; transition: top 0.2s ease; }
.at-header.scrolled { top: 0; }
.at-header-content { max-width: 1200px; margin: 0 auto; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; }
.at-logo-container { display: flex; align-items: center; }
.at-header .at-logo-link { display: inline-block; }
.at-logo { width: 150px; height: auto; transition: transform 0.3s ease; }
.at-logo:hover { transform: scale(1.05); }
.at-baseline { display: flex; flex-direction: column; margin-left: 20px; align-items: center; }
.at-baseline-text { font-family: 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: 0.5px; }
.at-baseline-top { color: var(--trafic-dark); font-size: 14px; margin-bottom: 4px; opacity: 0; animation: fadeInUp 0.6s ease-out 0.3s forwards; }
.at-baseline-bottom { color: var(--trafic-white); background-color: var(--trafic-primary); font-size: 12px; padding: 2px 8px; border-radius: 4px; display: inline-block; opacity: 0; animation: fadeInUpRotated 0.6s ease-out 0.5s forwards; text-shadow: 2px 2px #0003; }
@keyframes fadeInUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeInUpRotated { from{opacity:0;transform:translateY(10px) rotate(-2deg)} to{opacity:1;transform:translateY(0) rotate(-2deg)} }
/* Navigation - Desktop */
.at-nav { display: flex; gap: 40px; margin: 0 60px; }
.at-nav-item {padding:10px 0;}
.at-nav-link { font-family: 'Oswald', sans-serif; text-transform: uppercase; color: var(--trafic-dark); text-decoration: none; font-size: 16px; position: relative; padding: 10px 0; transition: color 0.3s ease; }
.at-nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background-color: var(--trafic-primary); transition: width 0.3s ease; }
.at-nav-link:hover::after { width: 100%; }
/* Focus piloté par le mode d'entrée */
html.mod-keyboard .at-nav-link:focus,
html.mod-keyboard .at-button:focus,
html.mod-keyboard .at-mobile-menu-toggle:focus {outline: 2px solid currentColor;outline-offset: 2px;}
html.mod-mouse .at-nav-link:focus,
html.mod-mouse .at-button:focus,
html.mod-mouse .at-mobile-menu-toggle:focus {outline: none;}
/* Ligne dégradée du header (au-dessus du menu mobile) */
.at-header-bottom { height: 4px; background: linear-gradient(to right, var(--trafic-primary), var(--trafic-cta)); position: relative; z-index: 1003; }
/* Menu mobile toggle */
.at-mobile-menu-toggle { display: none; flex-direction: column; justify-content: space-around; width: 30px; height: 30px; background: transparent; border: none; cursor: pointer; }
.at-hamburger-line { width: 100%; height: 3px; background: var(--trafic-dark); transition: all 0.3s ease; transform-origin: center; }
.at-mobile-menu-toggle.active .at-hamburger-line:nth-child(1) { transform: rotate(45deg) translate(7px, 7px); }
.at-mobile-menu-toggle.active .at-hamburger-line:nth-child(2) { opacity: 0; }
.at-mobile-menu-toggle.active .at-hamburger-line:nth-child(3) { transform: rotate(-45deg) translate(7px, -7px); }
.at-chip-row{display: flex;gap: 8px;flex-wrap: wrap;margin-bottom: 8px;}
.at-logo-row{display: flex;gap: 12px;align-items: center;flex-wrap: wrap;margin-top: 6px;min-height: 32px;}
.at-logo-row.at-cert-logos {margin-top:32px;}
.at-logo-row .at-logo-link{ min-height: inherit; }
.at-logo-row.at-tech-logos {flex-direction: column;align-items: flex-start;gap: 10px;max-width:fit-content;}
.at-logo-row.at-tech-logos .at-logo-link {justify-content: flex-start;width: 100%;padding: 8px;}
.at-mega-full .at-logo-link{display: inline-flex;align-items: center;justify-content: center;padding: 6px 8px;
  border-radius: 10px;background: transparent;transition: transform .15s ease, box-shadow .15s ease, background .15s ease;}
.at-mega-full .at-logo-link:hover{transform: translateY(-2px);box-shadow: 0 6px 16px rgba(0,0,0,0.08);background: #eef2f7;}
.at-cert-logo{height: 28px;width: auto;display: block;}
.at-tech-logo{height: 32px;width: auto;display: block;}
/* ===== MEGA MENU  ===== */
.at-mega-full {position: fixed;left: 0; right: 0;top: calc(var(--at-reassurance-h) + var(--at-header-h) + 8px);bottom: 15%;
  z-index: 1005;pointer-events: none;opacity: 0;visibility: hidden;transition: opacity .25s ease, visibility .25s ease;}
.at-header.scrolled ~ .at-mega-full {top: calc(var(--at-header-h) + 8px);}
.at-mega-full.open {pointer-events: auto;opacity: 1;visibility: visible;}
.at-mega-full-backdrop {position: absolute;inset: 0;background: rgba(8,2,31,0.45);opacity: 0;transition: opacity .25s ease;}
@supports ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
  .at-mega-full-backdrop {background: rgba(8,2,31,0.25);-webkit-backdrop-filter: blur(8px);backdrop-filter: blur(8px);}}
.at-mega-full.open .at-mega-full-backdrop { opacity: 1; }
.at-mega-full-panel {position: absolute;left: 0; right: 0; top: 0; bottom: 0;
  background:radial-gradient(#00000018 1px, transparent 1px) 0 0 / 14px 14px,linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-top-left-radius: 14px;border-top-right-radius: 14px;box-shadow: 0 20px 60px rgba(0,0,0,.18);transform: translateY(12px);
  transition: transform .25s ease;overflow: auto;}
.at-mega-full.open .at-mega-full-panel { transform: translateY(0); }
.at-mega-full-inner {max-width: 1200px;margin: 0 auto;padding: 24px 24px 48px;}
.at-mega-headline {margin: 0 0 16px;font-family: 'Oswald', sans-serif;text-transform: uppercase;letter-spacing: .8px;color: var(--trafic-dark);font-size: 18px;}
.at-mega-grid {display: grid;grid-template-columns: 1.2fr 1fr 1fr;gap: 24px;}
.at-mega-title {font-family: 'Oswald', sans-serif;text-transform: uppercase;letter-spacing: .5px;color: var(--trafic-primary);font-size: 13px;margin-bottom: 8px;}
.at-chip {display: inline-flex;align-items: center;gap: 8px;padding: 10px 14px;margin: 6px 6px 6px 0;border-radius: 999px;background: var(--trafic-grey);
  color: var(--trafic-dark);text-decoration: none;transition: transform .15s ease, box-shadow .15s ease, background .15s ease;will-change: transform;}
.at-chip:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,0.08); background: #eef2f7; }
.at-card {display: flex;flex-direction: column;gap: 6px;text-decoration: none;padding: 16px;border-radius: 12px;background: linear-gradient(180deg, #ffffff, #fafcff);
  border: 1px solid #e9eef5;box-shadow: 0 10px 30px rgba(0,0,0,0.06);color: var(--trafic-dark);transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;max-width: 330px;}
.at-card:hover { transform: translateY(-2px); box-shadow: 0 16px 40px rgba(0,0,0,0.10); border-color: #dfe7f1; }
.at-card-title { font-weight: 700; font-size: 18px; }
.at-card-desc { font-size: 14px; opacity: .8; }
.at-card-media{overflow: hidden;border-radius: 10px;margin-bottom: 10px;}
.at-card-img{display: block;width: 100%;height: auto;object-fit: cover;transform: translateZ(0);max-width: 300px;}
.at-mega-close {position: absolute;top: 14px; right: 14px;width: 36px; height: 36px;border: none; border-radius: 999px;background: var(--trafic-grey);
  color: var(--trafic-dark);cursor: pointer;transition: transform .15s ease, box-shadow .15s ease, background .15s ease;}
.at-mega-close:hover { transform: scale(1.05); box-shadow: 0 8px 24px rgba(0,0,0,0.10); background: #eef2f7; }
.at-cert-logos img.at-cert-logo { height: 60px; width: auto; display: block; }
.at-tech-logos  img.at-tech-logo  { height: 32px; width: auto; display: block; }
/* ===== MEDIA QUERIES HEADER ===== */
@media (max-width: 1200px) {
  .at-mega-full { top: calc(var(--at-reassurance-h) + var(--at-header-h) + 8px);}
  .at-header.scrolled ~ .at-mega-full { top: calc(var(--at-header-h) + 8px); }}
@media (min-width: 1076px) and (max-width: 1200px) { .at-nav { gap: 20px; margin: 0 20px; } .at-button { padding: 8px 15px; font-size: 13px; } .at-logo { width: 130px; } }
@media (min-width: 992px) and (max-width: 1075px) { .at-nav { gap: 15px; margin: 0 15px; } .at-nav-link { font-size: 14px; } .at-button { padding: 6px 12px; font-size: 12px; } .at-logo { width: 120px; } }
@media (min-width: 992px) {
  .at-cert-logo { height: 32px; }
  .at-tech-logo { height: 36px; }
  .at-logo-row{ min-height: 36px;}
  .at-cert-logos img.at-cert-logo { height: 70px; }
  .at-tech-logos  img.at-tech-logo  { height: 42px; }}
@media (max-width: 991px) {
  .at-mobile-menu-toggle { display: flex; }
  .at-nav {position: fixed; top: calc(var(--at-reassurance-h) + var(--at-header-h) + 8px); left: 0; width: 300px;height: calc(100vh - (var(--at-reassurance-h) + var(--at-header-h)));
    background: var(--trafic-white); box-shadow: 2px 0 10px rgba(0,0,0,0.1);flex-direction: column; gap: 0; margin: 0; padding: 20px 30px;
    transition: transform 0.3s ease; z-index: 999;transform: translateX(-100%); will-change: transform; contain: content;}
  .at-nav.active { transform: translateX(0); }
  .at-nav.scrolled { top: calc(var(--at-header-h) + 8px); height: calc(100vh - var(--at-header-h)); }
  .at-nav-link { font-size: 18px; padding: 15px 0; border-bottom: 1px solid var(--trafic-grey); }
  .at-mega-full-panel {border-radius: 0;transform: translateX(100%);transition: transform .28s ease;}
  .at-mega-full.open .at-mega-full-panel { transform: translateX(0); }
  .at-mega-grid { grid-template-columns: 1fr; gap: 16px; }
  .at-mega-headline { font-size: 16px; }
  .at-mega-full { top: calc(var(--at-reassurance-h) + var(--at-header-h) + 8px);   bottom: 0;}
  .at-header.scrolled ~ .at-mega-full { top: calc(var(--at-header-h) + 8px); }
  .at-logo-row.at-cert-logos { margin-top:6px;}
  .at-mega-col { margin-top:18px;}}
@media (max-width: 768px) {
  .at-header { top: var(--at-reassurance-h); }
  .at-header-content { padding: 10px 15px; }
  .at-logo { width: 120px; }
  .at-baseline-top { font-size: 13px; }
  .at-baseline-bottom { font-size: 12px; }
  .at-nav {top: calc(var(--at-reassurance-h) + var(--at-header-h) + 10px);height: calc(100vh - (var(--at-reassurance-h) + var(--at-header-h)));}
  .at-nav.scrolled {top: calc(var(--at-header-h) + 10px);height: calc(100vh - var(--at-header-h));}
  .at-mega-full { top: calc(var(--at-reassurance-h) + var(--at-header-h) + 10px); }
  .at-header.scrolled ~ .at-mega-full { top: calc(var(--at-header-h) + 10px); }}
@media (max-width: 450px) {
  .at-baseline { display: none; }
  .at-nav {top: calc(var(--at-reassurance-h) + 55px);height: calc(100vh - (var(--at-reassurance-h) + 55px));}
  .at-nav.scrolled {top:55px;height: calc(100vh - 55px);}
  .at-mega-full { top: calc(var(--at-reassurance-h) + var(--at-header-h) - 6px); }
  .at-header.scrolled ~ .at-mega-full { top: calc(var(--at-header-h)  - 6px); }}
@media (prefers-reduced-motion: reduce) {
  .at-h1-title, .at-h2-title, .at-p-desc, .at-h1-title-pill, .at-kicker{ animation:none!important; transition:none !important; transform:none !important; opacity:1; }
  .at-skip-link { transition: none; }
  .at-stagger > .at-appear-down,
  .at-stagger > .at-appear-left{animation: none !important;opacity: 1 !important;transform: none !important;}
  .at-reassurance-container {animation: none !important;transform: none !important;}}
  html.mod-keyboard .at-skip-link:focus-visible {transform: translateY(0);outline: 2px solid #fff;outline-offset: 2px;}
/* ==========================================================
                 FOOTER
   ========================================================== */
.at-footer {position: relative;background-color: var(--trafic-dark);color: #fff;padding: clamp(3rem, 6vw, 4.5rem) 1.5rem 1rem;box-shadow: 0 -50px 100px #0078c845;}
.at-footer::before {content: "";position: absolute;inset-inline: 50%;top: 0px;transform: translateX(-50%);width: min(100%, 1200px);height: 3px;
    background: linear-gradient(90deg, transparent 0%, rgba(0, 120, 200, 1) 10%, rgba(255, 255, 255, 1) 50%, rgba(0, 120, 200, 1) 90%, transparent 100%);opacity: 0.8;}
.at-footer__inner {margin: 0 auto;display: grid;gap: 2.5rem;justify-content: space-between;align-items: flex-start;text-align: left;}
.at-footer__col {display: flex;flex-direction: column;gap: 0.75rem;}
.at-footer__col--brand {max-width: 360px;}
.at-footer__logo-link {display: inline-flex;align-items: center;}
.at-footer__logo {display: block;height: 40px;width: auto;}
.at-footer__baseline {margin-top: 1.1rem;font-size: 0.9rem;font-weight: 400;letter-spacing: 0;text-transform: none;line-height: 1.7;color: rgba(255, 255, 255, 0.75);max-width: 28rem;}
.at-footer__title {font-size: 0.9rem;text-transform: uppercase;letter-spacing: 0.12em;font-weight: 600;color: rgba(255, 255, 255, 0.7);font-family: 'Oswald', sans-serif;}
.at-footer__socials {display: flex;gap: 1rem;align-items: center;}
.at-footer__social {width: 46px;height: 46px;border-radius: 999px;display: inline-flex;align-items: center;justify-content: center;color: rgba(255, 255, 255, 0.9);
  background-color: rgba(255, 255, 255, 0.04);border: 1px solid rgba(255, 255, 255, 0.14);box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
  transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease,background-color 0.2s ease,color 0.2s ease;}
.at-footer__social svg {width: 26px;height: 26px;}
.at-footer__social:hover,
.at-footer__social:focus-visible {transform: translateY(-2px);background-color: rgba(255, 255, 255, 0.08);border-color: var(--trafic-primary);box-shadow: 0 14px 28px rgba(0, 0, 0, 0.65);color: #fff;}
.at-footer__address {font-style: normal;font-size: 0.95rem;line-height: 1.7;color: rgba(255, 255, 255, 0.78);}
.at-footer__address p {margin: 0 0 0.4rem;}
.at-footer__address a {color: inherit;text-decoration: none;border-bottom: 1px dashed rgba(255, 255, 255, 0.3);transition: border-color 0.2s ease, color 0.2s ease;}
.at-footer__address a:hover {border-color: var(--trafic-primary);color: #fff;}
.at-footer__bottom {margin: 2rem auto 0;max-width: 1200px;padding-top: 1.5rem;text-align: center;font-size: 0.85rem;color: rgba(255, 255, 255, 0.6);position: relative;}
.at-footer__bottom::before {content: "";position: absolute;top: 0;left: 50%;transform: translateX(-50%);width: clamp(140px, 32vw, 240px);height: 1px;
  background: linear-gradient(90deg,transparent 0%,rgba(255, 255, 255, 0.25) 20%,rgba(0, 120, 200, 0.8) 50%,rgba(255, 255, 255, 0.25) 80%,transparent 100%);opacity: 0.9;}
.at-footer__bottom a {color: inherit;text-decoration: none;}
.at-footer__bottom a:hover {text-decoration: underline;}
/* ===== MEDIA QUERIES FOOTER ===== */
@media (max-width: 767px) {
  .at-footer__inner {grid-template-columns: 1fr;gap: 2rem;text-align:center;}
  .at-footer__col--brand {max-width:none;align-items:center;}
  .at-footer__socials {justify-content:center;}}
@media (min-width: 768px) {
  .at-footer {padding-inline: 2rem;}
  .at-footer__inner {grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.2fr);align-items: flex-start;}
  .at-footer__col--contact {text-align: left;align-items: flex-start;}}
