/* Contact modern blocks — scoped under .tw-contact-modern */
.tw-contact-modern{
  --ink:#05070b;--ink-2:#090d14;--panel:#0e141e;--paper:#f3f5f7;--white:#fff;--text:#141922;--muted:#9aa3b2;--muted-dark:#606a78;--line:rgba(255,255,255,.1);--red:#ed292d;--red-deep:#8f0b13;--red-soft:#ff6d70;--shadow:0 30px 80px rgba(16,24,40,.13);
  color:var(--white);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;
}
.tw-contact-modern *,.tw-contact-modern *::before,.tw-contact-modern *::after{box-sizing:border-box}
.tw-contact-modern a{color:inherit;text-decoration:none}
.tw-contact-modern button,.tw-contact-modern input,.tw-contact-modern select,.tw-contact-modern textarea{font:inherit}
.tw-contact-modern button{cursor:pointer}
.tw-contact-modern img{display:block;max-width:100%}
.tw-contact-modern .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.tw-contact-modern .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.tw-contact-modern .eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--red-soft);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.tw-contact-modern .eyebrow::before{content:"";width:27px;height:2px;background:var(--red);box-shadow:0 0 15px rgba(237,41,45,.7)}
.tw-contact-modern .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.tw-contact-modern .reveal.visible{opacity:1;transform:none}
.tw-contact-modern .topbar{position:absolute;z-index:50;top:0;left:0;right:0;padding:24px 0;transition:.3s}
.tw-contact-modern .topbar.scrolled{position:fixed;padding:13px 0;background:rgba(5,7,11,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:0 14px 40px rgba(0,0,0,.28)}
.tw-contact-modern .nav{display:flex;align-items:center;justify-content:space-between;gap:30px}
.tw-contact-modern .brand{width:162px;min-width:162px}
.tw-contact-modern .brand img{width:100%;height:auto}
.tw-contact-modern .nav-links{display:flex;align-items:center;gap:5px}
.tw-contact-modern .nav-links a{position:relative;padding:10px 11px;border-radius:8px;color:#aeb5c2;font-size:11px;font-weight:700;white-space:nowrap;transition:.25s}
.tw-contact-modern .nav-links a:hover, .tw-contact-modern .nav-links a.active{color:#fff;background:rgba(255,255,255,.06)}
.tw-contact-modern .nav-links a.active::after{content:"";position:absolute;left:11px;right:11px;bottom:5px;height:1px;background:var(--red)}
.tw-contact-modern .menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.04);color:#fff;align-items:center;justify-content:center}
.tw-contact-modern .menu-toggle span, .tw-contact-modern .menu-toggle span::before, .tw-contact-modern .menu-toggle span::after{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:.3s}
.tw-contact-modern .menu-toggle span{position:relative}
.tw-contact-modern .menu-toggle span::before, .tw-contact-modern .menu-toggle span::after{content:"";position:absolute;left:0}
.tw-contact-modern .menu-toggle span::before{top:-6px}
.tw-contact-modern .menu-toggle span::after{top:6px}
.tw-contact-modern .menu-open .menu-toggle span{background:transparent}
.tw-contact-modern .menu-open .menu-toggle span::before{top:0;transform:rotate(45deg)}
.tw-contact-modern .menu-open .menu-toggle span::after{top:0;transform:rotate(-45deg)}
.tw-contact-modern .hero{position:relative;min-height:850px;display:flex;align-items:center;padding:145px 0 130px;isolation:isolate;background:radial-gradient(circle at 82% 28%,rgba(237,41,45,.16),transparent 29%),radial-gradient(circle at 12% 75%,rgba(98,32,37,.18),transparent 22%),var(--ink)}
.tw-contact-modern .hero::before{content:"";position:absolute;inset:0;z-index:-4;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,#000 5%,transparent 96%)}
.tw-contact-modern .hero::after{content:"";position:absolute;z-index:-2;left:0;right:0;bottom:0;height:220px;background:linear-gradient(to top,var(--ink),transparent)}
.tw-contact-modern .hero-layout{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:65px}
.tw-contact-modern .hero-badge{display:inline-flex;align-items:center;gap:10px;margin-bottom:25px;padding:8px 13px;border:1px solid rgba(237,41,45,.4);border-radius:999px;background:rgba(237,41,45,.08);color:#ff9597;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.tw-contact-modern .pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 14px var(--red);animation:pulse 1.8s infinite}
.tw-contact-modern .hero h1{max-width:36rem;margin:0 0 1.25rem;font-family:"Space Grotesk",Inter,sans-serif;font-size:var(--tw-h1-size,clamp(1.8rem,3.8vw,3.4rem));line-height:1.1;letter-spacing:-.02em;font-weight:800}
.tw-contact-modern .hero h1 span{display:block;color:var(--red);text-shadow:0 0 45px rgba(237,41,45,.22)}
.tw-contact-modern .hero-copy{max-width:610px;margin:0;color:#aeb5c2;font-size:17px;line-height:1.75}
.tw-contact-modern .hero-actions{display:flex;align-items:center;gap:14px;margin-top:33px;flex-wrap:wrap}
.tw-contact-modern .btn{position:relative;min-height:54px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--red);border-radius:10px;background:linear-gradient(135deg,var(--red),var(--red-deep));color:#fff;font-size:13px;font-weight:800;overflow:hidden;box-shadow:0 18px 46px rgba(237,41,45,.23);transition:transform .3s,box-shadow .3s}
.tw-contact-modern .btn::before{content:"";position:absolute;inset:-100% auto -100% -45%;width:30%;background:rgba(255,255,255,.25);transform:rotate(24deg);transition:left .6s}
.tw-contact-modern .btn:hover{transform:translateY(-3px);box-shadow:0 24px 56px rgba(237,41,45,.33)}
.tw-contact-modern .btn:hover::before{left:130%}
.tw-contact-modern .btn svg{width:18px;height:18px;transition:transform .3s}
.tw-contact-modern .btn:hover svg{transform:translateX(4px)}
.tw-contact-modern .availability{display:flex;align-items:center;gap:10px;color:#8f98a7;font-size:11px;font-weight:700}
.tw-contact-modern .availability i{width:9px;height:9px;border-radius:50%;background:#54d99a;box-shadow:0 0 13px rgba(84,217,154,.6)}
.tw-contact-modern .signal-stage{position:relative;min-height:560px;display:grid;place-items:center;perspective:1000px}
.tw-contact-modern .signal-glow{position:absolute;top:50%;left:50%;width:410px;height:410px;margin:-205px 0 0 -205px;border-radius:50%;background:rgba(237,41,45,.15);filter:blur(72px)}
.tw-contact-modern .signal-ring, .tw-contact-modern .signal-ring::before, .tw-contact-modern .signal-ring::after{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.11)}
.tw-contact-modern .signal-ring{top:50%;left:50%;width:490px;height:490px;margin:-245px 0 0 -245px;animation:spin 28s linear infinite}
.tw-contact-modern .signal-ring::before{content:"";inset:42px;border-style:dashed;border-color:rgba(237,41,45,.45);animation:spinBack 18s linear infinite}
.tw-contact-modern .signal-ring::after{content:"";inset:112px;border-color:rgba(255,255,255,.08)}
.tw-contact-modern .signal-orbit-dot{position:absolute;top:28px;left:50%;width:13px;height:13px;margin-left:-6px;border-radius:50%;background:var(--red);box-shadow:0 0 18px var(--red)}
.tw-contact-modern .signal-card{position:relative;z-index:4;width:272px;min-height:334px;padding:31px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(237,41,45,.45);border-radius:41px;background:radial-gradient(circle at 50% 20%,rgba(237,41,45,.23),transparent 42%),linear-gradient(150deg,#151c27,#080b10);box-shadow:0 50px 110px rgba(0,0,0,.72),0 0 90px rgba(237,41,45,.12),inset 0 1px rgba(255,255,255,.09);transform:rotateY(-7deg) rotateX(3deg)}
.tw-contact-modern .signal-card::before{content:"";position:absolute;inset:11px;border:1px solid rgba(255,255,255,.07);border-radius:31px}
.tw-contact-modern .signal-icon{position:relative;width:118px;height:118px;margin-bottom:27px;display:grid;place-items:center;border:1px solid rgba(237,41,45,.62);border-radius:50%;background:radial-gradient(circle,var(--red) 0 12%,rgba(237,41,45,.55) 13% 30%,transparent 62%);box-shadow:0 0 45px rgba(237,41,45,.42),inset 0 0 25px rgba(255,255,255,.06)}
.tw-contact-modern .signal-icon::before, .tw-contact-modern .signal-icon::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.18)}
.tw-contact-modern .signal-icon::before{inset:16px}
.tw-contact-modern .signal-icon::after{inset:32px}
.tw-contact-modern .signal-card strong{position:relative;z-index:2;font-family:"Space Grotesk",Inter,sans-serif;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.15;text-align:center;font-weight:800;letter-spacing:-.02em}
.tw-contact-modern .signal-card small{position:relative;z-index:2;margin-top:11px;color:#969fad;font-size:9px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;text-align:center}
.tw-contact-modern .signal-node{position:absolute;z-index:7;width:auto;min-width:168px;max-width:220px;min-height:91px;padding:14px 16px;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(10,14,21,.92);box-shadow:0 20px 45px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(13px);transition:.3s;box-sizing:border-box}
.tw-contact-modern .signal-node:hover{transform:translateY(-6px);border-color:rgba(237,41,45,.55)}
.tw-contact-modern .signal-node i{width:38px;height:38px;min-width:38px;display:grid;place-items:center;border-radius:11px;background:rgba(237,41,45,.11);color:var(--red-soft);font-style:normal}
.tw-contact-modern .signal-node svg{width:18px;height:18px}
.tw-contact-modern .signal-node > div{min-width:0;flex:1 1 auto}
.tw-contact-modern .signal-node b{display:block;color:#fff;font-size:11px;line-height:1.25;white-space:nowrap}
.tw-contact-modern .signal-node span{display:block;margin-top:4px;color:#9aa3b2;font-size:10px;text-transform:none;letter-spacing:.02em;white-space:nowrap;overflow:visible}
.tw-contact-modern .sn-1{top:62px;right:0;min-width:198px;max-width:230px}
.tw-contact-modern .sn-2{bottom:78px;right:0;min-width:178px;max-width:210px}
.tw-contact-modern .sn-3{bottom:70px;left:0;min-width:158px}
.tw-contact-modern .signal-coordinates{display:none!important}
.tw-contact-modern .contact-overview{position:relative;z-index:10;padding:0 0 112px;background:var(--paper);color:var(--text)}
.tw-contact-modern .contact-overview::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 10% 30%,rgba(237,41,45,.07),transparent 21%),radial-gradient(circle at 92% 75%,rgba(27,43,68,.06),transparent 25%)}
.tw-contact-modern .contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;transform:translateY(-62px);margin-bottom:-6px}
.tw-contact-modern .contact-card{position:relative;min-height:218px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;border:1px solid #e1e5ea;border-radius:22px;background:rgba(255,255,255,.93);box-shadow:0 24px 60px rgba(29,39,55,.11);overflow:hidden;transition:.35s}
.tw-contact-modern .contact-card::before{content:"";position:absolute;top:-64px;right:-56px;width:170px;height:170px;border-radius:50%;background:var(--red);opacity:.055;transition:.35s}
.tw-contact-modern .contact-card::after{content:"";position:absolute;left:28px;bottom:0;width:72px;height:2px;background:linear-gradient(90deg,var(--red),transparent)}
.tw-contact-modern .contact-card:hover{transform:translateY(-8px);border-color:rgba(237,41,45,.35);box-shadow:0 32px 74px rgba(29,39,55,.16)}
.tw-contact-modern .contact-card:hover::before{opacity:.11;transform:scale(1.2)}
.tw-contact-modern .contact-icon{width:51px;height:51px;margin-bottom:25px;display:grid;place-items:center;border:1px solid rgba(237,41,45,.25);border-radius:15px;background:rgba(237,41,45,.07);color:var(--red)}
.tw-contact-modern .contact-icon svg{width:21px;height:21px}
.tw-contact-modern .contact-card small{margin-bottom:8px;color:#9aa3b2;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.tw-contact-modern .contact-card h2{margin:0 0 7px;font-family:"Space Grotesk",Inter,sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}
.tw-contact-modern .contact-card a, .tw-contact-modern .contact-card p{margin:0;color:#616b79;font-size:13px;line-height:1.55;transition:.25s}
.tw-contact-modern .contact-card a:hover{color:var(--red)}
.tw-contact-modern .workspace-head{display:grid;grid-template-columns:.86fr 1.14fr;align-items:end;gap:28px;margin-bottom:43px}
.tw-contact-modern .workspace-head h2, .tw-contact-modern .faq-head h2{margin:13px 0 0;font-family:"Space Grotesk",Inter,sans-serif;font-size:var(--tw-h2-size,clamp(1.8rem,3.5vw,2.8rem));line-height:1.12;letter-spacing:-.02em;font-weight:700}
.tw-contact-modern .workspace-head h2 span, .tw-contact-modern .faq-head h2 span{color:var(--red)}
.tw-contact-modern .workspace-head p{margin:0;color:#697381;font-size:15px;line-height:1.75}
.tw-contact-modern .contact-workspace{display:grid;grid-template-columns:.86fr 1.14fr;min-height:670px;border:1px solid #dde2e8;border-radius:28px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.tw-contact-modern .map-panel{position:relative;min-height:670px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 30% 25%,rgba(237,41,45,.18),transparent 28%),linear-gradient(145deg,#111824,#06090e);overflow:hidden;color:#fff}
.tw-contact-modern .map-panel::before{content:"";position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:31px 31px}
.tw-contact-modern .map-top{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:14px}
.tw-contact-modern .map-label{display:inline-flex;align-items:center;gap:9px;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.tw-contact-modern .map-label i{width:7px;height:7px;border-radius:50%;background:#54d99a;box-shadow:0 0 13px rgba(84,217,154,.7)}
.tw-contact-modern .map-code{color:#677282;font-size:8px;letter-spacing:.1em}
.tw-contact-modern .abstract-map{position:absolute;inset:50px -40px 120px -40px;width:calc(100% + 80px);height:calc(100% - 170px);opacity:.88}
.tw-contact-modern .map-pin{position:absolute;z-index:4;top:43%;left:51%;width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(237,41,45,.65);border-radius:50% 50% 50% 10%;background:linear-gradient(145deg,var(--red),var(--red-deep));box-shadow:0 20px 45px rgba(237,41,45,.35);transform:rotate(-45deg)}
.tw-contact-modern .map-pin svg{width:23px;height:23px;transform:rotate(45deg)}
.tw-contact-modern .map-pulse{position:absolute;z-index:2;top:calc(43% + 43px);left:calc(51% + 14px);width:125px;height:38px;border:1px solid rgba(237,41,45,.45);border-radius:50%;transform:translate(-50%,-50%);animation:mapPulse 2.3s ease-out infinite}
.tw-contact-modern .map-info{position:relative;z-index:4;padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:17px;background:rgba(6,9,14,.75);backdrop-filter:blur(14px)}
.tw-contact-modern .map-info small{display:block;margin-bottom:6px;color:var(--red-soft);font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.tw-contact-modern .map-info strong{display:block;font-family:"Space Grotesk",Inter,sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}
.tw-contact-modern .map-info p{margin:5px 0 12px;color:#929cab;font-size:11px;line-height:1.5}
.tw-contact-modern .map-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.tw-contact-modern .map-link svg{width:14px;height:14px;color:var(--red)}
.tw-contact-modern .form-panel{padding:50px 48px 46px;background:#fff;color:var(--text)}
.tw-contact-modern .form-panel .eyebrow{color:var(--red)}
.tw-contact-modern .form-panel h2{margin:12px 0 10px;font-family:"Space Grotesk",Inter,sans-serif;font-size:var(--tw-h2-size,clamp(1.8rem,3.5vw,2.8rem));line-height:1.12;letter-spacing:-.02em;font-weight:700}
.tw-contact-modern .form-intro{margin:0 0 31px;color:#697381;font-size:13px;line-height:1.65}
.tw-contact-modern .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.tw-contact-modern .field{position:relative}
.tw-contact-modern .field.full{grid-column:1/-1}
.tw-contact-modern .field label{display:block;margin:0 0 7px;color:#3f4855;font-size:10px;font-weight:800;letter-spacing:.05em}
.tw-contact-modern .field input, .tw-contact-modern .field select, .tw-contact-modern .field textarea{width:100%;border:1px solid #dfe4ea;border-radius:11px;background:#f8f9fb;color:#151a22;outline:none;transition:border-color .25s,box-shadow .25s,background .25s}
.tw-contact-modern .field input, .tw-contact-modern .field select{height:51px;padding:0 15px}
.tw-contact-modern .field textarea{min-height:128px;padding:15px;resize:vertical;line-height:1.55}
.tw-contact-modern .field input::placeholder, .tw-contact-modern .field textarea::placeholder{color:#a1a9b5}
.tw-contact-modern .field input:focus, .tw-contact-modern .field select:focus, .tw-contact-modern .field textarea:focus{border-color:rgba(237,41,45,.7);background:#fff;box-shadow:0 0 0 4px rgba(237,41,45,.08)}
.tw-contact-modern .field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#e62d31 50%),linear-gradient(135deg,#e62d31 50%,transparent 50%);background-position:calc(100% - 18px) 22px,calc(100% - 13px) 22px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:37px}
.tw-contact-modern .consent{grid-column:1/-1;display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin:4px 0 2px;color:#6a7481;font-size:10px;line-height:1.55}
.tw-contact-modern .consent input{
  width:18px;height:18px;margin:2px 0 0;accent-color:#9ca3af;
  appearance:none;-webkit-appearance:none;
  border:1.5px solid #9ca3af;border-radius:4px;background:#fff;
  cursor:pointer;flex-shrink:0;
  outline:none;box-shadow:none;
}
.tw-contact-modern .consent input:checked{
  background:#DC2626;border-color:#9ca3af;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E");
  background-size:12px 12px;background-position:center;background-repeat:no-repeat;
}
.tw-contact-modern .consent input:focus,
.tw-contact-modern .consent input:focus-visible{
  outline:none;border-color:#9ca3af;box-shadow:none;
}
.tw-contact-modern .consent a{color:var(--red);font-weight:700}
.tw-contact-modern .submit-row{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}
.tw-contact-modern .submit-row .btn{min-width:245px;border:0;width:auto!important}
.tw-contact-modern .form-note{display:none!important}
.tw-contact-modern .form-success{display:none;grid-column:1/-1;padding:14px 16px;border:1px solid rgba(33,164,101,.25);border-radius:11px;background:rgba(33,164,101,.08);color:#147a4b;font-size:12px;font-weight:700}
.tw-contact-modern .form-success.show{display:block}
.tw-contact-modern .faq{position:relative;padding:118px 0 125px;background:radial-gradient(circle at 80% 15%,rgba(237,41,45,.13),transparent 24%),var(--ink)}
.tw-contact-modern .faq::before{content:"";position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.tw-contact-modern .faq .container{position:relative}
.tw-contact-modern .faq-head{max-width:760px;margin:0 auto 49px;text-align:center}
.tw-contact-modern .faq-head .eyebrow{justify-content:center}
.tw-contact-modern .faq-head .eyebrow::before{display:none}
.tw-contact-modern .faq-head p{margin:18px auto 0;color:#9099a8;font-size:14px;line-height:1.7}
.tw-contact-modern .faq-list{max-width:880px;margin:auto;display:grid;gap:12px}
.tw-contact-modern .faq-item{border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));overflow:hidden;transition:.3s}
.tw-contact-modern .faq-item[open]{border-color:rgba(237,41,45,.38);box-shadow:0 22px 55px rgba(0,0,0,.24)}
.tw-contact-modern .faq-item summary{min-height:72px;padding:20px 68px 20px 23px;display:flex;align-items:center;position:relative;list-style:none;cursor:pointer;color:#fff;font-size:13px;font-weight:700}
.tw-contact-modern .faq-item summary::-webkit-details-marker{display:none}
.tw-contact-modern .faq-item summary::after{content:"+";position:absolute;right:20px;top:50%;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.04);color:var(--red-soft);font-size:19px;font-weight:400;transform:translateY(-50%);transition:.3s}
.tw-contact-modern .faq-item[open] summary::after{content:"−";background:rgba(237,41,45,.1);border-color:rgba(237,41,45,.3)}
.tw-contact-modern .faq-answer{padding:0 70px 23px 23px;color:#929cab;font-size:12px;line-height:1.75}

    
@keyframes pulse{50%{opacity:.4;transform:scale(.76)}}
    @keyframes spin{to{transform:rotate(360deg)}}
    @keyframes spinBack{to{transform:rotate(-360deg)}}
    @keyframes mapPulse{0%{transform:translate(-50%,-50%) scale(.35);opacity:.9}100%{transform:translate(-50%,-50%) scale(1.45);opacity:0}}

    @media(max-width:1080px){

.tw-contact-modern .nav-links{gap:0}
.tw-contact-modern .nav-links a{padding-inline:7px;font-size:9px}
.tw-contact-modern .hero-layout{grid-template-columns:1fr;gap:30px}
.tw-contact-modern .hero{padding-top:155px}
.tw-contact-modern .hero-copy{max-width:720px}
.tw-contact-modern .signal-stage{min-height:570px}
.tw-contact-modern .workspace-head{grid-template-columns:1fr;gap:14px}
.tw-contact-modern .contact-workspace{grid-template-columns:1fr}
.tw-contact-modern .map-panel{min-height:510px}
.tw-contact-modern .abstract-map{inset:30px -20px 105px;width:calc(100% + 40px);height:calc(100% - 135px)}
}

    @media(max-width:780px){

.tw-contact-modern .container{width:min(100% - 28px,1180px)}
.tw-contact-modern .topbar{padding:17px 0}
.tw-contact-modern .brand{width:137px;min-width:137px}
.tw-contact-modern .menu-toggle{display:flex}
.tw-contact-modern .nav-links{position:fixed;inset:0;z-index:-1;padding:112px 25px 35px;display:flex;flex-direction:column;align-items:stretch;gap:4px;background:rgba(5,7,11,.98);opacity:0;visibility:hidden;transform:translateY(-12px);transition:.3s}
.tw-contact-modern .menu-open .nav-links{opacity:1;visibility:visible;transform:none}
.tw-contact-modern .nav-links a{padding:15px 12px;border-bottom:1px solid rgba(255,255,255,.07);border-radius:0;font-family:Inter,sans-serif;font-size:16px}
.tw-contact-modern .nav-links a.active::after{display:none}
.tw-contact-modern .hero{min-height:auto;padding:125px 0 105px}
.tw-contact-modern .hero h1{font-size:clamp(1.7rem,7.5vw,2.25rem)}
.tw-contact-modern .hero-copy{font-size:1rem}
.tw-contact-modern .hero-actions{align-items:flex-start;flex-direction:column}
.tw-contact-modern .hero-actions .btn{width:auto!important;max-width:100%}
.tw-contact-modern .btn{width:100%}
.tw-contact-modern .signal-stage{
  min-height:0;
  transform:none;
  margin:0;
  display:grid;
  grid-template-columns:1fr;
  align-items:stretch;
  overflow:visible;
  perspective:none;
  gap:10px;
}
.tw-contact-modern .signal-glow,
.tw-contact-modern .signal-ring{
  position:relative;
  top:auto;
  left:auto;
  grid-row:1;
  grid-column:1;
  justify-self:center;
  align-self:center;
  margin:0;
  pointer-events:none;
}
.tw-contact-modern .signal-glow{width:200px;height:200px}
.tw-contact-modern .signal-ring{width:240px;height:240px}
.tw-contact-modern .signal-card{
  grid-row:1;
  grid-column:1;
  position:relative;
  z-index:2;
  transform:none;
  width:min(230px,78vw);
  min-height:200px;
  margin:28px auto;
  padding:22px 18px;
  justify-self:center;
}
.tw-contact-modern .signal-icon{width:84px;height:84px;margin-bottom:14px}
.tw-contact-modern .signal-node{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:0;
  margin:0;
  z-index:3;
}
.tw-contact-modern .sn-1{grid-row:2}
.tw-contact-modern .sn-2{grid-row:3}
.tw-contact-modern .sn-3{grid-row:4}
.tw-contact-modern .contact-overview{padding-bottom:82px}
.tw-contact-modern .contact-cards{grid-template-columns:1fr;transform:translateY(-48px);margin-bottom:-9px}
.tw-contact-modern .contact-card{min-height:180px}
.tw-contact-modern .workspace-head{margin-bottom:30px}
.tw-contact-modern .contact-workspace{border-radius:21px}
.tw-contact-modern .map-panel{min-height:470px;padding:20px}
.tw-contact-modern .form-panel{padding:37px 22px 31px}
.tw-contact-modern .form-grid{grid-template-columns:1fr}
.tw-contact-modern .field.full, .tw-contact-modern .consent, .tw-contact-modern .submit-row{grid-column:1}
.tw-contact-modern .submit-row{align-items:center;justify-content:center;flex-direction:column}
.tw-contact-modern .submit-row .btn{min-width:0;width:auto!important}
.tw-contact-modern .faq{padding:85px 0}
.tw-contact-modern .faq-head{margin-bottom:35px}
.tw-contact-modern .faq-item summary{min-height:68px;padding:18px 60px 18px 18px}
.tw-contact-modern .faq-answer{padding:0 58px 20px 18px}
}

    @media(max-width:500px){

.tw-contact-modern .hero-badge{font-size:8px}
.tw-contact-modern .availability{font-size:10px}
.tw-contact-modern .contact-card{padding:23px}
.tw-contact-modern .workspace-head h2, .tw-contact-modern .faq-head h2{font-size:clamp(1.55rem,7vw,2rem)}
.tw-contact-modern .map-panel{min-height:360px}
.tw-contact-modern .map-info strong{font-size:1rem}
.tw-contact-modern .form-panel h2{font-size:clamp(1.45rem,6.5vw,1.9rem)}
    }

    @media(prefers-reduced-motion:reduce){

.tw-contact-modern *, .tw-contact-modern *::before, .tw-contact-modern *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
    }
  
.tw-contact-modern .hero{padding-top:110px;min-height:760px}
@media(max-width:780px){.tw-contact-modern .hero{padding-top:90px;min-height:auto}}
.tw-contact-modern .pbx-lead-status{grid-column:1/-1;margin:8px 0 0;font-size:12px;font-weight:700}
.tw-contact-modern .pbx-lead-status.is-info{color:#3b82f6}
.tw-contact-modern .pbx-lead-status.is-success{color:#147a4b}
.tw-contact-modern .pbx-lead-status.is-error{color:#b91c1c}
.tw-contact-modern button.pbx-lead-submit[disabled]{opacity:.72;cursor:wait;pointer-events:none}

/* =========================================================
   Align typo Accueil (Space Grotesk / Inter)
   ========================================================= */
.tw-contact-modern {
  font-family: Inter, sans-serif !important;
  --red: #DC2626;
  --red-deep: #b91c1c;
  --red-soft: #f87171;
}

.tw-contact-modern h1,
.tw-contact-modern h2,
.tw-contact-modern h3,
.tw-contact-modern .signal-card strong,
.tw-contact-modern .map-info strong,
.tw-contact-modern .form-panel h2,
.tw-contact-modern .workspace-head h2,
.tw-contact-modern .faq-head h2,
.tw-contact-modern .contact-card h2 {
  font-family: "Space Grotesk", Inter, sans-serif !important;
  letter-spacing: -0.02em !important;
}

.tw-contact-modern .hero h1 {
  font-size: var(--tw-h1-size, clamp(1.8rem, 3.8vw, 3.4rem)) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  margin: 0 0 1.25rem !important;
  max-width: 36rem !important;
  letter-spacing: -0.02em !important;
}

.tw-contact-modern .hero h1 span {
  text-shadow: none !important;
  color: #DC2626 !important;
}

.tw-contact-modern .hero-copy,
.tw-contact-modern .form-intro,
.tw-contact-modern .workspace-head p,
.tw-contact-modern .faq-head p,
.tw-contact-modern .contact-card a,
.tw-contact-modern .contact-card p,
.tw-contact-modern .faq-answer {
  font-family: Inter, sans-serif !important;
  font-size: clamp(0.9rem, 1.05vw, 1rem) !important;
  line-height: 1.65 !important;
  letter-spacing: normal !important;
}

.tw-contact-modern .workspace-head p {
  max-width: 34rem;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.tw-contact-modern .map-info small {
  font-size: 8px !important;
  letter-spacing: 0.12em !important;
}

.tw-contact-modern .map-info strong {
  font-size: 1.05rem !important;
  line-height: 1.25 !important;
}

.tw-contact-modern .map-info p {
  font-family: Inter, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: #929cab !important;
}

.tw-contact-modern .hero-copy {
  font-size: clamp(0.95rem, 1.1vw, 1.05rem) !important;
  max-width: 34rem !important;
  color: #d1d5db !important;
}

.tw-contact-modern .hero-badge,
.tw-contact-modern .eyebrow,
.tw-contact-modern .faq-head .eyebrow,
.tw-contact-modern .form-panel .eyebrow {
  font-family: Inter, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
}

.tw-contact-modern .eyebrow::before {
  width: 42px !important;
  height: 1.5px !important;
  box-shadow: none !important;
  background: #DC2626 !important;
}

.tw-contact-modern .pulse-dot {
  width: 6px !important;
  height: 6px !important;
  background: #d93a3a !important;
  box-shadow: 0 0 0 3px rgba(217, 58, 58, 0.18) !important;
  animation: none !important;
}

.tw-contact-modern .workspace-head h2,
.tw-contact-modern .faq-head h2,
.tw-contact-modern .form-panel h2 {
  font-size: var(--tw-h2-size, clamp(1.8rem, 3.5vw, 2.8rem)) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  margin-top: 0.5rem !important;
}

.tw-contact-modern button.pbx-lead-submit.pbx-nav-audit-btn {
  width: auto !important;
  max-width: 100%;
  margin-inline: auto;
}

.tw-contact-modern button.pbx-lead-submit.pbx-nav-audit-btn .pbx-nav-audit-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 9999px !important;
  background: #fff !important;
  color: #DC2626 !important;
}

.tw-contact-modern button.pbx-lead-submit.pbx-nav-audit-btn .pbx-nav-audit-icon svg {
  width: 18px !important;
  height: 18px !important;
  transform: none !important;
}

.tw-contact-modern .contact-card h2 {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.tw-contact-modern .map-info strong {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.tw-contact-modern .contact-card small,
.tw-contact-modern .map-label,
.tw-contact-modern .signal-card small,
.tw-contact-modern .signal-node span,
.tw-contact-modern .field label {
  font-family: Inter, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
}

.tw-contact-modern .map-info small {
  font-size: 8px !important;
  letter-spacing: 0.12em !important;
  font-weight: 800 !important;
}

.tw-contact-modern .signal-card strong {
  font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.tw-contact-modern .btn,
.tw-contact-modern .pbx-lead-submit {
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
  border-radius: 100px !important;
  background: #DC2626 !important;
  background-image: none !important;
  border: none !important;
  box-shadow:
    rgba(220, 38, 38, 0.45) 0px 12px 40px,
    rgba(0, 0, 0, 0.3) 0px 4px 12px !important;
  min-height: 52px !important;
  height: 52px !important;
  padding: 4px 4px 4px 28px !important;
  gap: 1rem !important;
  overflow: hidden !important;
}

.tw-contact-modern .btn::before {
  display: none !important;
}

.tw-contact-modern a.btn.pbx-nav-audit-btn {
  width: auto !important;
  max-width: 100%;
}

.tw-contact-modern a.btn.pbx-nav-audit-btn .pbx-nav-audit-label {
  position: relative;
  z-index: 1;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.tw-contact-modern a.btn.pbx-nav-audit-btn .pbx-nav-audit-icon {
  position: relative;
  z-index: 1;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 9999px !important;
  background: #fff !important;
  color: #DC2626 !important;
  flex-shrink: 0;
}

.tw-contact-modern a.btn.pbx-nav-audit-btn .pbx-nav-audit-icon svg {
  width: 18px !important;
  height: 18px !important;
  transform: none !important;
}

.tw-contact-modern a.btn.pbx-nav-audit-btn:hover .pbx-nav-audit-icon svg {
  transform: none !important;
}

.tw-contact-modern .signal-node b {
  font-size: 11px !important;
  letter-spacing: normal !important;
  white-space: nowrap !important;
}

.tw-contact-modern .signal-node span {
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  white-space: nowrap !important;
  color: #9aa3b2 !important;
}

.tw-contact-modern .faq-item summary {
  font-family: "Space Grotesk", Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

.tw-contact-modern .faq-answer {
  font-size: 0.95rem !important;
  color: #9ca3af !important;
}

.tw-contact-modern .field input,
.tw-contact-modern .field select,
.tw-contact-modern .field textarea {
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
}

.tw-contact-modern .hero-layout {
  gap: 2.5rem !important;
}

.tw-contact-modern .workspace-head {
  grid-template-columns: .86fr 1.14fr !important;
  gap: 1.5rem !important;
  margin-bottom: 2rem !important;
  align-items: end;
}

.tw-contact-modern .contact-cards {
  gap: 1.25rem !important;
}

@media (max-width: 780px) {
  .tw-contact-modern .hero h1 {
    font-size: clamp(1.7rem, 7.5vw, 2.25rem) !important;
  }
  .tw-contact-modern .workspace-head {
    grid-template-columns: 1fr !important;
  }
  .tw-contact-modern .workspace-head h2,
  .tw-contact-modern .faq-head h2,
  .tw-contact-modern .form-panel h2 {
    font-size: clamp(1.55rem, 6vw, 2rem) !important;
  }
  .tw-contact-modern .nav-links a {
    font-family: Inter, sans-serif !important;
    font-size: 16px !important;
  }
  .tw-contact-modern .signal-glow,
  .tw-contact-modern .signal-ring {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
    grid-row: 1;
    grid-column: 1;
  }
  .tw-contact-modern .signal-card {
    grid-row: 1;
    grid-column: 1;
    transform: none !important;
  }
  .tw-contact-modern .signal-node,
  .tw-contact-modern .sn-1,
  .tw-contact-modern .sn-2,
  .tw-contact-modern .sn-3 {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  .tw-contact-modern .sn-1 { grid-row: 2; }
  .tw-contact-modern .sn-2 { grid-row: 3; }
  .tw-contact-modern .sn-3 { grid-row: 4; }
}

.tw-contact-modern .consent input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  accent-color: #9ca3af !important;
  border: 1.5px solid #9ca3af !important;
  outline: none !important;
  box-shadow: none !important;
}

.tw-contact-modern .consent input[type="checkbox"]:checked,
.tw-contact-modern .consent input[type="checkbox"]:focus,
.tw-contact-modern .consent input[type="checkbox"]:focus-visible,
.tw-contact-modern .consent input[type="checkbox"]:hover {
  border-color: #9ca3af !important;
  outline: none !important;
  box-shadow: none !important;
}