/* Contact page styles - scoped to avoid changing the homepage */
.contact-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;max-width:1440px;width:calc(100% - 40px);min-height:500px;margin:10px auto 0;padding:clamp(35px,6vw,82px);border-radius:28px;background:linear-gradient(135deg,#f4f8ff 0%,#fff 58%,#edf3ff 100%)}
.contact-hero-copy{position:relative;z-index:2;max-width:600px;animation:contact-rise .8s both}
.contact-kicker{display:inline-flex;align-items:center;gap:9px;font-size:.7rem;font-weight:800;letter-spacing:.14em;color:var(--blue,#3478F6)}
.contact-kicker>span{width:8px;height:8px;border-radius:50%;background:#3478F6;box-shadow:0 0 0 5px #3478f61c}
.contact-hero h1{font-size:clamp(2.8rem,5.4vw,5.3rem);line-height:1.02;letter-spacing:-.075em;color:#10294B;margin:22px 0 18px;font-weight:800}
.contact-hero h1 em,.contact-info-heading h2 em,.message-form-panel h2 em,.contact-bottom-cta h2 em{font-style:normal;color:#3478F6}
.contact-hero-copy>p{max-width:490px;font-size:.96rem;line-height:1.85;color:#68788e}
.contact-primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 20px;border-radius:11px;background:#3478F6;color:#fff;font-weight:750;font-size:.84rem;box-shadow:0 12px 25px #3478f62b;transition:transform .25s,box-shadow .25s,background .25s}
.contact-primary-btn:hover{transform:translateY(-3px);box-shadow:0 16px 30px #3478f645;background:#2468e8}
.contact-hero .contact-primary-btn{margin-top:25px}
.contact-hero-points{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:28px;color:#52657d;font-size:.72rem;font-weight:650}
.contact-hero-points span:first-letter{color:#3478F6}
.contact-hero-visual{position:relative;z-index:1;min-height:330px;animation:contact-rise .9s .12s both}
.contact-hero-visual>img{position:absolute;inset:0;width:100%;height:100%;min-height:330px;object-fit:cover;border-radius:25px;box-shadow:0 25px 55px #10294b26}
.visual-glow{position:absolute;inset:-15px 15px 15px -15px;border:1px solid #3478f64d;border-radius:30px;z-index:-1;animation:glow-pulse 4s ease-in-out infinite}
.floating-note{position:absolute;display:flex;align-items:center;gap:11px;padding:13px 16px;border:1px solid #ffffffb5;border-radius:14px;background:#ffffffed;box-shadow:0 14px 35px #10294b1c;backdrop-filter:blur(12px);animation:float-note 4s ease-in-out infinite}
.floating-note strong,.floating-note small{display:block}.floating-note strong{font-size:.76rem;color:#10294B}.floating-note small{font-size:.65rem;color:#718097;margin-top:2px}
.note-top{top:20px;left:-25px}.note-bottom{right:-18px;bottom:22px}.note-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#eaf1ff;color:#3478F6;font-size:1.2rem}.online-dot{width:9px;height:9px;border-radius:50%;background:#22a477;box-shadow:0 0 0 5px #22a47720}
.hero-orb{position:absolute;z-index:-1;border-radius:50%;border:1px solid #3478f61a;pointer-events:none}.orb-one{width:280px;height:280px;right:36%;top:-180px}.orb-two{width:170px;height:170px;right:3%;bottom:-105px}
.contact-info-wrap{max-width:1280px;width:calc(100% - 80px);margin:0 auto;padding:78px 0 70px}
.contact-info-heading{text-align:center;max-width:600px;margin:0 auto 30px}.contact-info-heading h2,.message-form-panel h2,.contact-bottom-cta h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.12;letter-spacing:-.065em;color:#10294B;margin-top:10px}.contact-info-heading p{font-size:.86rem;color:#6d7b8d;margin-top:12px}
.contact-info-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:16px}
.contact-info-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:210px;padding:25px;border:1px solid #e6edf6;border-radius:19px;background:#fff;box-shadow:0 10px 30px #10294b06;transition:transform .25s,border-color .25s,box-shadow .25s;overflow:hidden}
.contact-info-card:before{content:"";position:absolute;width:110px;height:110px;right:-48px;top:-48px;border-radius:50%;background:#3478f60c;transition:transform .35s}.contact-info-card:hover{transform:translateY(-5px);border-color:#c8d9ff;box-shadow:0 17px 35px #10294b10}.contact-info-card:hover:before{transform:scale(1.6)}
.info-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#edf3ff;color:#3478F6;font-size:1.45rem;margin-bottom:17px}
.info-label{font-size:.62rem;font-weight:800;letter-spacing:.12em;color:#3478F6}.contact-info-card strong{font-size:1.02rem;color:#10294B;margin-top:5px}.contact-info-card small{font-size:.72rem;line-height:1.7;color:#748196;margin-top:5px}.info-arrow{position:absolute;right:22px;top:25px;color:#3478F6;font-size:1.05rem}.map-link{font-size:.72rem;font-weight:750;color:#3478F6;margin-top:9px;position:relative;z-index:1}
.message-section{max-width:1280px;width:calc(100% - 80px);margin:0 auto 78px;display:grid;grid-template-columns:.88fr 1.12fr;border-radius:24px;overflow:hidden;background:#f4f7fc}
.message-visual{position:relative;min-height:650px;background:#10294B;overflow:hidden}.message-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:transform .7s}.message-section:hover .message-visual>img{transform:scale(1.035)}.message-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10294b05 25%,#10294bd9 100%)}
.message-visual-caption{position:absolute;z-index:1;left:34px;right:30px;bottom:35px;color:white}.caption-mark{font-family:Georgia,serif;font-size:4.5rem;line-height:.7;color:#9dbbff}.message-visual-caption p{font-size:1.5rem;font-weight:750;line-height:1.25;letter-spacing:-.04em;max-width:330px;margin:10px 0}.message-visual-caption small{font-size:.75rem;color:#d4e1f6}
.message-form-panel{padding:clamp(28px,5vw,58px);background:#f4f7fc}.message-form-panel h2{font-size:clamp(2rem,3.2vw,2.8rem)}.form-intro{font-size:.82rem;color:#6d7b8d;margin:10px 0 24px}.contact-form{display:flex;flex-direction:column;gap:15px}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:.74rem;font-weight:700;color:#253b58}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #dfe7f2;border-radius:10px;background:#fff;padding:12px 13px;color:#17283f;font:inherit;font-size:.78rem;outline:none;transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#3478F6;box-shadow:0 0 0 3px #3478f61a}.contact-form textarea{resize:vertical;min-height:115px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a0aabc}.optional{font-weight:500;color:#8793a2}.contact-submit-btn{display:flex;justify-content:center;align-items:center;gap:18px;min-height:48px;border:0;border-radius:10px;background:#10294B;color:white;font-size:.82rem;font-weight:750;cursor:pointer;transition:background .2s,transform .2s}.contact-submit-btn:hover{background:#3478F6;transform:translateY(-2px)}.form-status{font-size:.76rem;color:#237c65;min-height:0}.form-status:not(:empty){padding:10px 12px;border-radius:9px;background:#e8f7f0}.form-disclaimer{font-size:.65rem;line-height:1.6;color:#8793a2}
.contact-bottom-cta{max-width:1280px;width:calc(100% - 80px);margin:0 auto 80px;padding:35px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #dce7fa;border-radius:20px;background:linear-gradient(110deg,#f3f7ff,#fff)}.contact-bottom-cta h2{font-size:clamp(1.65rem,3vw,2.4rem)}.contact-bottom-cta p{font-size:.8rem;color:#6d7b8d;margin-top:8px}
@keyframes contact-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes float-note{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-pulse{0%,100%{opacity:.55;transform:translate(0,0)}50%{opacity:1;transform:translate(4px,-4px)}}
@media(max-width:900px){.contact-hero{gap:25px;padding:42px 32px}.contact-hero-visual{min-height:300px}.contact-info-wrap,.message-section,.contact-bottom-cta{width:calc(100% - 50px)}.message-section{grid-template-columns:.8fr 1.2fr}.message-form-panel{padding:30px}.contact-info-grid{grid-template-columns:1fr 1fr}.address-card{grid-column:1/-1;min-height:180px}.contact-bottom-cta{padding:30px}}
@media(max-width:700px){.contact-hero{grid-template-columns:1fr;width:calc(100% - 20px);padding:38px 24px 28px;gap:35px;border-radius:21px}.contact-hero h1{font-size:clamp(2.75rem,11vw,4rem)}.contact-hero-copy>p{font-size:.88rem}.contact-hero-visual{min-height:260px;margin:0 5px 15px}.contact-hero-visual>img{min-height:260px}.note-top{left:-10px;top:12px}.note-bottom{right:-8px;bottom:10px}.floating-note{padding:10px 12px}.contact-info-wrap,.message-section,.contact-bottom-cta{width:calc(100% - 36px)}.contact-info-wrap{padding:55px 0}.contact-info-heading h2{font-size:2.2rem}.contact-info-grid{grid-template-columns:1fr}.contact-info-card{min-height:175px}.address-card{grid-column:auto}.message-section{grid-template-columns:1fr;margin-bottom:55px}.message-visual{min-height:270px}.message-visual-caption{left:24px;bottom:23px}.message-visual-caption p{font-size:1.25rem}.message-form-panel{padding:28px 20px}.form-row{grid-template-columns:1fr}.contact-bottom-cta{flex-direction:column;align-items:flex-start;padding:27px 22px;margin-bottom:55px}.contact-bottom-cta .contact-primary-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.contact-hero-copy,.contact-hero-visual,.floating-note,.visual-glow{animation:none!important}.contact-info-card,.contact-primary-btn,.contact-submit-btn,.message-visual>img{transition:none!important}}
