.contact-main{overflow:hidden;background:var(--white)}
.contact-grid-bg{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(142,182,230,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(142,182,230,.22) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,black 25%,black 75%,transparent)}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

.contact-hero{position:relative;min-height:640px;display:flex;align-items:center;background:var(--deep);color:var(--white)}
.contact-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:58px;align-items:center;padding:126px 0 68px}
.contact-breadcrumbs{display:flex;gap:10px;margin-bottom:34px;color:#93a4b8;font-size:.72rem}.contact-breadcrumbs a:hover{color:var(--white)}
.contact-hero-copy{min-width:0;max-width:820px}.contact-hero h1{max-width:19ch;margin:20px 0 24px;font-size:clamp(3.1rem,4.45vw,4.65rem);font-weight:500;line-height:1.03;letter-spacing:-.058em}.contact-hero h1 span{display:block;white-space:nowrap}
.contact-hero-copy>p{max-width:680px;color:#bec9d5;font-size:1rem}
.contact-hero-visual{min-width:0}.contact-hero-visual svg{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 48px rgba(0,0,0,.2))}.contact-hero-visual>span{display:block;margin-top:-4px;color:#72869d;font-size:.55rem;letter-spacing:.17em;text-align:right}
.contact-hero-visual path,.contact-hero-visual rect,.contact-hero-visual circle{fill:none;stroke:rgba(142,182,230,.56);stroke-width:1.35;vector-effect:non-scaling-stroke}.contact-building path{stroke:var(--light);stroke-width:1.8}.contact-flow-lines path{stroke-dasharray:8 10;animation:contact-flow 9s linear infinite}.contact-node path{stroke:rgba(142,182,230,.34)}.contact-core circle:first-child{stroke:rgba(142,182,230,.24)}.contact-core path{stroke:var(--gold)}.contact-core circle:last-child,.contact-points circle{fill:var(--gold);stroke:none}.contact-points circle{animation:contact-pulse 2.6s ease-in-out infinite}.contact-points circle:nth-child(2){animation-delay:.3s}.contact-points circle:nth-child(3){animation-delay:.6s}
@keyframes contact-flow{to{stroke-dashoffset:-180}}@keyframes contact-pulse{50%{opacity:.35;transform:scale(.6);transform-origin:center}}

.contact-primary{padding:118px 0 124px;background:#e9eef3}.contact-primary-heading{display:grid;grid-template-columns:minmax(190px,.36fr) minmax(0,1fr);gap:56px;align-items:start;margin-bottom:58px}.contact-primary-heading h2{max-width:760px;margin:0;font-size:clamp(2.55rem,3.7vw,3.85rem)}.contact-primary-heading>p{grid-column:2;max-width:680px;margin:-27px 0 0;color:#5e6b78}
.contact-primary-grid{display:grid;grid-template-columns:minmax(300px,.76fr) minmax(520px,1.24fr);gap:70px;align-items:start}.contact-channel-column{min-width:0;border-top:1px solid var(--line)}
.contact-path{display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;padding:28px 0;border-bottom:1px solid var(--line)}.contact-path>span{padding-top:3px;color:var(--gold);font:italic .9rem Georgia,serif}.contact-path h3{margin:0 0 8px;font-size:1.3rem}.contact-path p{margin:0 0 13px;color:#5d6976;font-size:.82rem}.contact-path a{display:inline-flex;gap:8px;color:var(--blue);font-size:.75rem;font-weight:750;border-bottom:1px solid rgba(49,95,145,.45)}
.contact-details{margin:34px 0 0}.contact-details div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.contact-details dt{color:#6a7784;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}.contact-details dd{min-width:0;margin:0;color:var(--deep);font-size:.8rem;font-weight:700;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline;text-underline-offset:3px}

.contact-form{min-width:0;padding:38px;background:rgba(247,248,250,.9);border:1px solid rgba(49,95,145,.2);box-shadow:0 24px 60px rgba(8,23,44,.08)}.contact-form-heading{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}.contact-form-heading>span{color:var(--gold);font-size:.62rem;font-weight:750;letter-spacing:.17em}.contact-form-heading h3{margin:10px 0 8px;font-size:clamp(1.65rem,2vw,2.15rem)}.contact-form-heading p{max-width:650px;margin:0;color:#687584;font-size:.78rem}
.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.contact-field{display:flex;flex-direction:column;min-width:0}.contact-field--full{grid-column:1/-1}.contact-field label{margin-bottom:6px;color:var(--blue);font-size:.7rem;font-weight:750;letter-spacing:.02em}.contact-field label span{color:#8d3f43}.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-height:50px;border:1px solid #aebbc8;border-radius:0;background:rgba(255,255,255,.9);padding:11px 12px;color:var(--ink);transition:border-color .2s,box-shadow .2s}.contact-field select{appearance:auto}.contact-field textarea{min-height:118px;resize:vertical}.contact-field small{margin-top:5px;color:#687684;font-size:.64rem}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--mid);outline:2px solid rgba(49,95,145,.2);outline-offset:1px}.contact-field [aria-invalid=true],.contact-consent input[aria-invalid=true]{border-color:#9c3038;box-shadow:0 0 0 1px rgba(156,48,56,.25)}.field-error{min-height:1.15em;margin-top:4px;color:#8c2830;font-size:.65rem;line-height:1.3}
.contact-consent{display:grid;grid-template-columns:22px 1fr;gap:8px 10px;margin-top:21px}.contact-consent input{width:19px;height:19px;margin:2px 0 0;accent-color:var(--mid)}.contact-consent label{color:#394857;font-size:.73rem}.contact-consent .field-error{grid-column:2}.contact-privacy-note{margin:13px 0 22px;color:#697784;font-size:.68rem}.contact-privacy-note a,.contact-popup-fallback{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.contact-form .button{border:0}.contact-form .form-status{margin:14px 0 0;color:var(--blue);font-size:.72rem}.contact-form .form-status.is-error{color:#8c2830}.contact-popup-fallback{display:inline-flex;margin-top:11px;font-size:.72rem;font-weight:700}.contact-popup-fallback[hidden]{display:none}

.contact-institutional{padding:112px 0;background:var(--white)}.contact-institutional-heading{display:grid;grid-template-columns:minmax(190px,.36fr) minmax(0,1fr);gap:56px;align-items:start;margin-bottom:54px}.contact-institutional-heading h2{max-width:820px;margin:0;font-size:clamp(2.45rem,3.55vw,3.75rem)}.contact-institutional-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.contact-institutional article{position:relative;min-width:0;padding:38px 42px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-institutional article>span{color:var(--gold);font:italic .9rem Georgia,serif}.contact-institutional h3{margin:25px 0 22px;font-size:1.7rem}.contact-address address{display:flex;flex-direction:column;color:#596675;font-style:normal}.contact-address address strong{margin-bottom:7px;color:var(--deep);font-size:1.02rem}.contact-address .button{margin-top:27px}.contact-institutional article>p{max-width:500px;margin:21px 0 0;color:#687582;font-size:.74rem}.contact-button-outline{border-color:var(--mid);color:var(--blue)}.contact-button-outline:hover{background:var(--blue);color:var(--white)}
.contact-hours dl{margin:0;border-top:1px solid var(--line)}.contact-hours dl div{display:grid;grid-template-columns:1fr auto;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.contact-hours dt{color:#65727f}.contact-hours dd{margin:0;color:var(--deep);font-weight:750}

.contact-faq{padding:116px 0 122px;background:var(--off)}.contact-faq .faq-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:72px}.contact-faq .sticky-heading h2{max-width:30ch;margin:20px 0 24px;font-size:clamp(2rem,2.5vw,2.5rem)}.contact-faq .sticky-heading p{max-width:430px;color:#64717e}

.privacy-main{min-height:80vh;padding:150px 0 120px;background:var(--off)}.privacy-main header{max-width:900px;padding:70px 0 60px}.privacy-main h1{margin:20px 0 25px;color:var(--navy);font-size:clamp(3.4rem,7vw,6.5rem)}.privacy-main header>p{max-width:720px;color:#5e6976;font-size:1.05rem}.privacy-main header>small{color:#8c5d25;font-weight:700}.privacy-content{max-width:850px;margin-left:auto;border-top:1px solid var(--line)}.privacy-content section{padding:36px 0;border-bottom:1px solid var(--line)}.privacy-content h2{font-size:1.8rem}.privacy-content p{margin:0;color:#5d6975}.privacy-content a{color:var(--blue);text-decoration:underline}

@media(max-width:1100px){.contact-faq .faq-grid{grid-template-columns:1fr;gap:48px}.contact-faq .sticky-heading h2{max-width:760px}}
@media(max-width:1080px){.contact-hero-inner{grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:36px}.contact-primary-grid{grid-template-columns:minmax(280px,.7fr) minmax(470px,1.3fr);gap:44px}.contact-form{padding:32px}.contact-institutional article{padding-inline:34px}}
@media(max-width:900px){.contact-hero{min-height:auto}.contact-hero-inner{grid-template-columns:1fr;padding:124px 0 68px}.contact-hero-copy{max-width:760px}.contact-hero-visual{max-width:480px;margin:0 auto}.contact-primary-heading,.contact-institutional-heading{grid-template-columns:1fr;gap:18px}.contact-primary-heading>p{grid-column:auto;margin:0}.contact-primary-grid{grid-template-columns:1fr;gap:52px}.contact-channel-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);gap:34px}.contact-details{margin:0}.contact-institutional-grid{grid-template-columns:1fr}.contact-institutional-heading h2{max-width:690px}}
@media(max-width:680px){.contact-grid-bg{background-size:52px 52px}.contact-hero-inner{padding:112px 0 62px}.contact-breadcrumbs{margin-bottom:30px}.contact-hero h1{max-width:14ch;font-size:clamp(2.3rem,10.4vw,2.75rem);line-height:1.04}.contact-hero h1 span{white-space:normal}.contact-hero-copy>p{font-size:.93rem}.contact-actions{flex-direction:column;align-items:stretch;margin-top:27px}.contact-actions .button{width:100%}.contact-hero-visual{display:none}.contact-primary,.contact-institutional,.contact-faq{padding:84px 0}.contact-primary-heading,.contact-institutional-heading{margin-bottom:40px}.contact-primary-heading h2,.contact-institutional-heading h2{font-size:clamp(2.05rem,9vw,2.65rem)}.contact-channel-column{display:block}.contact-details{margin-top:30px}.contact-form{margin-inline:-4px;padding:26px 19px}.contact-field-grid{grid-template-columns:1fr;gap:15px}.contact-field--full{grid-column:auto}.contact-field input,.contact-field select{min-height:53px}.contact-field textarea{min-height:132px}.contact-form .button{width:100%}.contact-institutional article{padding:30px 24px 32px}.contact-institutional h3{margin-top:20px}.contact-hours dl div{grid-template-columns:1fr}.contact-faq .sticky-heading h2{font-size:clamp(2rem,8.7vw,2.5rem)}.privacy-main{padding:125px 0 90px}.privacy-main header{padding:55px 0 45px}.privacy-main h1{font-size:clamp(3rem,14vw,4.5rem)}}
@media(max-width:420px){.contact-form{margin-inline:0;padding:23px 15px}.contact-details div{grid-template-columns:74px minmax(0,1fr)}.contact-institutional article{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.contact-flow-lines path,.contact-points circle{animation:none!important}.contact-main .reveal{opacity:1;transform:none;transition:none}}
