/* ===== Aero — identité visuelle (logo, hero, typo) ===== */
:root{
  --aero-accent:#2f6bff;
  --aero-accent-hover:#4d80ff;
  --aero-accent-light:#8fb1ff;
  --aero-accent-dark:#1b45c8;
  --aero-accent-dark-2:#1f4ed8;
  --aero-accent-hi:#6d95ff;
  --font-archivo:'Archivo',var(--font-eudoxus),sans-serif;
  --font-outfit:'Outfit',var(--font-eudoxus),sans-serif;
}

/* --- Logotype AERO --- */
.aero-wordmark{display:inline-flex;align-items:baseline;gap:.02em;font-family:var(--font-archivo);font-weight:900;font-stretch:125%;line-height:1;letter-spacing:-.04em;color:#f4f4f2;white-space:nowrap}
.aero-wordmark .aer{display:inline-block}
.trail-o{position:relative;display:inline-block;width:1em;height:.71em;margin-left:.06em;transform:translateY(-.01em);flex:none}
.trail-o>span{position:absolute;top:0;width:.71em;height:.71em;border-radius:50%;box-sizing:border-box}
.trail-o .halo{left:.29em;background:radial-gradient(circle,rgba(47,107,255,.55) 0%,rgba(47,107,255,0) 70%);filter:blur(.12em);transform:scale(1.6)}
.trail-o .g2{left:0;opacity:.18;border:.145em solid var(--aero-accent-dark-2);filter:blur(.03em)}
.trail-o .g1{left:.145em;opacity:.45;border:.145em solid var(--aero-accent);filter:blur(.012em)}
.trail-o .main{left:.29em;background-image:linear-gradient(160deg,var(--aero-accent-hi) 0%,var(--aero-accent) 45%,var(--aero-accent-dark) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - .145em),#000 calc(100% - .145em + 1px));mask:radial-gradient(farthest-side,transparent calc(100% - .145em),#000 calc(100% - .145em + 1px))}
.trail-o .shine{left:.29em;box-shadow:inset 0 .02em .05em rgba(255,255,255,.6),inset 0 -.03em .06em rgba(0,0,0,.35);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - .145em),#000 calc(100% - .145em + 1px));mask:radial-gradient(farthest-side,transparent calc(100% - .145em),#000 calc(100% - .145em + 1px))}

/* Nav : version statique compacte (3 anneaux, pas de halo) */
.aero-wordmark--nav{font-size:20px;transition:opacity .2s}
.aero-wordmark--nav:hover{opacity:.8}
.aero-wordmark--nav .trail-o .g2{border-color:var(--aero-accent);filter:none}
.aero-wordmark--nav .trail-o .g1{filter:none}
.aero-wordmark--nav .trail-o .main{background-image:none;-webkit-mask:none;mask:none;border:.145em solid var(--aero-accent)}
@media (min-width:40rem){.aero-wordmark--nav{font-size:24px}}

/* Hero : logo grand format, AER en dégradé, traînée animée en boucle */
.aero-wordmark--hero{font-size:68px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.55));opacity:0;animation:fadeInUp .8s ease-out .05s forwards}
.aero-wordmark--hero .aer{background:linear-gradient(180deg,#ffffff 0%,#e9ecf4 55%,#aeb6c9 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.aero-wordmark--hero .trail-o .halo{animation:trailHalo 5s cubic-bezier(.2,.8,.2,1) infinite}
.aero-wordmark--hero .trail-o .g2{animation:trailG2 5s ease-out infinite}
.aero-wordmark--hero .trail-o .g1{animation:trailG1 5s ease-out infinite}
.aero-wordmark--hero .trail-o .main,.aero-wordmark--hero .trail-o .shine{animation:trailMain 5s cubic-bezier(.2,.8,.2,1) infinite}
@media (min-width:40rem){.aero-wordmark--hero{font-size:113px}}
@media (min-width:64rem){.aero-wordmark--hero{font-size:155px}}

@keyframes trailMain{0%{transform:translateX(-.9em);opacity:0}30%{transform:translateX(0);opacity:1}100%{transform:translateX(0);opacity:1}}
@keyframes trailHalo{0%{transform:translateX(-.9em) scale(1.6);opacity:0}30%{transform:translateX(0) scale(1.6);opacity:1}100%{transform:translateX(0) scale(1.6);opacity:1}}
@keyframes trailG1{0%,10%{opacity:0}35%{opacity:.45}100%{opacity:.45}}
@keyframes trailG2{0%,18%{opacity:0}40%{opacity:.18}100%{opacity:.18}}

/* --- Fond shader global (fixe, derrière tout le site) --- */
.aero-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.aero-shader{position:absolute;inset:0;display:block;width:100%;height:100%;background:radial-gradient(ellipse 70% 55% at 50% 40%,rgba(47,107,255,.32),transparent 70%),#0b0c10}
.aero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,16,.5) 0%,rgba(11,12,16,.3) 45%,rgba(11,12,16,.55) 100%)}
.aero-content{position:relative;z-index:1;background:transparent}

/* --- Typo du hero et de la nav (Outfit / Archivo) --- */
.aero-nav-links a,.aero-nav-links .btn-primary{font-family:var(--font-outfit)}
.aero-nav-links a:not(.moving-border-wrap):hover{color:var(--aero-accent-light)}
.aero-hero-sub{font-family:var(--font-outfit);color:rgba(244,244,242,.55)}
.aero-hero-title{font-family:var(--font-archivo);font-weight:900;font-stretch:125%;letter-spacing:-.035em;line-height:1.05;text-wrap:balance;color:#f4f4f2}
.aero-hero-cta .btn-primary{font-family:var(--font-outfit);font-weight:500}

@media (prefers-reduced-motion:reduce){
  .trail-o>span{animation:none!important}
  .aero-wordmark--hero{animation:none;opacity:1}
}

/* --- Boutons « Réserver un appel » : shader en fond --- */
.btn-shader{position:relative;overflow:hidden;isolation:isolate;background:var(--aero-accent-dark)!important}
.btn-shader>.aero-shader{position:absolute;inset:0;z-index:-1;width:100%;height:100%;border-radius:inherit;background:linear-gradient(135deg,var(--aero-accent-dark) 0%,var(--aero-accent) 50%,var(--aero-accent-hi) 100%)}
.btn-shader::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:rgba(255,255,255,0);transition:background .2s}
.btn-shader:hover::after{background:rgba(255,255,255,.12)}
.btn-shader{text-shadow:0 1px 2px rgba(0,0,0,.25)}

/* --- Onglets « Nos services » (slide tabs) --- */
.aero-tabs__list{position:relative;display:flex;width:fit-content;margin:0;padding:4px;list-style:none;border-radius:9999px;border:1px solid rgba(244,244,242,.12);background:rgba(244,244,242,.04);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.aero-tabs__tab{position:relative;z-index:1;display:block;cursor:pointer;padding:6px 12px;font-family:var(--font-outfit);font-size:12px;font-weight:500;line-height:1;text-transform:uppercase;letter-spacing:.04em;color:rgba(244,244,242,.6);border-radius:9999px;transition:color .2s;user-select:none;-webkit-user-select:none;white-space:nowrap}
.aero-tabs__tab.is-active,.aero-tabs__tab.is-hot{color:#f4f4f2}
.aero-tabs__tab:focus-visible{outline:2px solid var(--aero-accent-light);outline-offset:2px}
.aero-tabs__cursor{position:absolute;top:4px;bottom:4px;left:0;z-index:0;width:0;opacity:0;border-radius:9999px;overflow:hidden;isolation:isolate;background:var(--aero-accent);transition:left .35s cubic-bezier(.22,1,.36,1),width .35s cubic-bezier(.22,1,.36,1),opacity .25s}
.aero-tabs__cursor .aero-shader{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;background:linear-gradient(135deg,var(--aero-accent-dark),var(--aero-accent) 50%,var(--aero-accent-hi))}
@media (min-width:48rem){.aero-tabs__tab{padding:12px 20px;font-size:16px}}
[data-panel-id][hidden]{display:none}
.aero-short-placeholder{aspect-ratio:9/16;display:flex;align-items:center;justify-content:center;border-radius:.75rem;border:1px dashed rgba(244,244,242,.15);background:rgba(244,244,242,.03);font-family:var(--font-outfit);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:rgba(244,244,242,.35)}
@media (min-width:40rem){.aero-short-placeholder{border-radius:1rem}}
.aero-short-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
@media (min-width:40rem){.aero-short-grid{grid-template-columns:repeat(4,1fr);gap:1.75rem}}
@media (min-width:64rem){.aero-short-grid{gap:2rem}}
.aero-short-video{display:block;aspect-ratio:9/16;width:100%;height:auto;object-fit:cover;background:#0f1015}

/* --- Hero sans vidéo : contenu centré verticalement --- */
.aero-hero-inner{padding-top:7rem!important;padding-bottom:6rem!important}
@media (min-width:64rem){.aero-hero-inner{padding-top:8rem!important;padding-bottom:7rem!important}}
/* --- Clin d'œil Agence Prism (footer) --- */
.aero-prism__beam{stroke:var(--aero-accent-light);transition:opacity .3s}
.aero-prism__link:hover .aero-prism__beam{opacity:1}
.aero-prism__link:hover .aero-prism__icon{filter:drop-shadow(0 0 6px rgba(143,177,255,.7))}

/* --- Cartes Offres : effet au survol sur les trois --- */
.aero-card:hover{border-color:rgb(47 107 255/.6);background:linear-gradient(to bottom,rgb(47 107 255/.08),rgb(255 255 255/.02));box-shadow:0 0 60px rgb(47 107 255/.12)}

/* --- Modale « Réserver un appel » --- */
.aero-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s}
.aero-modal.is-open{opacity:1;pointer-events:auto}
.aero-modal__backdrop{position:absolute;inset:0;background:rgba(11,12,16,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.aero-modal__panel{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 40px);overflow:auto;border-radius:1rem;border:1px solid rgba(244,244,242,.08);background:#15171d;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 60px rgb(47 107 255/.08);padding:28px 24px;transform:translateY(16px) scale(.98);transition:transform .3s cubic-bezier(.22,1,.36,1);font-family:var(--font-outfit)}
.aero-modal.is-open .aero-modal__panel{transform:none}
@media (min-width:40rem){.aero-modal__panel{padding:36px 36px 32px}}
.aero-modal__close{position:absolute;top:14px;right:14px;display:flex;height:36px;width:36px;align-items:center;justify-content:center;border-radius:9999px;color:rgba(244,244,242,.5);transition:color .2s,background .2s}
.aero-modal__close:hover{color:#f4f4f2;background:rgba(244,244,242,.06)}
.aero-modal__title{margin:0 0 6px;font-family:var(--font-archivo);font-weight:900;font-stretch:125%;letter-spacing:-.03em;font-size:26px;line-height:1.1;color:#f4f4f2}
.aero-modal__sub{margin:0 0 24px;font-size:14px;color:rgba(244,244,242,.5)}
.aero-form{display:grid;gap:16px}
.aero-form__row{display:grid;gap:16px}
@media (min-width:40rem){.aero-form__row{grid-template-columns:1fr 1fr}}
.aero-field{display:grid;gap:6px}
.aero-field label{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:rgba(244,244,242,.55)}
.aero-field label small{text-transform:none;letter-spacing:0;font-weight:400;color:rgba(244,244,242,.35)}
.aero-field input,.aero-field textarea{width:100%;border-radius:10px;border:1px solid rgba(244,244,242,.1);background:rgba(244,244,242,.04);padding:12px 14px;font:400 15px var(--font-outfit);color:#f4f4f2;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}
.aero-field input::placeholder,.aero-field textarea::placeholder{color:rgba(244,244,242,.3)}
.aero-field input:focus,.aero-field textarea:focus{border-color:rgb(47 107 255/.7);box-shadow:0 0 0 3px rgb(47 107 255/.18)}
.aero-field.is-invalid input,.aero-field.is-invalid textarea{border-color:rgb(251 44 54/.7)}
.aero-field textarea{min-height:120px;resize:vertical}
.aero-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.aero-choice label{position:relative;display:flex;align-items:center;justify-content:center;padding:11px 8px;border-radius:10px;border:1px solid rgba(244,244,242,.1);background:rgba(244,244,242,.04);font:500 13px var(--font-outfit);letter-spacing:0;text-transform:none;color:rgba(244,244,242,.6);cursor:pointer;transition:border-color .2s,color .2s,background .2s;text-align:center}
.aero-choice input{position:absolute;opacity:0;pointer-events:none}
.aero-choice label:hover{color:#f4f4f2;border-color:rgba(244,244,242,.2)}
.aero-choice label.is-checked{color:#f4f4f2;border-color:rgb(47 107 255/.7);background:rgb(47 107 255/.14);box-shadow:0 0 0 3px rgb(47 107 255/.12)}
.aero-field.is-invalid .aero-choice label{border-color:rgb(251 44 54/.5)}
.aero-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aero-form__submit{margin-top:6px;width:100%;justify-content:center;padding:14px 20px!important;font-size:15px!important}
.aero-form__submit[disabled]{opacity:.7;cursor:progress}
.aero-form__msg{margin:0;min-height:18px;font-size:13px;color:rgba(244,244,242,.5)}
.aero-form__msg.is-error{color:#ffa3a3}
.aero-form__done{display:none;text-align:center;padding:24px 0 8px}
.aero-form__done .aero-check{display:flex;margin:0 auto 18px;height:56px;width:56px;align-items:center;justify-content:center;border-radius:9999px;background:rgb(47 107 255/.15);color:var(--aero-accent-light)}
.aero-form__done h4{margin:0 0 8px;font-family:var(--font-archivo);font-weight:900;font-stretch:125%;letter-spacing:-.03em;font-size:22px;color:#f4f4f2}
.aero-form__done p{margin:0;font-size:14px;color:rgba(244,244,242,.5)}
.aero-modal.is-done .aero-form,.aero-modal.is-done .aero-modal__sub{display:none}
.aero-modal.is-done .aero-form__done{display:block}
body.aero-modal-open{overflow:hidden}
