.contact-section{padding:0 0 clamp(72px,10vh,120px)}.contact-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:clamp(36px,5vw,80px);display:grid}@media (max-width:920px){.contact-grid{grid-template-columns:1fr}}.form-col h2{margin-bottom:14px;font-size:clamp(28px,3.4vw,44px)}.contact-form{flex-direction:column;gap:18px;margin-top:28px;display:flex}.row{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (max-width:600px){.row{grid-template-columns:1fr}}.field{flex-direction:column;gap:8px;display:flex}.field>span{letter-spacing:.04em;color:var(--violet);font-size:13px;font-weight:600}.field input,.field select,.field textarea{border:1.5px solid var(--line);width:100%;font-family:var(--sans);color:var(--ink);background:#fff;border-radius:10px;padding:14px 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}.field input::placeholder,.field textarea::placeholder{color:#1f1a2e59}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--magenta);outline:none;box-shadow:0 0 0 4px #b5179e26}.field textarea{resize:vertical;min-height:120px}.consent{color:var(--ink-2);gap:12px;font-size:13px;display:flex}.consent label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.consent input[type=checkbox]{width:18px;height:18px;accent-color:var(--magenta);flex-shrink:0;margin-top:2px}.consent a{color:var(--magenta);text-decoration:underline}.contact-form button[type=submit]{align-self:flex-start;margin-top:6px}.form-rgpd{color:var(--ink-2);max-width:440px;margin:0;font-size:12px}.info-col{flex-direction:column;gap:20px;display:flex;position:sticky;top:100px}@media (max-width:920px){.info-col{position:static}}.info-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:32px;box-shadow:0 30px 60px -40px #4b1e7840}.info-card h3{color:var(--violet);margin-bottom:22px;font-size:22px}.info-list{flex-direction:column;gap:18px;margin:0 0 24px;padding:0;list-style:none;display:flex}.info-list li{align-items:flex-start;gap:14px;display:flex}.info-list .ic{background:var(--grad-signature);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.info-list strong{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.info-list a:hover{color:var(--magenta)}.info-list .muted{color:var(--ink-2);margin-top:4px;font-size:12px;display:block}.socials{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-top:22px;display:flex}.socials a{border:1.5px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.socials a:hover{border-color:var(--magenta);color:var(--magenta)}.map{border:1px solid var(--line);background:linear-gradient(135deg,#f3ecf5 0%,#fbf7f2 100%);border-radius:16px;height:280px;position:relative;overflow:hidden}.map-grid{background-image:linear-gradient(#4b1e780f 1px,#0000 1px),linear-gradient(90deg,#4b1e780f 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.map-roads{position:absolute;inset:0}.road{background:#4b1e781a;position:absolute}.road.r1{height:14px;top:60%;left:0;right:0;transform:rotate(-3deg)}.road.r2{width:10px;top:0;bottom:0;left:30%;transform:rotate(8deg)}.road.r3{background:#4b1e7812;height:8px;top:30%;left:0;right:0;transform:rotate(2deg)}.map-marker{z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.marker-pin{background:var(--grad-signature);border:3px solid #fff;border-radius:50% 50% 50% 0;width:28px;height:28px;transform:rotate(-45deg);box-shadow:0 8px 20px -6px #e84a7f80}.marker-pulse{background:var(--rose);opacity:.6;border-radius:999px;width:14px;height:14px;animation:2s ease-out infinite pulse;position:absolute;top:100%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{0%{opacity:.6;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(4)}}.map-label{color:var(--violet);background:#fff;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:600;position:absolute;bottom:16px;left:16px;box-shadow:0 6px 20px -8px #4b1e784d}
