.gx-contact-footer { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr); gap:34px; align-items:center; margin-top:36px; padding:34px 0 10px; border-top:1px solid rgba(255,255,255,.14); }
.gx-contact-heading>span,.gx-partner-contact>div:first-child>span { display:block; margin-bottom:10px; color:var(--gx-lime,#d9ff54); font-size:10px; font-weight:900; letter-spacing:.18em; }
.gx-contact-heading h2 { margin:0 0 10px; color:#fff; font-size:clamp(28px,4vw,48px); line-height:.95; letter-spacing:-.05em; text-transform:uppercase; }
.gx-contact-heading p,.gx-partner-contact p { margin:0; color:rgba(255,255,255,.65); line-height:1.65; }
.gx-contact-grid,.gx-partner-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.gx-contact-card { display:flex; align-items:center; gap:16px; min-width:0; padding:12px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); color:#fff; transition:transform .25s ease,background .25s ease,border-color .25s ease; }
.gx-contact-card:hover { transform:translateY(-3px); border-color:var(--gx-lime,#d9ff54); background:rgba(255,255,255,.14); }
.gx-contact-media { position:relative; flex:0 0 210px; width:210px; display:grid; place-items:center; overflow:hidden; background:#fff; text-decoration:none; }
.gx-contact-media img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; }
.gx-contact-media span { position:absolute; right:7px; bottom:7px; padding:5px 7px; background:rgba(23,19,29,.82); color:#fff; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.gx-contact-copy { display:flex; min-width:0; flex-direction:column; gap:5px; color:#fff; text-decoration:none; }
.gx-contact-copy small { color:var(--gx-lime,#d9ff54); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.gx-contact-copy strong { overflow-wrap:anywhere; font-size:18px; line-height:1.05; }
.gx-contact-copy em { color:rgba(255,255,255,.58); font-size:11px; font-style:normal; }
.gx-partner-contact { display:grid; grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr); gap:30px; align-items:stretch; margin-top:30px; padding-top:24px; border-top:1px solid rgba(255,255,255,.2); text-align:left; }
.gx-partner-contact strong { display:block; margin-bottom:8px; color:#fff; font-size:clamp(24px,3vw,38px); line-height:.95; letter-spacing:-.05em; text-transform:uppercase; }
.gx-partner-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:stretch; min-width:0; }
.gx-partner-contact-grid .gx-contact-card { display:flex; min-width:0; min-height:100%; flex-direction:column; align-items:stretch; gap:12px; padding:10px; }
.gx-partner-contact-grid .gx-contact-media { width:100%; min-width:0; aspect-ratio:1/1; flex:none; }
.gx-partner-contact-grid .gx-contact-copy { min-width:0; padding:2px 4px 4px; gap:4px; }
.gx-partner-contact-grid .gx-contact-copy strong { white-space:nowrap; overflow-wrap:normal; word-break:normal; font-size:clamp(14px,1.45vw,18px); line-height:1.1; }
.gx-partner-contact-grid .gx-contact-copy em { font-size:10px; }
.gx-contact-compact { padding:8px; }
.partner-hero:has(.gx-partner-contact) { padding-bottom:54px; }
@media (max-width:860px) { .gx-partner-contact { grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr); gap:20px; } .gx-partner-contact-grid { gap:12px; } }
@media (max-width:760px) { .gx-contact-footer,.gx-partner-contact { grid-template-columns:1fr; } .gx-contact-grid,.gx-partner-contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .gx-contact-media { flex-basis:190px; width:190px; } .gx-contact-compact .gx-contact-media { flex-basis:190px; width:190px; } .gx-partner-contact-grid .gx-contact-card { display:flex; } }
@media (max-width:520px) { .gx-contact-grid,.gx-partner-contact-grid { grid-template-columns:1fr; } .gx-partner-contact-grid .gx-contact-copy strong { font-size:16px; } }
