/* ======================================================================
   CLEM Suite commercial landing — visual correction pass
   Scope: Home landing only. Hero/navbar remain in site.css.
   ====================================================================== */

/* Compact the existing feature lead that lives immediately after Hero. */
.clem-features-lead {
    min-height: 0;
    padding: 1rem 1.25rem 1.25rem;
    background: #02091a;
}

.clem-features-lead__panel {
    width: min(100%, 76rem);
    min-height: 0;
    margin-inline: auto;
    grid-template-columns: minmax(15rem, 0.7fr) minmax(0, 1.3fr);
    gap: 1.5rem;
    align-items: center;
    padding: 1.35rem 1.5rem;
    border-radius: 1rem;
}

.clem-features-lead__heading {
    align-self: center;
}

.clem-features-lead h2 {
    max-width: 27rem;
    margin-top: 0.65rem;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.clem-features-lead__intro {
    max-width: 29rem;
    margin: 0.55rem 0 0;
    color: #9eb2ca;
    font-size: 0.84rem;
    line-height: 1.5;
}

.clem-features-lead__link {
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.45rem;
    color: #63dcd7;
    font-size: 0.78rem;
    font-weight: 760;
    text-decoration: none;
}

.clem-features-lead__link:hover,
.clem-features-lead__link:focus-visible {
    color: #ffffff;
}

.clem-features-lead__cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.clem-feature-card {
    display: flex;
    min-width: 0;
    min-height: 5.65rem;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.9rem;
    border-radius: 0.75rem;
    border: 0.0625rem solid rgba(84, 160, 218, 0.20);
    background: rgba(6, 28, 57, 0.72);
    color: #f0f5fc;
}

.clem-feature-card svg {
    width: 1.45rem;
    height: 1.45rem;
    flex: 0 0 auto;
    margin-top: 0.05rem;
}

.clem-feature-card__copy {
    display: grid;
    min-width: 0;
    gap: 0.28rem;
}

.clem-feature-card__copy strong {
    color: #f0f5fc;
    font-size: 0.82rem;
    font-weight: 750;
    line-height: 1.2;
}

.clem-feature-card__copy small {
    color: #879db9;
    font-size: 0.69rem;
    line-height: 1.4;
}


/* Landing foundation */
.landing-page {
    --landing-bg: #020817;
    --landing-bg-2: #041127;
    --landing-surface: #07162d;
    --landing-surface-2: #0a1d39;
    --landing-border: rgba(94, 164, 226, 0.20);
    --landing-border-strong: rgba(84, 190, 222, 0.34);
    --landing-text: #f4f8fe;
    --landing-muted: #9caec5;
    --landing-cyan: #38d0d2;
    --landing-blue: #2587ef;
    --landing-green: #2ac69a;
    --landing-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --landing-fast: 180ms;
    --landing-normal: 520ms;
    background: var(--landing-bg);
    color: var(--landing-text);
}

.landing-page *,
.landing-page *::before,
.landing-page *::after,
.landing-footer *,
.landing-footer *::before,
.landing-footer *::after,
.landing-whatsapp-float,
.landing-whatsapp-float::before {
    box-sizing: border-box;
}

.landing-page :is(#features, #business-connected, #platform, #connected-flow, #growth, #integrations, #business-types, #trust, #stories, #plans, #faq, #contact) {
    scroll-margin-top: 6rem;
}

/* Home section navigation / scrollspy */
.clem-navbar .nav-link[data-section-nav] {
    position: relative;
    transition: color 180ms ease;
}

.clem-navbar .nav-link[data-section-nav]::after {
    position: absolute;
    right: 0;
    bottom: 0.18rem;
    left: 0;
    height: 0.125rem;
    border-radius: 999px;
    background: linear-gradient(90deg, #2587ef 0%, #38d0d2 52%, #2ac69a 100%);
    content: "";
    opacity: 0;
    transform: scaleX(0.38);
    transform-origin: center;
    transition: opacity 180ms ease, transform 180ms ease;
}

.clem-navbar .nav-link[data-section-nav].is-section-active {
    color: #62e0d3;
}

.clem-navbar .nav-link[data-section-nav].is-section-active::after {
    opacity: 1;
    transform: scaleX(1);
}

@media (max-width: 61.99875rem) {
    .clem-navbar .nav-link[data-section-nav]::after {
        right: auto;
        bottom: 0.3rem;
        left: 0.5rem;
        width: 2.25rem;
        transform-origin: left center;
    }
}

.landing-section {
    position: relative;
    padding-block: clamp(3.25rem, 4.6vw, 4.75rem);
}

.landing-shell {
    position: relative;
    width: min(calc(100% - 2rem), 76rem);
    margin-inline: auto;
}

.landing-page h2,
.landing-page h3 {
    margin: 0;
    color: var(--landing-text);
    letter-spacing: -0.035em;
}

.landing-page h2 {
    max-width: 15ch;
    font-size: clamp(2rem, 5vw, 3.35rem);
    font-weight: 760;
    line-height: 1.03;
}

.landing-page h3 {
    font-size: 1.1rem;
    font-weight: 750;
    line-height: 1.2;
}

.landing-page p {
    margin: 0;
    color: var(--landing-muted);
    font-size: 1rem;
    line-height: 1.65;
}

.landing-page .landing-lead {
    color: #bac9db;
    font-size: clamp(1rem, 1.55vw, 1.08rem);
    line-height: 1.65;
}

.landing-page .landing-eyebrow {
    display: inline-flex;
    min-height: 1.75rem;
    align-items: center;
    margin: 0 0 0.9rem;
    padding: 0.3rem 0.65rem;
    border: 0.0625rem solid rgba(56, 208, 210, 0.28);
    border-radius: 999px;
    background: rgba(8, 39, 70, 0.68);
    color: #62ddd4;
    font-size: 0.64rem;
    font-weight: 850;
    letter-spacing: 0.065em;
    line-height: 1;
}

.landing-heading {
    max-width: 50rem;
    margin-bottom: 2.25rem;
}

.landing-heading--split {
    display: grid;
    gap: 1rem;
}

.landing-actions,
.landing-final__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    align-items: center;
    margin-top: 1.6rem;
}

.landing-link,
.landing-button {
    display: inline-flex;
    min-height: 2.85rem;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    color: var(--landing-text);
    font-size: 0.88rem;
    font-weight: 760;
    text-decoration: none;
    transition: color var(--landing-fast) ease,
                border-color var(--landing-fast) ease,
                background-color var(--landing-fast) ease,
                transform var(--landing-fast) ease,
                box-shadow var(--landing-fast) ease;
}

.landing-link {
    justify-content: flex-start;
    color: #6fe1df;
}

.landing-link:hover,
.landing-link:focus-visible {
    color: #ffffff;
}

.landing-button {
    min-height: 3.15rem;
    padding: 0.72rem 1.15rem;
    border: 0.0625rem solid transparent;
    border-radius: 0.72rem;
}

.landing-button--primary {
    border-color: rgba(87, 218, 220, 0.38);
    background: linear-gradient(108deg, #176fe9, #19a6d9 58%, #25c792);
    box-shadow: 0 0.7rem 1.8rem rgba(13, 105, 205, 0.20);
    color: #ffffff;
}

.landing-button--secondary {
    border-color: rgba(90, 157, 219, 0.38);
    background: rgba(6, 27, 57, 0.72);
    color: #dce9f8;
}

.landing-button:hover {
    color: #ffffff;
    transform: translateY(-0.1rem);
}

.landing-button--primary:hover {
    box-shadow: 0 0.9rem 2.2rem rgba(10, 132, 214, 0.28);
}

.landing-page :is(a, button, summary):focus-visible,
.landing-footer a:focus-visible,
.landing-whatsapp-float:focus-visible {
    outline: 0.18rem solid rgba(71, 223, 211, 0.80);
    outline-offset: 0.18rem;
}

.landing-media-frame {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 0.0625rem solid rgba(86, 164, 226, 0.22);
    border-radius: 1rem;
    background: #020a1b;
    box-shadow: 0 1.5rem 4rem rgba(0, 3, 18, 0.32);
}

.landing-media-frame img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.landing-section__action {
    display: flex;
    justify-content: center;
    margin-top: 1.75rem;
}

/* BUSINESS — editorial image-led section */
.landing-business {
    overflow: hidden;
    border-top: 0.0625rem solid rgba(75, 143, 205, 0.12);
    background:
        radial-gradient(circle at 86% 48%, rgba(25, 123, 224, 0.14), transparent 32%),
        linear-gradient(180deg, #020817, #031027);
}

.landing-business__layout {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

.landing-business__copy {
    min-width: 0;
}

.landing-business__copy > p:not(.landing-eyebrow) + p {
    margin-top: 0.85rem;
}

.landing-business__visual {
    width: 100%;
    max-width: 100%;
}

/* PLATFORM — system map, intentionally different from the other sections */
.landing-platform {
    background:
        linear-gradient(rgba(62, 139, 206, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(62, 139, 206, 0.035) 1px, transparent 1px),
        #06142b;
    background-size: 2rem 2rem;
}

.landing-platform__layout {
    display: grid;
    gap: 2.75rem;
    align-items: center;
}

.landing-platform__copy > p:not(.landing-eyebrow) {
    max-width: 32rem;
    margin-top: 1rem;
}

.landing-platform__copy .landing-link {
    margin-top: 1.35rem;
}

.landing-platform-map {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding: 1.25rem;
    border: 0.0625rem solid rgba(79, 169, 222, 0.28);
    border-radius: 1.25rem;
    background: linear-gradient(145deg, rgba(7, 30, 61, 0.98), rgba(3, 18, 40, 0.98));
    box-shadow: 0 1.5rem 4rem rgba(0, 4, 18, 0.30);
}

.landing-platform-map__grid {
    position: absolute;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(72, 152, 212, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(72, 152, 212, 0.055) 1px, transparent 1px);
    background-size: 1.5rem 1.5rem;
    inset: 0;
    mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}

.landing-platform-map__core {
    position: relative;
    z-index: 2;
    display: grid;
    max-width: 19rem;
    gap: 0.25rem;
    margin: 0 auto 1rem;
    padding: 1rem 1.1rem;
    border: 0.0625rem solid rgba(69, 209, 204, 0.35);
    border-radius: 0.85rem;
    background: linear-gradient(135deg, rgba(17, 99, 170, 0.35), rgba(15, 111, 91, 0.25));
    box-shadow: 0 0 2.5rem rgba(35, 155, 205, 0.12);
    text-align: center;
}

.landing-platform-map__core span {
    color: #5fe0d6;
    font-size: 0.62rem;
    font-weight: 850;
    letter-spacing: 0.09em;
}

.landing-platform-map__core strong {
    color: #f1f7fd;
    font-size: 1rem;
}

.landing-platform-map__core small {
    color: #91a8c3;
    font-size: 0.72rem;
}

.landing-platform-map__connector {
    position: relative;
    z-index: 1;
    height: 2.1rem;
    margin: -0.2rem auto;
}

.landing-platform-map__connector::before,
.landing-platform-map__connector::after,
.landing-platform-map__connector span {
    position: absolute;
    content: "";
    background: linear-gradient(90deg, #2587ef, #38d0d2, #2ac69a);
}

.landing-platform-map__connector::before {
    top: 0;
    bottom: 0;
    left: 50%;
    width: 0.1rem;
    transform: translateX(-50%);
}

.landing-platform-map__connector::after {
    top: 50%;
    right: 12%;
    left: 12%;
    height: 0.1rem;
}

.landing-platform-map__group {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.landing-platform-map__group-label {
    grid-column: 1 / -1;
    color: #718ba9;
    font-size: 0.59rem;
    font-weight: 850;
    letter-spacing: 0.095em;
}

.landing-platform-map__group button {
    display: grid;
    min-width: 0;
    min-height: 4.2rem;
    grid-template-columns: 1.8rem 1fr;
    gap: 0.65rem;
    align-items: center;
    padding: 0.72rem;
    border: 0.0625rem solid rgba(79, 151, 209, 0.22);
    border-radius: 0.72rem;
    background: rgba(5, 24, 51, 0.82);
    color: #e6eff9;
    text-align: left;
    transition: border-color var(--landing-fast) ease,
                background-color var(--landing-fast) ease,
                transform var(--landing-fast) ease;
}

.landing-platform-map__group button > span {
    display: grid;
    width: 1.8rem;
    height: 1.8rem;
    place-items: center;
    border-radius: 0.5rem;
    background: rgba(37, 135, 239, 0.13);
    color: #65cfdc;
    font-size: 0.58rem;
    font-weight: 850;
}

.landing-platform-map__group button strong {
    min-width: 0;
    font-size: 0.78rem;
}

.landing-platform-map__group button[aria-pressed="true"] {
    border-color: rgba(65, 215, 207, 0.48);
    background: linear-gradient(135deg, rgba(24, 103, 180, 0.24), rgba(18, 91, 79, 0.18));
}

.landing-platform-map__detail {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 0.25rem;
    margin-top: 0.9rem;
    padding: 0.9rem 1rem;
    border: 0.0625rem solid rgba(71, 190, 201, 0.24);
    border-radius: 0.75rem;
    background: rgba(4, 25, 49, 0.88);
}

.landing-platform-map__detail > span {
    color: #5bdad5;
    font-size: 0.56rem;
    font-weight: 850;
    letter-spacing: 0.09em;
}

.landing-platform-map__detail strong {
    color: #f1f7fd;
    font-size: 0.84rem;
}

.landing-platform-map__detail p {
    color: #8fa5bf;
    font-size: 0.74rem;
    line-height: 1.45;
}

/* FLOW — one compact horizontal pipeline */
.landing-flow {
    border-block: 0.0625rem solid rgba(73, 137, 197, 0.10);
    background: linear-gradient(180deg, #010713, #030d20);
}

.landing-flow__intro {
    display: grid;
    gap: 1rem;
    align-items: end;
    margin-bottom: 2rem;
}

.landing-flow__intro > p {
    max-width: 31rem;
}

.landing-flow__frame {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding: 1.15rem;
    border: 0.0625rem solid rgba(71, 152, 214, 0.24);
    border-radius: 1rem;
    background:
        radial-gradient(circle at 50% 0%, rgba(28, 132, 221, 0.12), transparent 42%),
        #06142b;
}

.landing-flow__line {
    display: none;
}

.landing-flow__steps {
    position: relative;
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.landing-flow__steps::before {
    position: absolute;
    top: 1.4rem;
    bottom: 1.4rem;
    left: 1.35rem;
    width: 0.1rem;
    background: linear-gradient(var(--landing-blue), var(--landing-cyan), var(--landing-green));
    content: "";
}

.landing-flow__steps li {
    position: relative;
    display: grid;
    min-height: 5.5rem;
    grid-template-columns: 2.75rem 1fr;
    grid-template-rows: auto auto;
    column-gap: 0.85rem;
    align-content: center;
}

.landing-flow__number {
    z-index: 1;
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    grid-row: 1 / 3;
    place-items: center;
    border: 0.0625rem solid rgba(72, 181, 229, 0.52);
    border-radius: 50%;
    background: #071831;
    color: #71d9df;
    font-size: 0.62rem;
    font-weight: 850;
}

.landing-flow__steps strong {
    color: #eef5fc;
    font-size: 0.9rem;
}

.landing-flow__steps small {
    margin-top: 0.2rem;
    color: #849ab5;
    font-size: 0.74rem;
    line-height: 1.4;
}

.landing-flow__action {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1.5rem;
    margin-top: 1.1rem;
    color: #748aa6;
    font-size: 0.75rem;
}

/* GROWTH — image first on desktop for a clear rhythm change */
.landing-growth {
    background:
        radial-gradient(circle at 8% 60%, rgba(35, 177, 170, 0.10), transparent 28%),
        linear-gradient(180deg, #06142a, #07172e);
}

.landing-growth__layout {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

.landing-growth__copy > p:not(.landing-eyebrow) {
    max-width: 32rem;
    margin-top: 1rem;
}

.landing-growth__visual {
    width: 100%;
    max-width: 100%;
}

.landing-growth__stages {
    display: grid;
    gap: 0;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.landing-growth__stages li {
    display: grid;
    grid-template-columns: 2.25rem 1fr;
    gap: 0.8rem;
    padding: 0.85rem 0;
    border-top: 0.0625rem solid rgba(97, 161, 211, 0.18);
}

.landing-growth__stages li:last-child {
    border-bottom: 0.0625rem solid rgba(97, 161, 211, 0.18);
}

.landing-growth__stages li > span {
    color: #4fd4d1;
    font-size: 0.62rem;
    font-weight: 850;
}

.landing-growth__stages div {
    display: grid;
    gap: 0.2rem;
}

.landing-growth__stages strong {
    color: #eef5fc;
    font-size: 0.73rem;
    letter-spacing: 0.045em;
}

.landing-growth__stages small {
    color: #91a5bd;
    font-size: 0.78rem;
    line-height: 1.45;
}

/* INTEGRATIONS — process console, copy on the opposite side */
.landing-integrations {
    background:
        linear-gradient(90deg, rgba(14, 85, 153, 0.08), transparent 48%),
        #020b1d;
}

.landing-integrations__layout {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

.landing-integrations__copy > p:not(.landing-eyebrow) {
    max-width: 32rem;
    margin-top: 1rem;
}

.landing-integrations__benefits {
    display: grid;
    gap: 0.65rem;
    margin: 1.4rem 0 1.6rem;
    padding: 0;
    list-style: none;
}

.landing-integrations__benefits li {
    display: grid;
    gap: 0.18rem;
    padding: 0.75rem 0 0.75rem 1rem;
    border-left: 0.125rem solid rgba(56, 208, 210, 0.38);
}

.landing-integrations__benefits strong {
    color: #eaf3fc;
    font-size: 0.82rem;
}

.landing-integrations__benefits span {
    color: #8ea3bc;
    font-size: 0.78rem;
    line-height: 1.45;
}

.landing-compliance {
    min-width: 0;
    overflow: hidden;
    padding: 1.1rem;
    border: 0.0625rem solid rgba(83, 165, 221, 0.28);
    border-radius: 1rem;
    background:
        radial-gradient(circle at 18% 15%, rgba(43, 139, 222, 0.14), transparent 30%),
        linear-gradient(145deg, #081b36, #041126);
    box-shadow: 0 1.5rem 4rem rgba(0, 3, 18, 0.28);
}

.landing-compliance__topline,
.landing-compliance__result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.landing-compliance__topline {
    padding-bottom: 0.9rem;
    border-bottom: 0.0625rem solid rgba(88, 159, 213, 0.17);
}

.landing-compliance__live,
.landing-compliance__folio {
    color: #8ca4bf;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.055em;
}

.landing-compliance__live {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #68d9d2;
}

.landing-compliance__live i {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--landing-green);
    box-shadow: 0 0 0.7rem rgba(42, 198, 154, 0.55);
}

.landing-compliance__steps {
    position: relative;
    display: grid;
    gap: 0;
    margin: 0.8rem 0;
    padding: 0;
    list-style: none;
}

.landing-compliance__steps::before {
    position: absolute;
    top: 1.2rem;
    bottom: 1.2rem;
    left: 1.05rem;
    width: 0.1rem;
    background: linear-gradient(#2587ef, #38d0d2, #2ac69a);
    content: "";
    opacity: 0.45;
}

.landing-compliance__steps li {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 4rem;
    grid-template-columns: 2.1rem 1fr;
    gap: 0.75rem;
    align-items: center;
}

.landing-compliance__steps li > span {
    display: grid;
    width: 2.1rem;
    height: 2.1rem;
    place-items: center;
    border: 0.0625rem solid rgba(85, 166, 226, 0.38);
    border-radius: 50%;
    background: #071831;
    color: #6ebfe9;
    font-size: 0.58rem;
    font-weight: 850;
}

.landing-compliance__steps li div {
    display: grid;
    gap: 0.12rem;
}

.landing-compliance__steps strong {
    color: #e8f2fc;
    font-size: 0.82rem;
}

.landing-compliance__steps small,
.landing-compliance__result small {
    color: #8299b4;
    font-size: 0.72rem;
}

.landing-compliance__steps li.is-active > span {
    border-color: rgba(56, 208, 210, 0.62);
    color: #ffffff;
    box-shadow: 0 0 1rem rgba(56, 208, 210, 0.22);
}

.landing-compliance__result {
    justify-content: flex-start;
    padding: 0.85rem;
    border: 0.0625rem solid rgba(48, 183, 144, 0.20);
    border-radius: 0.75rem;
    background: rgba(31, 127, 105, 0.10);
}

.landing-compliance__result > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: rgba(42, 198, 154, 0.16);
    color: #65e4b8;
}

.landing-compliance__result div {
    display: grid;
    gap: 0.12rem;
}

.landing-compliance__result strong {
    color: #e8f7f1;
    font-size: 0.8rem;
}

/* BUSINESS TYPES — premium 2026 commercial carousel — approved Option 5 */
.landing-business-types {
    --business-card-width: clamp(9.75rem, 10.65vw, 11.55rem);
    --business-featured-width-add: 3rem;
    --business-featured-height-add: 2.75rem;
    --business-card-height: 19.7rem;
    position: relative;
    overflow: hidden;
    padding-block: clamp(2.55rem, 3.7vw, 4rem);
    border-block: 0.0625rem solid rgba(48, 101, 158, 0.07);
    background:
        radial-gradient(circle at 12% 18%, rgba(53, 132, 238, 0.08), transparent 27%),
        radial-gradient(circle at 88% 74%, rgba(34, 197, 151, 0.08), transparent 28%),
        linear-gradient(180deg, #fcfdff 0%, #f7faff 52%, #fbfdff 100%);
    color: #102b50;
}

.landing-business-types::before {
    position: absolute;
    inset: 7% 6% auto;
    height: 22rem;
    background: radial-gradient(ellipse at center, rgba(72, 144, 229, 0.09), transparent 69%);
    content: "";
    filter: blur(2.7rem);
    pointer-events: none;
}

.landing-business-types .landing-eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #126fd3;
    box-shadow: none;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.landing-business-types .landing-eyebrow::before {
    display: none;
}

.landing-business-types h2,
.landing-business-types h3 {
    color: #081b3d;
}

.landing-business-types .landing-lead,
.landing-business-types p {
    color: #5a7090;
}

.landing-business-types__header {
    display: grid;
    gap: 1.6rem 4rem;
    align-items: center;
    margin-bottom: 0.2rem;
}

.landing-business-types__header h2 {
    max-width: 20ch;
    margin-top: 0.72rem;
    font-size: clamp(2.75rem, 4.45vw, 4rem);
    font-weight: 820;
    line-height: 1.01;
    letter-spacing: -0.055em;
}

.landing-business-types__title-accent {
    background: linear-gradient(105deg, #1d67ec 8%, #1ea4df 48%, #26c58f 92%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.landing-business-types__header .landing-lead {
    max-width: 33rem;
    margin: 0;
    font-size: clamp(1rem, 1.45vw, 1.16rem);
    line-height: 1.64;
}

.landing-business-types__carousel {
    position: relative;
    left: 50%;
    width: min(calc(100vw - 1.4rem), 100rem);
    margin-top: 0.4rem;
    translate: -50% 0;
}

.landing-business-types__viewport {
    position: relative;
    width: 100%;
    height: 24.8rem;
    min-width: 0;
    overflow: hidden;
    touch-action: pan-y;
    outline: none;
}

.landing-business-types__viewport::before {
    position: absolute;
    z-index: 0;
    right: 7%;
    bottom: 1.4rem;
    left: 7%;
    height: 5.6rem;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(38, 84, 139, 0.13), transparent 70%);
    content: "";
    filter: blur(1.25rem);
    pointer-events: none;
}

.landing-business-types__track {
    position: relative;
    width: 100%;
    height: 100%;
}

.landing-business-type {
    --business-accent: #2587ef;
    --business-accent-soft: rgba(37, 135, 239, 0.14);
    --business-x: 0px;
    --business-y: 0px;
    --business-hover-y: 0px;
    --business-opacity: 0;
    --business-z: 1;
    position: absolute;
    z-index: var(--business-z);
    top: 50%;
    left: 50%;
    display: grid;
    width: var(--business-card-width);
    min-height: var(--business-card-height);
    padding: 1.55rem 1rem 1.05rem;
    border: 0.075rem solid color-mix(in srgb, var(--business-accent) 20%, rgba(93, 126, 166, 0.10));
    border-radius: 1.18rem;
    background:
        radial-gradient(circle at 50% 14%, color-mix(in srgb, var(--business-accent) 12%, transparent), transparent 29%),
        linear-gradient(180deg,
            color-mix(in srgb, var(--business-accent) 7%, #ffffff 93%) 0%,
            rgba(255, 255, 255, 0.97) 43%,
            color-mix(in srgb, var(--business-accent) 4%, #f9fbff 96%) 100%);
    box-shadow:
        0 1.05rem 2.5rem rgba(31, 67, 108, 0.11),
        0 0 1.65rem color-mix(in srgb, var(--business-accent-soft) 72%, transparent),
        inset 0 0 0 0.16rem rgba(255, 255, 255, 0.78);
    color: #102b50;
    cursor: default;
    opacity: var(--business-opacity);
    text-align: center;
    text-decoration: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    translate:
        calc(-50% + var(--business-x))
        calc(-50% + var(--business-y) + var(--business-hover-y));
    transition:
        translate 620ms cubic-bezier(0.22, 0.72, 0.22, 1),
        opacity 320ms ease;
}

.landing-business-type::before {
    position: absolute;
    inset: 0.3rem;
    border: 0.0625rem solid rgba(255, 255, 255, 0.74);
    border-radius: 0.92rem;
    content: "";
    pointer-events: none;
}

.landing-business-type::after {
    position: absolute;
    z-index: -1;
    top: calc(100% + 0.48rem);
    left: 10%;
    width: 80%;
    height: 1.75rem;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, color-mix(in srgb, var(--business-accent) 20%, transparent), transparent 72%);
    content: "";
    filter: blur(0.6rem);
    opacity: 0.62;
    pointer-events: none;
}

.landing-business-type.is-visible {
    cursor: pointer;
    pointer-events: auto;
}

.landing-business-type.is-visible:not(.is-featured):hover,
.landing-business-type.is-visible:not(.is-featured):focus-visible {
    --business-hover-y: -0.32rem;
    z-index: 45;
    border-color: color-mix(in srgb, var(--business-accent) 42%, #ffffff 58%);
    box-shadow:
        0 1.3rem 2.9rem rgba(27, 66, 108, 0.16),
        0 0 2rem color-mix(in srgb, var(--business-accent-soft) 85%, transparent),
        inset 0 0 0 0.16rem rgba(255, 255, 255, 0.84);
}

.landing-business-type.is-featured {
    width: calc(var(--business-card-width) + var(--business-featured-width-add));
    min-height: calc(var(--business-card-height) + var(--business-featured-height-add));
    padding: 1.6rem 1.25rem 1.15rem;
    border: 0.105rem solid #2c77f2;
    background:
        radial-gradient(circle at 50% 18%, rgba(62, 132, 242, 0.12), transparent 31%),
        radial-gradient(circle at 75% 92%, rgba(31, 198, 145, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(248, 251, 255, 0.99), rgba(255, 255, 255, 0.99));
    box-shadow:
        0 1.65rem 3.7rem rgba(29, 73, 132, 0.17),
        0 0 0 0.08rem rgba(51, 132, 242, 0.08),
        0 0 2.35rem rgba(49, 120, 238, 0.13),
        0 0 1.8rem rgba(35, 198, 148, 0.10),
        inset 0 0 0 0.18rem rgba(255, 255, 255, 0.95);
}

.landing-business-type:focus-visible {
    outline: 0.14rem solid rgba(35, 132, 222, 0.62);
    outline-offset: 0.18rem;
}

.landing-business-type__featured-badge {
    position: absolute;
    top: 0.9rem;
    left: 50%;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.72rem;
    border: 0.0625rem solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: linear-gradient(105deg, #0c3c9d 0%, #082b77 100%);
    box-shadow: 0 0.52rem 1.35rem rgba(8, 49, 126, 0.19);
    color: #ffffff;
    font-size: 0.51rem;
    font-weight: 850;
    letter-spacing: 0.035em;
    opacity: 0;
    transform: translate(-50%, -0.2rem);
    transition: opacity 260ms ease, transform 320ms ease;
    white-space: nowrap;
}

.landing-business-type__featured-badge svg {
    width: 0.68rem;
    height: 0.68rem;
    fill: none;
    stroke: #ffffff;
    stroke-linejoin: round;
    stroke-width: 1.35;
}

.landing-business-type.is-featured .landing-business-type__featured-badge {
    opacity: 1;
    transform: translate(-50%, 0);
}

.landing-business-type__icon {
    display: grid;
    width: 4.35rem;
    height: 4.35rem;
    place-items: center;
    margin: 1.15rem auto 0.8rem;
    border: 0.0625rem solid color-mix(in srgb, var(--business-accent) 16%, transparent);
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.96), transparent 42%),
        color-mix(in srgb, var(--business-accent) 9%, #ffffff 91%);
    color: var(--business-accent);
    box-shadow:
        0 0.85rem 1.8rem color-mix(in srgb, var(--business-accent-soft) 85%, transparent),
        inset 0 0 0 0.15rem rgba(255, 255, 255, 0.66);
}

.landing-business-type__icon svg {
    width: 2.1rem;
    height: 2.1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.55;
}

.landing-business-type strong {
    display: block;
    min-height: 2.25rem;
    color: #09214a;
    font-size: 0.97rem;
    font-weight: 800;
    line-height: 1.17;
    letter-spacing: -0.022em;
}

.landing-business-type small {
    display: block;
    min-height: 1.72rem;
    margin-top: 0.28rem;
    color: var(--business-accent);
    font-size: 0.61rem;
    font-weight: 760;
    line-height: 1.34;
}

.landing-business-type p {
    display: -webkit-box;
    min-height: 3.05rem;
    margin: 0.58rem 0 0;
    overflow: hidden;
    color: #506984;
    font-size: 0.65rem;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.landing-business-type__action {
    display: inline-grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    align-self: end;
    justify-self: center;
    margin-top: auto;
    padding: 0;
    border: 0.0625rem solid color-mix(in srgb, var(--business-accent) 13%, rgba(98, 129, 163, 0.12));
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: var(--business-accent);
    box-shadow: 0 0.55rem 1.2rem rgba(31, 69, 112, 0.08);
    font-size: 0.66rem;
    font-weight: 800;
    transition: none;
}

.landing-business-type__action > span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.landing-business-type__action svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.72;
}

.landing-business-type.is-featured .landing-business-type__icon {
    width: 4.75rem;
    height: 4.75rem;
    margin-top: 1.8rem;
    border-color: rgba(38, 113, 232, 0.15);
    color: #1258c8;
    box-shadow:
        0 1rem 2.2rem rgba(31, 103, 211, 0.12),
        inset 0 0 0 0.15rem rgba(255, 255, 255, 0.78);
}

.landing-business-type.is-featured .landing-business-type__icon svg {
    width: 2.35rem;
    height: 2.35rem;
}

.landing-business-type.is-featured strong {
    min-height: 2.5rem;
    font-size: 1.14rem;
}

.landing-business-type.is-featured small {
    color: #0d50c7;
    font-size: 0.66rem;
}

.landing-business-type.is-featured p {
    min-height: 3.2rem;
    font-size: 0.69rem;
    line-height: 1.52;
}

.landing-business-type.is-featured .landing-business-type__action {
    display: inline-flex;
    width: auto;
    min-width: 8.9rem;
    height: 2.35rem;
    gap: 0.5rem;
    padding: 0 1.05rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(105deg, #1258e3 0%, #1c83e4 48%, #22c68f 100%);
    color: #ffffff;
    box-shadow:
        0 0.75rem 1.7rem rgba(23, 99, 214, 0.21),
        0 0 1.4rem rgba(34, 198, 143, 0.12);
}

.landing-business-type.is-featured .landing-business-type__action > span {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: nowrap;
}

.business-accent--violet { --business-accent: #7a2ee6; --business-accent-soft: rgba(122, 46, 230, 0.17); }
.business-accent--blue { --business-accent: #176fe9; --business-accent-soft: rgba(23, 111, 233, 0.16); }
.business-accent--cyan { --business-accent: #16a8c7; --business-accent-soft: rgba(22, 168, 199, 0.16); }
.business-accent--green { --business-accent: #14b76f; --business-accent-soft: rgba(20, 183, 111, 0.17); }
.business-accent--purple { --business-accent: #7632db; --business-accent-soft: rgba(118, 50, 219, 0.16); }
.business-accent--sky { --business-accent: #1688e8; --business-accent-soft: rgba(22, 136, 232, 0.16); }
.business-accent--amber { --business-accent: #d79a18; --business-accent-soft: rgba(215, 154, 24, 0.17); }
.business-accent--orange { --business-accent: #ed6b22; --business-accent-soft: rgba(237, 107, 34, 0.16); }
.business-accent--rose { --business-accent: #d53f84; --business-accent-soft: rgba(213, 63, 132, 0.16); }
.business-accent--indigo { --business-accent: #5058d6; --business-accent-soft: rgba(80, 88, 214, 0.16); }
.business-accent--teal { --business-accent: #0ea996; --business-accent-soft: rgba(14, 169, 150, 0.16); }
.business-accent--mint { --business-accent: #18ae78; --business-accent-soft: rgba(24, 174, 120, 0.16); }
.business-accent--slate { --business-accent: #1764d7; --business-accent-soft: rgba(23, 100, 215, 0.15); }
.business-accent--azure { --business-accent: #16a7c8; --business-accent-soft: rgba(22, 167, 200, 0.15); }
.business-accent--navy { --business-accent: #1653c7; --business-accent-soft: rgba(22, 83, 199, 0.16); }
.business-accent--lime { --business-accent: #20b35e; --business-accent-soft: rgba(32, 179, 94, 0.16); }

.landing-business-types__control {
    position: absolute;
    z-index: 60;
    top: 51%;
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border: 0.0625rem solid rgba(48, 99, 154, 0.15);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: #1e64c8;
    box-shadow: 0 0.8rem 2rem rgba(31, 73, 118, 0.13);
    cursor: pointer;
    transform: translateY(-50%);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, color 220ms ease;
    backdrop-filter: blur(0.7rem);
}

.landing-business-types__control--previous { left: clamp(0.4rem, 2.1vw, 2rem); }
.landing-business-types__control--next { right: clamp(0.4rem, 2.1vw, 2rem); }

.landing-business-types__control:hover,
.landing-business-types__control:focus-visible {
    border-color: rgba(38, 117, 226, 0.4);
    color: #1159d2;
    box-shadow: 0 1rem 2.4rem rgba(31, 92, 171, 0.18);
    transform: translateY(-50%) scale(1.05);
}

.landing-business-types__control:focus-visible {
    outline: 0.14rem solid rgba(35, 132, 222, 0.55);
    outline-offset: 0.14rem;
}

.landing-business-types__control svg,
.landing-business-types__cta svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.landing-business-types__dots {
    display: flex;
    min-height: 1.45rem;
    align-items: center;
    justify-content: center;
    gap: 0.38rem;
    margin-top: -0.45rem;
}

.landing-business-types__dot {
    width: 0.34rem;
    height: 0.34rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(73, 108, 151, 0.23);
    cursor: pointer;
    transition: transform 180ms ease;
}

.landing-business-types__dot:hover,
.landing-business-types__dot:focus-visible {
    background: rgba(42, 126, 196, 0.46);
    transform: scale(1.18);
}

.landing-business-types__dot:focus-visible {
    outline: 0.1rem solid rgba(37, 135, 239, 0.52);
    outline-offset: 0.18rem;
}

.landing-business-types__dot.is-active {
    width: 1.32rem;
    background: linear-gradient(90deg, #1a67ec 0%, #1c88e2 50%, #22c58e 100%);
    box-shadow: 0 0.3rem 0.85rem rgba(29, 112, 218, 0.24);
}

.landing-business-types__cta {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1.2rem;
    align-items: center;
    margin-top: 0.55rem;
    padding: 1.45rem 2rem;
    overflow: hidden;
    border: 0.0625rem solid rgba(39, 124, 218, 0.26);
    border-radius: 1.18rem;
    background: linear-gradient(105deg, #082d88 0%, #0c4ca4 47%, #1768b8 66%, #ffffff 66.1%, #ffffff 100%);
    box-shadow:
        0 1.2rem 3rem rgba(31, 72, 119, 0.11),
        0 0 2rem rgba(31, 118, 215, 0.08);
}

.landing-business-types__cta::after {
    position: absolute;
    z-index: 0;
    top: -35%;
    right: 24%;
    width: 14rem;
    height: 170%;
    border-radius: 50%;
    background: #ffffff;
    content: "";
    pointer-events: none;
    translate: 50% 0;
}

.landing-business-types__cta > * {
    position: relative;
    z-index: 1;
}

.landing-business-types__cta-icon {
    display: grid;
    width: 4.4rem;
    height: 4.4rem;
    place-items: center;
    border: 0.0625rem solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    background: linear-gradient(145deg, #1769e8 0%, #168bd8 54%, #27c990 100%);
    color: #ffffff;
    box-shadow:
        0 0.8rem 1.8rem rgba(0, 27, 94, 0.24),
        0 0 1.5rem rgba(35, 202, 146, 0.15);
}

.landing-business-types__cta-icon svg {
    width: 2.15rem;
    height: 2.15rem;
    stroke-width: 1.55;
}

.landing-business-types__cta-copy {
    display: grid;
    gap: 0.32rem;
    min-width: 0;
    max-width: 39rem;
}

.landing-business-types__cta-kicker {
    color: #26dd8f;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.landing-business-types__cta strong {
    color: #ffffff;
    font-size: clamp(1.22rem, 2.25vw, 1.55rem);
    line-height: 1.14;
    letter-spacing: -0.025em;
}

.landing-business-types__cta p {
    max-width: 44rem;
    margin: 0;
    color: rgba(239, 246, 255, 0.86);
    font-size: 0.88rem;
    line-height: 1.52;
}

.landing-button--business {
    min-width: min(100%, 19.5rem);
    justify-content: center;
    justify-self: end;
    padding-inline: 1.5rem;
    border-color: rgba(22, 123, 216, 0.12);
    background: linear-gradient(106deg, #115be8 0%, #188fdf 48%, #22cb8d 100%);
    color: #ffffff;
    box-shadow:
        0 0.85rem 2rem rgba(22, 104, 209, 0.22),
        0 0 1.9rem rgba(34, 199, 143, 0.15);
}

.landing-button--business:hover,
.landing-button--business:focus-visible {
    color: #ffffff;
    box-shadow:
        0 1rem 2.35rem rgba(22, 104, 209, 0.28),
        0 0 2.25rem rgba(34, 199, 143, 0.18);
}

.landing-business-types.is-without-motion .landing-business-type,
.landing-business-types.is-without-motion .landing-business-types__dot {
    transition: none;
}

@media (min-width: 48rem) {
    .landing-business-types__header {
        grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.82fr);
    }
}

@media (max-width: 74rem) {
    .landing-business-types {
        --business-featured-width-add: 2.55rem;
        --business-featured-height-add: 2.45rem;
    }

    .landing-business-types__viewport {
        height: 24.1rem;
    }

    .landing-business-types__cta {
        grid-template-columns: auto minmax(0, 1fr) auto;
        padding-inline: 1.45rem;
    }

    .landing-business-types__cta::after {
        right: 22%;
    }

    .landing-business-types__cta-icon {
        width: 3.9rem;
        height: 3.9rem;
    }
}

@media (max-width: 48rem) {
    .landing-business-types {
        --business-card-width: 11.25rem;
        --business-featured-width-add: 2rem;
        --business-featured-height-add: 2rem;
        --business-card-height: 18.4rem;
        padding-block: 2.35rem 2.8rem;
    }

    .landing-business-types__header {
        gap: 0.85rem;
        margin-bottom: 0.5rem;
    }

    .landing-business-types__header h2 {
        max-width: 13ch;
        font-size: clamp(2.35rem, 10vw, 3.35rem);
    }

    .landing-business-types__viewport {
        height: 22.9rem;
    }

    .landing-business-type {
        padding-inline: 0.92rem;
    }

    .landing-business-type__icon {
        width: 3.85rem;
        height: 3.85rem;
    }

    .landing-business-type.is-featured .landing-business-type__icon {
        width: 4.25rem;
        height: 4.25rem;
        margin-top: 1.65rem;
    }

    .landing-business-types__control {
        width: 2.6rem;
        height: 2.6rem;
    }

    .landing-business-types__control--previous { left: 0.3rem; }
    .landing-business-types__control--next { right: 0.3rem; }

    .landing-business-types__cta {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.9rem 0.95rem;
        padding: 1.25rem 1.15rem;
        background: linear-gradient(145deg, #082d88 0%, #0b4da3 58%, #156bb7 100%);
    }

    .landing-business-types__cta::after {
        display: none;
    }

    .landing-business-types__cta-icon {
        width: 3.45rem;
        height: 3.45rem;
    }

    .landing-business-types__cta strong {
        font-size: 1.23rem;
    }

    .landing-business-types__cta p {
        font-size: 0.84rem;
    }

    .landing-button--business {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
        justify-self: stretch;
    }
}

@media (max-width: 36rem) {
    .landing-business-types {
        --business-card-width: 11.85rem;
        --business-featured-width-add: 1.8rem;
        --business-featured-height-add: 1.8rem;
        --business-card-height: 18rem;
    }

    .landing-business-types__carousel {
        width: 100vw;
    }

    .landing-business-types__viewport {
        height: 22.45rem;
    }

    .landing-business-type strong {
        font-size: 0.94rem;
    }

    .landing-business-type small {
        font-size: 0.59rem;
    }

    .landing-business-type p {
        font-size: 0.63rem;
    }

    .landing-business-type.is-featured strong {
        font-size: 1.08rem;
    }

    .landing-business-types__dots {
        gap: 0.28rem;
        padding-inline: 1rem;
    }

    .landing-business-types__dot {
        width: 0.3rem;
        height: 0.3rem;
    }

    .landing-business-types__dot.is-active {
        width: 1rem;
    }

    .landing-business-types__cta {
        margin-top: 0.65rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .landing-business-type,
    .landing-business-types__dot {
        transition: none;
    }
}


/* TRUST — single assurance surface with icon-led quadrants */
.landing-trust {
    background:
        radial-gradient(circle at 78% 18%, rgba(44, 136, 218, 0.13), transparent 30%),
        #06142a;
}

.landing-trust__surface {
    overflow: hidden;
    border: 0.0625rem solid rgba(79, 161, 219, 0.25);
    border-radius: 1.1rem;
    background: linear-gradient(135deg, #081a35, #051329 62%, #07192f);
}

.landing-trust__heading {
    padding: clamp(1.7rem, 4vw, 3rem);
    border-bottom: 0.0625rem solid rgba(88, 157, 211, 0.18);
}

.landing-trust__heading h2 {
    max-width: 12ch;
}

.landing-trust__heading > p:not(.landing-eyebrow) {
    max-width: 34rem;
    margin-top: 1rem;
}

.landing-trust__heading .landing-button {
    margin-top: 1.4rem;
}

.landing-trust__pillars {
    display: grid;
}

.landing-trust__pillars article {
    position: relative;
    min-width: 0;
    padding: 1.35rem;
    border-bottom: 0.0625rem solid rgba(88, 157, 211, 0.16);
}

.landing-trust__pillars article:last-child {
    border-bottom: 0;
}

.landing-trust__pillars svg {
    width: 2rem;
    height: 2rem;
    fill: none;
    stroke: #51d2d2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.4;
}

.landing-trust__pillars article > span {
    position: absolute;
    top: 1.35rem;
    right: 1.35rem;
    color: #4b6887;
    font-size: 0.62rem;
    font-weight: 850;
}

.landing-trust__pillars h3 {
    margin-top: 1rem;
    font-size: 0.76rem;
    letter-spacing: 0.045em;
}

.landing-trust__pillars p {
    margin-top: 0.45rem;
    font-size: 0.82rem;
    line-height: 1.5;
}

/* TESTIMONIALS — dark, branded, real carousel; no native horizontal scrollbar */
.landing-stories {
    overflow: hidden;
    border-block: 0.0625rem solid rgba(72, 160, 216, 0.16);
    background:
        radial-gradient(circle at 12% 8%, rgba(39, 133, 222, 0.16), transparent 30%),
        radial-gradient(circle at 88% 18%, rgba(35, 190, 162, 0.10), transparent 24%),
        linear-gradient(180deg, #06152d 0%, #041126 100%);
}

.landing-stories .landing-eyebrow {
    border-color: rgba(56, 208, 210, 0.30);
    background: rgba(8, 39, 70, 0.78);
    color: #69e0d8;
}

.landing-stories h2,
.landing-stories h3 {
    color: #f4f8fe;
}

.landing-stories p {
    color: #9fb2ca;
}

.landing-stories .landing-link {
    color: #62ddd4;
}

.landing-stories .landing-link:hover,
.landing-stories .landing-link:focus-visible {
    color: #ffffff;
}

.landing-stories__header {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.75rem;
}

.landing-stories__header h2 {
    max-width: 17ch;
}

.landing-stories__intro {
    display: grid;
    gap: 0.7rem;
    align-content: end;
}

.landing-stories__intro p {
    max-width: 32rem;
}

.landing-stories__carousel {
    position: relative;
}

.landing-stories__viewport {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.2rem;
    scroll-snap-type: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.landing-stories__viewport::-webkit-scrollbar {
    display: none;
}

.landing-stories__carousel.is-enhanced .landing-stories__viewport {
    overflow: hidden;
    scroll-snap-type: none;
    touch-action: pan-y;
}

.landing-stories__track {
    display: flex;
    gap: 1rem;
    width: max-content;
    min-width: 100%;
}

.landing-stories__carousel.is-enhanced .landing-stories__track {
    width: 100%;
    transform: translate3d(0, 0, 0);
    transition: transform 440ms var(--landing-ease);
    will-change: transform;
}

.landing-stories__carousel.is-enhanced .landing-stories__track.is-without-motion {
    transition: none;
}

.landing-story {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 16.25rem;
    flex: 0 0 100%;
    grid-template-rows: auto 1fr auto;
    gap: 0.95rem;
    padding: 1.25rem;
    border: 0.0625rem solid rgba(91, 165, 220, 0.18);
    border-radius: 1rem;
    background:
        linear-gradient(145deg, rgba(10, 31, 59, 0.98), rgba(6, 22, 45, 0.98));
    box-shadow: 0 1rem 2.8rem rgba(0, 4, 18, 0.20);
    scroll-snap-align: none;
    transition: transform var(--landing-fast) ease,
                border-color var(--landing-fast) ease,
                background-color var(--landing-fast) ease;
}

@media (max-width: 47.999rem) {
    .landing-stories__carousel:not(.is-enhanced) .landing-stories__viewport {
        scroll-snap-type: x mandatory;
    }

    .landing-stories__carousel:not(.is-enhanced) .landing-story {
        scroll-snap-align: start;
    }
}

.landing-story::after {
    position: absolute;
    top: 1.15rem;
    right: 1.25rem;
    color: rgba(80, 208, 207, 0.26);
    content: "“";
    font-size: 3rem;
    font-weight: 800;
    line-height: 1;
}

.landing-story.is-current {
    border-color: rgba(66, 209, 202, 0.42);
    background: linear-gradient(145deg, rgba(10, 39, 70, 0.98), rgba(6, 26, 50, 0.98));
}

.landing-story > img {
    display: block;
    width: 3.35rem;
    height: 3.35rem;
    border: 0.125rem solid rgba(100, 217, 213, 0.34);
    border-radius: 50%;
    box-shadow: 0 0.5rem 1.2rem rgba(0, 5, 18, 0.24);
    object-fit: cover;
}

.landing-story blockquote {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #dbe7f4;
    font-size: 0.96rem;
    font-weight: 560;
    line-height: 1.58;
}

.landing-story footer {
    display: grid;
    gap: 0.12rem;
    padding-top: 0.8rem;
    border-top: 0.0625rem solid rgba(91, 160, 213, 0.14);
}

.landing-story footer strong {
    color: #f3f8fd;
    font-size: 0.84rem;
}

.landing-story footer span {
    color: #849ab6;
    font-size: 0.73rem;
}

.landing-stories__controls {
    display: grid;
    width: min(100%, 31rem);
    grid-template-columns: auto minmax(8rem, 1fr) auto;
    gap: 0.8rem;
    align-items: center;
    margin: 1.15rem auto 0;
}

.landing-stories__controls > button {
    min-width: 6.75rem;
    min-height: 2.65rem;
    padding: 0.5rem 0.75rem;
    border: 0.0625rem solid rgba(82, 166, 222, 0.25);
    border-radius: 0.7rem;
    background: rgba(8, 29, 56, 0.92);
    color: #dce8f5;
    font-size: 0.75rem;
    font-weight: 760;
    transition: border-color var(--landing-fast) ease,
                background-color var(--landing-fast) ease,
                color var(--landing-fast) ease;
}

.landing-stories__controls > button:hover:not(:disabled),
.landing-stories__controls > button:focus-visible:not(:disabled) {
    border-color: rgba(65, 215, 207, 0.5);
    background: rgba(10, 49, 78, 0.96);
    color: #ffffff;
}

.landing-stories__controls > button:disabled {
    cursor: not-allowed;
    opacity: 0.36;
}

.landing-stories__progress {
    display: grid;
    min-width: 0;
    gap: 0.42rem;
    width: 100%;
}

.landing-stories__progress strong {
    color: #8fa7c1;
    font-size: 0.67rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-align: center;
}

.landing-stories__progress > span {
    position: relative;
    display: block;
    height: 0.18rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(103, 165, 211, 0.16);
}

.landing-stories__progress i {
    display: block;
    width: 25%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2587ef, #38d0d2, #2ac69a);
    transition: width 260ms ease;
}

/* PLANS — compact commercial bridge, not fake pricing */
.landing-plans {
    padding-block: clamp(3rem, 4.2vw, 4.25rem);
    background: #020817;
}

.landing-plans__surface {
    display: grid;
    gap: 1.4rem;
    align-items: center;
    padding: clamp(1.5rem, 4vw, 2.75rem);
    overflow: hidden;
    border: 0.0625rem solid rgba(67, 180, 211, 0.30);
    border-radius: 1rem;
    background:
        radial-gradient(circle at 90% 15%, rgba(35, 196, 151, 0.14), transparent 28%),
        linear-gradient(115deg, rgba(17, 94, 180, 0.18), transparent 48%),
        #07162e;
}

.landing-plans__index {
    display: flex;
    gap: 0.35rem;
}

.landing-plans__index span {
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    place-items: center;
    border: 0.0625rem solid rgba(72, 178, 224, 0.32);
    border-radius: 50%;
    color: #4eced0;
    font-size: 0.58rem;
    font-weight: 850;
}

.landing-plans__copy {
    max-width: 45rem;
}

.landing-plans__copy h2 {
    max-width: 15ch;
    font-size: clamp(1.9rem, 4vw, 2.75rem);
}

.landing-plans__copy > p:last-child {
    max-width: 43rem;
    margin-top: 0.85rem;
}

/* FAQ — dense editorial accordion */
.landing-faq {
    background: #061329;
}

.landing-faq__layout {
    display: grid;
    gap: 2rem;
}

.landing-faq__heading h2 {
    max-width: 12ch;
}

.landing-faq__heading .landing-button {
    margin-top: 1.5rem;
}

.landing-faq__list {
    border-top: 0.0625rem solid rgba(91, 157, 212, 0.20);
}

.landing-faq__list details {
    border-bottom: 0.0625rem solid rgba(91, 157, 212, 0.20);
}

.landing-faq__list summary {
    display: flex;
    min-height: 4.1rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    color: #e8f0fb;
    font-size: 0.92rem;
    font-weight: 730;
    list-style: none;
}

.landing-faq__list summary::-webkit-details-marker {
    display: none;
}

.landing-faq__list summary span {
    position: relative;
    width: 1.45rem;
    height: 1.45rem;
    flex: 0 0 auto;
}

.landing-faq__list summary span::before,
.landing-faq__list summary span::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.8rem;
    height: 0.1rem;
    border-radius: 999px;
    background: #55ced1;
    content: "";
    transform: translate(-50%, -50%);
    transition: transform var(--landing-fast) ease;
}

.landing-faq__list summary span::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.landing-faq__list details[open] summary span::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.landing-faq__list details > p {
    max-width: 43rem;
    padding: 0 2.4rem 1.2rem 0;
    font-size: 0.86rem;
}

/* FINAL CTA — approved image, no destructive crop */
.landing-final {
    padding-block: clamp(3.5rem, 5.5vw, 5.5rem);
    background: #020817;
}

.landing-final__surface {
    position: relative;
    overflow: hidden;
    border: 0.0625rem solid rgba(80, 167, 222, 0.27);
    border-radius: 1.1rem;
    background: #020b20;
    box-shadow: 0 1.5rem 4rem rgba(0, 3, 18, 0.30);
}

.landing-final__surface > img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.landing-final__copy {
    padding: 1.6rem 1.25rem;
}

.landing-final__copy h2 {
    max-width: 13ch;
    font-size: clamp(2rem, 4.5vw, 3.15rem);
}

.landing-final__copy > p:not(.landing-eyebrow) {
    max-width: 34rem;
    margin-top: 0.9rem;
}

/* FOOTER — outside .landing-page to avoid section typography bleed */
.landing-footer {
    position: relative;
    padding: 3rem 1rem 1.3rem;
    border-top: 0.0625rem solid rgba(91, 156, 218, 0.16);
    background: #010612;
    color: #eff5fc;
}

.landing-footer__shell,
.landing-footer__bottom {
    width: min(calc(100% - 0rem), 76rem);
    margin-inline: auto;
}

.landing-footer__shell {
    display: grid;
    gap: 2rem;
}

.landing-footer__brand img {
    display: block;
    width: 10.75rem;
    max-width: 100%;
    height: auto;
}

.landing-footer__brand > p {
    margin: 0.85rem 0 0;
    color: #93a6bd;
    font-size: 0.88rem;
}

.landing-footer__brand-links {
    display: grid;
    gap: 0.45rem;
    margin-top: 1rem;
}

.landing-footer a {
    color: #aabbd0;
    font-size: 0.82rem;
    text-decoration: none;
    transition: color 180ms ease;
}

.landing-footer a:hover {
    color: #5bd7d2;
}

.landing-footer__brand-links a:first-child {
    color: #66ddd5;
    font-weight: 760;
}

.landing-footer__column h2 {
    margin: 0 0 0.8rem;
    color: #eef5fc;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.075em;
    line-height: 1.2;
    text-transform: uppercase;
}

.landing-footer__column ul {
    display: grid;
    gap: 0.48rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.landing-footer__column a {
    display: inline-flex;
    min-height: 1.7rem;
    align-items: center;
}

.landing-footer__bottom {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-top: 2.25rem;
    padding-top: 1.1rem;
    border-top: 0.0625rem solid rgba(91, 156, 218, 0.13);
    color: #71849b;
    font-size: 0.72rem;
}

.landing-footer__bottom a {
    font-size: 0.72rem;
}

/* Floating WhatsApp */
.landing-whatsapp-float {
    position: fixed;
    z-index: 1010;
    right: 1rem;
    bottom: 1rem;
    display: grid;
    width: 3.35rem;
    height: 3.35rem;
    place-items: center;
    border: 0.0625rem solid rgba(113, 245, 201, 0.48);
    border-radius: 50%;
    background: linear-gradient(145deg, #18aa6e, #0f8556);
    box-shadow: 0 0.75rem 2rem rgba(0, 10, 20, 0.34);
    color: #ffffff;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.landing-whatsapp-float svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.55;
}

.landing-whatsapp-float:hover {
    color: #ffffff;
    transform: translateY(-0.15rem);
    box-shadow: 0 1rem 2.25rem rgba(0, 20, 30, 0.45);
}

/* Motion — progressive enhancement, never layout spacing. */
.landing-page.is-motion-ready [data-reveal].is-pending {
    opacity: 0;
    transform: translateY(0.9rem);
}

.landing-page.is-motion-ready [data-reveal].is-pending[data-reveal="visual"] {
    transform: translateY(0.65rem) scale(0.995);
}

.landing-page.is-motion-ready [data-reveal].is-revealed {
    opacity: 1;
    transform: none;
    transition: opacity var(--landing-normal) var(--landing-ease), transform var(--landing-normal) var(--landing-ease);
}


/* Keep the simplified product navigation inside the viewport on compact desktop widths. */
@media (min-width: 62rem) and (max-width: 74.999rem) {
    .site-header .clem-navbar__shell {
        padding-inline: 1rem;
    }

    .site-header .clem-navbar__brand {
        margin-right: 1.5rem;
    }

    .site-header .clem-navbar__brand img {
        width: 10rem;
    }

    .site-header .clem-navbar__links {
        gap: 0.75rem;
    }

    .site-header .clem-navbar .nav-link,
    .site-header .clem-navbar__login-link,
    .site-header .clem-navbar__demo {
        font-size: 0.76rem;
    }

    .site-header .clem-navbar__actions {
        gap: 0.6rem;
    }

    .site-header .clem-navbar__demo {
        width: 8rem;
        gap: 0.5rem;
    }
}

/* TABLET */
@media (min-width: 48rem) {
    .clem-features-lead {
        padding-inline: 2rem;
    }

    .landing-shell {
        width: min(calc(100% - 3rem), 76rem);
    }

    .landing-heading--split,
    .landing-flow__intro,
    .landing-stories__header {
        grid-template-columns: minmax(0, 1.15fr) minmax(16rem, 0.85fr);
        gap: 2.5rem;
        align-items: end;
    }

    .landing-business__layout,
    .landing-platform__layout {
        grid-template-columns: minmax(17rem, 0.78fr) minmax(0, 1.22fr);
        gap: 2.75rem;
    }

    .landing-growth__layout,
    .landing-integrations__layout {
        grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
        gap: 2.75rem;
    }

    .landing-trust__pillars {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .landing-trust__pillars article:nth-child(odd) {
        border-right: 0.0625rem solid rgba(88, 157, 211, 0.16);
    }

    .landing-trust__pillars article:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .landing-story {
        flex-basis: calc((100% - 1rem) / 2);
    }

    .landing-plans__surface {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 1.5rem;
    }

    .landing-plans__index {
        flex-direction: column;
    }

    .landing-faq__layout {
        grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr);
        gap: 3.5rem;
    }

    .landing-footer {
        padding-inline: 1.5rem;
    }

    .landing-footer__shell {
        grid-template-columns: minmax(14rem, 1.4fr) repeat(3, minmax(8rem, 0.6fr));
        gap: 1.75rem;
    }

    .landing-footer__bottom {
        flex-direction: row;
        justify-content: space-between;
    }
}

/* DESKTOP */
@media (min-width: 64rem) {
    .landing-section {
        padding-block: clamp(3.75rem, 4.5vw, 4.85rem);
    }

    .landing-business__layout,
    .landing-platform__layout {
        grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
        gap: 3.5rem;
    }

    .landing-growth__layout,
    .landing-integrations__layout {
        grid-template-columns: minmax(0, 1.28fr) minmax(20rem, 0.72fr);
        gap: 3.5rem;
    }

    .landing-platform-map {
        padding: 1.5rem;
    }

    .landing-platform-map__group {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .landing-flow__frame {
        padding: 1.25rem 1.1rem 1.1rem;
    }

    .landing-flow__line {
        position: absolute;
        top: 0.55rem;
        left: 1.1rem;
        display: block;
        width: calc(100% - 2.2rem);
        height: 5rem;
        overflow: visible;
        fill: none;
        stroke: rgba(60, 145, 218, 0.25);
        stroke-width: 2;
    }

    .landing-flow__line-progress {
        stroke: #39cbd0;
        stroke-dasharray: 1152;
        stroke-dashoffset: 1152;
    }

    .landing-flow__frame.is-visible .landing-flow__line-progress {
        stroke-dashoffset: 0;
        transition: stroke-dashoffset 1s var(--landing-ease);
    }

    .landing-flow__steps {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .landing-flow__steps::before {
        display: none;
    }

    .landing-flow__steps li {
        display: flex;
        min-width: 0;
        min-height: 10rem;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding: 0.65rem 0.55rem;
        text-align: center;
    }

    .landing-flow__number {
        margin-bottom: 0.85rem;
    }

    .landing-flow__steps small {
        max-width: 10rem;
        margin-top: 0.35rem;
    }

    .landing-compliance {
        padding: 1.35rem;
    }

    .landing-compliance__steps {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        margin: 1.1rem 0;
    }

    .landing-compliance__steps::before {
        top: 1.05rem;
        right: 1.05rem;
        bottom: auto;
        left: 1.05rem;
        width: auto;
        height: 0.1rem;
    }

    .landing-compliance__steps li {
        min-height: 7.2rem;
        grid-template-columns: 1fr;
        gap: 0.55rem;
        align-content: start;
        justify-items: center;
        padding-inline: 0.25rem;
        text-align: center;
    }

    .landing-compliance__steps li > span {
        position: relative;
        z-index: 2;
    }

    .landing-trust__surface {
        display: grid;
        grid-template-columns: minmax(19rem, 0.72fr) minmax(0, 1.28fr);
    }

    .landing-trust__heading {
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-right: 0.0625rem solid rgba(88, 157, 211, 0.18);
        border-bottom: 0;
    }

    .landing-story {
        flex-basis: calc((100% - 2rem) / 3);
    }

    .landing-final__surface {
        aspect-ratio: 1672 / 941;
    }

    .landing-final__surface > img {
        position: absolute;
        width: 100%;
        height: 100%;
        inset: 0;
        object-fit: contain;
    }

    .landing-final__copy {
        position: absolute;
        z-index: 1;
        top: 50%;
        left: clamp(2rem, 4vw, 4rem);
        width: min(48%, 34rem);
        padding: 0;
        transform: translateY(-50%);
    }
}

@media (min-width: 80rem) {
    .landing-page h2 {
        font-size: clamp(2.6rem, 3.2vw, 3.35rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .landing-platform-map__group button:hover,
    .landing-platform-map__group button:focus-visible {
        border-color: rgba(65, 215, 207, 0.46);
        background: rgba(8, 42, 76, 0.92);
        transform: translateY(-0.1rem);
    }

    .landing-story:hover {
        transform: translateY(-0.18rem);
        border-color: rgba(65, 215, 207, 0.42);
        box-shadow: 0 1.2rem 3rem rgba(0, 5, 20, 0.30);
    }
}

/* Mobile cleanup */
@media (max-width: 47.999rem) {
    .clem-features-lead {
        padding: 0.75rem 1rem 1rem;
    }

    .clem-features-lead__panel {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1.1rem;
    }

    .clem-features-lead__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .clem-feature-card {
        min-height: 5.25rem;
    }

    .landing-actions .landing-button,
    .landing-final__actions .landing-button {
        width: 100%;
    }

    .landing-actions .landing-link {
        min-height: 2.75rem;
    }

    .landing-stories__controls > button {
        padding-inline: 0.65rem;
    }

    .landing-stories__progress {
        min-width: 0;
    }

    .landing-whatsapp-float {
        width: 3.1rem;
        height: 3.1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .landing-page *,
    .landing-page *::before,
    .landing-page *::after,
    .landing-footer *,
    .landing-whatsapp-float {
        scroll-behavior: auto;
        transition-duration: 0.01ms;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }

    .landing-page.is-motion-ready [data-reveal].is-pending,
    .landing-page.is-motion-ready [data-reveal].is-pending[data-reveal="visual"] {
        opacity: 1;
        transform: none;
    }

    .landing-flow__line-progress {
        stroke-dashoffset: 0;
    }
}


/* === PHASE 10: SOCIAL LINKS === */
.landing-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1rem;
}

.landing-footer__social a {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    min-height: 2.45rem;
    place-items: center;
    border: 0.0625rem solid rgba(95, 168, 214, 0.24);
    border-radius: 0.75rem;
    color: #9cb2ca;
    background: rgba(7, 24, 48, 0.72);
    transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.landing-footer__social svg {
    width: 1.08rem;
    height: 1.08rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.landing-footer__social a:hover {
    color: #63dfd6;
    border-color: rgba(84, 214, 208, 0.52);
    background: rgba(9, 42, 68, 0.92);
    transform: translateY(-0.125rem);
}

@media (prefers-reduced-motion: reduce) {
    .landing-footer__social a {
        transition: none;
    }
}

/* === PHASE 10 CLOSURE: BACK TO TOP === */
.landing-back-to-top {
    position: fixed;
    z-index: 1009;
    right: 1.35rem;
    bottom: 5.15rem;
    width: 2.65rem;
    height: 2.65rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #1b1e7b url("../images/ui/up-arrow.png") no-repeat center 47%;
    background-size: 1.1rem 1.1rem;
    box-shadow: 0 0.65rem 1.55rem rgba(0, 12, 42, 0.28);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.65rem);
    transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease, background-color 180ms ease;
}

.landing-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.landing-back-to-top:hover {
    background-color: #026cfe;
}

.landing-back-to-top:focus-visible {
    outline: 0.18rem solid rgba(71, 223, 211, 0.88);
    outline-offset: 0.18rem;
}

.landing-back-to-top span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 47.999rem) {
    .landing-back-to-top {
        right: 1.18rem;
        bottom: 4.85rem;
        width: 2.5rem;
        height: 2.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .landing-back-to-top {
        transition: none;
    }
}

/* ==========================================================================
   CLEM Suite Footer — compact responsive refinement V2
   Keeps every existing link and social destination while avoiding a very
   tall single-column footer on mobile/tablet widths. Desktop is unchanged.
   ========================================================================== */
@media (max-width: 47.99rem) {
    .landing-footer {
        padding: 1.55rem 0.9rem 0.95rem;
    }

    .landing-footer__shell {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.1rem 0.8rem;
    }

    .landing-footer__brand {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 0.35rem 0.8rem;
        align-items: center;
        padding-bottom: 0.9rem;
        border-bottom: 0.0625rem solid rgba(91, 156, 218, 0.12);
    }

    .landing-footer__brand img {
        width: 8.9rem;
    }

    .landing-footer__brand > p {
        margin: 0;
        color: #8fa4bc;
        font-size: 0.76rem;
        line-height: 1.35;
    }

    .landing-footer__brand-links {
        display: flex;
        grid-column: 1 / -1;
        flex-wrap: wrap;
        gap: 0.2rem 0.8rem;
        margin-top: 0.2rem;
    }

    .landing-footer__brand-links a {
        min-height: 1.45rem;
        font-size: 0.74rem;
        line-height: 1.25;
    }

    .landing-footer__social {
        position: static;
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        margin: 0;
    }

    .landing-footer__social a {
        width: 2.2rem;
        height: 2.2rem;
        min-height: 2.2rem;
        border-radius: 0.65rem;
    }

    .landing-footer__column {
        min-width: 0;
    }

    .landing-footer__column h2 {
        margin-bottom: 0.48rem;
        font-size: 0.64rem;
        letter-spacing: 0.07em;
    }

    .landing-footer__column ul {
        gap: 0.18rem;
    }

    .landing-footer__column a {
        min-height: 1.4rem;
        font-size: 0.72rem;
        line-height: 1.28;
    }

    .landing-footer__bottom {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.4rem 0.7rem;
        align-items: center;
        margin-top: 1rem;
        padding-top: 0.72rem;
    }

    .landing-footer__bottom span,
    .landing-footer__bottom a {
        font-size: 0.64rem;
        line-height: 1.3;
    }
}

@media (max-width: 34rem) {
    .landing-footer__shell {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem 0.75rem;
    }

    .landing-footer__brand {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .landing-footer__brand img {
        grid-column: 1;
        grid-row: 1;
    }

    .landing-footer__brand > p {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .landing-footer__social {
        grid-column: 2;
        grid-row: 1;
    }

    .landing-footer__brand-links {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .landing-footer__column[aria-label="Empresa"] {
        grid-column: 1 / -1;
        padding-top: 0.15rem;
        border-top: 0.0625rem solid rgba(91, 156, 218, 0.1);
    }

    .landing-footer__column[aria-label="Empresa"] ul {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.25rem 0.55rem;
    }

    .landing-footer__column[aria-label="Empresa"] a {
        justify-content: flex-start;
    }
}

@media (max-width: 25rem) {
    .landing-footer {
        padding-inline: 0.72rem;
    }

    .landing-footer__brand-links {
        gap-inline: 0.6rem;
    }

    .landing-footer__column a {
        font-size: 0.69rem;
    }

    .landing-footer__column[aria-label="Empresa"] ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .landing-footer__bottom {
        grid-template-columns: 1fr;
    }
}
