.contact-main{padding-top:170px;padding-bottom:100px;min-height:calc(100vh - 300px)}
.contact-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;padding-bottom:62px}
.contact-intro h1{font-size:clamp(48px,6.5vw,84px);font-weight:550;line-height:1.05;letter-spacing:-.055em;margin:0}
.contact-intro>p{font-size:18px;line-height:1.8;color:var(--muted);max-width:480px;margin:0}
.contact-person{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:46px 0;border-top:1px solid var(--line);align-items:start}
.contact-person:last-child{border-bottom:1px solid var(--line)}
.contact-person h2{font-size:31px;line-height:1.3;font-weight:550;letter-spacing:-.035em;margin:0}
.contact-affiliation{font-size:13px;line-height:1.8;color:var(--muted);margin:12px 0 0}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:20px;font-style:normal;min-width:0}
.contact-email{font-size:clamp(20px,2.2vw,27px);line-height:1.6;letter-spacing:-.025em;overflow-wrap:anywhere;max-width:100%;padding:0 0 4px;border-bottom:1px solid #c6b8db}
.contact-email:hover{color:var(--violet-deep);border-color:var(--violet-deep)}
.contact-profile{display:inline-block;font-size:13px;line-height:1.8;color:var(--violet-deep);padding:4px 0}
.contact-profile:hover{text-decoration:underline;text-underline-offset:4px}
.contact-details a:focus-visible{outline:3px solid var(--violet-deep);outline-offset:6px;border-radius:2px}
@media(max-width:800px){.contact-main{padding-top:130px;padding-bottom:65px}.contact-intro{grid-template-columns:1fr;gap:24px;padding-bottom:42px}.contact-intro>p{font-size:17px}.contact-person{grid-template-columns:1fr;gap:22px;padding:32px 0}.contact-person h2{font-size:28px}.contact-email{font-size:23px}.contact-details{gap:16px}}
@media(max-width:480px){.contact-main{padding-top:125px}.contact-intro h1{font-size:49px}.contact-intro>p{font-size:16px}.contact-person h2{font-size:27px}.contact-email{font-size:21px}.contact-affiliation{font-size:12px}}
