:root{--primary-color: #101A36;--secondary-color: #1e40af;--accent-color: #3b82f6;--success-color: #059669;--light-gray: #f8fafc;--primary-gradient: linear-gradient(135deg,#101A36 0%,#1e5cb8 100%);--accent-gradient: linear-gradient(135deg,#3b82f6 0%,#60a5fa 100%);--success-gradient: linear-gradient(135deg,#059669 0%,#047857 100%);--glassmorphism: rgba(255,255,255,0.1);--backdrop-blur: blur(20px);--border-radius-lg: 24px;--border-radius-xl: 32px;--shadow-soft: 0 20px 40px rgba(11,63,137,0.08);--shadow-medium: 0 25px 50px rgba(11,63,137,0.12);--shadow-heavy: 0 35px 70px rgba(11,63,137,0.15);--transition-smooth: all 0.4s cubic-bezier(0.4,0,0.2,1);--transition-spring: all 0.6s cubic-bezier(0.175,0.885,0.32,1.275)}*{box-sizing: border-box}body{font-family: 'Inter',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background: linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);color: #1e293b;line-height: 1.7;margin: 0;padding: 0;overflow-x: hidden}main.site-main,#main,.site-main{padding-top: 0 !important;margin-top: 0 !important}.contact-hero{position: relative;background: linear-gradient(135deg,rgba(16,26,54,.80) 0%,rgba(43,16,82,.80) 100%),url('/img/headers/general/general-3.webp') center center/cover no-repeat #101A36;padding: calc(var(--header-height,65px) + 30px) 0 clamp(60px,8vw,80px);text-align: center;overflow: hidden}.contact-hero::before{content: '';position: absolute;inset: 0;display: none;z-index: 1}.hero-content{position: relative;z-index: 2;max-width: 1200px;margin: 0 auto;padding: 0 clamp(1rem,4vw,2rem)}.hero-title{font-size: clamp(3.5rem,8vw,6rem);font-weight: 900;color: white;margin-bottom: clamp(1rem,3vw,1.5rem);line-height: 1.1;letter-spacing: -0.025em;text-shadow: 0 4px 20px rgba(0,0,0,0.3)}.hero-subtitle{font-size: clamp(1.3rem,3vw,1.8rem);color: rgba(255,255,255,0.95);font-weight: 500;max-width: 850px;margin: 0 auto;line-height: 1.5;text-shadow: 0 2px 10px rgba(0,0,0,0.2)}.flash-messages{position: fixed;top: 20px;right: 20px;z-index: 9999;max-width: 400px}.flash-success,.flash-error{padding: 1rem 1.5rem;border-radius: var(--border-radius-lg);margin-bottom: 0.5rem;font-weight: 600;backdrop-filter: var(--backdrop-blur);border: 1px solid;animation: slideInRight 0.5s var(--transition-spring)}.flash-success{background: rgba(5,150,105,0.95);color: white;border-color: rgba(5,150,105,0.3);box-shadow: var(--shadow-soft)}.flash-error{background: rgba(239,68,68,0.95);color: white;border-color: rgba(239,68,68,0.3);box-shadow: var(--shadow-soft)}@keyframes slideInRight{from{transform: translateX(100%);opacity: 0}to{transform: translateX(0);opacity: 1}}.contact-container{max-width: 1400px;margin: -60px auto 0;padding: 0 clamp(1rem,4vw,2rem);position: relative;z-index: 10}.contact-content{display: grid;grid-template-columns: 1fr;gap: clamp(2rem,5vw,4rem);margin-bottom: clamp(3rem,6vw,5rem)}.contact-form-section{background: rgba(255,255,255,0.95);backdrop-filter: var(--backdrop-blur);border-radius: var(--border-radius-xl);padding: clamp(2.5rem,6vw,4rem);box-shadow: var(--shadow-heavy);border: 1px solid rgba(255,255,255,0.2);position: relative;overflow: hidden}.contact-form-section::before{content: '';position: absolute;top: 0;left: 0;right: 0;height: 6px;background: var(--primary-gradient);z-index: 1}.form-header{text-align: center;margin-bottom: clamp(2rem,4vw,3rem);position: relative;z-index: 2}.form-title{font-size: clamp(3rem,6vw,4rem);font-weight: 900;color: var(--primary-color);margin-bottom: 1.5rem;line-height: 1.2;letter-spacing: -0.02em}.form-subtitle{font-size: clamp(1.4rem,3vw,1.8rem);color: #64748b;font-weight: 500;max-width: 700px;margin: 0 auto clamp(2rem,4vw,3rem);line-height: 1.6}.form-urgency{background: linear-gradient(135deg,rgba(251,191,36,0.1),rgba(245,158,11,0.1));border: 2px solid #f59e0b;border-radius: var(--border-radius-lg);padding: clamp(1.25rem,3vw,2rem);text-align: center;margin-bottom: clamp(2.5rem,5vw,3.5rem);position: relative;overflow: hidden}.form-urgency::before{content: '';position: absolute;top: 0;left: -100%;right: 0;bottom: 0;background: linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);animation: shimmer 2s infinite}@keyframes shimmer{0%{left: -100%}100%{left: 100%}}.form-urgency-text{font-size: clamp(1.2rem,2.5vw,1.5rem);font-weight: 700;color: #92400e;margin: 0;position: relative;z-index: 1}.form-grid{display: flex;flex-direction: column;gap: 1.25rem;margin-bottom: 2rem}.form-group{position: relative;width: 100%}.form-group label{display: block;font-size: 0.95rem;font-weight: 700;color: var(--primary-color);margin-bottom: 0.5rem}.form-group label .required::after,.form-group label span[title="Obligatoire"],label .required{color: #dc2626 !important;font-weight: 700}@media (min-width: 768px){.form-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 1.5rem;margin-bottom: 2.5rem}.form-group label{font-size: 1.05rem;margin-bottom: 0.75rem}.form-group.full-width{grid-column: 1 / -1}}.form-group input:not([type="radio"]),.form-group textarea,.form-group select{width: 100%;padding: 1rem 1.25rem;font-size: 1rem;line-height: 1.5;color: #1e293b;background: white;border: 2px solid #e2e8f0;border-radius: 12px;transition: var(--transition-smooth);font-family: inherit}.form-group input:not([type="radio"]):focus,.form-group textarea:focus,.form-group select:focus{outline: none;border-color: var(--primary-color);box-shadow: 0 0 0 3px rgba(11,63,137,0.1)}.form-group{position: relative}@media (min-width: 768px){.form-group input:not([type="radio"]),.form-group textarea,.form-group select{padding: 1.25rem 1.5rem;font-size: 1.1rem}}.form-group textarea{min-height: 140px;resize: vertical}.form-group select{cursor: pointer;appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%230b3f89'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 1.5rem center;background-size: 1.5em;padding-right: 4rem}input[type="radio"]{appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;width: 20px !important;height: 20px !important;min-width: 20px !important;min-height: 20px !important;border: 2px solid #cbd5e1 !important;border-radius: 50% !important;cursor: pointer !important;transition: all 0.2s ease !important;margin: 0 !important}input[type="radio"]:checked{border-color: #101A36 !important;border-width: 6px !important;background: white !important}#contact_form_requestType,div[id*="requestType"].custom-radio{display: grid !important;grid-template-columns: 20px 1fr !important;gap: 0.75rem !important;align-items: center !important}#contact_form_requestType label,div[id*="requestType"].custom-radio label{cursor: pointer !important;padding: 1rem !important;margin: 0 !important;font-size: 0.95rem !important;color: #475569 !important;font-weight: 500 !important;line-height: 1.5 !important;background: white !important;border: 2px solid #e2e8f0 !important;border-radius: 12px !important;transition: all 0.2s ease !important}#contact_form_requestType label:hover,div[id*="requestType"].custom-radio label:hover{border-color: #101A36 !important;background: #f8fafc !important}#contact_form_requestType input[type="radio"]:checked + label,div[id*="requestType"].custom-radio input[type="radio"]:checked + label{background: rgba(11,63,137,0.05) !important;border-color: #101A36 !important;box-shadow: 0 0 0 3px rgba(11,63,137,0.1) !important;color: #101A36 !important;font-weight: 700 !important}@media (min-width: 768px){#contact_form_requestType label,div[id*="requestType"].custom-radio label{padding: 1.25rem !important;font-size: 1.05rem !important}}.submit-section{text-align: center;margin-top: 2rem}.submit-btn{display: inline-flex;align-items: center;justify-content: center;gap: 0.75rem;padding: 1rem 2rem;width: 100%;max-width: 100%;font-size: 1rem;font-weight: 700;color: white;background: var(--primary-gradient);border: none;border-radius: 12px;cursor: pointer;transition: var(--transition-smooth);box-shadow: 0 4px 12px rgba(11,63,137,0.25)}@media (min-width: 768px){.submit-section{margin-top: 3rem}.submit-btn{width: auto;min-width: 320px;padding: 1.25rem 3rem;font-size: 1.2rem}}.submit-btn::before{content: '';position: absolute;inset: 0;background: linear-gradient(45deg,transparent 30%,rgba(255,255,255,0.1) 50%,transparent 70%);transform: translateX(-100%);transition: transform 0.6s}.submit-btn:hover{transform: translateY(-4px) scale(1.02);box-shadow: var(--shadow-heavy),0 0 0 4px rgba(59,130,246,0.2)}.submit-btn:hover::before{transform: translateX(100%)}.submit-btn:active{transform: translateY(-2px) scale(0.98)}.contact-info-section{display: grid;grid-template-columns: repeat(auto-fit,minmax(300px,1fr));gap: clamp(2rem,4vw,3rem);margin: clamp(3rem,6vw,5rem) 0}.contact-info-card{background: rgba(255,255,255,0.95);backdrop-filter: var(--backdrop-blur);border-radius: var(--border-radius-xl);padding: clamp(2rem,4vw,3rem);text-align: center;box-shadow: var(--shadow-medium);border: 1px solid rgba(255,255,255,0.2);transition: var(--transition-spring);position: relative;overflow: hidden}.contact-info-card::before{content: '';position: absolute;top: 0;left: 0;right: 0;height: 4px;background: var(--accent-gradient);transform: scaleX(0);transition: transform 0.5s var(--transition-spring)}.contact-info-card:hover{transform: translateY(-8px);box-shadow: var(--shadow-heavy)}.contact-info-card:hover::before{transform: scaleX(1)}.contact-info-icon{width: 80px;height: 80px;background: var(--accent-gradient);border-radius: 50%;display: flex;align-items: center;justify-content: center;margin: 0 auto 1.5rem;color: white;font-size: 2rem;box-shadow: var(--shadow-soft);transition: var(--transition-spring)}.contact-info-card:hover .contact-info-icon{transform: scale(1.1) rotate(5deg);box-shadow: var(--shadow-medium)}.contact-info-card.clickable{cursor: pointer;text-decoration: none;display: block;color: inherit}.contact-info-card.clickable:hover{transform: translateY(-10px);box-shadow: var(--shadow-heavy),0 0 0 3px rgba(59,130,246,0.2)}.contact-info-card.clickable:active{transform: translateY(-6px)}.contact-info-title{font-size: 1.8rem;font-weight: 800;color: var(--primary-color);margin-bottom: 1rem}.contact-info-text{font-size: 1.3rem;color: #64748b;font-weight: 500;line-height: 1.6}.calendly-section{background: linear-gradient(135deg,rgba(11,63,137,0.05),rgba(59,130,246,0.05));border-radius: var(--border-radius-xl);padding: clamp(2.5rem,5vw,4rem) clamp(2.5rem,5vw,4rem) 0 clamp(2.5rem,5vw,4rem);text-align: center;margin: clamp(3rem,6vw,5rem) 0 0 0;border: 2px solid rgba(59,130,246,0.1);position: relative;overflow: hidden}.calendly-section::before{content: '';position: absolute;inset: 0;background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60"><circle cx="30" cy="30" r="1" fill="rgba(59,130,246,0.1)"/></svg>');z-index: 1}.calendly-content{position: relative;z-index: 2}.calendly-section h3{font-size: clamp(2.5rem,5vw,3.5rem);font-weight: 800;color: var(--primary-color);margin-bottom: 1.5rem;line-height: 1.2}.calendly-section p{font-size: clamp(1.3rem,3vw,1.6rem);color: #64748b;font-weight: 500;margin-bottom: 2.5rem;max-width: 600px;margin-left: auto;margin-right: auto}.calendly-alternative{display: flex;align-items: center;gap: 0.75rem;margin-top: 2rem;padding-top: 1.5rem;border-top: 1px solid rgba(100,116,139,0.15)}.calendly-alternative-label{font-size: 0.95rem;color: #64748b;font-weight: 600;font-style: italic}.calendly-external-btn{display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.75rem 1.3rem;font-size: 0.95rem;font-weight: 600;color: white;background: linear-gradient(135deg,#101A36,#1e5bb8);border: none;border-radius: 10px;text-decoration: none;transition: all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow: 0 4px 12px rgba(11,63,137,0.25);position: relative;overflow: hidden}.calendly-external-btn::before{content: '';position: absolute;top: 0;left: -100%;width: 100%;height: 100%;background: linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition: left 0.5s}.calendly-external-btn:hover{background: linear-gradient(135deg,#1e5bb8,#101A36);transform: translateY(-3px);box-shadow: 0 6px 20px rgba(11,63,137,0.35);color: white}.calendly-external-btn:hover::before{left: 100%}.calendly-external-btn:active{transform: translateY(-1px);box-shadow: 0 3px 10px rgba(11,63,137,0.3)}.calendly-external-btn svg{flex-shrink: 0;transition: transform 0.3s ease}.calendly-external-btn:hover svg{transform: translateX(3px) translateY(-3px)}@media (min-width: 1024px){.calendly-content{display: grid;grid-template-columns: 400px 1fr;gap: 3rem;align-items: start;text-align: left}.calendly-text-wrapper{position: sticky;top: 120px}.calendly-section h3{text-align: left;margin-bottom: 1.5rem}.calendly-section p{text-align: left;margin-left: 0;margin-right: 0;margin-bottom: 0}.calendly-alternative{justify-content: flex-start}}.calendly-btn{display: inline-flex;align-items: center;justify-content: center;gap: 1rem;padding: 1.5rem 3rem;font-size: 1.3rem;font-weight: 700;color: white;background: var(--accent-gradient);text-decoration: none;border-radius: var(--border-radius-lg);transition: var(--transition-spring);box-shadow: var(--shadow-medium);position: relative;overflow: hidden}.calendly-btn::before{content: '';position: absolute;inset: 0;background: linear-gradient(45deg,transparent 30%,rgba(255,255,255,0.2) 50%,transparent 70%);transform: translateX(-100%);transition: transform 0.6s}.calendly-btn:hover{transform: translateY(-4px) scale(1.05);box-shadow: var(--shadow-heavy);text-decoration: none;color: white}.calendly-btn:hover::before{transform: translateX(100%)}.map-full-section{background: rgba(255,255,255,0.95);backdrop-filter: var(--backdrop-blur);border-radius: var(--border-radius-xl);padding: clamp(2.5rem,5vw,4rem);margin: clamp(3rem,6vw,5rem) 0;box-shadow: var(--shadow-heavy);border: 1px solid rgba(255,255,255,0.2);position: relative;overflow: hidden}.map-full-section::before{content: '';position: absolute;top: 0;left: 0;right: 0;height: 6px;background: var(--success-gradient);z-index: 1}.map-header{text-align: center;margin-bottom: clamp(2rem,4vw,3rem);position: relative;z-index: 2}.map-title{font-size: clamp(3rem,6vw,4rem);font-weight: 900;color: var(--primary-color);margin-bottom: 1.5rem;line-height: 1.2;letter-spacing: -0.02em}.map-subtitle{font-size: clamp(1.4rem,3vw,1.8rem);color: #64748b;font-weight: 500;max-width: 700px;margin: 0 auto;line-height: 1.6}.map-container{position: relative;border-radius: var(--border-radius-lg);overflow: hidden;box-shadow: var(--shadow-medium);background: #f8fafc;z-index: 2}.map-container iframe{width: 100%;height: clamp(350px,50vw,500px);border: none;transition: var(--transition-smooth)}.map-container:hover iframe{transform: scale(1.02)}@media (max-width: 1200px){.contact-container{margin-top: -40px}.contact-form-section{padding: clamp(2rem,5vw,3rem)}.form-grid{grid-template-columns: 1fr}.contact-info-section{grid-template-columns: repeat(auto-fit,minmax(250px,1fr));gap: 2rem}}@media (max-width: 968px){.hero-title{font-size: clamp(3rem,10vw,4.5rem)}.contact-container{padding: 0 1.5rem;margin-top: -30px}.contact-form-section,.map-full-section{padding: clamp(2rem,6vw,2.5rem)}.calendly-section{padding: clamp(2rem,6vw,2.5rem) clamp(2rem,6vw,2.5rem) 0 clamp(2rem,6vw,2.5rem)}.submit-btn{width: 100%;min-width: auto}.contact-info-section{grid-template-columns: 1fr;gap: 1.5rem}.contact-info-card{padding: 2rem 1.5rem}}@media (max-width: 768px){.contact-hero{padding: calc(var(--header-height) + 20px) 0 clamp(40px,8vw,60px)}.hero-content{padding: 0 1.5rem}.contact-container{padding: 0 1rem;margin-top: -20px}.form-grid{gap: 1.5rem}.form-group input,.form-group textarea{padding: 1.25rem 1.5rem;font-size: 1.2rem}.form-group label{font-size: 1.2rem}.contact-info-icon{width: 60px;height: 60px;font-size: 1.5rem}.flash-messages{left: 10px;right: 10px;top: 10px;max-width: none}}@media (max-width: 480px){.contact-hero{padding: calc(var(--header-height) + 16px) 0 clamp(30px,10vw,50px)}.hero-content,.contact-container{padding: 0 1rem}.contact-form-section,.map-full-section{padding: 1.5rem;border-radius: 20px}.calendly-section{padding: 1.5rem 1.5rem 0 1.5rem;border-radius: 20px}.form-urgency{padding: 1rem}.submit-btn,.calendly-btn{padding: 1.25rem 2.5rem;font-size: 1.2rem}.contact-info-card{padding: 1.5rem}.map-container iframe{height: 300px}}@media (max-width: 360px){.contact-container{padding: 0 0.5rem !important}.calendly-section{padding: 1rem 1rem 0 1rem !important;margin: 2rem 0 0 0 !important;overflow: visible !important}.calendly-content{overflow: visible !important}.calendly-text-wrapper{padding: 0 !important;margin-bottom: 1.5rem !important}.calendly-section h3{font-size: 1.8rem !important}.calendly-section p{font-size: 1rem !important}.calendly-iframe-wrapper{width: 100% !important;overflow: visible !important}}@keyframes fadeInUp{from{opacity: 0;transform: translateY(30px)}to{opacity: 1;transform: translateY(0)}}.contact-form-section,.contact-info-card,.calendly-section,.map-full-section{animation: fadeInUp 0.8s ease-out both}.contact-info-card:nth-child(1){animation-delay: 0.1s}.contact-info-card:nth-child(2){animation-delay: 0.2s}.contact-info-card:nth-child(3){animation-delay: 0.3s}.calendly-section{animation-delay: 0.4s}.map-full-section{animation-delay: 0.5s}:root{--light-gray:#0d1631!important;--success-color:#3C65CF!important;--success-gradient:linear-gradient(135deg,#3C65CF 0%,#264083 100%)!important}body{background:#101A36!important;color:#e8edf7!important}h1,h2,h3,h4,h5,h6{color:#ffffff!important}p strong,li strong,strong,b{color:#ffffff!important}.contact-form-section,.contact-info-card,.map-full-section,.calendly-section{background:#16224a!important;border:1px solid rgba(60,101,207,.35)!important;box-shadow:0 20px 40px rgba(0,0,0,.35)!important}.map-container{background:#0d1631!important}.contact-info-card p,.contact-info-card span,.contact-info-card li,.contact-info-card div{color:#e8edf7!important}.contact-info-card a{color:#6E9BFF!important}.form-group label{color:#e8edf7!important}.form-group input:not([type="radio"]),.form-group textarea,.form-group select{background:#0d1631!important;color:#ffffff!important;border:2px solid rgba(60,101,207,.4)!important}.form-group input:not([type="radio"]):focus,.form-group textarea:focus,.form-group select:focus{border-color:#3C65CF!important;box-shadow:0 0 0 3px rgba(60,101,207,.25)!important}.form-group input::placeholder,.form-group textarea::placeholder{color:#9fb0cf!important;opacity:1!important}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236E9BFF'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 1.5rem center!important;background-size:1.5em!important}.form-group select option{background:#0d1631!important;color:#ffffff!important}input[type="radio"]{border-color:#3C65CF!important;background:#0d1631!important}input[type="radio"]:checked{border-color:#6E9BFF!important;background:#0d1631!important}#contact_form_requestType label,div[id*="requestType"].custom-radio label{background:#16224a!important;color:#e8edf7!important;border:2px solid rgba(60,101,207,.35)!important}#contact_form_requestType label:hover,div[id*="requestType"].custom-radio label:hover{background:#1c2a55!important;border-color:#3C65CF!important}#contact_form_requestType input[type="radio"]:checked + label,div[id*="requestType"].custom-radio input[type="radio"]:checked + label{background:rgba(60,101,207,.18)!important;border-color:#3C65CF!important;color:#ffffff!important}.submit-btn{background:#2B1052!important;border:1px solid #7300FF!important;border-radius:24px!important;color:#ffffff!important;box-shadow:0 8px 24px rgba(115,0,255,.28)!important}.calendly-external-btn{background:rgba(38,64,131,.7)!important;border:1px solid #3C65CF!important;border-radius:24px!important;color:#ffffff!important;box-shadow:0 8px 24px rgba(0,0,0,.3)!important}.calendly-external-btn:hover{background:rgba(60,101,207,.85)!important;color:#ffffff!important}.flash-success{background:rgba(60,101,207,.95)!important;border-color:#3C65CF!important;color:#ffffff!important}.form-subtitle,.map-subtitle,.section-subtitle{color:#c7d3ea!important}.map-full-section p,.map-container p{color:#c7d3ea!important}