/* Reusable high-intent public actions. Geometry stays fixed during arrow motion. */
.lh-public-cta {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: .84rem 1.25rem;
    border: 1px solid var(--lh-blue);
    border-radius: var(--lh-radius-control, 6px);
    background: var(--lh-blue);
    color: #fff;
    font: inherit;
    font-size: .875rem;
    line-height: 1rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 8px 24px -20px rgba(18,35,63,.36);
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}
.lh-public-cta--primary:is(:hover,:focus-visible) {
    background: var(--lh-blue-hover);
    border-color: var(--lh-blue-hover);
    color: #fff;
    box-shadow: 0 12px 30px -22px rgba(18,35,63,.44);
}
.lh-public-cta--secondary {
    display: inline-grid;
    grid-template-columns: 16px auto 16px;
    gap: 0;
    border-color: var(--lh-slate-950);
    background: transparent;
    color: var(--lh-slate-950);
    box-shadow: none;
}
.lh-public-cta--secondary:is(:hover,:focus-visible) {
    background: rgba(255,255,255,.92);
    border-color: var(--lh-slate-950);
    color: var(--lh-slate-950);
    box-shadow: 0 10px 28px -24px rgba(18,35,63,.35);
}
.lh-public-cta:focus-visible { outline: 3px solid rgba(36,88,166,.18); outline-offset: 2px; }
.lh-public-cta:disabled { cursor: wait; opacity: .7; }
.lh-public-cta__arrow {
    width: 18px; height: 16px; flex: 0 0 18px; overflow: visible;
    fill: none; stroke: currentColor; stroke-width: 2.1;
    stroke-linecap: round; stroke-linejoin: round;
}
.lh-public-cta__arrow-head { transform: translateX(0); transition: transform 170ms cubic-bezier(.2,.75,.25,1); }
.lh-public-cta__arrow-shaft { transform: scaleX(0); transform-origin: 5.5px 8px; transition: transform 170ms cubic-bezier(.2,.75,.25,1); }
.lh-public-cta--primary:is(:hover,:focus-visible) .lh-public-cta__arrow-head { transform: translateX(8px); }
.lh-public-cta--primary:is(:hover,:focus-visible) .lh-public-cta__arrow-shaft { transform: scaleX(1); }
.lh-public-cta__lead-icon {
    grid-column: 1; width: 11px; height: 16px; opacity: 0; overflow: visible;
    fill: none; stroke: currentColor; stroke-width: 2.1;
    stroke-linecap: round; stroke-linejoin: round;
    transform: translateX(0);
    transition: opacity 120ms ease, transform 170ms cubic-bezier(.2,.75,.25,1);
}
.lh-public-cta--secondary > span { grid-column: 2; transform: translateX(0); transition: transform 170ms cubic-bezier(.2,.75,.25,1); }
.lh-public-cta--secondary:is(:hover,:focus-visible) .lh-public-cta__lead-icon { opacity: 1; transform: translateX(6px); }
.lh-public-cta--secondary:is(:hover,:focus-visible) > span { transform: translateX(6px); }
.lh-public-cta--compact { min-height: 38px; padding: .5rem .82rem; font-size: .75rem; }
.lh-public-cta--mobile { width: 100%; min-height: 46px; }
@media (max-width: 640px) { .lh-public-cta:not(.lh-public-cta--compact) { min-height: 48px; } }
@media (prefers-reduced-motion: reduce) {
    .lh-public-cta, .lh-public-cta__arrow-head, .lh-public-cta__arrow-shaft,
    .lh-public-cta__lead-icon, .lh-public-cta--secondary > span { transition: none !important; }
}
