/* One bottom-up arrival for every page, with a native transition where available. */
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition{pointer-events:none}
 .site-header{view-transition-name:site-header}
 main{view-transition-name:page-content}
 html:not(.native-arrival) main{animation:page-arrival .65s cubic-bezier(.2,.7,.2,1) both}
 ::view-transition-group(root),::view-transition-group(site-header){animation-duration:.18s}
 ::view-transition-group(page-content){animation:none}
 ::view-transition-old(page-content),::view-transition-new(page-content){height:auto}
 ::view-transition-old(root),::view-transition-new(root){animation:none}
 ::view-transition-old(page-content){animation:journey-out .14s ease-out both}
 ::view-transition-new(page-content){animation:page-arrival .65s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes journey-out{to{opacity:0}}
@keyframes page-arrival{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.theme-contact main{position:relative;isolation:isolate;background:radial-gradient(ellipse at 6% 35%,#e4ecffb3,transparent 60%),radial-gradient(ellipse at 92% 5%,#e8edfa99,transparent 55%),var(--paper)}
.theme-contact main::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:url("assets/connected-flow.svg") center top/cover no-repeat;opacity:.4}
.theme-contact .contact-layout{align-items:start}
.theme-contact .contact-layout h1{line-height:.98}
.theme-contact .contact-form{border:1px solid #cad8ed;border-radius:8px;box-shadow:0 18px 65px #1734670e;padding:30px}
.conversation-topics{min-width:0;border:0;padding:0;margin:0 0 24px}
.conversation-topics legend{font-size:14px;margin-bottom:12px;font-weight:500;padding:0}
.conversation-topics legend .optional{font-size:12px;font-weight:400;margin-left:5px}
.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.topic-choice{border:1px solid #ccd5e6;border-radius:5px;background:#f8faff;color:#384f76;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;font:13px/1.4 var(--sans);cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s}
.topic-choice span{width:17px;height:17px;flex:0 0 17px;display:grid;place-items:center;border:1px solid #b3c3dd;border-radius:50%;font-size:10px;color:transparent}
.topic-choice:hover{border-color:#6087d3;background:#eff4ff}
.topic-choice[aria-pressed=true]{background:#eaf1ff;border-color:#246bff;box-shadow:0 0 0 1px #246bff;color:#1249aa}
.topic-choice[aria-pressed=true] span{color:#fff;background:#246bff;border-color:#246bff}
.topic-choice:focus-visible,.service-chat:focus-visible{outline:2px solid #246bff;outline-offset:3px}
.topic-guidance{margin:12px 0 0;color:#62676d;font-size:12px;line-height:1.55;min-height:3.1em}
.conversation-context{max-width:410px;border-top:1px solid #b9cbea;margin-top:32px;padding-top:22px}
.conversation-context .eyebrow{font-size:10px;color:#2453a3}
.conversation-context h2{font:500 22px/1.25 var(--sans);letter-spacing:-.035em;min-height:2.5em;margin:0 0 12px}
.conversation-context>p:last-child{font-size:14px;line-height:1.65;color:var(--muted);max-width:35ch}
.theme-contact .contact-note{margin-top:24px;background:#ffffff80;border-color:#9db8ef}
.theme-contact .contact-form input,.theme-contact .contact-form textarea{border-color:#ccd5e6;border-radius:4px}
.theme-contact .contact-form textarea{resize:vertical}
.theme-contact .contact-form input.is-valid{border-color:#146c43}
.theme-contact .contact-form input[aria-invalid=true]{border-color:#a82727}
.theme-contact .contact-form .button{border-radius:4px}
.contact-preview-note{font:11px/1.5 var(--mono);padding:10px 12px;border:1px solid #d0dbea;background:#f1f5fd;color:#405679;border-radius:4px;margin:0 0 20px}
.contact-preview-note[hidden]{display:none}
.service-chat{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#2453a3;margin-top:18px;border-bottom:1px solid #9cb5de;padding-bottom:3px}
.service-chat:hover{color:#0c3b91;border-color:#246bff}
@media(max-width:760px){
 .theme-contact .contact-layout{gap:28px;padding-top:48px}
 .theme-contact .contact-layout h1{font-size:clamp(2.75rem,10.8vw,3.4rem)}
 .theme-contact .contact-form{padding:20px}
 .conversation-context{display:none}
 .conversation-context h2{min-height:0;font-size:21px}
 .theme-contact main::before{background-position:60% top;opacity:.2}
 .topic-choice{font-size:12px;padding:10px}
}
@media(prefers-reduced-motion:reduce){.topic-choice{transition:none}}
