.contact-section{position:relative;isolation:isolate;background:radial-gradient(ellipse at 8% 8%,#0f52ba75,transparent 58%),linear-gradient(135deg,#083d90 0%,#082b63 55%,#061b3e 100%);color:#fff;padding:92px 0;min-height:0;text-align:left;scroll-margin-top:24px}
.contact-section>.shell{width:min(1190px,calc(100% - 96px))}
.contact-section__layout{position:relative;display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;align-items:start;z-index:1}
.contact-section__intro{padding-top:23px;min-width:0}
.contact-section .eyebrow{color:#bcd5ff}
.contact-section h2{font-size:clamp(3.3rem,5.1vw,5.05rem);font-weight:600;letter-spacing:-.065em;line-height:1.03;margin:27px 0 25px}
.contact-section h2 em{font-size:inherit}
.contact-section__lead{font-size:1.03rem;line-height:1.7;color:#dfebff}
.contact-section__route{width:min(320px,90%);margin:46px 0 48px;color:#9fc1ff}
.contact-section__route svg{display:block;width:100%;height:auto;overflow:visible}
.contact-section__route>span{display:block;margin-top:20px;font-size:.59rem;font-weight:600;letter-spacing:.12em;color:#c6dbff}
.contact-section__direct>span{display:block;font-size:.76rem;color:#bcd5ff;margin-bottom:7px}
.contact-section__direct>p{font-size:clamp(.98rem,1.5vw,1.12rem);font-weight:500;letter-spacing:-.02em;overflow-wrap:anywhere}
.contact-section__orbit{position:absolute;left:-24%;top:44%;width:100%;height:50%;border:1px solid #ffffff12;transform:rotate(-24deg);border-radius:50%;z-index:0;pointer-events:none}
.contact-panel{padding:35px;border-radius:36px;background:#fff;color:var(--ink,#101b17);box-shadow:0 24px 75px #020e282e;min-width:0}
.contact-form__topline{display:flex;justify-content:space-between;gap:12px;font-size:.63rem;font-weight:650;letter-spacing:.1em;color:#778580;margin-bottom:31px}
.contact-form__topline>span:last-child{color:var(--blue,#0f52ba)}
.contact-form__services{padding:0;border:0;margin:0 0 28px;min-width:0}
.contact-form__services legend{font-size:1.37rem;font-weight:650;letter-spacing:-.04em;line-height:1.2;padding:0}
.contact-form__hint{font-size:.78rem;color:#75817b;margin-top:8px;line-height:1.55}
.contact-form__options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.contact-option{position:relative;display:block;cursor:pointer;min-width:0;width:100%;padding:0;border:0;border-radius:17px;background:transparent;font:inherit;color:inherit;text-align:left}
.contact-option>span{display:flex;align-items:center;gap:9px;height:100%;min-height:72px;border:1px solid #dfe5ec;border-radius:17px;padding:14px 13px;font-size:.81rem;font-weight:550;line-height:1.35;background:#f8fafc;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}
.contact-option__copy{min-width:0;flex:1}
.contact-option__copy small{display:block;font-size:.66rem;font-weight:400;margin-top:3px;color:#60716b}
.contact-option:hover>span{border-color:#a9c3eb;background:#f2f6fe}
.contact-option__symbol{font-size:1.17rem;color:var(--blue,#0f52ba);width:19px;flex-shrink:0;text-align:center;font-weight:500}
.contact-option__check{margin-left:auto;visibility:hidden;font-size:.85rem;flex-shrink:0}
.contact-option[aria-pressed="true"]>span{background:#eaf1fd;border-color:var(--blue,#0f52ba);color:var(--blue,#0f52ba);box-shadow:inset 0 0 0 1px var(--blue,#0f52ba)}
.contact-option[aria-pressed="true"]>span .contact-option__check{visibility:visible}
.contact-option:focus-visible{outline:3px solid #719aef;outline-offset:3px}
.contact-form__fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form__field{min-width:0}
.contact-form__field>label{display:block;font-size:.8rem;font-weight:550;margin-bottom:9px}
.contact-form__field>label>span:not(.contact-form__optional){color:var(--blue,#0f52ba)}
.contact-form__field .contact-form__optional{font-size:.68rem;font-weight:400;color:#839089;margin-left:5px}
.contact-form__field>input,.contact-form__field textarea{width:100%;max-width:100%;border:1px solid #dce3e8;border-radius:13px;background:#fff;color:var(--ink,#101b17);padding:14px 13px;font-family:var(--sans,'DM Sans',sans-serif);font-size:.84rem;line-height:1.5;transition:border-color .2s,box-shadow .2s;outline:none}
.contact-form__field>input{min-height:50px}
.contact-form__field textarea{display:block;resize:vertical;min-height:126px}
.contact-form__field>input::placeholder,.contact-form__field textarea::placeholder{color:#8a9691;opacity:1;font-size:.78rem}
.contact-form__field>input:focus,.contact-form__field textarea:focus{border-color:var(--blue,#0f52ba);box-shadow:0 0 0 3px #0f52ba14}
.contact-form__message{margin-top:22px}
.contact-form__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}
.contact-form__bottom>p{color:#7f8b85;font-size:.66rem;line-height:1.5}
.contact-form__followup{font-size:.76rem;line-height:1.65;color:#687b8c;padding-top:20px;margin-top:23px;border-top:1px solid #e0e6ed}
.contact-form[hidden]+.contact-form__followup{display:none}
.contact-form__submit{display:inline-flex;align-items:center;justify-content:center;gap:18px;flex-shrink:0;border:0;border-radius:100px;background:var(--ink,#101b17);color:white;min-height:50px;padding:14px 22px;font:600 .82rem var(--sans,'DM Sans',sans-serif);cursor:pointer;transition:background .2s,transform .2s}
.contact-form__submit:hover{background:#263c32;transform:translateY(-2px)}
.contact-form__submit>span{font-size:1.1rem;font-weight:400}
.contact-form__submit:focus-visible{outline:3px solid #719aef;outline-offset:4px}
.contact-review[hidden],.contact-form[hidden]{display:none}
.contact-review h3{font-size:2.4rem;font-weight:600;letter-spacing:-.055em;line-height:1.05;margin:0 0 20px}
.contact-review h3 em{color:var(--blue,#0f52ba)}
.contact-review h3:focus{outline:none}
.contact-review__explanation{font-size:.87rem;line-height:1.6;color:#68786f;margin-bottom:25px;max-width:360px}
.contact-review__meta{border-top:1px solid #e0e6e8;border-bottom:1px solid #e0e6e8;padding:17px 0;margin:0 0 22px;font-size:.77rem}
.contact-review__meta>div{display:grid;grid-template-columns:58px 1fr;gap:8px;line-height:1.6}
.contact-review__meta>div+div{margin-top:8px}
.contact-review__meta dt{color:#83918a}
.contact-review__meta dd{margin:0;overflow-wrap:anywhere}
.contact-review__message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;font-size:.9rem;color:#46594e;max-height:330px;overflow-y:auto;padding-right:8px;margin-bottom:27px}
.contact-form__status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.contact-section__layout{gap:40px;grid-template-columns:.8fr 1.2fr}.contact-panel{padding:28px}.contact-option>span{font-size:.75rem;padding-inline:10px;gap:7px}.contact-section h2{font-size:3.6rem}}
@media(max-width:850px){.contact-section{padding:65px 0}.contact-section>.shell{width:calc(100% - 56px)}.contact-section__layout{grid-template-columns:1fr;gap:35px}.contact-section__intro{padding-top:0;display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.contact-section__intro>.eyebrow,.contact-section__intro>h2{grid-column:1}.contact-section h2{font-size:3.7rem;margin-bottom:0}.contact-section__lead{grid-column:2;grid-row:2;align-self:center;margin-top:20px;font-size:.94rem}.contact-section__direct{grid-column:2;grid-row:3;margin-top:15px}.contact-section__route{grid-column:1;grid-row:3;margin:25px 0 0;width:210px}.contact-section__route>span{font-size:.5rem;margin-top:10px}.contact-panel{padding:32px}.contact-option>span{font-size:.88rem;padding:15px;gap:10px}.contact-section__orbit{display:none}}
@media(max-width:540px){.contact-section{padding:45px 0}.contact-section>.shell{width:calc(100% - 32px)}.contact-section__intro{display:block;padding:0 7px}.contact-section h2{font-size:3.4rem;margin:22px 0}.contact-section__lead{margin:0;font-size:.97rem}.contact-section__route{display:none}.contact-section__direct{margin:26px 0 0}.contact-section__direct>span{font-size:.69rem}.contact-section__direct>p{font-size:.98rem}.contact-panel{padding:25px 20px;border-radius:27px}.contact-form__topline{margin-bottom:27px}.contact-form__services legend{font-size:1.25rem}.contact-form__options{gap:8px;margin-top:17px}.contact-option>span{font-size:.74rem;gap:6px;padding:12px 9px;border-radius:14px}.contact-option__symbol{font-size:1.07rem;width:16px}.contact-option__check{font-size:.75rem}.contact-form__fields{grid-template-columns:1fr;gap:18px}.contact-form__bottom{align-items:stretch;flex-direction:column-reverse;gap:15px}.contact-form__bottom>p{text-align:center}.contact-form__bottom>p br{display:none}.contact-form__submit{width:100%}.contact-form__field>input,.contact-form__field textarea{font-size:16px}.contact-review h3{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){.contact-option>span,.contact-form__submit,.contact-form__field>input,.contact-form__field textarea{transition:none}.contact-form__submit:hover{transform:none}}
@media(max-width:400px){.contact-form__options{grid-template-columns:1fr}.contact-option>span{font-size:.85rem;min-height:58px;padding:12px 14px;gap:10px}.contact-option__copy small{font-size:.72rem}.contact-review h3{font-size:1.95rem}}

.contact-form__draft textarea{background:#f5f8fe;border-color:#ccdbef;color:#203b5b;min-height:140px;line-height:1.65}
.contact-template-tools{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:10px}
.contact-template-tools>p{font-size:.7rem;line-height:1.5;color:#687b8c}
.contact-template-tools>button{padding:4px 0;background:none;color:var(--blue);font-size:.71rem;line-height:1.4;text-decoration:underline;text-underline-offset:3px}
.contact-template-tools>button[hidden]{display:none}
.contact-template-tools>button span{margin-left:5px}
.contact-form__message+.contact-form__fields{margin-top:24px}
@media(max-width:540px){.contact-form__draft textarea{min-height:158px}.contact-template-tools>p{font-size:.72rem}.contact-template-tools>button{font-size:.75rem;padding-block:7px}}

.contact-message-editor{position:relative}
.contact-message-editor>textarea,.contact-message-overlay{font-family:var(--sans,'DM Sans',sans-serif);font-size:.84rem;font-weight:400;line-height:1.65;letter-spacing:normal;padding:14px 13px;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;tab-size:8}
.contact-message-editor>textarea{min-height:230px;resize:none;overflow:hidden}
.contact-message-overlay{position:absolute;top:0;left:0;width:100%;border:1px solid transparent;pointer-events:none;user-select:none}
.contact-message-overlay[hidden]{display:none}
#contact-message-mirror{visibility:hidden}
#contact-message-prompt{color:#788794}
@media(max-width:540px){.contact-message-editor>textarea,.contact-message-overlay{font-size:16px}.contact-message-editor>textarea{min-height:270px}}

.contact-section__direct{margin-top:42px}
@media(max-width:850px){.contact-section__direct{margin-top:20px}}
@media(max-width:540px){.contact-section__direct{margin-top:26px}}
