.abg-contact-hero-cta-cta{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);--abg-navy-start:#041B2F;--abg-navy-mid:#062A4A;--abg-navy-end:#0A3A63;--abg-accent:#29ABE2;--abg-eyebrow:#7CCBEE;--abg-heading:#fff;--abg-body:#C7D8E6;position:relative;background:linear-gradient(118deg,var(--abg-navy-start) 0%,var(--abg-navy-mid) 46%,var(--abg-navy-end) 100%);color:var(--abg-heading);overflow:hidden;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
.abg-contact-hero-cta-cta,.abg-contact-hero-cta-cta *{box-sizing:border-box}
.abg-contact-hero-cta-cta img,.abg-contact-hero-cta-cta svg{display:block;max-width:100%}
.abg-contact-hero-cta-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 480px at 82% 10%,rgba(41,171,226,.18),transparent 60%),radial-gradient(700px 420px at 8% 95%,rgba(0,166,81,.10),transparent 60%);pointer-events:none}
.abg-contact-cta-hatch{position:absolute;width:340px;height:340px;opacity:.16;pointer-events:none;background:repeating-linear-gradient(45deg,#7CCBEE 0 2px,transparent 2px 12px)}
.abg-contact-cta-hatch-tl{top:-60px;left:-60px;clip-path:polygon(0 0,100% 0,0 100%)}
.abg-contact-cta-hatch-br{bottom:-60px;right:-60px;clip-path:polygon(100% 100%,100% 0,0 100%)}
.abg-contact-hero-cta-cta-inner{position:relative;max-width:1180px;margin:0 auto;padding:84px 28px 96px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.abg-contact-cta-eyebrow{display:block;color:var(--abg-eyebrow);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.abg-contact-hero-cta-cta h1{margin:0;font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--abg-heading)}
.abg-contact-cta-accent{color:var(--abg-accent)}
.abg-contact-cta-lead{margin:22px 0 0;max-width:32rem;color:var(--abg-body);font-size:1.06rem;line-height:1.6}
.abg-contact-cta-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:380px}
.abg-swoosh{position:absolute;width:120%;max-width:560px;animation:abg-contact-cta-swoosh-spin 90s linear infinite}
@keyframes abg-contact-cta-swoosh-spin{to{transform:rotate(360deg)}}
.abg-globe-circle{position:relative;width:295px;height:295px;border-radius:50%;border:9px solid #fff;background:radial-gradient(circle at 32% 28%,#1C6EA8 0%,var(--abg-navy-end) 55%,var(--abg-navy-start) 100%);box-shadow:0 24px 60px rgba(4,27,47,.22);overflow:hidden;z-index:2}
.abg-globe-circle .abg-globe-dots{position:absolute;inset:-8% -30%;opacity:.85}
.abg-globe-circle .abg-globe-dots svg{width:100%;height:100%;max-width:none}
.abg-globe-circle .glare{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.28),transparent 42%)}
@media(max-width:1020px){.abg-contact-hero-cta-cta-inner{grid-template-columns:1fr;padding:64px 28px}.abg-contact-cta-visual{min-height:340px}}
@media(max-width:720px){.abg-contact-hero-cta-cta-inner{padding-left:20px;padding-right:20px}.abg-contact-hero-cta-cta h1{font-size:clamp(2rem,10vw,3rem)}.abg-contact-cta-visual{min-height:300px}.abg-globe-circle{border-width:7px}.abg-contact-cta-hatch{width:250px;height:250px}}

.abg-contact-hero-cta .abg-contact-cta-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:30px;
    padding:14px 22px;
    border:0;
    border-radius:7px;
    background:#00A651;
    color:#fff;
    text-decoration:none;
    font-family:inherit;
    font-size:16px;
    line-height:1.2;
    font-weight:700;
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.abg-contact-hero-cta .abg-contact-cta-button:hover{
    background:#008F45;
    color:#fff;
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(0,0,0,.14);
}
.abg-contact-hero-cta .abg-contact-cta-button .arr{
    display:inline-block;
    transition:transform .2s ease;
}
.abg-contact-hero-cta .abg-contact-cta-button:hover .arr{
    transform:translateX(3px);
}
@media(max-width:720px){
    .abg-contact-hero-cta .abg-contact-cta-button{
        font-size:14px;
        padding:12px 18px;
        margin-top:24px;
    }
}


/* v1.0.3 — CTA must retain the approved button styling even when
   Elementor/theme global button rules are present. */
.abg-contact-hero-cta-cta .abg-contact-cta-button,
.abg-contact-hero-cta-cta a.abg-contact-cta-button {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 30px 0 0 !important;
    padding: 14px 22px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #00A651 !important;
    color: #FFFFFF !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    cursor: pointer !important;
    vertical-align: middle !important;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease !important;
}

.abg-contact-hero-cta-cta .abg-contact-cta-button:hover,
.abg-contact-hero-cta-cta a.abg-contact-cta-button:hover {
    background: #008F45 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
}

.abg-contact-hero-cta-cta .abg-contact-cta-button .arr {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: 1em !important;
    line-height: 1 !important;
    transition: transform .2s ease !important;
}

.abg-contact-hero-cta-cta .abg-contact-cta-button:hover .arr {
    transform: translateX(3px);
}

/* Keep the two heading parts on distinct lines regardless of theme/Elementor rules. */
.abg-contact-hero-cta-cta .abg-contact-cta-heading {
    display: block !important;
}

.abg-contact-hero-cta-cta .abg-contact-cta-heading-before,
.abg-contact-hero-cta-cta .abg-contact-cta-accent {
    display: block !important;
    width: 100% !important;
}

@media (max-width: 720px) {
    .abg-contact-hero-cta-cta .abg-contact-cta-button,
    .abg-contact-hero-cta-cta a.abg-contact-cta-button {
        margin-top: 24px !important;
        padding: 12px 18px !important;
        font-size: 14px !important;
    }
}
