*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:#07111f;color:#0f172a}a{text-decoration:none;color:inherit}.topbar{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:18px 7vw;background:rgba(7,17,31,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.1)}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand img{width:46px;height:46px;object-fit:contain}.brand strong{display:block;font-size:1.25rem;letter-spacing:.03em}.brand span{display:block;font-size:.72rem;color:#cbd5e1;font-weight:700}nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}nav a{color:#e5edf8;font-weight:800;font-size:.92rem}.cloud-login{background:#ff5c2d;color:#fff!important;padding:11px 14px;border-radius:999px}.lang{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:10px 13px;font-weight:900;cursor:pointer}.contact-hero{position:relative;min-height:560px;padding:150px 7vw 80px;display:flex;align-items:end;overflow:hidden;background:#07111f;color:#fff}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(255,92,45,.28),transparent 34%),linear-gradient(135deg,#07111f,#0f1b2d 58%,#111827)}.hero-bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,black,transparent)}.hero-copy{position:relative;z-index:1;max-width:1100px}.eyebrow{color:#ff7a4f;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:1000}.contact-hero h1{font-size:clamp(3.4rem,8vw,8rem);line-height:.92;letter-spacing:-.075em;margin:18px 0}.contact-hero p{font-size:1.28rem;line-height:1.68;color:#dbe7f5;max-width:850px}.contact-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;padding:90px 7vw;background:#f6f8fb;align-items:start}.contact-form,.info-card,.trust-card{background:#fff;border:1px solid #e0e8f0;border-radius:32px;box-shadow:0 25px 55px rgba(15,23,42,.08)}.contact-form{padding:38px}.form-head h2,.info-card h2{font-size:clamp(2rem,3.8vw,4.2rem);line-height:1;letter-spacing:-.055em;margin:12px 0 16px}.form-head p{color:#59677a;line-height:1.65;font-size:1.05rem}.form-label{display:block;font-weight:900;margin:34px 0 14px}.application-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.application-grid button{border:1px solid #dbe4ee;background:#f8fafc;border-radius:18px;padding:16px;text-align:left;font-weight:900;color:#152033;cursor:pointer;transition:.18s ease;min-height:62px}.application-grid button:hover{transform:translateY(-2px);border-color:#ff9b77}.application-grid button.active{background:#ff5c2d;color:#fff;border-color:#ff5c2d;box-shadow:0 16px 28px rgba(255,92,45,.24)}.application-grid button.active:after{content:" ✓";float:right}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}label span{display:block;font-weight:900;margin-bottom:8px;color:#111827}input,textarea{width:100%;border:1px solid #d9e3ee;background:#fff;border-radius:16px;padding:15px 16px;font:inherit;color:#0f172a;outline:none}input:focus,textarea:focus{border-color:#ff5c2d;box-shadow:0 0 0 4px rgba(255,92,45,.13)}textarea{resize:vertical}.full{grid-column:1/-1}.hp-field{position:absolute;left:-10000px;opacity:0}.field-error{display:none;color:#b42318;font-weight:800;margin-top:10px}.field-error.show{display:block}.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px}.primary{display:inline-flex;align-items:center;justify-content:center;background:#ff5c2d;color:#fff;border:0;border-radius:999px;padding:15px 24px;font-weight:1000;cursor:pointer;box-shadow:0 18px 32px rgba(255,92,45,.25)}.primary:disabled{opacity:.62;cursor:not-allowed}.form-status{margin:0;color:#475569;font-weight:800}.form-status.ok{color:#067647}.form-status.err{color:#b42318}.contact-side{display:grid;gap:22px;position:sticky;top:100px}.info-card,.trust-card{padding:30px}.info-card address{font-style:normal;line-height:1.65;color:#334155;font-size:1.04rem}.contact-line{margin-top:22px;padding-top:18px;border-top:1px solid #e5edf5}.contact-line span{display:block;color:#64748b;font-weight:900;margin-bottom:6px}.contact-line a{font-size:1.12rem;font-weight:1000;color:#111827}.trust-card h3{font-size:1.55rem;margin:0 0 18px}.trust-card ul{list-style:none;padding:0;margin:0;display:grid;gap:13px}.trust-card li{font-weight:850;color:#1f2937}.trust-card li:before{content:"✓";color:#ff5c2d;margin-right:10px;font-weight:1000}.bottom-band{padding:100px 7vw;background:radial-gradient(circle at 78% 20%,rgba(255,92,45,.24),transparent 35%),#07111f;color:#fff}.bottom-band h2{font-size:clamp(2.4rem,5vw,5.8rem);line-height:.98;letter-spacing:-.06em;max-width:1050px;margin:0 0 22px}.bottom-band p{font-size:1.15rem;line-height:1.7;color:#cbd5e1;max-width:850px;margin-bottom:28px}footer{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;background:#050b14;color:#e5edf8;padding:30px 7vw}footer span,footer small{color:#94a3b8}@media(max-width:1100px){.contact-layout{grid-template-columns:1fr}.contact-side{position:static}.topbar{align-items:flex-start;gap:12px}.brand{min-width:220px}nav{justify-content:flex-start}}@media(max-width:720px){.topbar{position:absolute}.contact-hero{padding:140px 24px 60px}.contact-layout,.bottom-band{padding:64px 24px}.contact-form{padding:24px;border-radius:24px}.fields-grid,.application-grid{grid-template-columns:1fr}.contact-hero h1{font-size:3.4rem}nav a{font-size:.82rem}.cloud-login{padding:9px 11px}}
/* Contact V2 — hero photo + corrected AWP endpoint */
.contact-hero{
  display:grid;
  grid-template-columns:0.92fr 1.08fr;
  gap:46px;
  align-items:center;
  padding-top:135px;
  padding-bottom:70px;
}
.hero-copy{align-self:center}
.hero-photo-card{
  position:relative;
  z-index:1;
  border-radius:34px;
  overflow:hidden;
  min-height:430px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 34px 70px rgba(0,0,0,.34);
  background:#111827;
}
.hero-photo-card img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:saturate(.95) contrast(1.02);
}
.hero-photo-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,17,31,.04),rgba(7,17,31,.54));
}
.hero-trust{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.hero-trust span{
  background:rgba(7,17,31,.74);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
  border-radius:16px;
  padding:12px 14px;
  font-weight:900;
  font-size:.92rem;
}
.hero-trust span:before{
  content:"✓";
  color:#ff5c2d;
  margin-right:8px;
  font-weight:1000;
}
@media(max-width:1100px){
  .contact-hero{grid-template-columns:1fr}
  .hero-photo-card{min-height:360px}
  .hero-photo-card img{min-height:360px}
}
@media(max-width:720px){
  .hero-trust{grid-template-columns:1fr}
  .hero-photo-card{border-radius:24px;min-height:320px}
  .hero-photo-card img{min-height:320px}
}

.email-obfuscated{display:block;font-size:1.12rem;font-weight:1000;color:#111827}


/* Vérification anti-spam — ajout sans modifier la mise en page existante */
.captcha-row{
  margin-top:22px;
}
.captcha-row>label span{
  display:block;
  font-weight:900;
  margin-bottom:8px;
  color:#111827;
}
.captcha-control{
  display:flex;
  align-items:center;
  gap:14px;
}
.captcha-control strong{
  flex:0 0 auto;
  min-width:118px;
  padding:14px 16px;
  border:1px solid #d9e3ee;
  border-radius:16px;
  background:#f8fafc;
  color:#111827;
  text-align:center;
  font-size:1.08rem;
}
.captcha-control input{
  width:150px;
}
@media(max-width:720px){
  .captcha-control{align-items:stretch}
  .captcha-control input{width:100%}
}


/* Photo Innovmobile — bloc coordonnées */

@media(max-width:720px){
  
}

/* Photo bâtiment — affichage compact dans le bloc coordonnées */
.info-card .contact-building-photo{
    display:block !important;
    width:50% !important;
    max-width:280px !important;
    height:auto !important;
    margin:14px auto 16px !important;
    border-radius:16px !important;
    object-fit:cover !important;
}
@media(max-width:720px){
    .info-card .contact-building-photo{
        width:65% !important;
        max-width:260px !important;
    }
}


/* Fenêtre de confirmation après envoi */
body.dialog-open{
  overflow:hidden;
}

.success-dialog[hidden]{
  display:none !important;
}

.success-dialog{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:24px;
}

.success-dialog-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,10,20,.72);
  backdrop-filter:blur(8px);
}

.success-dialog-box{
  position:relative;
  z-index:1;
  width:min(520px,calc(100vw - 48px));
  background:#fff;
  border:1px solid #e0e8f0;
  border-radius:28px;
  padding:38px;
  text-align:center;
  box-shadow:0 34px 90px rgba(0,0,0,.32);
}

.success-dialog-icon{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin:0 auto 18px;
  border-radius:50%;
  background:#eaf8ef;
  color:#067647;
  font-size:2rem;
  font-weight:1000;
}

.success-dialog-box h2{
  margin:0 0 10px;
  color:#111827;
  font-size:clamp(1.8rem,4vw,2.6rem);
  line-height:1.05;
  letter-spacing:-.04em;
}

.success-dialog-box p{
  margin:0 0 26px;
  color:#475569;
  font-size:1.08rem;
  font-weight:750;
}

.success-dialog-box .primary{
  min-width:120px;
}


/* FOXY SEO étape B — typographie du menu harmonisée avec style.css */
.topbar{
  font-family:Inter, "Segoe UI", Roboto, Arial, sans-serif;
}
.topbar nav{
  font-size:14px;
  font-weight:400;
  color:#d7deea;
}
.topbar nav a:not(.cloud-login):not(.lang){
  font-size:14px;
  font-weight:400;
  color:#d7deea;
}
.topbar nav .lang{
  font-family:inherit;
  font-size:14px;
  font-weight:400;
}
.topbar nav .cloud-login{
  font-family:inherit;
  font-size:14px;
  font-weight:750;
}
.topbar .brand strong{
  font-size:16px;
  font-weight:700;
  letter-spacing:.12em;
}
.topbar .brand span{
  font-size:12px;
  font-weight:400;
}
