.contact-page{background:#f5f3ef}.contact-page .page-hero{min-height:460px}.contact-page .page-hero__inner{padding-block:70px}.contact-page .page-hero h1{font-size:clamp(3rem,6vw,5.8rem);font-weight:500;line-height:1.04;letter-spacing:-.065em;max-width:15ch}.contact-page .page-hero h1 em{font-style:normal;color:#b7afff}.contact-page .page-hero p{max-width:57ch;line-height:1.8;font-size:.95rem}.contact-page .section{padding-block:80px}.contact-page .contact-grid{gap:70px;align-items:start}.contact-page .contact-card{background:none;border:0;border-radius:0;padding:12px 0;box-shadow:none}.contact-page .contact-card h3{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.18;font-weight:500;letter-spacing:-.045em;margin-block:24px}.contact-page .kicker{font-size:.65rem;letter-spacing:.17em;color:#1515b7}.contact-page .contact-card>p{font-size:.9rem;max-width:44ch;line-height:1.8}.contact-page .contact-list{margin-top:32px;gap:0}.contact-page .contact-item{padding:20px 0;border-bottom:1px solid #d8d4cd}.contact-page .contact-icon{border-radius:14px;box-shadow:none;background:#e9e5f3;width:48px;height:48px;flex-shrink:0}.contact-page .contact-form{padding:40px;border-radius:4px;background:#fff;box-shadow:0 18px 60px #2820440a;border-top:3px solid #1717ba}.contact-page .contact-form h2{font-size:2.15rem;font-weight:500;letter-spacing:-.05em}.contact-page .contact-form>p{font-size:.85rem;line-height:1.8;color:#777}.contact-page .form-field input,.contact-page .form-field select,.contact-page .form-field textarea{border-radius:4px;background:#faf9f6;border-color:#ddd8d0}.contact-page .form-field input:focus,.contact-page .form-field textarea:focus,.contact-page .form-field select:focus{outline:2px solid #a39aed;outline-offset:2px}.contact-page .contact-location{width:100%;margin:0;padding:0;background:#eae7df}.contact-page .contact-map{display:block;padding:0;border-radius:0;box-shadow:none;background:none}.contact-page .contact-map__header{width:min(1180px,calc(100% - 64px));margin:auto;padding:65px 0 44px;gap:40px}.contact-page .contact-map__eyebrow{padding:0;background:none;font-size:.65rem;letter-spacing:.16em;color:#1616b7}.contact-page .contact-map__header h3{font-size:clamp(2.7rem,5vw,4.5rem);text-transform:none;letter-spacing:-.06em;line-height:1.05;font-weight:500;margin:18px 0 24px}.contact-page .contact-map__header h3 em{font-style:normal;color:#1515b8}.contact-page .contact-map__header p{font-size:.85rem;line-height:1.9;max-width:55ch}.contact-page .contact-map__frame{border:0;border-radius:0;box-shadow:none;width:100%}.contact-page .contact-map__frame iframe{height:520px;width:100%}.contact-page .contact-map__header .button{flex-shrink:0;background:#10102e;color:#fff}.contact-page .contact-item:hover .contact-icon{transform:translateY(-3px);transition:transform .25s}
@media(max-width:820px){.contact-page .contact-grid{grid-template-columns:1fr;gap:36px}.contact-page .section{padding-block:45px}.contact-page .page-hero__inner{padding-block:48px}.contact-page .page-hero{min-height:420px}.contact-page .page-hero h1{font-size:clamp(2.7rem,10vw,4rem)}.contact-page .contact-form{padding:28px 22px}.contact-page .contact-form h2{font-size:1.85rem}.contact-page .contact-map__header{width:calc(100% - 40px);flex-direction:column;align-items:flex-start;padding-block:44px 32px;gap:24px}.contact-page .contact-map__frame iframe{height:420px}.contact-page .contact-map__header .button{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.contact-page .contact-item:hover .contact-icon{transform:none;transition:none}}
.contact-page .contact-icon{color:#1717b7}.contact-page .contact-item{grid-template-columns:48px minmax(0,1fr);gap:18px;border-top:0}.contact-page .contact-item__body{min-width:0}.contact-page .contact-item__body a{overflow-wrap:anywhere}
/* Compact map and a contact form that stays alongside the information. */
.contact-page .shell{overflow:clip}.contact-page .contact-map__frame iframe{height:330px}.contact-page .contact-map__header{padding-block:44px 32px;align-items:center}.contact-page .contact-map__header .button{padding:18px 24px;min-height:56px;gap:24px;line-height:1.5;border-radius:4px}.contact-page .contact-form{position:sticky;top:var(--contact-sticky-top,100px)}.contact-page [data-contact-status]:empty{display:none}.contact-page .contact-form textarea{min-height:120px}.contact-page .contact-form .form-grid{gap:18px}
@media(max-width:820px){.contact-page .contact-form{position:static}.contact-page .contact-map__frame iframe{height:300px}.contact-page .contact-map__header .button{width:auto;max-width:100%;font-size:.75rem;padding:16px 20px}}
