/* CTA geometry measured from toss.im: 48px pill, 16px label, 28px arrow circle. */
:root{
 --cta-bg:rgba(7,25,76,.05);--cta-hover-bg:rgba(3,31,63,.09);
 --cta-ink:#1C1F25;--cta-circle-bg:#1C1F25;--cta-circle-ink:#FFFFFF;
 --cta-roll-distance:16px;--cta-roll-time:450ms;--cta-fade-time:220ms;
 --cta-stagger:15ms;--cta-ease:cubic-bezier(.22,1,.36,1);
}
.bliv-cta.cta{
 display:inline-flex;align-items:center;justify-content:flex-start;gap:0;
 width:fit-content;max-width:100%;height:48px;min-height:48px;
 padding:11px 0 11px 18px;border:0;border-radius:136px;
 background:var(--cta-bg);color:var(--cta-ink);box-shadow:none;
 font-size:16px;font-weight:600;line-height:1.6;letter-spacing:normal;
 text-decoration:none;white-space:nowrap;overflow:hidden;vertical-align:middle;
 transition:background-color 200ms,transform 120ms;
}
.cta-label{display:block;position:relative;overflow:hidden;height:1.6em;min-width:0}
.cta-row{display:block;white-space:pre}
.cta-row--in{position:absolute;inset:0 auto auto 0}
.cta-char{display:inline-block;white-space:pre;transform:translateY(0);opacity:1;transition:transform var(--cta-roll-time) var(--cta-ease),opacity var(--cta-fade-time);transition-delay:calc(var(--char-index)*var(--cta-stagger))}
.cta-row--in .cta-char{transform:translateY(var(--cta-roll-distance));opacity:0}
.cta-arrow-space{display:flex;align-items:center;flex:none;padding:0 10px 0 12px;height:28px}
.cta-orbit{display:block;position:relative;overflow:hidden;width:28px;height:28px;border-radius:80px;background:var(--cta-circle-bg);color:var(--cta-circle-ink)}
.cta-arrow-track{position:absolute;top:7px;left:0;display:flex;gap:14px;width:42px;height:14px;transform:translateX(-21px);transition:transform 500ms var(--cta-ease)}
.cta-arrow-track svg{display:block;flex:none;width:14px;height:14px}
.cta:focus-visible{outline:2px solid #171717;outline-offset:4px;background:var(--cta-hover-bg)}
.cta:focus-visible .cta-row--out .cta-char{transform:translateY(calc(-1*var(--cta-roll-distance)));opacity:0}
.cta:focus-visible .cta-row--in .cta-char{transform:translateY(0);opacity:1}
.cta:focus-visible .cta-arrow-track{transform:translateX(7px)}
@media(hover:hover) and (pointer:fine){
 .bliv-cta.cta:hover{background:var(--cta-hover-bg);color:var(--cta-ink);border:0}
 .cta:hover .cta-row--out .cta-char{transform:translateY(calc(-1*var(--cta-roll-distance)));opacity:0}
 .cta:hover .cta-row--in .cta-char{transform:translateY(0);opacity:1}
 .cta:hover .cta-arrow-track{transform:translateX(7px)}
}
.bliv-cta.cta:active{transform:scale(.98)}
.cta:disabled,.cta[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}
@media(prefers-reduced-motion:reduce){
 .cta,.cta *{transition:none!important;animation:none!important}
 .cta .cta-row--out .cta-char,.cta:hover .cta-row--out .cta-char,.cta:focus-visible .cta-row--out .cta-char{opacity:1;transform:none!important}
 .cta .cta-row--in .cta-char,.cta:hover .cta-row--in .cta-char,.cta:focus-visible .cta-row--in .cta-char{opacity:0;transform:none!important}
 .cta .cta-arrow-track{transform:translateX(-21px)!important}
}

/* Explicit primary/secondary hierarchy, including existing high-specificity button rules. */
main a.bliv-cta.cta,main .hero a.bliv-cta.cta,#brief .consultation-actions a.bliv-cta.cta,a.floating.bliv-cta.cta{background:var(--cta-bg)!important;color:var(--cta-ink)!important;border:0!important;padding:11px 0 11px 18px;min-height:48px;gap:0;font-size:16px}
main a.bliv-cta.cta:hover,main .hero a.bliv-cta.cta:hover,#brief .consultation-actions a.bliv-cta.cta:hover,a.floating.bliv-cta.cta:hover{background:var(--cta-hover-bg)!important;color:var(--cta-ink)!important}
#brief .consultation-actions .cta-primary{--cta-bg:#171717;--cta-hover-bg:#343434;--cta-ink:#fff;--cta-circle-bg:#fff;--cta-circle-ink:#171717}
#brief .consultation-actions .cta-secondary{--cta-bg:rgba(7,25,76,.05);--cta-hover-bg:rgba(3,31,63,.09);--cta-ink:#1c1f25;--cta-circle-bg:#e4e4e4;--cta-circle-ink:#171717}
.cta-phone-icon{display:grid;place-items:center;width:28px;height:28px}
.cta-phone-icon svg{width:14px;height:14px}
@media(max-width:760px){.hero .bliv-cta.cta{--cta-bg:rgba(255,255,255,.88);--cta-hover-bg:#fff}.consultation-actions .bliv-cta.cta{width:100%;justify-content:space-between}}

/* Phone handset changes from outline to solid on hover and keyboard focus. */
.cta-phone-icon svg{fill:transparent;transition:fill 200ms ease}
.cta:focus-visible .cta-phone-icon svg{fill:currentColor}
@media(hover:hover) and (pointer:fine){.cta:hover .cta-phone-icon svg{fill:currentColor}}
