.compact-contact { position:relative; overflow:hidden; background:linear-gradient(135deg,#672c85,#5d287a); color:#fff; padding:36px clamp(24px,7vw,110px); scroll-margin-top:100px; }
.compact-contact::before { content:""; position:absolute; width:340px; height:340px; border:1px solid #ffffff18; border-radius:50%; left:-150px; top:-110px; box-shadow:0 0 0 55px #ffffff05,0 0 0 110px #ffffff04; pointer-events:none; }
.compact-contact-inner { position:relative; max-width:1220px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.compact-contact .section-kicker { color:#b8dce4; font-size:11px; letter-spacing:.24em; margin:0 0 12px; }
.compact-contact h2 { font-size:clamp(28px,3vw,38px); font-weight:500; line-height:1.15; letter-spacing:-.035em; margin:0 0 13px; }
.compact-contact h2 em { color:#b8dce4; font-style:normal; }
.compact-contact p { font-size:14px; line-height:1.75; color:#eadff0; margin:0; max-width:590px; }
.compact-contact-actions { flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:13px; }
.compact-contact .button { background:#fffdf9; color:#672c85; border-radius:999px; padding:16px 25px; font:600 13px/1.4 var(--sans); letter-spacing:2.21px; }
@media(min-width:1400px) { .compact-contact .button { font-size:16px; padding:20px 30px; } }
@media(max-width:980px) { .compact-contact .button { padding:17px 25px; } }
.compact-contact-email { font-size:12px; color:#fff; text-underline-offset:4px; }
.compact-contact-email:hover { text-decoration:underline; }
.compact-contact a:focus-visible { outline:2px solid #b8dce4; outline-offset:6px; }
@media(max-width:760px) { .compact-contact-inner { flex-direction:column; align-items:flex-start; gap:24px; } .compact-contact-actions { align-items:flex-start; } .compact-contact { padding-block:30px; } }
