/* 45 SOUTH — shared blue CTA with a travelling diagonal arrow. */
.story-stage .copy .cta.south-cta42,
.south-common-footer .south-cta42,
.south-contact-dialog .south-cta42,.south-about .south-cta42{
 display:inline-flex;align-items:center;justify-content:space-between;gap:20px;
 min-height:42px;max-width:100%;padding:14px 18px;border:0;
 border-radius:0;background:rgba(255, 255, 255, 0.85);color:#111;
 font:500 15px/1.3 Arial,Helvetica,sans-serif;letter-spacing:-.025em;
 text-transform:uppercase;text-decoration:none;cursor:pointer;
 transition:background-color .35s ease,color .35s ease,border-color .35s ease;
}
.south-common-footer .south-cta42{margin-top:26px}
.south-cta42 .south-cta42__label{min-width:0}
.south-cta42 .south-cta42__arrow{position:relative;display:block;overflow:hidden;flex:0 0 19px;width:19px;height:19px;background:transparent;border-radius:0}
.south-cta42 .south-cta42__arrow svg{position:absolute;inset:0;display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .4s cubic-bezier(.25,.75,.25,1)}
.south-cta42 .south-cta42__arrow svg:last-child{transform:translate(-125%,125%)}
@media(hover:hover){
 .story-stage .copy .cta.south-cta42:hover,.south-common-footer .south-cta42:hover,.south-contact-dialog .south-cta42:hover,.south-about .south-cta42:hover{background:#007db9;color:#fff}
 .south-cta42:hover .south-cta42__arrow svg:first-child{transform:translate(125%,-125%)}
 .south-cta42:hover .south-cta42__arrow svg:last-child{transform:translate(0,0)}
}
.story-stage .copy .cta.south-cta42:focus-visible,.south-common-footer .south-cta42:focus-visible,.south-contact-dialog .south-cta42:focus-visible,.south-about .south-cta42:focus-visible{outline:2px solid #fff;outline-offset:5px;background:#007db9;color:#fff}
.south-cta42:focus-visible .south-cta42__arrow svg:first-child{transform:translate(125%,-125%)}
.south-cta42:focus-visible .south-cta42__arrow svg:last-child{transform:translate(0,0)}
@media(max-width:540px){.story-stage .copy .cta.south-cta42,.south-common-footer .south-cta42,.south-contact-dialog .south-cta42,.south-about .south-cta42{min-height:40px;padding:10px 16px;font-size:13px;gap:18px}}
@media(prefers-reduced-motion:reduce){.story-stage .copy .cta.south-cta42,.south-common-footer .south-cta42,.south-contact-dialog .south-cta42,.south-about .south-cta42,.south-cta42 .south-cta42__arrow svg{transition:none}}

.south-contact-dialog .south-cta42:disabled{cursor:wait;opacity:.5}

/* Contact-only variant: full-width button with centred label and arrow. */
.south-contact-dialog .south-cta42.south-cta42--contact{justify-content:center;background:#fff}
@media(hover:hover){.south-contact-dialog .south-cta42.south-cta42--contact:hover{background:#007db9;color:#fff}}
.south-contact-dialog .south-cta42.south-cta42--contact:focus-visible{background:#007db9;color:#fff}
