/* Landing-page controls and header sizing. Keep these scoped so the application
   keeps its existing shared layout when the public page is released separately. */
.ctm-landing {
    color: var(--ctm-ink);
    font-feature-settings: "cv11", "ss01";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.ctm-landing > header { padding: 0 20px; border-color: var(--ctm-line-strong); }
.ctm-landing .header-container { height: 52px; padding: 0 !important; }
.ctm-landing .branding-logo { display: block; height: 40px; width: auto; }
.ctm-landing header .custom-navbar { height: 52px; padding: 0; }
.ctm-landing .ctm-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 26px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    color: var(--button-text-color);
    background-color: var(--ctm-brand);
    border: 1px solid var(--ctm-brand);
    border-radius: var(--ctm-radius);
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease;
}
.ctm-landing .ctm-cta:hover,
.ctm-landing .ctm-cta:focus-visible {
    color: var(--button-text-color);
    background-color: var(--ctm-brand-600);
    border-color: var(--ctm-brand-600);
    text-decoration: none;
}
.ctm-landing .ctm-cta > span { transition: transform .15s ease; }
.ctm-landing .ctm-cta:hover > span { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) {
    .ctm-landing .ctm-cta, .ctm-landing .ctm-cta > span { transition: none; }
}
