/* V31 • Secure W contact experience */
body[data-hero-topic="contact"] .v31-contact-hero{min-height:clamp(400px,43vw,600px)!important}
body[data-hero-topic="contact"] .v31-contact-hero .hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.v31-contact-section{position:relative;padding:clamp(75px,8vw,130px) 0;background:radial-gradient(ellipse at 0 8%,#183a4d 0%,transparent 55%),#091c2a}
.v31-contact-wrap{max-width:1440px}
.v31-contact-heading{max-width:800px;padding-bottom:36px}
.v31-contact-heading h2,.v31-location-heading h2{font-size:clamp(2.8rem,5.2vw,5.7rem)!important;line-height:1.05!important;letter-spacing:-.064em!important;margin:16px 0!important}
.v31-contact-heading p{max-width:690px;line-height:1.75;color:#c3d6df;font-size:clamp(1rem,1.3vw,1.15rem)}
.v31-contact-grid{display:grid;grid-template-columns:minmax(310px,.84fr) minmax(0,1.16fr);gap:20px;align-items:stretch}
.v31-contact-aside{position:relative;overflow:hidden;border-radius:20px;padding:clamp(28px,3.5vw,52px);background:linear-gradient(158deg,#173a4e,#0a1e2d 72%);border:1px solid #406173;display:flex;flex-direction:column;min-width:0}
.v31-contact-aside:before{content:'';position:absolute;width:320px;height:320px;border:1px solid #dcd85e24;border-radius:50%;right:-115px;top:-115px;box-shadow:0 0 0 55px #ffffff04,0 0 0 110px #ffffff02;pointer-events:none}
.v31-aside-eyebrow,.v31-form-step{font-size:.7rem;letter-spacing:.19em;font-weight:850;color:#e4df6d}
.v31-aside-eyebrow b{color:#aec2d1}
.v31-contact-aside h3{font-size:clamp(2.1rem,3.1vw,3.8rem)!important;line-height:1.08;letter-spacing:-.065em;margin:40px 0 18px}
.v31-contact-aside-top p{color:#c2d6e0;line-height:1.85;max-width:32rem;font-size:1rem}
.v31-contact-direct{display:grid;gap:13px;margin:clamp(34px,5vw,65px) 0}
.v31-contact-link{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #ffffff24;text-decoration:none!important;color:#fff!important;min-width:0}
.v31-contact-link:hover{border-bottom-color:#e1d95c}
.v31-contact-link .v31-link-ic{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;background:#dcd85e13;border:1px solid #dcd85e5a;color:#e4de77;border-radius:11px;font-size:1.3rem}
.v31-contact-link>span:last-child{min-width:0}
.v31-contact-link small{display:block;color:#a9c5d3;font-size:.66rem;letter-spacing:.16em;font-weight:800;margin-bottom:6px}
.v31-contact-link strong{font-size:clamp(.91rem,1.38vw,1.18rem);overflow-wrap:anywhere;color:#f5fbfe}
.v31-aside-strap{display:flex;gap:12px;align-items:center;margin-top:auto;color:#d4e1e8;font-size:.81rem;letter-spacing:.08em}
.v31-strap-mark{width:31px;height:3px;border-radius:6px;background:#ded85f}
.v31-form-design{background:#f5f8fa;color:#0b2638;border:1px solid #b5d0dd;border-radius:20px;overflow:hidden;box-shadow:0 30px 65px #0003;min-width:0}
.v31-form-caption{position:relative;padding:clamp(25px,3vw,43px) clamp(25px,3vw,42px) 24px;background:linear-gradient(115deg,#ebf3f6,#f7f9fa);display:flex;align-items:start;justify-content:space-between;gap:15px;border-bottom:1px solid #d4e3e9}
.v31-form-step{color:#365d75}
.v31-form-caption h3{font-size:clamp(2rem,3.0vw,3.4rem)!important;color:#142f42;letter-spacing:-.059em;line-height:1.1;margin:14px 0!important}
.v31-form-caption p{color:#496779;font-size:.96rem;line-height:1.55;margin:0;max-width:380px}
.v31-form-badge{flex:0 0 47px;width:47px;height:47px;display:grid;place-items:center;background:#dcd85e;border-radius:50%;font-size:1.4rem;color:#182c3d}
.v31-form-native{background:#fff;overflow:hidden;min-width:0}
.v31-form-native iframe{width:100%;height:850px;border:0;display:block;background:#fff}
.v31-form-bottom{padding:17px clamp(23px,2.7vw,38px);background:#e9f1f5;border-top:1px solid #d0e0e8;display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;color:#36536a;font-size:.79rem;font-weight:700}
.v31-form-bottom a{color:#165c86!important;text-decoration:underline;text-underline-offset:3px;font-weight:800}
.v31-check{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:5px;background:#2b7963;color:white;border-radius:50%;font-size:.8rem}
.v31-location-section{position:relative;padding:clamp(70px,8vw,120px) 0 clamp(70px,8vw,110px);background:radial-gradient(ellipse at 100% 20%,#1b3955a6,transparent 52%),#081621}
.v31-location-heading{display:flex;align-items:end;justify-content:space-between;gap:20px 55px;flex-wrap:wrap;margin-bottom:30px}
.v31-location-heading>div{min-width:0}
.v31-location-heading p{color:#b6cfdb;line-height:1.75;border-left:3px solid #e0db69;padding:8px 0 8px 20px;font-size:1rem}
.v31-location-heading p strong{color:#f2f7fa}
.v31-map-frame{overflow:hidden;border-radius:20px;border:1px solid #47677a;box-shadow:0 28px 70px #0005;background:#112d42}
.v31-map-stage{position:relative;width:100%;height:clamp(370px,38vw,560px);background:#0c2b3e;overflow:hidden}
.v31-map-cover{position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,#285371 0%,#143249 42%,#0a2133 90%);isolation:isolate}
.v31-map-grid{position:absolute;inset:-20%;background-image:linear-gradient(34deg,transparent 48.5%,#88bed02e 49.5%,#88bed02e 50.5%,transparent 51.5%),linear-gradient(-27deg,transparent 49%,#a0c5d521 49.7%,#a0c5d521 50.5%,transparent 51%),linear-gradient(#91bed514 1px,transparent 1px),linear-gradient(90deg,#91bed514 1px,transparent 1px);background-size:240px 240px,340px 340px,55px 55px,55px 55px;transform:rotate(-12deg) scale(1.15);opacity:.8;pointer-events:none}
.v31-map-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071725e8,#071725a9 51%,transparent 90%);pointer-events:none}
.v31-map-pulse{position:absolute;z-index:1;right:21%;top:42%;width:115px;height:115px;border-radius:50%;border:1px solid #e1dc7377;box-shadow:0 0 0 32px #dbd9650c,0 0 0 65px #dbd9650a;display:grid;place-items:center}
.v31-map-pin{font-size:4.2rem;color:#e0da60;text-shadow:0 0 26px #d4db6880}
.v31-map-overlay{position:absolute;z-index:2;left:clamp(22px,6vw,92px);top:50%;transform:translateY(-50%);max-width:600px}
.v31-map-overlay>span{display:block;letter-spacing:.19em;color:#e3df71;font-size:.72rem;font-weight:900}
.v31-map-overlay h3{font-size:clamp(2.8rem,6vw,6.3rem)!important;letter-spacing:-.07em;line-height:1.04;margin:22px 0 15px!important;color:#f9fbff}
.v31-map-overlay h3 span{color:#e0dc73}
.v31-map-overlay p{color:#c3d8e1;font-size:1rem;line-height:1.6;max-width:410px}
.v31-map-open{border:0;background:#e0dc66;color:#0a2634;border-radius:9px;font-weight:900;letter-spacing:.075em;padding:17px 20px;min-height:51px;margin-top:23px;cursor:pointer}
.v31-map-open:hover{background:#f0eb84}
.v31-map-open:focus-visible,.v31-map-action:focus-visible{outline:3px solid #e3de66;outline-offset:4px}
.v31-map-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#d7e4eb}
.v31-map-iframe[hidden]{display:none!important}
.v31-map-foot{display:flex;gap:18px 28px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:24px clamp(22px,3vw,40px)}
.v31-map-address-label{display:block;color:#a9becd;font-size:.67rem;font-weight:850;letter-spacing:.16em;margin-bottom:9px}
.v31-map-foot strong{color:#f3f8fc;font-size:clamp(.94rem,1.2vw,1.07rem)}
.v31-map-actions{display:flex;gap:9px;flex-wrap:wrap}
.v31-map-action{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;color:#f3f9fc!important;text-decoration:none!important;padding:12px 15px;background:#234154;border:1px solid #577184;border-radius:9px;font-weight:800;font-size:.74rem;letter-spacing:.045em;min-height:45px}
.v31-map-action span{font-size:1.3rem}
.v31-map-action:hover{background:#32556a}
.v31-map-primary{background:#e0dc66!important;color:#132839!important;border-color:#e0dc66!important}
.v31-map-primary:hover{background:#f0eb84!important}
.v31-map-disclaimer{margin:14px 0 0;color:#8ea5b5;font-size:.75rem;line-height:1.65}
@media(max-width:1100px){.v31-contact-grid{grid-template-columns:1fr}.v31-contact-aside{padding:30px 35px}.v31-contact-aside h3{font-size:clamp(2.1rem,4.5vw,3.4rem)}.v31-contact-direct{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:25px 0}.v31-contact-link{align-items:flex-start;flex-direction:column}.v31-contact-link strong{font-size:.9rem}}
@media(max-width:700px){.v31-contact-section,.v31-location-section{padding-block:65px}.v31-contact-grid{gap:14px}.v31-contact-heading h2,.v31-location-heading h2{font-size:clamp(2.5rem,10vw,4rem)!important}.v31-contact-aside{padding:27px 23px;border-radius:14px}.v31-contact-aside h3{margin:20px 0;font-size:2.2rem}.v31-contact-direct{grid-template-columns:1fr;gap:5px;margin:18px 0 26px}.v31-contact-link{flex-direction:row;align-items:center;padding:12px 0}.v31-form-design,.v31-map-frame{border-radius:14px}.v31-form-caption{padding:25px 21px 19px}.v31-form-native iframe{height:990px}.v31-form-bottom{padding:17px 20px}.v31-location-heading p{margin-top:0;font-size:.93rem}.v31-map-stage{height:440px}.v31-map-overlay{left:23px;right:23px;top:auto;bottom:32px;transform:none}.v31-map-overlay h3{font-size:clamp(2.6rem,9vw,4.2rem)!important}.v31-map-cover:after{background:linear-gradient(0deg,#071725fa,#071725ae 68%,transparent 100%)}.v31-map-pulse{right:15%;top:14%;transform:scale(.7)}.v31-map-foot{padding:21px}.v31-map-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.v31-map-action{justify-content:center;padding:11px 9px;font-size:.68rem;white-space:normal;text-align:center}.v31-map-primary{grid-column:1/-1}}
@media(max-width:390px){.v31-map-actions{grid-template-columns:1fr}.v31-map-primary{grid-column:auto}.v31-form-native iframe{height:1080px}}