body.contact-page{background:#fff;color:var(--ink)}
.contact-page .desktop-nav .nav-contact[aria-current="page"]{background:#253e6e;color:#fff}
.contact-page .mobile-nav a[aria-current="page"]{color:#3156bf;font-weight:700}
.contact-page main section[id]{scroll-margin-top:108px}

.contact-hero{position:relative;overflow:hidden;background:linear-gradient(116deg,#fff 0%,#fff 52%,#f4f7ff 100%)}
.contact-hero:after{content:"";position:absolute;right:-135px;bottom:-300px;width:550px;height:550px;border:1px solid #3566ed18;border-radius:50%;pointer-events:none}
.contact-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:clamp(60px,10vw,160px);align-items:center;min-height:560px;padding-block:88px 94px}
.contact-hero h1{max-width:730px;margin:0 0 24px;font-size:clamp(48px,5.1vw,72px);line-height:1.07}
.contact-hero-copy>p{max-width:560px;margin:0 0 30px;font-size:17px;line-height:1.75}
.contact-hero-note{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:310px;padding:35px 0 16px 38px;border-left:1px solid #cbd6ef}
.contact-hero-note:before{content:"";position:absolute;top:0;left:-4px;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.contact-hero-note img{width:86px;height:76px;object-fit:contain;margin-bottom:auto}
.contact-hero-note>span{margin-bottom:9px;color:#a34a00;font-size:12px;font-weight:700;letter-spacing:.04em}
.contact-hero-note>a{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:26px;font-weight:650;letter-spacing:-.025em}
.contact-hero-note>a svg{width:19px;height:19px}
.contact-hero-note>a:hover{color:#244aa8}
.contact-hero-note p{max-width:290px;margin:15px 0 0;font-size:13px;line-height:1.7}

.contact-connect{padding-block:100px 110px;background:var(--paper)}
.contact-connect-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.68fr);gap:clamp(52px,7vw,105px);align-items:start}
.contact-form-panel{padding:48px 52px 52px;background:#fff;border-radius:16px;box-shadow:0 22px 60px #1016250b}
.contact-form-heading h2{margin:0 0 11px;font-size:clamp(36px,3.5vw,49px)}
.contact-form-heading p{margin:0 0 34px;font-size:14px}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
.contact-field{display:flex;flex-direction:column;min-width:0;gap:10px}
.contact-field-wide{grid-column:1/-1}
.contact-field label{font-size:13px;font-weight:650;color:var(--ink)}
.contact-field label span{color:#b84f00}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-height:51px;padding:12px 15px;border:1px solid #cfd4dd;border-radius:8px;background:#fff;color:var(--ink);font-size:14px;transition:border-color .2s,box-shadow .2s}
.contact-field select{appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23596070' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;cursor:pointer}
.contact-field select:invalid{color:#606575}
.contact-field textarea{min-height:150px;resize:vertical}
.contact-field input:hover,.contact-field select:hover,.contact-field textarea:hover{border-color:#9caacc}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3566ed15;outline:0}
.contact-form-actions{display:flex;align-items:center;gap:20px;margin-top:29px}
.contact-form-actions .button{flex-shrink:0}
.contact-form-actions p{max-width:290px;margin:0;color:#606575;font-size:12px;line-height:1.55}
.contact-honeypot{position:absolute;overflow:hidden;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;border:0}
.contact-form-status{margin:20px 0 0;padding:14px 16px;border-radius:8px;font-size:14px;line-height:1.55}
.contact-form-status.is-success{background:#edf9f1;color:#185c35}
.contact-form-status.is-error{background:#fff0ec;color:#8b2a12}
.contact-form-status a{text-decoration:underline;text-underline-offset:3px}
.contact-details{padding-top:18px}
.contact-details>h2{max-width:300px;margin:0 0 31px;font-size:clamp(30px,3vw,41px)}
.contact-detail{display:grid;grid-template-columns:24px 1fr;gap:18px;padding:23px 0;border-top:1px solid #d9d8d4}
.contact-detail>svg{width:21px;height:21px;margin-top:3px;color:var(--blue)}
.contact-detail:nth-of-type(3)>svg{color:#b84f00}
.contact-detail h3{margin:0 0 9px;font-size:16px;letter-spacing:-.015em}
.contact-detail a{display:inline-flex;align-items:center;gap:4px;color:#3156bf;font-size:16px;font-weight:600;text-decoration:underline;text-decoration-color:#3156bf55;text-underline-offset:4px}
.contact-detail a:hover{color:#244aa8;text-decoration-color:currentColor}
.contact-detail a svg{width:14px;height:14px}
.contact-detail p{margin:5px 0 0;color:#606575;font-size:13px;line-height:1.65}

.contact-location{padding-block:80px;background:#eef3ff}
.contact-location-grid{display:flex;justify-content:space-between;align-items:end;gap:50px}
.contact-location h2{margin:0;font-size:clamp(39px,4.5vw,61px);line-height:1.08}
.contact-location h2 span{color:var(--blue)}
.contact-location p{min-width:260px;margin:0 0 7px;padding-left:22px;border-left:1px solid #9db3e9;color:#3e4d70;font-size:15px;line-height:1.75}

.contact-faq{background:#fff}
.contact-faq-grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(60px,9vw,140px);align-items:start}
.contact-faq-intro{position:sticky;top:130px}
.contact-faq-intro h2{max-width:430px;margin:0 0 18px;font-size:clamp(39px,4.1vw,57px);line-height:1.1}
.contact-faq-intro p{margin:0 0 26px;font-size:14px}
.contact-faq-intro .text-link{display:inline-flex;align-items:center;gap:8px;color:#3156bf;font-size:13px;font-weight:650}
.contact-faq-intro .text-link svg{width:17px;height:17px}
.contact-faq-list{border-top:1px solid var(--line)}
.contact-faq-list details{border-bottom:1px solid var(--line)}
.contact-faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:83px;padding:22px 0;list-style:none;cursor:pointer;color:var(--ink);font-size:18px;font-weight:650;line-height:1.4}
.contact-faq-list summary::-webkit-details-marker{display:none}
.contact-faq-list summary span{position:relative;display:block;flex:0 0 28px;width:28px;height:28px;border:1px solid #cbd4e9;border-radius:50%;background:#f6f8ff}
.contact-faq-list summary span:before,.contact-faq-list summary span:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--blue);transform:translate(-50%,-50%)}
.contact-faq-list summary span:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s ease}
.contact-faq-list details[open] summary span:after{transform:translate(-50%,-50%) rotate(0)}
.contact-faq-list details[open] summary{color:#3156bf}
.contact-faq-list details p{max-width:660px;margin:0 0 26px;color:#555c6b;font-size:14px;line-height:1.75}
.contact-faq-list details p a{color:#3156bf;text-decoration:underline;text-underline-offset:3px}

.contact-close{padding-block:78px;background:#fff1e4}
.contact-close-grid{display:flex;align-items:center;justify-content:space-between;gap:50px}
.contact-close h2{margin:0 0 13px;font-size:clamp(38px,4.4vw,60px)}
.contact-close p{max-width:640px;margin:0;color:#765d49;font-size:15px}
.contact-close .button{flex-shrink:0}
.contact-page .footer-main>div>p,.contact-page .footer-links strong,.contact-page .footer-links a,.contact-page .footer-bottom,.contact-page .footer-bottom button{font-size:12px}
.motion-paused *{animation-play-state:paused!important;scroll-behavior:auto!important}

@media(max-width:1050px){.contact-hero-grid{gap:55px;min-height:520px}.contact-connect-grid{gap:50px}.contact-form-panel{padding:38px}.contact-form-actions{align-items:flex-start;flex-direction:column}.contact-faq-grid{gap:55px}}
@media(max-width:760px){.contact-page main section[id]{scroll-margin-top:82px}.contact-hero-grid{grid-template-columns:1fr;gap:42px;min-height:0;padding-block:58px 68px}.contact-hero h1{font-size:clamp(42px,8vw,58px)}.contact-hero-copy>p{font-size:15px}.contact-hero-note{min-height:0;padding:25px 0 0 25px}.contact-hero-note img{position:absolute;top:14px;right:4px;width:60px;height:53px;opacity:.45}.contact-hero-note>a{font-size:21px}.contact-hero-note p{margin-top:8px}.contact-connect{padding-block:72px}.contact-connect-grid{grid-template-columns:1fr;gap:55px}.contact-details{padding-top:0}.contact-details>h2{max-width:none}.contact-detail{padding-block:18px}.contact-location{padding-block:66px}.contact-location-grid{display:block}.contact-location p{margin-top:34px}.contact-faq-grid{grid-template-columns:1fr;gap:36px}.contact-faq-intro{position:static}.contact-faq-intro h2{max-width:600px}.contact-close{padding-block:64px}.contact-close-grid{display:block}.contact-close .button{margin-top:27px}}
@media(max-width:520px){.contact-form-panel{padding:29px 23px 32px}.contact-fields{grid-template-columns:1fr;gap:20px}.contact-field-wide{grid-column:auto}.contact-form-heading p{margin-bottom:28px}.contact-form-actions .button{width:100%;white-space:normal}.contact-location h2{font-size:39px}.contact-location p{min-width:0}.contact-faq-list summary{min-height:76px;font-size:16px}.contact-close .button{width:100%}}
@media(max-width:380px){.contact-hero h1{font-size:40px}.contact-location h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.contact-faq-list summary span:after{transition:none}}
