.contact-page{padding-top:54px;background:linear-gradient(160deg,var(--surface-2),var(--bg) 60%)}
.contact-heading{max-width:760px;margin-bottom:44px}
.contact-heading .eyebrow{margin:0 0 14px}
.contact-heading h1{margin:0 0 20px;color:var(--ink);font-size:clamp(2.3rem,4vw,3.6rem);line-height:1.12;letter-spacing:-.035em}
.contact-heading>p:last-child{margin:0;font-size:1.06rem;line-height:1.8}
.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px;align-items:start}
.contact-information{padding-top:12px;min-width:0}
.contact-information h2,.contact-form h2{margin:0 0 14px;color:var(--ink);font-size:1.55rem;line-height:1.3}
.contact-address{padding:24px 0;border-bottom:1px solid var(--line-strong)}
.contact-address h3,.contact-social h3{color:var(--ink);font-size:1rem;margin:0 0 20px}
.contact-address dl{margin:0;display:grid;gap:20px}
.contact-address dt{font-size:.8rem;color:var(--muted);margin-bottom:4px}
.contact-address dd{margin:0;overflow-wrap:anywhere}
.contact-address a{color:var(--brand);font-weight:650}
.contact-address .contact-phone{font-size:1.35rem;letter-spacing:.015em}
.contact-address a:hover,.contact-address a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.contact-social{margin-top:28px}
.contact-social-links{display:flex;flex-wrap:wrap;gap:10px}
.contact-social-links a{display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:10px 16px;color:var(--brand);font-weight:700;overflow-wrap:anywhere}
.contact-social-links a:hover{border-color:var(--brand);background:var(--brand-soft)}
.contact-social-links img{object-fit:contain}
.contact-form{min-width:0;padding:32px}
.contact-form>p{margin-top:0}
.contact-form textarea{min-height:170px}
.contact-form .btn{cursor:pointer}
.contact-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:960px){.contact-layout{gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.contact-form .grid-2{grid-template-columns:1fr}}
@media(max-width:760px){.contact-page{padding-top:36px}.contact-heading{margin-bottom:30px}.contact-layout{grid-template-columns:1fr;gap:32px}.contact-information{padding:0}.contact-form{padding:24px}.contact-form .btn-primary{width:100%}}
