.contact-page{--ct-blue:#2da6ee;--ct-pink:#f94176;--ct-ink:#071a2b;--ct-muted:#60778a;overflow:hidden;background:#f7fafc}
.contact-page *{box-sizing:border-box}
.contact-hero h1 span{color:var(--ct-pink)}

.contact-main{position:relative;padding:92px 0 120px;background:#f7fafc}
.contact-main:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 9% 20%,rgba(45,166,238,.08),transparent 24%),radial-gradient(circle at 92% 74%,rgba(249,65,118,.055),transparent 25%);pointer-events:none}
.contact-intro{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:72px;align-items:end;margin-bottom:48px}
.contact-kicker{display:flex;align-items:center;gap:12px;color:#159be9;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}
.contact-kicker:before{content:"";width:28px;height:2px;background:var(--ct-blue)}
.contact-intro h2{font-size:clamp(42px,4.7vw,68px);line-height:.97;letter-spacing:-.05em;color:var(--ct-ink);margin:0}
.contact-intro p{font-size:15px;line-height:1.75;color:var(--ct-muted);margin:0}

.contact-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.contact-card{--accent:var(--ct-blue);position:relative;min-height:260px;padding:30px 32px 28px;border:1px solid #dbe8f0;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 16px 48px rgba(9,36,57,.06);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s}
.contact-card.pink{--accent:var(--ct-pink)}
.contact-card:before{content:"";position:absolute;right:-70px;top:-70px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 14%,transparent),transparent 68%);transition:transform .5s ease}
.contact-card:hover{transform:translateY(-7px);box-shadow:0 28px 70px rgba(9,36,57,.12);border-color:color-mix(in srgb,var(--accent) 35%,#dbe8f0)}
.contact-card:hover:before{transform:scale(1.25)}
.contact-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:#eef9ff;border:1px solid #caeaff;color:var(--ct-blue);margin-bottom:24px;transition:.35s}
.contact-card.pink .contact-icon{background:#fff1f5;border-color:#ffd1dd;color:var(--ct-pink)}
.contact-card:hover .contact-icon{transform:translateY(-3px) rotate(-4deg) scale(1.05)}
.contact-icon .icon{width:29px;height:29px}
.contact-card small{display:block;color:#7d91a1;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}
.contact-card h3{font-size:28px;line-height:1.05;letter-spacing:-.035em;margin:0 0 10px;color:var(--ct-ink)}
.contact-card .contact-value{font-size:21px;line-height:1.3;font-weight:900;color:#14344b;text-decoration:none;word-break:break-word}
.contact-card a.contact-value:hover{color:var(--accent)}
.contact-card p{font-size:13px;line-height:1.65;color:#647b8c;margin:12px 0 0;max-width:520px}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.contact-action{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 15px;border-radius:10px;text-decoration:none;font-size:12px;font-weight:900;border:1px solid #d8e7f0;color:#17384f;background:#f9fcfe;transition:.3s}
.contact-action:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent);background:#fff}
.contact-action.primary{border-color:transparent;background:var(--accent);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 23%,transparent)}
.contact-action.primary:hover{color:#fff;box-shadow:0 14px 28px color-mix(in srgb,var(--accent) 32%,transparent)}
.contact-action .icon{width:16px;height:16px}

.contact-socials{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.contact-social{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;border:1px solid #e0ebf2;border-radius:12px;background:#f9fcfe;text-decoration:none;color:#29495f;font-size:12px;font-weight:900;transition:.3s}
.contact-social:hover{border-color:var(--accent);color:var(--accent);transform:translateX(3px)}
.contact-social span:last-child{font-size:17px}

.contact-direct{position:relative;margin-top:34px;padding:30px 32px;border-radius:24px;background:#071725;color:#fff;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;box-shadow:0 22px 60px rgba(7,23,37,.17)}
.contact-direct:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(45,166,238,.07),transparent 48%),radial-gradient(circle at 90% 50%,rgba(249,65,118,.10),transparent 30%);pointer-events:none}
.contact-direct>div,.contact-direct>a{position:relative;z-index:2}
.contact-direct strong{display:block;font-size:24px;line-height:1.1;margin-bottom:8px}
.contact-direct p{margin:0;color:#bdd0dc;font-size:13px;line-height:1.65;max-width:650px}
.contact-direct .contact-action{min-height:48px;padding:0 19px;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#fff;white-space:nowrap}
.contact-direct .contact-action:hover{border-color:#66c9ff;color:#fff;background:rgba(45,166,238,.10)}

.contact-reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.75,.2,1)}
.contact-reveal.from-left{transform:translate3d(-60px,0,0)}
.contact-reveal.from-right{transform:translate3d(60px,0,0)}
.contact-reveal.is-visible{opacity:1;transform:none}

@media(max-width:900px){
  .contact-intro{grid-template-columns:1fr;gap:24px}.contact-grid{grid-template-columns:1fr}.contact-direct{grid-template-columns:1fr}.contact-direct .contact-action{width:max-content}
}
@media(max-width:640px){
  .contact-main{padding:72px 0 82px}.contact-card{padding:25px 22px;border-radius:20px}.contact-card h3{font-size:25px}.contact-card .contact-value{font-size:18px}.contact-socials{grid-template-columns:1fr}.contact-direct{padding:25px 22px;border-radius:20px}
}
@media(prefers-reduced-motion:reduce){.contact-page *{animation:none!important;transition-duration:.01ms!important}.contact-reveal{opacity:1;transform:none}}
