.contact-hero{background:url(/images/contact_hero.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:80vh;padding:80px 0 30px;display:flex;position:relative;overflow:hidden}.contact-hero .overlay{background:linear-gradient(#0c2334b3,#0c233480);position:absolute;inset:0}.contact-hero .container{z-index:2;text-align:center;color:#fff;width:min(1200px,90%);margin:auto;position:relative}.contact-hero .section-label{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.18em;margin-bottom:24px;font-size:.85rem;font-weight:700;display:inline-block}.contact-hero h1{max-width:850px;font-family:var(--font-title);color:#fff;margin:0 auto 28px;font-size:clamp(3rem,6vw,5.5rem);line-height:1.05}.contact-hero p{opacity:.95;max-width:780px;margin:auto;font-size:1.15rem;line-height:1.9}.hero-actions{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:55px;display:flex}@media (width<=768px){.contact-hero{min-height:75vh;padding:150px 0 80px}.contact-hero h1{font-size:2.7rem}.contact-hero p{font-size:1rem;line-height:1.8}.hero-actions{flex-direction:column;align-items:center}}.contact-infos{background:#fff;padding:120px 0}.contact-infos .container{grid-template-columns:1fr 1fr;align-items:start;gap:70px;width:min(1250px,90%);margin:auto;display:grid}.contact-infos .section-label{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.18em;margin-bottom:18px;font-size:.85rem;font-weight:700;display:block}.contact-infos h2{font-family:var(--font-title);color:var(--color-primary);margin-bottom:25px;font-size:clamp(2.4rem,4vw,3.8rem)}.contact-infos p{color:#66717e;line-height:1.9}.cards{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px;display:grid}.card{background:#f8f6f2;border-radius:20px;padding:28px}.card h3{color:var(--color-primary);margin-bottom:12px}.right iframe{border:none;border-radius:24px;width:100%;height:100%;min-height:600px;box-shadow:0 25px 60px #0000001a}@media (width<=1000px){.contact-infos .container{grid-template-columns:1fr}}@media (width<=768px){.contact-infos{padding:80px 0}.cards{grid-template-columns:1fr}.right iframe{min-height:420px}}.contact-form{background:#f8f6f2;padding:120px 0}.contact-form .container{width:min(1000px,90%);margin:auto}.intro{text-align:center;margin-bottom:60px}.section-label{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.18em;font-size:.85rem;font-weight:700}.intro h2{font-family:var(--font-title);color:var(--color-primary);margin:20px 0;font-size:clamp(2.4rem,4vw,3.8rem)}.intro p{color:#66717e;max-width:700px;margin:auto;line-height:1.9}.grid{grid-template-columns:repeat(2,1fr);gap:25px;display:grid}.field{flex-direction:column;margin-bottom:25px;display:flex}.field label{color:var(--color-primary);margin-bottom:8px;font-weight:600}.field input,.field select,.field textarea{background:#fff;border:1px solid #ddd;border-radius:14px;padding:16px;font-family:inherit;font-size:1rem}.field textarea{resize:vertical}button{background:var(--color-secondary);color:#fff;cursor:pointer;border:none;border-radius:50px;padding:18px 40px;font-size:1rem;font-weight:600;transition:all .3s}button:hover{transform:translateY(-2px)}.honeypot{display:none}@media (width<=768px){.contact-form{padding:80px 0}.grid{grid-template-columns:1fr}}.contact-message{border-radius:14px;margin:25px 0;padding:18px 22px;font-weight:600;line-height:1.6;animation:.25s fadeIn;display:none}.contact-message.success{color:#207245;background:#edf9f0;border:1px solid #8fd4a7;display:block}.contact-message.error{color:#b42318;background:#fff1f1;border:1px solid #f4b4b4;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.field input.error,.field textarea.error,.field select.error{background:#fff7f7;border-color:#c62828}.field-error{color:#c62828;min-height:18px;margin-top:6px;font-size:.85rem;display:block}.contact-faq{background:#fff;padding:120px 0}.contact-faq .container{width:min(1000px,90%);margin:auto}.contact-faq .section-header{text-align:center;margin-bottom:60px}.contact-faq .section-header span{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.18em;margin-bottom:18px;font-size:.85rem;font-weight:700;display:block}.contact-faq .section-header h2{font-family:var(--font-title);color:var(--color-primary);margin:0;font-size:clamp(2.5rem,4vw,3.8rem);line-height:1.15}.contact-faq .faq{flex-direction:column;gap:18px;display:flex}.contact-faq details{background:#f8f6f2;border-radius:18px;transition:all .3s;overflow:hidden}.contact-faq details[open]{box-shadow:0 18px 45px #0000000f}.contact-faq summary{cursor:pointer;color:var(--color-primary);user-select:none;padding:26px 70px 26px 30px;font-size:1.1rem;font-weight:600;list-style:none;position:relative}.contact-faq summary::-webkit-details-marker{display:none}.contact-faq summary:after{content:"+";color:var(--color-secondary);font-size:2rem;transition:all .3s;position:absolute;top:50%;right:28px;transform:translateY(-50%)}.contact-faq details[open] summary:after{transform:translateY(-50%)rotate(45deg)}.contact-faq details p{color:#66717e;margin:0;padding:0 30px 28px;line-height:1.9}@media (width<=768px){.contact-faq{padding:80px 0}.contact-faq summary{padding:22px 55px 22px 22px;font-size:1rem}.contact-faq details p{padding:0 22px 22px}}.access{background:#fff;padding:120px 0}.access .container{grid-template-columns:1fr 1fr;align-items:center;gap:80px;width:min(1250px,90%);margin:auto;display:grid}.image{justify-content:center;display:flex}.image img{aspect-ratio:4/5;object-fit:cover;border-radius:28px;width:100%;box-shadow:0 25px 60px #0000001a}.section-label{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.18em;margin-bottom:18px;font-size:.85rem;font-weight:700;display:block}.access h2{font-family:var(--font-title);color:var(--color-primary);margin:0 0 30px;font-size:clamp(2.5rem,4vw,3.8rem);line-height:1.15}.access p{color:#66717e;margin-bottom:24px;line-height:1.9}.infos{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px;display:grid}.info{background:#f8f6f2;border-radius:18px;padding:26px}.info h3{color:var(--color-primary);margin-bottom:12px;font-size:1.1rem}.info p{margin:0;font-size:.95rem}@media (width<=1000px){.access .container{grid-template-columns:1fr}}@media (width<=768px){.access{padding:80px 0}.infos{grid-template-columns:1fr}}
