:root {
    --blue: #1769e8;
    --blue-strong: #075ee8;
    --blue-dark: #0a1b43;
    --blue-soft: #eaf2ff;
    --green: #19bf72;
    --green-soft: #e8fbf1;
    --violet: #7447e8;
    --violet-soft: #f0eaff;
    --orange: #ff8818;
    --orange-soft: #fff0df;
    --cyan: #18a7c5;
    --ink: #09183a;
    --text: #405071;
    --muted: #70809d;
    --line: #dce7f5;
    --soft-line: #ebf2fb;
    --surface: #ffffff;
    --canvas: #f7fbff;
    --soft: #f4f8fe;
    --shadow: 0 18px 52px rgba(18, 50, 105, .11);
    --shadow-soft: 0 12px 30px rgba(18, 50, 105, .075);
    --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }
.container { width: min(1320px, calc(100% - 56px)); margin-inline: auto; }

.site-header {
    position: sticky;
    z-index: 80;
    top: 0;
    border-bottom: 1px solid rgba(220, 231, 245, .9);
    background: rgba(255, 255, 255, .9);
    backdrop-filter: blur(18px);
}
.header-inner { display: flex; min-height: 72px; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 150px; height: 44px; object-fit: contain; object-position: left center; }
.desktop-nav { display: flex; flex: 1; align-items: center; justify-content: center; gap: clamp(20px, 3.5vw, 54px); }
.desktop-nav a, .login-link { color: #223252; font-size: .95rem; font-weight: 560; }
.desktop-nav a:hover, .login-link:hover { color: var(--blue); }
.header-actions { display: flex; align-items: center; gap: 14px; }

.button {
    display: inline-flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    padding: 0 1.7rem;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(135deg, #075ee8, #2077f2);
    box-shadow: 0 16px 30px rgba(23, 105, 232, .26);
    font-size: .96rem;
    font-weight: 700;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 20px 42px rgba(23, 105, 232, .32); }
.button-small { min-height: 2.55rem; padding-inline: 1.15rem; font-size: .88rem; }
.button-secondary { border-color: var(--line); color: var(--ink); background: #fff; box-shadow: 0 8px 22px rgba(18, 50, 105, .05); }
.button-secondary:hover { border-color: color-mix(in srgb, var(--blue) 35%, var(--line)); box-shadow: 0 14px 32px rgba(18, 50, 105, .1); }
.play-icon { display: inline-grid; width: 1.35rem; height: 1.35rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--blue); font-size: .58rem; }

.hero {
    position: relative;
    overflow: hidden;
    padding: 64px 0 34px;
    background:
        radial-gradient(circle at 76% 18%, rgba(31, 220, 142, .15), transparent 30rem),
        radial-gradient(circle at 45% 100%, rgba(23, 105, 232, .12), transparent 35rem),
        linear-gradient(180deg, #fbfdff 0%, #f7fbff 72%, #fff 100%);
}
.decor { position: absolute; pointer-events: none; border-radius: 50%; }
.decor-a { width: 48rem; height: 48rem; top: -18rem; right: -20rem; border: 1px solid rgba(23, 105, 232, .08); }
.decor-b { width: 42rem; height: 42rem; bottom: -23rem; left: -18rem; border: 1px solid rgba(23, 105, 232, .09); }
.dot-field { position: absolute; width: 8rem; height: 8rem; opacity: .45; background-image: radial-gradient(#6fa9ff 1.5px, transparent 1.5px); background-size: 18px 18px; }
.dot-left { top: 12rem; left: 6%; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .88fr) minmax(32rem, 1.12fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.hero-copy { padding-block: 1rem; }
.pill { display: inline-flex; align-items: center; gap: .65rem; min-height: 2.25rem; padding: .35rem .95rem; border: 1px solid var(--line); border-radius: 999px; background: rgba(255, 255, 255, .82); color: var(--blue); box-shadow: 0 9px 24px rgba(18, 50, 105, .06); font-size: .85rem; font-weight: 560; }
.pill i { width: .58rem; height: .58rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 .38rem color-mix(in srgb, currentColor 14%, transparent); }
.pill-green { border-color: #b9edd3; color: #11a962; background: rgba(235, 255, 244, .9); }
.pill-blue { border-color: #cce0ff; color: var(--blue); background: #edf5ff; }
.hero h1, .section-heading h2 {
    margin: 1.55rem 0 1.25rem;
    color: var(--ink);
    font-size: clamp(2.55rem, 4vw, 3.125rem);
    line-height: 1.05;
    letter-spacing: 0;
    font-weight: 680;
}
.hero h1 em, .section-heading h2 em { color: var(--blue-strong); font-style: normal; }
/* First section typography refinement */
.hero h1 {
    max-width: 42rem;
    margin-top: 1.35rem;
    margin-bottom: 1.05rem;
    font-size: clamp(2.65rem, 3.55vw, 3.75rem);
    line-height: 1.08;
    font-weight: 700;
}
.hero h1 em { font-weight: 720; }
.hero h1 span { display: block; white-space: nowrap; }
.hero-copy .pill { font-weight: 560; }
.hero .button { min-width: 11.8rem; font-weight: 600; }
.browser-mock,
.floating-card,
.hero-benefits { font-weight: 400; }
.hero-copy > p { max-width: 38rem; margin: 0; color: var(--text); font-size: 1.08rem; font-weight: 400; line-height: 1.52; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.85rem; }
.hero-proof { display: flex; flex-wrap: wrap; align-items: center; gap: .95rem; margin-top: 1.8rem; color: var(--text); font-size: .84rem; font-weight: 440; }
.hero-proof span { display: inline-flex; align-items: center; gap: .45rem; }
.hero-proof span:not(:last-child)::after {
    width: .22rem;
    height: .22rem;
    margin-left: .95rem;
    border-radius: 50%;
    background: #7d8da8;
    content: "";
}
.hero-proof span::before { display: block; width: 1rem; height: 1rem; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2319bf72' d='M9.2 16.2 4.9 12a1.2 1.2 0 0 1 1.7-1.7l2.6 2.6 8.2-8.2a1.2 1.2 0 1 1 1.7 1.7l-9 9a1.2 1.2 0 0 1-1.7 0Z'/%3E%3C/svg%3E") center / .68rem .68rem no-repeat, var(--green-soft); content: ""; box-shadow: inset 0 0 0 1px rgba(25, 191, 114, .24); }
.start-note { display: flex; align-items: center; gap: .55rem; margin-top: 1.65rem !important; color: #1f3155 !important; font-size: .95rem !important; font-weight: 460; }
.start-note span { display: grid; width: 1.4rem; height: 1.4rem; place-items: center; border: 1px solid #bcd7ff; border-radius: 50%; color: var(--blue); font-size: .75rem; }
.start-note strong { color: var(--blue); }

.hero-visual { position: relative; min-height: 35rem; }
.browser-mock {
    position: absolute;
    inset: 1.8rem 3.2rem auto 2.2rem;
    overflow: hidden;
    border: 1px solid rgba(197, 215, 239, .92);
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 32px 90px rgba(24, 69, 135, .16);
}
.browser-mock header { display: grid; grid-template-columns: auto 1fr; align-items: center; height: 2.45rem; gap: .8rem; padding: 0 1rem; border-bottom: 1px solid var(--soft-line); background: linear-gradient(180deg, #fff, #f8fbff); color: var(--muted); font-size: .68rem; }
.browser-dots { display: flex; gap: .35rem; }
.browser-dots i { width: .48rem; height: .48rem; border-radius: 50%; background: #ff706d; }
.browser-dots i:nth-child(2) { background: #f6c24f; }
.browser-dots i:nth-child(3) { background: #32c878; }
.browser-mock header b { justify-self: center; width: min(22rem, 70%); padding: .28rem; border-radius: 999px; background: #f1f4f9; color: #9aa6ba; font-weight: 600; text-align: center; }
.mock-shell { display: grid; grid-template-columns: 8.4rem 1fr; min-height: 27rem; }
.mock-shell aside { display: grid; align-content: start; gap: .45rem; padding: 1rem; border-right: 1px solid var(--soft-line); background: #fbfdff; }
.mock-shell aside img { width: 5.3rem; margin-bottom: .7rem; }
.mock-shell aside span { padding: .45rem .6rem; border-radius: .45rem; color: #60708c; font-size: .64rem; font-weight: 700; }
.mock-shell aside .active { color: var(--blue); background: var(--blue-soft); }
.mock-shell section { padding: 1.1rem; }
.mock-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.mock-top h3 { margin: 0; font-size: .9rem; font-weight: 560; }
.mock-top button { min-height: 2rem; padding: 0 .8rem; border: 0; border-radius: .45rem; background: var(--blue); color: #fff; font-size: .62rem; font-weight: 560; }
.mock-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin-top: 1rem; }
.mock-metrics p { min-height: 5.2rem; margin: 0; padding: .8rem; border: 1px solid var(--soft-line); border-radius: .7rem; background: #fff; box-shadow: 0 10px 22px rgba(18, 50, 105, .04); }
.mock-metrics small, .mock-table b { display: block; color: #687794; font-size: .62rem; font-weight: 540; }
.mock-metrics b { display: block; margin-top: .42rem; font-size: .96rem; font-weight: 620; }
.mock-metrics i { display: block; width: 100%; height: 1.2rem; margin-top: .6rem; border-radius: .4rem; background: linear-gradient(135deg, rgba(23,105,232,.24), rgba(34,201,120,.22)); }
.mock-content { display: grid; grid-template-columns: 1fr .85fr; gap: .75rem; margin-top: 1rem; }
.mock-table, .mock-donut { min-height: 11rem; padding: .9rem; border: 1px solid var(--soft-line); border-radius: .8rem; background: #fff; }
.mock-table span { display: flex; justify-content: space-between; gap: .8rem; padding: .62rem 0; border-bottom: 1px solid var(--soft-line); color: #34435d; font-size: .65rem; font-weight: 520; }
.mock-table span:last-child { border-bottom: 0; }
.mock-donut { display: grid; place-items: center; }
.mock-donut i { display: block; width: 7.4rem; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--blue) 0 46%, var(--green) 46% 70%, var(--violet) 70% 84%, var(--orange) 84% 100%); }
.mock-donut i::after { display: block; width: 4.5rem; aspect-ratio: 1; margin: 1.45rem; border-radius: 50%; background: #fff; content: ""; }
.mock-donut b { position: absolute; font-size: .72rem; text-align: center; }
.floating-card { position: absolute; z-index: 3; display: grid; min-width: 12.2rem; gap: .2rem; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.95); box-shadow: 0 20px 50px rgba(24, 69, 135, .16); backdrop-filter: blur(12px); }
.floating-card .icon { position: absolute; top: 1rem; left: 1rem; width: 2.5rem; height: 2.5rem; }
.floating-card small, .floating-card strong, .floating-card em { margin-left: 3.2rem; }
.floating-card small { color: var(--text); font-size: .67rem; font-weight: 540; }
.floating-card strong { color: var(--ink); font-size: 1.28rem; font-weight: 700; letter-spacing: 0; }
.floating-card em { color: var(--green); font-size: .68rem; font-style: normal; font-weight: 540; }
.floating-card i { height: 1.25rem; margin-top: .45rem; border-radius: .5rem; background: linear-gradient(135deg, rgba(23,105,232,.25), rgba(34,201,120,.22)); }
.float-sales { top: 12.2rem; left: -1.4rem; }
.float-expenses { top: 13.6rem; right: -1.4rem; }
.float-cash { bottom: 4.5rem; left: .6rem; }
.float-bills { right: 1.2rem; bottom: 4.7rem; }

.icon { display: inline-grid; width: 3rem; height: 3rem; place-items: center; border-radius: 1rem; font-size: 0; font-weight: 900; }
.icon.is-blue { color: var(--blue); background: var(--blue-soft); }
.icon.is-green { color: var(--green); background: var(--green-soft); }
.icon.is-violet { color: var(--violet); background: var(--violet-soft); }
.icon.is-orange { color: var(--orange); background: var(--orange-soft); }
.icon.is-red { color: #ef4444; background: #ffe9e9; }
.icon.is-cyan { color: var(--cyan); background: #e6fbff; }
.button-arrow,
.play-icon::before,
.icon::before,
.pill-icon,
.note-icon::before,
.footer-icon::before,
.footer-title-icon::before,
.social-link::before {
    display: block;
    flex: 0 0 auto;
    background: currentColor;
    content: "";
    -webkit-mask: var(--icon) center / contain no-repeat;
    mask: var(--icon) center / contain no-repeat;
}
.button-arrow {
    width: 1rem;
    height: 1rem;
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13.3 5.3a1 1 0 0 1 1.4 0l6 6a1 1 0 0 1 0 1.4l-6 6a1 1 0 1 1-1.4-1.4L17.6 13H4a1 1 0 1 1 0-2h13.6l-4.3-4.3a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E");
}
.play-icon::before {
    width: .62rem;
    height: .62rem;
    margin-left: .08rem;
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 5.8c0-.8.9-1.3 1.6-.9l8.6 5.2c.7.4.7 1.4 0 1.8l-8.6 5.2c-.7.4-1.6-.1-1.6-.9V5.8Z'/%3E%3C/svg%3E");
}
.icon::before { width: 1.55rem; height: 1.55rem; }
.pill-icon { width: 1rem; height: 1rem; }
.footer-icon { grid-row: span 2; display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; }
.note-icon::before,
.footer-icon::before,
.footer-title-icon::before,
.social-link::before { width: 1.12rem; height: 1.12rem; }
.icon-trend { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 18a1.5 1.5 0 0 1 0-3h1V9a1.5 1.5 0 0 1 3 0v6h2v-4a1.5 1.5 0 0 1 3 0v4h2V6a1.5 1.5 0 0 1 3 0v9h2a1.5 1.5 0 0 1 0 3H4Z'/%3E%3C/svg%3E"); }
.icon-receipt { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h12a1 1 0 0 1 1 1v18l-3-1.8-3 1.8-3-1.8-3 1.8-2-1.2V3a1 1 0 0 1 1-1Zm3 6h6a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 4h6a1 1 0 1 0 0-2H9a1 1 0 1 0 0 2Zm0 4h4a1 1 0 1 0 0-2H9a1 1 0 1 0 0 2Z'/%3E%3C/svg%3E"); }
.icon-money { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Zm3 3a2 2 0 0 1-2 2v2a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2v-2a2 2 0 0 1-2-2H7Zm5 6a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z'/%3E%3C/svg%3E"); }
.icon-card { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm3 1v2h12V7H6Zm0 6v2h7v-2H6Z'/%3E%3C/svg%3E"); }
.icon-modules { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h7v7H4V4Zm9 0h7v7h-7V4ZM4 13h7v7H4v-7Zm9 0h7v7h-7v-7Z'/%3E%3C/svg%3E"); }
.icon-shield { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 20 5v6c0 5-3.4 9.3-8 11-4.6-1.7-8-6-8-11V5l8-3Zm3.7 7.3a1 1 0 0 0-1.4-1.4L11 11.2 9.7 9.9a1 1 0 1 0-1.4 1.4l2 2a1 1 0 0 0 1.4 0l4-4Z'/%3E%3C/svg%3E"); }
.icon-box { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 9 4.8v10.4L12 22l-9-4.8V6.8L12 2Zm0 2.8L6.3 7.9 12 11l5.7-3.1L12 4.8ZM5 9.7v6.2l5.5 2.9v-6.1L5 9.7Zm14 0-5.5 3v6.1l5.5-2.9V9.7Z'/%3E%3C/svg%3E"); }
.icon-wallet { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h14a2 2 0 0 1 2 2v2h-5a4 4 0 0 0 0 8h5v1a2 2 0 0 1-2 2H4a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3Zm11 6h6v4h-6a2 2 0 0 1 0-4Z'/%3E%3C/svg%3E"); }
.icon-bell { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a3 3 0 0 0 2.8-2h-5.6A3 3 0 0 0 12 22Zm8-5-2-3V9a6 6 0 1 0-12 0v5l-2 3v1h16v-1Z'/%3E%3C/svg%3E"); }
.icon-report, .icon-chart { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm3 13h2V9H8v7Zm4 0h2V6h-2v10Zm4 0h2v-5h-2v5Z'/%3E%3C/svg%3E"); }
.icon-cart { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM4 3H2v2h2l2.6 9.2A3 3 0 0 0 9.5 16H18a2 2 0 0 0 1.9-1.4L22 7H6.1L5.5 4.8A2.5 2.5 0 0 0 4 3Z'/%3E%3C/svg%3E"); }
.icon-bolt { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13 2 4 14h7l-1 8 10-13h-7l1-7Z'/%3E%3C/svg%3E"); }
.icon-settings { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2-1.5-2-3.5-2.4 1a7.6 7.6 0 0 0-2.6-1.5L14 2h-4l-.4 2.5A7.6 7.6 0 0 0 7 6L4.6 5 2.6 8.5l2 1.5c-.1.5-.1 1-.1 1.5s0 1 .1 1.5l-2 1.5 2 3.5 2.4-1a7.6 7.6 0 0 0 2.6 1.5L10 22h4l.4-2.5A7.6 7.6 0 0 0 17 18l2.4 1 2-3.5-2-1.5ZM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5Z'/%3E%3C/svg%3E"); }
.icon-edit { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 17.5V21h3.5L18.1 10.4l-3.5-3.5L4 17.5ZM20.7 7.8c.4-.4.4-1 0-1.4l-3.1-3.1a1 1 0 0 0-1.4 0l-1.6 1.6 4.5 4.5 1.6-1.6Z'/%3E%3C/svg%3E"); }
.icon-tag { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h9l9 9-8 8-9-9V4Zm5 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'/%3E%3C/svg%3E"); }
.icon-star { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 2.7 6.2 6.7.6-5.1 4.4 1.5 6.6L12 16.4l-5.8 3.4 1.5-6.6-5.1-4.4 6.7-.6L12 2Z'/%3E%3C/svg%3E"); }
.icon-link { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8.5 12a1.5 1.5 0 0 1 1.5-1.5h4a1.5 1.5 0 0 1 0 3h-4A1.5 1.5 0 0 1 8.5 12ZM9 6H7a6 6 0 0 0 0 12h2a1.5 1.5 0 0 0 0-3H7A3 3 0 0 1 7 9h2a1.5 1.5 0 0 0 0-3Zm6 0a1.5 1.5 0 0 0 0 3h2a3 3 0 0 1 0 6h-2a1.5 1.5 0 0 0 0 3h2a6 6 0 0 0 0-12h-2Z'/%3E%3C/svg%3E"); }
.icon-question { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-.1 14.8a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4ZM12 5.5a3.8 3.8 0 0 0-4 3.7 1 1 0 1 0 2 0c0-1 .8-1.7 2-1.7 1.1 0 1.9.6 1.9 1.6 0 .8-.4 1.2-1.5 1.9-1.2.8-2.1 1.7-2.1 3.3a1 1 0 1 0 2 0c0-.7.3-1.1 1.2-1.7 1.2-.8 2.4-1.7 2.4-3.5 0-2.2-1.7-3.6-3.9-3.6Z'/%3E%3C/svg%3E"); }
.icon-users { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm8 0a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM2 21a6 6 0 0 1 12 0H2Zm8.5 0a6 6 0 0 1 11.5 0H10.5Z'/%3E%3C/svg%3E"); }
.icon-rocket { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13 3c4.5.6 7.4 3.5 8 8l-5 5-3-3-4 4-2-2 4-4-3-3 5-5ZM5 14l5 5-7 2 2-7Zm10-7a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'/%3E%3C/svg%3E"); }
.icon-user { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm-9 9a9 9 0 0 1 18 0H3Z'/%3E%3C/svg%3E"); }
.icon-store { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 10h16v10H4V10Zm2 2v6h12v-6H6ZM5 3h14l2 5H3l2-5Z'/%3E%3C/svg%3E"); }
.icon-briefcase { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 3h6a2 2 0 0 1 2 2v2h3a2 2 0 0 1 2 2v9a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a2 2 0 0 1 2-2h3V5a2 2 0 0 1 2-2Zm0 4h6V5H9v2Z'/%3E%3C/svg%3E"); }
.icon-truck { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h12v10h1.2l2-4H21l2 3v4h-2a3 3 0 0 1-6 0H9a3 3 0 0 1-6 0H1V7a2 2 0 0 1 2-2Zm3 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm12 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'/%3E%3C/svg%3E"); }
.icon-food { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 17h16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Zm8-13a8 8 0 0 1 8 8v3H4v-3a8 8 0 0 1 8-8Zm0-2a1.5 1.5 0 0 1 1.5 1.5h-3A1.5 1.5 0 0 1 12 2Z'/%3E%3C/svg%3E"); }
.icon-lock { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 10V7a5 5 0 0 1 10 0v3h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h1Zm3 0h4V7a2 2 0 1 0-4 0v3Z'/%3E%3C/svg%3E"); }
.social-facebook { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 8h3V4h-3c-3.3 0-5 2-5 5v2H6v4h3v7h4v-7h3.2l.8-4h-4V9c0-.7.3-1 1-1Z'/%3E%3C/svg%3E"); }
.social-instagram { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm5 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm0 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm5.3-3.4a1.1 1.1 0 1 1 0 2.2 1.1 1.1 0 0 1 0-2.2Z'/%3E%3C/svg%3E"); }
.social-mail { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm0 3v.3l8 4.7 8-4.7V8l-8 4.7L4 8Z'/%3E%3C/svg%3E"); }

.hero-benefits { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1190px; margin-top: 1.3rem; overflow: hidden; border: 1px solid var(--line); border-radius: 1.4rem; background: rgba(255,255,255,.92); box-shadow: var(--shadow-soft); }
.hero-benefits article { display: flex; align-items: center; gap: 1.15rem; padding: 1.55rem 2rem; border-right: 1px solid var(--line); }
.hero-benefits article:last-child { border-right: 0; }
.hero-benefits strong { display: block; font-size: 1rem; font-weight: 540; }
.hero-benefits p { margin: .28rem 0 0; color: var(--text); font-size: .86rem; line-height: 1.45; }

.section { position: relative; overflow: hidden; padding: 5.7rem 0; }
.section-soft { background: linear-gradient(180deg, #fbfdff, #f4f8fe); }
.section-heading { max-width: 930px; margin: 0 auto 3.3rem; text-align: center; }
.section-heading h2 { font-size: clamp(2rem, 3.25vw, 3.125rem); }
.section-heading p { max-width: 760px; margin: 0 auto; color: var(--text); font-size: 1.06rem; line-height: 1.55; }

.benefit-grid, .answers-grid, .audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }
.benefit-grid article, .audience-grid article, .answers-grid article {
    position: relative;
    min-height: 12rem;
    padding: 1.75rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(255,255,255,.92);
    box-shadow: var(--shadow-soft);
}
.benefit-grid article::after, .audience-grid article::after { position: absolute; right: 1.45rem; bottom: 1.4rem; width: .78rem; height: .78rem; border-radius: 50%; background: color-mix(in srgb, var(--blue) 25%, transparent); content: ""; }
.benefit-grid h3, .audience-grid h3, .answers-grid h3, .module-card h3 { margin: 1.5rem 0 .7rem; color: var(--ink); font-size: 1.32rem; line-height: 1.18; letter-spacing: 0; }
.benefit-grid p, .audience-grid p, .answers-grid p, .module-card p { margin: 0; color: var(--text); font-size: 1rem; line-height: 1.55; }

.module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.module-card { min-height: 18.5rem; padding: 1.65rem; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.95); box-shadow: var(--shadow-soft); }
.module-card h3 { margin-top: -3.2rem; padding-left: 4.7rem; }
.module-card > p { min-height: 4.6rem; padding-left: 4.7rem; }
.mini-list { display: grid; gap: .2rem; margin-top: 1.3rem; padding: .85rem; border: 1px solid var(--soft-line); border-radius: .9rem; background: #fff; }
.mini-list span { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .58rem .2rem; border-bottom: 1px solid var(--soft-line); color: #33425e; font-size: .78rem; font-weight: 540; }
.mini-list span:last-child { border-bottom: 0; }
.mini-list b { color: var(--blue); font-size: .72rem; }
.mini-chart { height: 7.6rem; margin-top: 1.4rem; border: 1px solid var(--soft-line); border-radius: .9rem; background: linear-gradient(180deg, #fff, #f8fbff); }
.mini-chart.line { background: linear-gradient(180deg, #fff, #f8fbff), linear-gradient(135deg, transparent 45%, rgba(23,105,232,.35) 46% 48%, transparent 49%); }
.mini-chart.bars { display: flex; align-items: end; gap: .65rem; padding: 1rem; }
.mini-chart.bars::before, .mini-chart.bars::after { display: block; flex: 1; border-radius: .4rem .4rem 0 0; background: rgba(23,105,232,.24); content: ""; }
.mini-chart.bars::before { height: 52%; }
.mini-chart.bars::after { height: 84%; }

.connected-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
.connected-card { display: grid; grid-template-columns: minmax(0, .82fr) minmax(16rem, .72fr); gap: 1.45rem; padding: 2rem; border: 1px solid var(--line); border-radius: 1.6rem; background: rgba(255,255,255,.92); box-shadow: var(--shadow-soft); }
.connected-card h3 { grid-column: 1 / -1; margin: 0; font-size: 1.58rem; line-height: 1.18; letter-spacing: 0; }
.connected-card h3 em { color: var(--blue); font-style: normal; }
.connected-card.is-purchases h3 em { color: var(--orange); }
.connected-card ul { display: grid; gap: .85rem; margin: 0; padding: 0; list-style: none; }
.connected-card li { display: grid; gap: .15rem; padding: .9rem 0; border-bottom: 1px solid var(--soft-line); }
.connected-card li b { color: var(--ink); font-size: .95rem; }
.connected-card li span { color: var(--text); font-size: .9rem; }
.impact-card { align-self: center; padding: 1.2rem; border: 1px solid var(--soft-line); border-radius: 1rem; background: #fff; box-shadow: 0 14px 30px rgba(18, 50, 105, .07); }
.impact-card strong { display: block; color: var(--ink); font-size: .96rem; }
.impact-card p { display: flex; justify-content: space-between; margin: 1rem 0; padding-bottom: 1rem; border-bottom: 1px solid var(--soft-line); color: var(--text); }
.impact-card span { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; color: var(--text); font-size: .84rem; }
.impact-card em { color: var(--green); font-style: normal; font-weight: 840; }
.is-purchases .impact-card em { color: var(--orange); }
.center-note { display: flex; width: fit-content; max-width: 900px; align-items: center; justify-content: center; gap: .65rem; margin: 2.4rem auto 0; padding: 1rem 1.4rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.88); color: #233557; box-shadow: 0 10px 26px rgba(18,50,105,.05); font-size: 1rem; text-align: center; }
.center-note::before { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue); content: "✓"; font-weight: 900; }

.answers-grid article { min-height: 18.5rem; }
.answers-grid h3 { margin-top: -3.15rem; padding-left: 4.75rem; }
.answers-grid p { padding-left: 4.75rem; }
@media (max-width: 720px) {
    .container { width: min(100% - 28px, 1420px); }
    .header-inner { min-height: 4.2rem; }
    .brand img { width: 8rem; }
    .login-link { font-size: .84rem; }
    .header-actions .button { display: none; }
    .hero { padding-top: 3.4rem; }
    .hero h1, .section-heading h2 { font-size: clamp(2.25rem, 10vw, 3.125rem); line-height: 1.04; }
    .hero-copy > p, .section-heading p { font-size: 1rem; }
    .hero-actions { display: grid; }
    .button { width: 100%; }
    .hero-proof { display: grid; justify-content: start; text-align: left; }
    .start-note { justify-content: flex-start; }
    .hero-visual { min-height: 34rem; }
    .browser-mock { inset: 2.4rem 0 auto; }
    .mock-shell { grid-template-columns: 1fr; }
    .mock-shell aside { display: none; }
    .mock-metrics { grid-template-columns: repeat(2, 1fr); }
    .mock-content { grid-template-columns: 1fr; }
    .floating-card { min-width: 10.8rem; padding: .85rem; }
    .float-sales { left: -.4rem; top: 0; }
    .float-expenses { right: -.4rem; top: 5.2rem; }
    .float-cash { left: -.2rem; bottom: .5rem; }
    .float-bills { right: -.3rem; bottom: 2.4rem; }
    .hero-benefits, .benefit-grid, .module-grid, .answers-grid, .audience-grid, .connected-grid, .steps-grid, .footer-main { grid-template-columns: 1fr; }
    .section { padding: 4.6rem 0; }
    .section-heading { margin-bottom: 2.2rem; }
    .benefit-grid article, .module-card, .answers-grid article, .audience-grid article, .connected-card, .steps-grid article { padding: 1.35rem; min-height: auto; }
    .module-card h3, .module-card > p, .answers-grid h3, .answers-grid p { margin-top: 1rem; padding-left: 0; }
    .center-note { display: grid; width: 100%; text-align: left; }
    .faq-list p { margin-left: 0; }
    .cta-preview { min-height: 18.5rem; }
    .cta-preview > img { transform: none; }
    .footer-main { gap: 2.2rem; padding-block: 3.5rem; }
    .footer-brand img { width: 12rem; }
}

.site-footer {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(135deg, #075ee8 0%, #0876ef 55%, #0064d9 100%);
}

.footer-main {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(18rem, 1.35fr) repeat(4, minmax(10rem, 1fr));
    gap: clamp(2rem, 4vw, 4.5rem);
    padding: 4.6rem 0 4.1rem;
}

.footer-brand img {
    width: 12.8rem;
    height: auto;
    filter: brightness(0) invert(1);
}

.footer-brand .footer-tagline {
    max-width: 17rem;
    margin: 1.25rem 0 1.8rem;
    color: rgba(255,255,255,.92);
    font-size: .93rem;
    line-height: 1.55;
}

.footer-brand ul {
    display: grid;
    max-width: 18rem;
    gap: .95rem;
    margin: 0 0 1.65rem;
    padding: 0;
    list-style: none;
}

.footer-brand li {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: .8rem;
    align-items: center;
    padding-bottom: .9rem;
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.footer-brand li b {
    color: #fff;
    font-size: .92rem;
    font-weight: 650;
}

.footer-brand li small {
    grid-column: 2;
    color: rgba(255,255,255,.78);
    font-size: .82rem;
    line-height: 1.35;
}

.footer-social {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.social-link {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: rgba(255,255,255,.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

.footer-column {
    display: flex;
    flex-direction: column;
    gap: 1.05rem;
}

.footer-column strong {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: .6rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid rgba(255,255,255,.2);
    color: #fff;
    font-size: 1.08rem;
    font-weight: 650;
}

.footer-column a {
    color: rgba(255,255,255,.9);
    font-size: .96rem;
    text-decoration: none;
}

.footer-column a:hover {
    color: #fff;
}

.footer-bottom {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 12.5rem;
    place-items: start center;
    overflow: hidden;
    padding: 2.15rem 0 0;
    border-top: 1px solid rgba(255,255,255,.22);
    color: rgba(255,255,255,.96);
    text-align: center;
}

.footer-bottom span {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    margin: 0 auto;
    font-size: .92rem;
    font-weight: 560;
    white-space: normal;
}

@media (max-width: 1180px) {
    .footer-main {
        grid-template-columns: minmax(15rem, 1.4fr) repeat(2, minmax(11rem, 1fr));
    }
}

@media (max-width: 720px) {
    #pasos .steps-grid {
        grid-template-columns: 1fr;
    }

    #pasos .step-card > p {
        min-height: 0;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 2.2rem;
        padding: 3.6rem 0 3.1rem;
    }

    .footer-brand img {
        width: 12rem;
    }

    .footer-brand .footer-tagline,
    .footer-brand ul {
        max-width: none;
    }

    .footer-column strong {
        margin-bottom: .15rem;
    }

    .footer-bottom {
        padding: 1.7rem 0 2rem;
    }
}
/* Landing repair: step connection card */
#pasos .step-card.step-connect h3 {
    text-decoration: none;
}

#pasos .step-card.step-connect .step-network {
    position: relative;
    display: block;
    min-height: 18.6rem;
    margin-top: 1.25rem;
    padding: .8rem;
    overflow: hidden;
    border: 1px solid var(--soft-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 14px 30px rgba(18, 50, 105, .07);
}

#pasos .step-card.step-connect .step-network::before {
    inset: 4rem 4.9rem 4.7rem;
}

#pasos .step-card.step-connect .step-network::after {
    top: 7.35rem;
    height: 6.1rem;
}

#pasos .step-card.step-connect .network-sales,
#pasos .step-card.step-connect .network-expenses {
    top: 1.05rem;
}

#pasos .step-card.step-connect .network-orders,
#pasos .step-card.step-connect .network-money {
    top: 8.15rem;
}

#pasos .step-card.step-connect .network-total {
    bottom: .65rem;
}

#pasos .step-card.step-connect .network-core {
    top: 6.9rem;
}

@media (max-width: 720px) {
    #pasos .step-card.step-connect .step-network {
        min-height: 20rem;
    }
}
/* Pricing page */
.icon-building { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4h2a2 2 0 0 1 2 2v10h-6v-4H10v4H4Zm4-13h2V6H8v2Zm4 0h2V6h-2v2Zm-4 4h2v-2H8v2Zm4 0h2v-2h-2v2Zm4 3h2v-2h-2v2Z'/%3E%3C/svg%3E"); }
.icon-close { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm3.5 6.5a1 1 0 0 1 0 1.4L13.4 12l2.1 2.1a1 1 0 1 1-1.4 1.4L12 13.4l-2.1 2.1a1 1 0 1 1-1.4-1.4l2.1-2.1-2.1-2.1a1 1 0 1 1 1.4-1.4l2.1 2.1 2.1-2.1a1 1 0 0 1 1.4 0Z'/%3E%3C/svg%3E"); }

/* Landing home section recovery */
.icon-clock { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 5a1 1 0 1 0-2 0v5c0 .3.1.5.3.7l3 3a1 1 0 0 0 1.4-1.4L13 11.6V7Z'/%3E%3C/svg%3E"); }

.module-head,
.answer-head,
.connected-title {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
}

.module-head h3,
.module-head p,
.answer-head h3,
.answer-head p {
    margin: 0;
    padding: 0;
}

.module-card .module-head h3,
.answers-grid .answer-head h3 {
    margin: 0 0 .48rem;
    padding: 0;
}

.module-card .module-head > div,
.answer-head > div,
.connected-title h3 {
    min-width: 0;
}

.module-card > p,
.module-head p {
    min-height: 0;
}

.mini-panel {
    margin-top: 1.35rem;
    padding: .9rem;
    border: 1px solid var(--soft-line);
    border-radius: 1rem;
    background: linear-gradient(180deg, #fff, #f8fbff);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.metrics-preview {
    display: grid;
    gap: .8rem;
}

.mini-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .5rem;
}

.mini-metrics span {
    min-width: 0;
    padding: .65rem .55rem;
    border: 1px solid var(--soft-line);
    border-radius: .65rem;
    background: #fff;
}

.mini-metrics small,
.mini-metrics b {
    display: block;
}

.mini-metrics small {
    color: var(--muted);
    font-size: .68rem;
}

.mini-metrics b {
    margin-top: .2rem;
    color: var(--ink);
    font-size: .86rem;
    font-weight: 650;
}

.mini-panel.mini-list {
    margin-top: 1.35rem;
}

.mini-list strong {
    color: var(--ink);
    font-weight: 560;
}

.product-list b,
.money-list b,
.report-preview .mini-actions span {
    padding: .22rem .45rem;
    border-radius: 999px;
    background: var(--blue-soft);
}

.product-list b { color: var(--orange); background: var(--orange-soft); }
.money-list b { color: var(--green); background: var(--green-soft); }

.report-preview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .8rem;
    align-items: center;
}

.report-preview .mini-actions {
    grid-column: 1 / -1;
    display: flex;
    gap: .55rem;
    justify-content: center;
}

.report-preview .mini-actions span {
    color: var(--blue);
    font-size: .72rem;
    font-weight: 650;
}

.mini-donut {
    display: grid;
    gap: .35rem;
    align-content: center;
}

.mini-donut > span {
    width: 5.2rem;
    aspect-ratio: 1;
    justify-self: center;
    border-radius: 50%;
    background: conic-gradient(var(--blue) 0 42%, var(--green) 42% 70%, var(--orange) 70% 86%, var(--violet) 86% 100%);
}

.mini-donut > span::after {
    display: block;
    width: 3rem;
    aspect-ratio: 1;
    margin: 1.1rem;
    border-radius: 50%;
    background: #fff;
    content: "";
}

.mini-donut p {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    margin: 0;
    color: var(--text);
    font-size: .68rem;
}

.connected-title {
    grid-column: 1 / -1;
    align-items: center;
}

.connected-title .icon {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px currentColor;
}

.connected-content {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(18rem, 1fr);
    gap: 1.5rem;
    align-items: center;
}

.flow-list {
    display: grid;
    gap: .05rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.flow-list li {
    position: relative;
    display: grid;
    grid-template-columns: 3rem 1fr;
    column-gap: .9rem;
    padding: .9rem 0;
    border-bottom: 1px solid var(--soft-line);
}

.flow-list li > span {
    grid-row: span 2;
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border-radius: 50%;
    background: var(--green-soft);
}

.flow-list li > span::before {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: var(--green);
    content: "";
    mask: var(--icon) center / contain no-repeat;
    -webkit-mask: var(--icon) center / contain no-repeat;
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9 16.2-4.2-4.2 1.4-1.4L9 13.4l8.8-8.8 1.4 1.4L9 16.2Z'/%3E%3C/svg%3E");
}

.is-purchases .flow-list li > span { background: var(--orange-soft); }
.is-purchases .flow-list li > span::before { background: var(--orange); }

.flow-list b {
    color: var(--ink);
    font-size: .96rem;
}

.flow-list small {
    color: var(--text);
    font-size: .88rem;
    line-height: 1.35;
}

.flow-list em {
    color: var(--blue);
    font-style: normal;
    font-weight: 700;
}

.is-purchases .flow-list em { color: var(--orange); }

.impact-card header {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin: -1.2rem -1.2rem 1rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--soft-line);
    background: #fbfdff;
}

.impact-card header i {
    width: .48rem;
    height: .48rem;
    border-radius: 50%;
    background: #ff6b6b;
}

.impact-card header i:nth-child(2) { background: #f6c24f; }
.impact-card header i:nth-child(3) { background: #32c878; }
.impact-card header strong { margin-left: .55rem; }
.impact-card header b { margin-left: auto; padding: .28rem .55rem; border-radius: 999px; color: var(--green); background: var(--green-soft); font-size: .7rem; }
.is-purchases .impact-card header b { color: var(--orange); background: var(--orange-soft); }

.impact-card p {
    display: grid;
    gap: .35rem;
    margin: 0 0 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--soft-line);
}

.impact-card p strong {
    color: var(--ink);
    font-size: 1.45rem;
}

.impact-card p span,
.impact-card p em {
    color: var(--green);
    font-size: .86rem;
    font-style: normal;
    font-weight: 650;
}

.is-purchases .impact-card p em { color: var(--orange); }

.impact-card div {
    padding: .75rem;
    border: 1px solid var(--soft-line);
    border-radius: .8rem;
    background: #fbfdff;
}

.impact-card div strong {
    margin-bottom: .45rem;
}

.impact-card footer {
    margin-top: .9rem;
    padding: .75rem;
    border-radius: .75rem;
    color: #2d4b80;
    background: var(--blue-soft);
    font-size: .82rem;
    line-height: 1.35;
}

.answer-card {
    display: grid;
    align-content: start;
    gap: 1rem;
}

.answer-preview {
    min-height: 11rem;
    padding: .95rem;
    border: 1px solid var(--soft-line);
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 10px 25px rgba(18,50,105,.05);
}

.answer-preview header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .75rem;
}

.answer-preview header strong {
    color: var(--ink);
    font-size: .8rem;
}

.answer-preview header b,
.table-preview header b {
    padding: .24rem .5rem;
    border-radius: .45rem;
    color: var(--blue);
    background: var(--blue-soft);
    font-size: .68rem;
}

.answer-total,
.preview-total {
    display: block;
    color: var(--ink);
    font-size: 1.2rem;
    font-weight: 680;
}

.answer-total em {
    margin-left: .45rem;
    color: var(--green);
    font-size: .68rem;
    font-style: normal;
}

.sparkline {
    height: 5rem;
    margin: .75rem 0;
    border-radius: .75rem;
    background:
        linear-gradient(180deg, transparent 31%, #e8eef8 32% 33%, transparent 34% 64%, #e8eef8 65% 66%, transparent 67%),
        linear-gradient(135deg, transparent 18%, rgba(23,105,232,.18) 19% 72%, transparent 73%),
        linear-gradient(145deg, transparent 23%, var(--blue) 24% 26%, transparent 27%);
}

.sales-preview ul,
.donut-row ul,
.money-preview ul {
    display: grid;
    gap: .35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sales-preview li,
.donut-row li,
.money-preview li,
.table-preview span {
    display: flex;
    justify-content: space-between;
    gap: .7rem;
    color: var(--text);
    font-size: .74rem;
}

.donut-row,
.money-preview > div {
    display: grid;
    grid-template-columns: 7rem 1fr;
    gap: .8rem;
    align-items: center;
}

.donut-row > span,
.money-preview > div > span {
    display: block;
    width: 6.8rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background: conic-gradient(var(--green) 0 35%, var(--cyan) 35% 62%, var(--violet) 62% 82%, var(--orange) 82% 100%);
}

.donut-row > span::after,
.money-preview > div > span::after {
    display: block;
    width: 3.8rem;
    aspect-ratio: 1;
    margin: 1.5rem;
    border-radius: 50%;
    background: #fff;
    content: "";
}

.table-preview {
    display: grid;
    gap: .55rem;
}

.table-preview span {
    padding-bottom: .45rem;
    border-bottom: 1px solid var(--soft-line);
}

.table-preview em {
    color: #ef4444;
    font-style: normal;
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.35rem;
    align-items: stretch;
}

.step-card {
    position: relative;
    display: grid;
    align-content: start;
    min-height: 36rem;
    padding: 1.75rem;
    border: 1px solid var(--line);
    border-radius: 1.35rem;
    background: rgba(255,255,255,.94);
    box-shadow: var(--shadow-soft);
}

.step-card > span {
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #075ee8, #2077f2);
    font-weight: 720;
}

.step-card:nth-child(2) > span { background: linear-gradient(135deg, #13a85e, #2ac877); }
.step-card:nth-child(3) > span { background: linear-gradient(135deg, #4f46e5, #7c3aed); }

.step-card h3 {
    margin: .95rem 0 .55rem;
    color: var(--blue);
    font-size: 1.18rem;
    font-weight: 560;
    line-height: 1.2;
}

.step-card p {
    margin: 0;
    color: var(--text);
    font-size: .9rem;
    line-height: 1.5;
}

.step-panel {
    margin-top: 1.4rem;
    padding: 1rem;
    border: 1px solid var(--soft-line);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 18px 35px rgba(18,50,105,.08);
}

.step-panel strong,
.step-panel label,
.step-panel div {
    display: block;
}

.step-panel strong {
    margin-bottom: .8rem;
    color: var(--ink);
    font-size: .85rem;
}

.step-panel label {
    margin-top: .65rem;
    color: var(--muted);
    font-size: .68rem;
}

.step-panel div {
    margin-top: .25rem;
    padding: .55rem .7rem;
    border: 1px solid var(--soft-line);
    border-radius: .55rem;
    color: var(--ink);
    font-size: .72rem;
}

.step-panel p {
    display: grid;
    grid-template-columns: 2rem 1fr auto;
    gap: .55rem;
    align-items: center;
    padding: .55rem 0;
    border-bottom: 1px solid var(--soft-line);
}

.step-panel p:last-child { border-bottom: 0; }
.step-panel p .icon { width: 2rem; height: 2rem; border-radius: .55rem; }
.step-panel p b { color: var(--ink); font-size: .78rem; }
.step-panel p small { color: var(--muted); font-size: .68rem; }

.step-action {
    position: absolute;
    left: 50%;
    bottom: -1.35rem;
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #075ee8, #2077f2);
    transform: translateX(-50%);
    box-shadow: 0 14px 28px rgba(23,105,232,.28);
}

.step-action::before {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    background: currentColor;
    content: "";
    mask: var(--icon) center / contain no-repeat;
    -webkit-mask: var(--icon) center / contain no-repeat;
}

.step-network {
    position: relative;
    min-height: 21rem;
    margin-top: 1.25rem;
    border-radius: 1rem;
    background: radial-gradient(circle at center, rgba(23,105,232,.08), transparent 38%);
}

.step-network::before,
.step-network::after {
    position: absolute;
    inset: 3.8rem 3.2rem 4.2rem;
    border: 1px dashed rgba(23,105,232,.25);
    border-radius: 50%;
    content: "";
}

.step-network::after {
    left: 50%;
    right: auto;
    width: 0;
    border-radius: 0;
}

.network-node {
    position: absolute;
    display: grid;
    width: 6.2rem;
    justify-items: center;
    gap: .2rem;
    text-align: center;
}

.network-node .icon {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 50%;
}

.network-node b {
    color: var(--ink);
    font-size: .68rem;
}

.network-node small {
    color: var(--text);
    font-size: .62rem;
    line-height: 1.15;
}

.network-sales { top: .9rem; left: 0; }
.network-expenses { top: .9rem; right: 0; }
.network-orders { top: 8rem; left: 0; }
.network-money { top: 8rem; right: 0; }
.network-total { left: 50%; bottom: .2rem; transform: translateX(-50%); }

.network-core {
    position: absolute;
    top: 7.1rem;
    left: 50%;
    display: grid;
    width: 4.1rem;
    height: 4.1rem;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: #fff;
    transform: translateX(-50%);
    box-shadow: 0 16px 34px rgba(18,50,105,.12);
}

.network-core img { width: 2.25rem; }

.report-panel header,
.report-panel footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .7rem;
    margin-bottom: .65rem;
}

.report-panel footer {
    margin: .75rem 0 0;
}

.report-panel footer em {
    flex: 1;
    padding: .42rem;
    border: 1px solid var(--soft-line);
    border-radius: .5rem;
    color: var(--blue);
    font-size: .68rem;
    font-style: normal;
    text-align: center;
}

.faq-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.faq-card {
    position: relative;
    display: grid;
    grid-template-columns: 5rem 2.2rem 1fr auto;
    gap: .8rem;
    align-items: start;
    min-height: 10.6rem;
    padding: 1.5rem;
    border: 1px solid var(--line);
    border-radius: 1.35rem;
    background: rgba(255,255,255,.94);
    box-shadow: var(--shadow-soft);
}

.faq-card > b {
    display: grid;
    width: 2.2rem;
    height: 2.2rem;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--blue);
}

.faq-card h3 {
    margin: 0;
    color: var(--ink);
    font-size: 1.08rem;
    font-weight: 560;
}

.faq-card p {
    grid-column: 3 / 5;
    margin: .35rem 0 0;
    color: var(--text);
    line-height: 1.5;
}

.faq-card > i {
    width: 1rem;
    height: 1rem;
    border-right: 2px solid var(--blue);
    border-bottom: 2px solid var(--blue);
    transform: rotate(45deg);
}

.cta-section {
    position: relative;
    overflow: hidden;
    padding: 5.5rem 0 3rem;
    background: linear-gradient(180deg, #f7fbff, #eef6ff);
}

.final-cta-card {
    position: relative;
    min-height: 38rem;
    overflow: hidden;
    padding: 3.2rem 2rem 0;
    border: 1px solid var(--line);
    border-radius: 2rem;
    background: rgba(255,255,255,.92);
    box-shadow: var(--shadow-soft);
    text-align: center;
}

.final-cta-card h2 {
    max-width: 860px;
    margin: 0 auto .85rem;
    color: var(--ink);
    font-size: clamp(2.2rem, 4.8vw, 3.75rem);
    font-weight: 500;
    line-height: 1.05;
}

.final-cta-card h2 em {
    color: var(--blue);
    font-style: normal;
}

.final-cta-card > p {
    max-width: 740px;
    margin: 0 auto;
    color: var(--text);
    font-size: 1.05rem;
    line-height: 1.5;
}

.cta-actions,
.cta-proof {
    justify-content: center;
}

.cta-preview {
    position: absolute;
    left: 50%;
    bottom: -6rem;
    width: min(58rem, 78%);
    min-height: 21rem;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 1.25rem 1.25rem 0 0;
    background: #fff;
    transform: translateX(-50%);
    box-shadow: 0 25px 60px rgba(18,50,105,.16);
}

.cta-preview img {
    display: block;
    width: 100%;
    height: auto;
}

.cta-float {
    position: absolute;
    min-width: 12rem;
}

.cta-cash { left: 2.5rem; bottom: 11rem; }
.cta-sales { right: 2.5rem; bottom: 18rem; }

.cta-secure {
    position: absolute;
    right: 3rem;
    bottom: 6rem;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .65rem .8rem;
    max-width: 15rem;
    padding: 1.25rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: rgba(255,255,255,.95);
    box-shadow: 0 20px 45px rgba(18,50,105,.12);
    text-align: left;
}

.cta-secure .icon { grid-row: span 2; border-radius: 50%; }
.cta-secure strong { color: var(--ink); font-size: .98rem; }
.cta-secure small { color: var(--text); line-height: 1.35; }

.cta-disclaimer {
    max-width: 860px;
    margin: 1.6rem auto 0;
    color: #7b8ba8;
    text-align: center;
}

@media (max-width: 1180px) {
    .module-grid,
    .benefit-grid,
    .answers-grid,
    .audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .connected-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .module-grid,
    .benefit-grid,
    .answers-grid,
    .audience-grid,
    .steps-grid,
    .faq-list { grid-template-columns: 1fr; }
    .connected-content { grid-template-columns: 1fr; }
    .mini-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-preview { grid-template-columns: 1fr; }
    .donut-row,
    .money-preview > div { grid-template-columns: 1fr; justify-items: center; }
    .step-card { min-height: auto; }
    .faq-card { grid-template-columns: auto 1fr auto; }
    .faq-card .icon { display: none; }
    .faq-card p { grid-column: 2 / 4; }
    .final-cta-card { min-height: 32rem; padding-inline: 1.2rem; }
    .cta-preview { width: 92%; bottom: -3rem; }
    .cta-float,
    .cta-secure { display: none; }
}
.pricing-main {
    min-height: 100vh;
    background: #f7fbff;
}

.pricing-hero {
    position: relative;
    overflow: hidden;
    padding: 4.5rem 0 4.2rem;
    background:
        radial-gradient(circle at 18% 88%, rgba(23,105,232,.16), transparent 28rem),
        radial-gradient(circle at 88% 72%, rgba(116,71,232,.16), transparent 30rem),
        radial-gradient(circle at 72% 10%, rgba(23,105,232,.08), transparent 25rem),
        linear-gradient(180deg, #fbfdff 0%, #f3f8ff 100%);
}

.pricing-decor {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    border: 1px solid rgba(23,105,232,.11);
}

.pricing-decor-left {
    width: 28rem;
    height: 28rem;
    left: -10rem;
    bottom: -10rem;
}

.pricing-decor-right {
    width: 48rem;
    height: 48rem;
    right: -17rem;
    top: -9rem;
}

.pricing-dot-left {
    top: 19rem;
    left: 5%;
}

.pricing-dot-right {
    top: 10rem;
    right: 13%;
    opacity: .32;
    background-image: radial-gradient(#8b5cf6 1.7px, transparent 1.7px);
}

.pricing-container {
    position: relative;
    z-index: 1;
}

.pricing-heading {
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
}

.pricing-heading h1 {
    margin: 1.1rem 0 .85rem;
    color: var(--ink);
    font-size: clamp(2.6rem, 4vw, 3.75rem);
    line-height: 1.04;
    letter-spacing: 0;
    font-weight: 560;
}

.pricing-heading p {
    max-width: 650px;
    margin: 0 auto;
    color: var(--text);
    font-size: 1.04rem;
    line-height: 1.55;
}

.billing-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(8.8rem, 1fr));
    width: min(25rem, 100%);
    margin: 2.1rem auto 2.9rem;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 14px 32px rgba(18,50,105,.06);
}

.billing-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.billing-switch label {
    display: grid;
    min-height: 4.2rem;
    place-items: center;
    gap: .12rem;
    cursor: pointer;
    color: var(--ink);
    text-align: center;
}

.billing-switch label strong {
    font-size: 1rem;
    font-weight: 560;
}

.billing-switch label span {
    color: var(--blue);
    font-size: .76rem;
    font-weight: 560;
}

.billing-switch label em {
    display: none;
    padding: .12rem .48rem;
    border-radius: 999px;
    color: #0f9f58;
    background: #e9fbf1;
    font-size: .64rem;
    font-style: normal;
    font-weight: 700;
}

.billing-switch label:last-child span {
    color: var(--green);
    font-weight: 750;
}

#billing-yearly:checked + label em {
    display: inline-flex;
}

#billing-monthly:checked + label,
#billing-yearly:checked + label {
    border: 1px solid var(--blue);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(23,105,232,.11);
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 24rem));
    justify-content: center;
    align-items: stretch;
    gap: 1.45rem;
}

.pricing-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 34.5rem;
    padding: 2rem 2rem 1.55rem;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 22px 55px rgba(18,50,105,.09);
}

.pricing-pro {
    border-color: rgba(116,71,232,.78);
    box-shadow: 0 26px 65px rgba(116,71,232,.14);
}

.pricing-business {
    border-color: rgba(23,105,232,.32);
    box-shadow: 0 24px 58px rgba(23,105,232,.1);
}

.popular-badge {
    position: absolute;
    left: 50%;
    top: -.95rem;
    transform: translateX(-50%);
    padding: .45rem 1.2rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #7c3aed, #9b4df1);
    color: #fff;
    box-shadow: 0 12px 26px rgba(116,71,232,.28);
    font-size: .74rem;
    font-weight: 700;
    text-transform: uppercase;
}

.pricing-card-head {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--soft-line);
}

.pricing-card-head h2 {
    margin: 0 0 .45rem;
    color: var(--ink);
    font-size: 1.45rem;
    line-height: 1.15;
    font-weight: 560;
}

.pricing-card-head p {
    max-width: 18rem;
    margin: 0;
    color: var(--text);
    font-size: .9rem;
    line-height: 1.45;
}

.pricing-card-head .icon {
    width: 4rem;
    height: 4rem;
    flex: 0 0 auto;
    border-radius: 50%;
    box-shadow: 0 14px 30px rgba(18,50,105,.09);
}

.pricing-card-head .icon::before {
    width: 2rem;
    height: 2rem;
}

.pricing-price {
    display: flex;
    align-items: end;
    gap: .45rem;
    margin-top: 1.35rem;
    color: var(--ink);
}

.pricing-price span {
    font-size: clamp(2.7rem, 4.2vw, 3.45rem);
    line-height: .95;
    letter-spacing: 0;
    font-weight: 600;
}

.pricing-price small {
    margin-bottom: .42rem;
    color: var(--text);
    font-size: .95rem;
}

.pricing-price .regular-price {
    margin-right: .1rem;
    margin-bottom: .55rem;
    color: #8da0bd;
    font-size: .98rem;
    line-height: 1;
    font-weight: 560;
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
}

.yearly-price,
.yearly-note {
    display: none;
}

body:has(#billing-yearly:checked) .monthly-price,
body:has(#billing-yearly:checked) .monthly-note {
    display: none;
}

body:has(#billing-yearly:checked) .yearly-price,
body:has(#billing-yearly:checked) .yearly-note {
    display: inline;
}

.pricing-note {
    margin: .6rem 0 1.1rem;
    color: var(--muted);
    font-size: .85rem;
}

.annual-savings.yearly-note {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin: -.45rem 0 1.15rem;
    padding: .72rem .8rem;
    border: 1px solid rgba(25,191,114,.24);
    border-radius: 10px;
    color: #0b7f47;
    background: linear-gradient(135deg, #ecfff4, #f7fffb);
    font-size: .82rem;
}

.annual-savings strong {
    font-weight: 760;
}

.annual-savings span {
    color: #159c56;
    font-weight: 650;
    text-align: right;
}

body:has(#billing-yearly:checked) .annual-savings.yearly-note {
    display: flex;
}

.environment-box {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .85rem;
    padding: .85rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #f6f9ff, #eef4ff);
}

.environment-box .icon {
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 9px;
}

.environment-box .icon::before {
    width: 1.15rem;
    height: 1.15rem;
}

.environment-box strong,
.environment-box small {
    display: block;
}

.environment-box strong {
    color: var(--ink);
    font-size: .82rem;
    font-weight: 650;
}

.environment-box small {
    margin-top: .1rem;
    color: var(--text);
    font-size: .74rem;
}

.environment-box b {
    color: var(--blue);
    font-size: 1.75rem;
    line-height: 1;
    font-weight: 650;
}

.environment-box.is-pro b {
    color: var(--violet);
}

.environment-box.is-business b {
    color: var(--blue);
}

.pricing-card h3 {
    margin: 1.35rem 0 .8rem;
    color: var(--blue);
    font-size: .82rem;
    font-weight: 700;
}

.pricing-pro h3 {
    color: var(--violet);
}

.pricing-business h3 {
    color: var(--blue);
}

.pricing-features {
    display: grid;
    gap: .7rem;
    margin: 0 0 1.9rem;
    padding: 0;
    list-style: none;
}

.pricing-features li {
    display: flex;
    align-items: center;
    gap: .55rem;
    color: #243653;
    font-size: .87rem;
}

.pricing-features li::before {
    display: grid;
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--green);
    border-radius: 50%;
    color: var(--green);
    content: "✓";
    font-size: .72rem;
    font-weight: 800;
}

.pricing-button {
    display: inline-flex;
    min-height: 3.2rem;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    border-radius: 10px;
    font-size: .95rem;
    font-weight: 700;
}

.pricing-button-outline {
    border: 1px solid var(--blue);
    color: var(--blue);
    background: #fff;
}

.pricing-button-primary {
    border: 1px solid transparent;
    color: #fff;
    background: linear-gradient(135deg, #7c3aed, #8b3ff0);
    box-shadow: 0 16px 32px rgba(116,71,232,.24);
}

.cancel-note {
    display: block;
    margin-top: 1rem;
    color: var(--muted);
    font-size: .78rem;
    text-align: center;
}

.cancel-note.yearly-note {
    display: none;
}

body:has(#billing-yearly:checked) .cancel-note.monthly-note {
    display: none;
}

body:has(#billing-yearly:checked) .cancel-note.yearly-note {
    display: block;
}

.pricing-assurances {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.8rem;
    margin-top: 2.7rem;
    color: #5c6f91;
    font-size: .95rem;
}

.pricing-assurances span {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}

.pricing-assurances i {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    color: #60779d;
    background: currentColor;
    content: "";
    -webkit-mask: var(--icon) center / contain no-repeat;
    mask: var(--icon) center / contain no-repeat;
}

@media (max-width: 1120px) {
    .pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 24rem));
    }
}

@media (max-width: 920px) {
    .pricing-grid {
        grid-template-columns: minmax(0, 30rem);
    }

    .pricing-heading h1 {
        font-size: clamp(2.25rem, 8vw, 3.2rem);
    }
}

@media (max-width: 560px) {
    .pricing-hero {
        padding: 3.4rem 0;
    }

    .billing-switch {
        grid-template-columns: 1fr;
    }

    .pricing-card {
        padding: 1.45rem;
        min-height: auto;
    }

    .pricing-card-head {
        display: grid;
    }

    .pricing-assurances {
        display: grid;
        gap: 1rem;
        justify-content: start;
    }
}
/* Pricing annual total */
.pricing-total.yearly-note {
    display: none;
    margin: -.35rem 0 1.1rem;
    color: var(--ink);
    font-size: .86rem;
    font-weight: 560;
}

body:has(#billing-yearly:checked) .pricing-total.yearly-note {
    display: block;
}

/* Legal pages */
.legal-page {
    background:
        radial-gradient(circle at 82% 8%, rgba(23,105,232,.11), transparent 26rem),
        radial-gradient(circle at 10% 25%, rgba(25,191,114,.08), transparent 22rem),
        linear-gradient(180deg, #fbfdff 0%, #f7fbff 46%, #fff 100%);
}

.legal-shell {
    padding: 4.6rem 0 5.4rem;
}

.legal-hero {
    max-width: 880px;
    text-align: center;
}

.legal-hero h1 {
    margin: 1.15rem 0 .9rem;
    color: var(--ink);
    font-size: clamp(2.35rem, 5vw, 3.75rem);
    font-weight: 520;
    line-height: 1.05;
    letter-spacing: 0;
}

.legal-hero > p {
    margin: 0 auto;
    max-width: 720px;
    color: var(--text);
    font-size: 1.06rem;
    line-height: 1.65;
}

.legal-date {
    margin-top: 1rem !important;
    color: var(--muted) !important;
    font-size: .9rem !important;
}

.legal-card {
    max-width: 920px;
    margin-top: 1rem;
    padding: 1.55rem 1.7rem;
    border: 1px solid rgba(197, 215, 239, .82);
    border-radius: 16px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 16px 42px rgba(18,50,105,.06);
}

.legal-card:first-of-type {
    margin-top: 2.2rem;
}

.legal-card h2 {
    margin: 0 0 .8rem;
    color: var(--ink);
    font-size: 1.18rem;
    font-weight: 560;
    line-height: 1.25;
}

.legal-card p,
.legal-card li {
    color: var(--text);
    font-size: .98rem;
    line-height: 1.72;
}

.legal-card p {
    margin: .65rem 0 0;
}

.legal-card ul {
    display: grid;
    gap: .55rem;
    margin: .8rem 0 0;
    padding-left: 1.2rem;
}

.legal-card strong {
    color: var(--ink);
    font-weight: 620;
}

.legal-card a {
    color: var(--blue);
    font-weight: 620;
}

.legal-note {
    border-color: rgba(23,105,232,.24);
    background: linear-gradient(135deg, rgba(234,242,255,.92), rgba(255,255,255,.92));
}

.legal-note p {
    margin: 0;
    color: #254169;
}

@media (max-width: 760px) {
    .legal-shell {
        padding: 3rem 0 4rem;
    }

    .legal-page .desktop-nav {
        display: none;
    }

    .legal-card {
        padding: 1.25rem;
        border-radius: 14px;
    }
}
/* Contact page */
.contact-page {
    background:
        radial-gradient(circle at 86% 10%, rgba(25,191,114,.13), transparent 26rem),
        radial-gradient(circle at 8% 78%, rgba(116,71,232,.1), transparent 25rem),
        linear-gradient(180deg, #fbfdff 0%, #f6faff 62%, #fff 100%);
}

.contact-shell {
    padding: 4.6rem 0 5.4rem;
}

.contact-grid {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(28rem, 1fr);
    align-items: start;
    gap: clamp(2rem, 5vw, 4.5rem);
}

.contact-copy {
    padding-top: 2.2rem;
}

.contact-copy h1 {
    max-width: 46rem;
    margin: 1.2rem 0 1rem;
    color: var(--ink);
    font-size: clamp(2.55rem, 4.4vw, 4rem);
    font-weight: 520;
    line-height: 1.05;
    letter-spacing: 0;
}

.contact-copy > p {
    max-width: 38rem;
    margin: 0;
    color: var(--text);
    font-size: 1.08rem;
    line-height: 1.65;
}

.contact-highlights {
    display: grid;
    gap: 1rem;
    max-width: 36rem;
    margin-top: 2rem;
}

.contact-highlights article {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: .95rem;
    padding: 1rem;
    border: 1px solid rgba(197,215,239,.8);
    border-radius: 14px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 14px 34px rgba(18,50,105,.055);
}

.contact-highlights .icon {
    width: 3rem;
    height: 3rem;
    border-radius: 12px;
}

.contact-highlights strong {
    display: block;
    color: var(--ink);
    font-size: .98rem;
    font-weight: 620;
}

.contact-highlights p {
    margin: .2rem 0 0;
    color: var(--text);
    font-size: .88rem;
    line-height: 1.45;
}

.contact-card {
    padding: 1.65rem;
    border: 1px solid rgba(197,215,239,.92);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 24px 70px rgba(18,50,105,.12);
}

.contact-card-head h2 {
    margin: 0;
    color: var(--ink);
    font-size: 1.55rem;
    font-weight: 560;
}

.contact-card-head p {
    margin: .35rem 0 0;
    color: var(--text);
    font-size: .94rem;
}

.contact-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.35rem;
}

.contact-fields label {
    display: grid;
    gap: .45rem;
}

.contact-fields span {
    color: var(--ink);
    font-size: .86rem;
    font-weight: 560;
}

.contact-fields b {
    color: #ef4444;
    font-weight: 700;
}

.contact-fields input,
.contact-fields select,
.contact-fields textarea {
    width: 100%;
    min-height: 3.05rem;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--ink);
    background: #fff;
    padding: .78rem .9rem;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.contact-fields textarea {
    min-height: 9.5rem;
    resize: vertical;
}

.contact-fields input:focus,
.contact-fields select:focus,
.contact-fields textarea:focus {
    border-color: rgba(23,105,232,.58);
    box-shadow: 0 0 0 4px rgba(23,105,232,.1);
}

.contact-field-full {
    grid-column: 1 / -1;
}

.contact-fields small {
    color: #dc2626;
    font-size: .78rem;
}

.contact-alert {
    margin-top: 1rem;
    padding: .85rem .95rem;
    border-radius: 10px;
    font-size: .9rem;
    font-weight: 560;
}

.contact-alert.is-success {
    border: 1px solid rgba(25,191,114,.24);
    color: #0b7f47;
    background: #edfff5;
}

.contact-submit {
    width: 100%;
    margin-top: 1.25rem;
    border: 0;
    cursor: pointer;
}

.contact-privacy {
    margin: .95rem 0 0;
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.55;
    text-align: center;
}

.contact-privacy a {
    color: var(--blue);
    font-weight: 650;
}

.contact-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    opacity: 0;
}

@media (max-width: 980px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .contact-copy {
        padding-top: 0;
        text-align: center;
    }

    .contact-copy > p,
    .contact-copy h1,
    .contact-highlights {
        margin-inline: auto;
    }
}

@media (max-width: 620px) {
    .contact-shell {
        padding: 3rem 0 4rem;
    }

    .contact-page .desktop-nav {
        display: none;
    }

    .contact-fields {
        grid-template-columns: 1fr;
    }

    .contact-card {
        padding: 1.25rem;
    }
}
/* Cookie consent modal */
.cookie-modal-open {
    overflow: hidden;
}

.cookie-consent-backdrop {
    position: fixed;
    z-index: 300;
    inset: 0;
    display: grid;
    place-items: center;
    padding: .75rem;
    background: rgba(15, 27, 55, .48);
    backdrop-filter: blur(9px);
}

.cookie-consent-dialog {
    position: relative;
    width: min(100%, 39rem);
    max-height: calc(100vh - 1.5rem);
    overflow: auto;
    padding: 1.15rem 1.4rem .95rem;
    border: 1px solid rgba(220,231,245,.95);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 35px 110px rgba(9,24,58,.24);
}

.cookie-consent-close {
    position: absolute;
    top: 1.35rem;
    right: 1.35rem;
    display: grid;
    width: 2.1rem;
    height: 2.1rem;
    place-items: center;
    border: 0;
    border-radius: 999px;
    color: #526686;
    background: transparent;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
}

.cookie-consent-close:hover {
    background: #f2f6fc;
    color: var(--blue);
}

.cookie-consent-hero {
    max-width: 35rem;
    margin: 0 auto;
    text-align: center;
}

.cookie-illustration {
    position: relative;
    display: grid;
    width: 5.25rem;
    height: 5.25rem;
    place-items: center;
    margin: 0 auto .45rem;
    border-radius: 50%;
    background:
        radial-gradient(circle at 24% 22%, #2b72ed 0 .12rem, transparent .13rem),
        radial-gradient(circle at 76% 18%, #2b72ed 0 .13rem, transparent .14rem),
        radial-gradient(circle at 16% 66%, #2b72ed 0 .16rem, transparent .17rem),
        radial-gradient(circle at 83% 70%, #2b72ed 0 .11rem, transparent .12rem),
        #eef6ff;
}

.cookie-illustration::before {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background:
        radial-gradient(circle at 28% 32%, #8c4c13 0 .34rem, transparent .36rem),
        radial-gradient(circle at 62% 24%, #8c4c13 0 .29rem, transparent .31rem),
        radial-gradient(circle at 48% 62%, #8c4c13 0 .38rem, transparent .4rem),
        radial-gradient(circle at 76% 68%, #8c4c13 0 .28rem, transparent .3rem),
        #f4a83d;
    box-shadow: inset -9px -10px 0 rgba(172,92,22,.16), 0 16px 28px rgba(244,168,61,.24);
    content: "";
}

.cookie-shield {
    position: absolute;
    right: .72rem;
    bottom: .65rem;
    display: grid;
    width: 2.05rem;
    height: 2.05rem;
    place-items: center;
    border: .22rem solid #fff;
    border-radius: .72rem;
    background: linear-gradient(135deg, #075ee8, #2077f2);
    box-shadow: 0 10px 22px rgba(23,105,232,.28);
}

.cookie-shield::before {
    width: .8rem;
    height: .8rem;
    background: #fff;
    content: "";
    -webkit-mask: var(--icon-check, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9.1 16.2-4-4a1.3 1.3 0 0 1 1.8-1.8l2.2 2.2 7.9-7.9a1.3 1.3 0 0 1 1.8 1.8l-8.8 8.8a1.3 1.3 0 0 1-1.8 0Z'/%3E%3C/svg%3E")) center / contain no-repeat;
    mask: var(--icon-check, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9.1 16.2-4-4a1.3 1.3 0 0 1 1.8-1.8l2.2 2.2 7.9-7.9a1.3 1.3 0 0 1 1.8 1.8l-8.8 8.8a1.3 1.3 0 0 1-1.8 0Z'/%3E%3C/svg%3E")) center / contain no-repeat;
}

.cookie-consent-hero h2 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(1.3rem, 3vw, 1.5rem);
    font-weight: 600;
    line-height: 1.1;
}

.cookie-consent-intro {
    margin: .45rem auto 0;
    color: var(--text);
    font-size: .82rem;
    line-height: 1.4;
}

.cookie-categories {
    display: grid;
    gap: .55rem;
    margin-top: .85rem;
    padding-top: .75rem;
    border-top: 1px solid var(--soft-line);
}

.cookie-category {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .75rem;
}

.cookie-category-icon {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    border-radius: 10px;
}

.cookie-category-icon.is-blue { background: #eaf2ff; color: var(--blue); }
.cookie-category-icon.is-green { background: #e8fbf1; color: var(--green); }
.cookie-category-icon.is-violet { background: #f0eaff; color: var(--violet); }
.cookie-category-icon.is-orange { background: #fff0df; color: var(--orange); }

.cookie-consent-icon {
    width: 1.18rem;
    height: 1.18rem;
    background: currentColor;
    -webkit-mask: var(--cookie-icon) center / contain no-repeat;
    mask: var(--cookie-icon) center / contain no-repeat;
}

.cookie-consent-icon-shield { --cookie-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 20 5v6c0 5-3.4 9.3-8 11-4.6-1.7-8-6-8-11V5l8-3Zm3.7 7.3a1 1 0 0 0-1.4-1.4L11 11.2 9.7 9.9a1 1 0 1 0-1.4 1.4l2 2a1 1 0 0 0 1.4 0l4-4Z'/%3E%3C/svg%3E"); }
.cookie-consent-icon-chart { --cookie-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm3 13h2V9H8v7Zm4 0h2V6h-2v10Zm4 0h2v-5h-2v5Z'/%3E%3C/svg%3E"); }
.cookie-consent-icon-target { --cookie-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2-1.5-2-3.5-2.4 1a7.6 7.6 0 0 0-2.6-1.5L14 2h-4l-.4 2.5A7.6 7.6 0 0 0 7 6L4.6 5 2.6 8.5l2 1.5c-.1.5-.1 1-.1 1.5s0 1 .1 1.5l-2 1.5 2 3.5 2.4-1a7.6 7.6 0 0 0 2.6 1.5L10 22h4l.4-2.5A7.6 7.6 0 0 0 17 18l2.4 1 2-3.5-2-1.5ZM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5Z'/%3E%3C/svg%3E"); }
.cookie-consent-icon-megaphone { --cookie-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a3 3 0 0 0 2.8-2h-5.6A3 3 0 0 0 12 22Zm8-5-2-3V9a6 6 0 1 0-12 0v5l-2 3v1h16v-1Z'/%3E%3C/svg%3E"); }

.cookie-category-copy {
    min-width: 0;
}

.cookie-category-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.cookie-category-title strong {
    color: var(--ink);
    font-size: .86rem;
    font-weight: 600;
}

.cookie-badge {
    padding: .2rem .45rem;
    border-radius: 999px;
    color: #158450;
    background: #dff8eb;
    font-size: .62rem;
    font-weight: 600;
}

.cookie-category-copy p {
    margin: .28rem 0 0;
    color: var(--text);
    font-size: .76rem;
    line-height: 1.35;
}

.cookie-toggle {
    position: relative;
    display: inline-flex;
    cursor: pointer;
}

.cookie-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.cookie-toggle-ui {
    position: relative;
    width: 2.35rem;
    height: 1.3rem;
    border-radius: 999px;
    background: #c9d3e3;
    transition: background .18s ease;
}

.cookie-toggle-ui::before {
    position: absolute;
    top: .18rem;
    left: .18rem;
    width: .94rem;
    height: .94rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 8px rgba(9,24,58,.18);
    content: "";
    transition: transform .18s ease;
}

.cookie-toggle input:checked + .cookie-toggle-ui {
    background: linear-gradient(135deg, #075ee8, #2077f2);
}

.cookie-toggle input:checked + .cookie-toggle-ui::before {
    transform: translateX(1.05rem);
}

.cookie-toggle input:disabled + .cookie-toggle-ui {
    background: #aab7ca;
    opacity: .9;
}

.cookie-toggle input:checked:disabled + .cookie-toggle-ui {
    background: linear-gradient(135deg, #075ee8, #2077f2);
    opacity: .72;
}

.cookie-consent-footer {
    display: flex;
    justify-content: center;
    margin-top: .75rem;
    padding-top: .65rem;
    border-top: 1px solid var(--soft-line);
}

.cookie-policy-link {
    color: var(--blue);
    font-size: .78rem;
    font-weight: 600;
}

.cookie-policy-link::after {
    content: "↗";
    margin-left: .35rem;
    font-size: .82rem;
}

.cookie-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    margin-top: .75rem;
}

.cookie-button {
    min-height: 2.55rem;
    border-radius: 8px;
    border: 1px solid transparent;
    font-size: .78rem;
    font-weight: 600;
    cursor: pointer;
}

.cookie-button-primary {
    color: #fff;
    background: linear-gradient(135deg, #075ee8, #2077f2);
    box-shadow: 0 16px 30px rgba(23,105,232,.22);
}

.cookie-button-secondary {
    color: #425271;
    background: #fff;
    border-color: var(--line);
}

.cookie-consent-dialog.is-configuring .cookie-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cookie-button[hidden] {
    display: none;
}

@media (max-width: 620px) {
    .cookie-consent-backdrop {
        padding: .45rem;
    }

    .cookie-consent-dialog {
        padding: .9rem .8rem .75rem;
        border-radius: 12px;
    }

    .cookie-category {
        grid-template-columns: auto 1fr auto;
        gap: .55rem;
    }

    .cookie-actions {
        grid-template-columns: 1fr 1fr;
    }

    .cookie-actions .cookie-button:last-child {
        grid-column: 1 / -1;
    }
}.footer-watermark {
    position: absolute;
    left: 50%;
    bottom: -3.25rem;
    display: inline-flex;
    align-items: center;
    gap: 1.6rem;
    transform: translateX(-50%);
    color: rgba(255,255,255,.13);
    pointer-events: none;
    user-select: none;
}

.footer-watermark img {
    width: clamp(6rem, 10vw, 9rem);
    opacity: .16;
    filter: brightness(0) invert(1);
}

.footer-watermark b {
    color: currentColor;
    font-size: clamp(7rem, 16vw, 15rem);
    font-weight: 520;
    letter-spacing: 0;
    line-height: .82;
}

@media (max-width: 760px) {
    .footer-bottom {
        min-height: 9.5rem;
    }

    .footer-watermark {
        bottom: -2rem;
        gap: .75rem;
    }
}
/* Landing visual proportions restore - keep after all home styles */
.hero h1,
.section-heading h2,
.final-cta-card h2 {
    font-weight: 430 !important;
    letter-spacing: 0 !important;
}

.hero h1 {
    max-width: 41.5rem !important;
    font-size: clamp(2.65rem, 4vw, 3.75rem) !important;
    line-height: 1.08 !important;
}

.hero h1 em,
.section-heading h2 em,
.final-cta-card h2 em {
    font-weight: 430 !important;
}

.section-heading h2 {
    max-width: 66rem;
    margin-inline: auto;
    font-size: clamp(2.1rem, 3.35vw, 3.125rem) !important;
    line-height: 1.1 !important;
}

.benefits-title,
.modules-title,
.clarity-title {
    max-width: 66rem;
}

.benefit-grid h3,
.audience-grid h3,
.answers-grid h3,
.module-card h3,
.connected-card h3,
.step-card h3,
.faq-card h3,
.final-cta-card h3 {
    font-weight: 440 !important;
    letter-spacing: 0 !important;
}

.benefit-grid h3,
.audience-grid h3,
.answers-grid h3,
.module-card h3 {
    font-size: clamp(1.18rem, 1.55vw, 1.45rem) !important;
    line-height: 1.2 !important;
}

.icon {
    width: 3.95rem;
    height: 3.95rem;
    border-radius: 1.05rem;
}

.icon::before {
    width: 1.9rem;
    height: 1.9rem;
}

.hero-benefits .icon,
.floating-card .icon,
.step-panel .icon,
.footer-icon,
.footer-title-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: .8rem;
}

.hero-benefits .icon::before,
.floating-card .icon::before,
.step-panel .icon::before {
    width: 1.15rem;
    height: 1.15rem;
}

.button-arrow {
    width: .9rem !important;
    height: .9rem !important;
}

.play-icon {
    width: 1.32rem;
    height: 1.32rem;
}

.play-icon::before {
    width: .72rem;
    height: .72rem;
}

.pill {
    min-height: 2.05rem;
    padding: .35rem .95rem;
    font-size: .92rem;
    font-weight: 520;
}

.pill-icon,
.pill i {
    width: .92rem;
    height: .92rem;
}

.module-head,
.answer-head,
.connected-title {
    gap: 1.35rem !important;
}

.module-card,
.benefit-grid article,
.audience-grid article,
.answers-grid article,
.connected-card,
.step-card,
.faq-card {
    border-radius: 1.15rem;
}

.module-card .module-head .icon,
.answer-head .icon,
.benefit-grid article > .icon,
.audience-grid article > .icon {
    flex: 0 0 4rem;
}

.connected-title .icon {
    width: 3.65rem;
    height: 3.65rem;
    flex: 0 0 3.65rem;
    border-radius: 50%;
}

.connected-title .icon::before {
    width: 1.65rem;
    height: 1.65rem;
}

.flow-list li span {
    width: 2.8rem !important;
    height: 2.8rem !important;
}

.flow-list li span::before {
    width: .95rem !important;
    height: .95rem !important;
}

.step-card {
    min-height: 35rem;
    padding: 1.65rem;
}

.step-card > span {
    width: 2.45rem !important;
    height: 2.45rem !important;
    font-size: 1rem !important;
    font-weight: 560 !important;
}

.step-card h3 {
    margin-top: .85rem;
    font-size: 1.12rem !important;
}

.step-action {
    width: 2.55rem !important;
    height: 2.55rem !important;
    bottom: -1.15rem !important;
    box-shadow: 0 12px 24px rgba(23, 105, 232, .2) !important;
}

.step-action::before {
    width: 1.05rem !important;
    height: 1.05rem !important;
}

#pasos .step-card.step-connect .step-network {
    margin-inline: auto;
    max-width: 19rem;
    min-height: 18rem;
    border: 1px solid var(--soft-line);
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
}

#pasos .step-card.step-connect .network-core {
    width: 4.05rem;
    height: 3.25rem;
}

#pasos .step-card.step-connect .network-core img {
    width: 2.95rem;
    height: auto;
}

#pasos .step-card.step-connect .network-node .icon {
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 50%;
}

#pasos .step-card.step-connect .network-node .icon::before {
    width: 1.15rem;
    height: 1.15rem;
}

.cta-section {
    padding: 5.25rem 0 3.25rem !important;
    background: linear-gradient(180deg, #f7fbff 0%, #edf6ff 100%) !important;
}

.final-cta-card {
    min-height: 40rem !important;
    padding: 3.05rem 2rem 0 !important;
    border-radius: 1.7rem !important;
}

.final-cta-card h2 {
    max-width: 58rem !important;
    font-size: clamp(2.25rem, 4.05vw, 3.75rem) !important;
    line-height: 1.08 !important;
}

.final-cta-card > p {
    max-width: 46rem !important;
    font-size: clamp(1.05rem, 1.55vw, 1.35rem) !important;
    line-height: 1.45 !important;
}

.cta-actions {
    margin-top: 1.75rem !important;
    gap: 1.55rem !important;
}

.cta-actions .button {
    min-width: 17.5rem;
    min-height: 3.5rem;
    font-size: 1.05rem;
}

.cta-trust {
    margin-top: 1.55rem !important;
    gap: 1.45rem !important;
}

.cta-preview {
    bottom: -4.4rem !important;
    width: min(57rem, 70%) !important;
    min-height: 20rem !important;
    border-radius: 1.35rem !important;
}

.cta-preview img {
    transform: none !important;
}

.cta-float {
    min-width: 11.2rem !important;
    padding: .95rem 1.05rem !important;
    border-radius: 1.05rem !important;
}

.cta-float .icon,
.cta-secure .icon {
    width: 2.55rem;
    height: 2.55rem;
    border-radius: .85rem;
}

.cta-float .icon::before,
.cta-secure .icon::before {
    width: 1.2rem;
    height: 1.2rem;
}

.cta-cash {
    left: 1.8rem !important;
    bottom: 12.1rem !important;
}

.cta-sales {
    right: 1.8rem !important;
    bottom: 19rem !important;
}

.cta-secure {
    right: 2.2rem !important;
    bottom: 7rem !important;
    width: 13.5rem !important;
    padding: 1.25rem !important;
    border-radius: 1.2rem !important;
}

@media (max-width: 980px) {
    .hero h1 {
        max-width: 100% !important;
        font-size: clamp(2.45rem, 8vw, 3.45rem) !important;
    }

    .section-heading h2,
    .final-cta-card h2 {
        font-size: clamp(2.05rem, 7vw, 3rem) !important;
    }

    .step-card {
        min-height: auto;
    }

    .final-cta-card {
        min-height: 32rem !important;
    }

    .cta-preview {
        width: 90% !important;
        bottom: -3rem !important;
    }

    .cta-float,
    .cta-secure {
        display: none !important;
    }
}

@media (max-width: 720px) {
    .hero h1 span {
        white-space: normal !important;
    }

    .hero h1 {
        font-size: clamp(2.3rem, 10vw, 3rem) !important;
    }

    .section-heading h2,
    .final-cta-card h2 {
        font-size: clamp(2rem, 9vw, 2.7rem) !important;
    }

    .icon,
    .module-card .module-head .icon,
    .answer-head .icon,
    .benefit-grid article > .icon,
    .audience-grid article > .icon {
        width: 3.4rem;
        height: 3.4rem;
        flex-basis: 3.4rem;
    }

    .icon::before {
        width: 1.55rem;
        height: 1.55rem;
    }

    .cta-actions .button {
        min-width: 0;
        width: 100%;
    }
}
/* FAQ section visual repair */
.faq-section .section-heading .pill {
    gap: .5rem;
}

.faq-section .section-heading .pill-icon.icon-question {
    display: inline-block !important;
    width: 1.05rem !important;
    height: 1.05rem !important;
    flex: 0 0 1.05rem !important;
    background: currentColor !important;
    -webkit-mask: var(--icon) center / contain no-repeat !important;
    mask: var(--icon) center / contain no-repeat !important;
    border-radius: 0 !important;
}

.faq-section .faq-list {
    align-items: stretch;
}

.faq-section .faq-card {
    display: grid !important;
    grid-template-columns: 4.6rem 2.35rem minmax(0, 1fr) 1.2rem !important;
    grid-template-rows: auto 1fr !important;
    column-gap: 1rem !important;
    row-gap: .35rem !important;
    align-items: start !important;
    min-height: 10.2rem !important;
    padding: 1.45rem 1.55rem !important;
}

.faq-section .faq-card > .icon {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    display: inline-grid !important;
    width: 4.25rem !important;
    height: 4.25rem !important;
    place-self: start center !important;
    border-radius: 1rem !important;
}

.faq-section .faq-card > .icon::before {
    width: 2rem !important;
    height: 2rem !important;
}

.faq-section .faq-card > b {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 2.15rem !important;
    height: 2.15rem !important;
    align-self: start !important;
    justify-self: center !important;
    font-size: .95rem !important;
    font-weight: 600 !important;
}

.faq-section .faq-card h3 {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
    margin: 0 !important;
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
}

.faq-section .faq-card p {
    grid-column: 3 / 4 !important;
    grid-row: 2 !important;
    margin: .55rem 0 0 !important;
    max-width: 100% !important;
    font-size: .96rem !important;
    line-height: 1.48 !important;
}

.faq-section .faq-card > i {
    grid-column: 4 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    justify-self: end !important;
    width: .72rem !important;
    height: .72rem !important;
    border-right: 1.5px solid var(--blue) !important;
    border-bottom: 1.5px solid var(--blue) !important;
    transform: rotate(45deg) !important;
}

@media (max-width: 900px) {
    .faq-section .faq-card {
        grid-template-columns: 4rem 2.1rem minmax(0, 1fr) 1rem !important;
        padding: 1.25rem !important;
    }

    .faq-section .faq-card > .icon {
        width: 3.6rem !important;
        height: 3.6rem !important;
    }

    .faq-section .faq-card > .icon::before {
        width: 1.65rem !important;
        height: 1.65rem !important;
    }
}

@media (max-width: 640px) {
    .faq-section .faq-card {
        grid-template-columns: 3.5rem minmax(0, 1fr) 1rem !important;
        grid-template-rows: auto auto auto !important;
    }

    .faq-section .faq-card > .icon {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
        width: 3.25rem !important;
        height: 3.25rem !important;
    }

    .faq-section .faq-card > b {
        grid-column: 1 !important;
        grid-row: 3 !important;
        width: 1.8rem !important;
        height: 1.8rem !important;
        font-size: .82rem !important;
    }

    .faq-section .faq-card h3 {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .faq-section .faq-card p {
        grid-column: 2 / 4 !important;
        grid-row: 2 / 4 !important;
    }

    .faq-section .faq-card > i {
        grid-column: 3 !important;
        grid-row: 1 / 4 !important;
    }
}
/* Step 3 network diagram repair */
#pasos .step-card.step-connect {
    overflow: visible;
}

#pasos .step-card.step-connect .step-network {
    position: relative !important;
    display: block !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 18.25rem !important;
    margin: 1.2rem 0 0 !important;
    padding: .85rem !important;
    overflow: hidden !important;
    border: 1px solid var(--soft-line) !important;
    border-radius: 1rem !important;
    background:
        radial-gradient(circle at 50% 48%, rgba(23,105,232,.08), transparent 34%),
        linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
    box-shadow: 0 12px 28px rgba(18, 50, 105, .05) !important;
}

#pasos .step-card.step-connect .step-network::before {
    position: absolute !important;
    inset: 4.2rem 4.3rem 4.15rem !important;
    border: 1px dashed rgba(23,105,232,.28) !important;
    border-radius: 50% !important;
    content: "" !important;
}

#pasos .step-card.step-connect .step-network::after {
    position: absolute !important;
    top: 5rem !important;
    bottom: 4.25rem !important;
    left: 50% !important;
    width: 0 !important;
    border-left: 1px dashed rgba(23,105,232,.22) !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    content: "" !important;
}

#pasos .step-card.step-connect .network-node {
    position: absolute !important;
    z-index: 2 !important;
    display: grid !important;
    width: 5.55rem !important;
    justify-items: center !important;
    gap: .16rem !important;
    text-align: center !important;
}

#pasos .step-card.step-connect .network-node .icon {
    width: 2.42rem !important;
    height: 2.42rem !important;
    flex-basis: 2.42rem !important;
    border-radius: 50% !important;
}

#pasos .step-card.step-connect .network-node .icon::before {
    width: 1.08rem !important;
    height: 1.08rem !important;
}

#pasos .step-card.step-connect .network-node b {
    color: var(--ink) !important;
    font-size: .6rem !important;
    font-weight: 620 !important;
    line-height: 1.08 !important;
}

#pasos .step-card.step-connect .network-node small {
    color: var(--text) !important;
    font-size: .54rem !important;
    line-height: 1.08 !important;
}

#pasos .step-card.step-connect .network-sales {
    top: 1.1rem !important;
    left: 1rem !important;
    right: auto !important;
}

#pasos .step-card.step-connect .network-expenses {
    top: 1.1rem !important;
    right: 1rem !important;
    left: auto !important;
}

#pasos .step-card.step-connect .network-orders {
    top: 8.1rem !important;
    left: 1rem !important;
    right: auto !important;
}

#pasos .step-card.step-connect .network-money {
    top: 8.1rem !important;
    right: 1rem !important;
    left: auto !important;
}

#pasos .step-card.step-connect .network-total {
    left: 50% !important;
    right: auto !important;
    bottom: .7rem !important;
    transform: translateX(-50%) !important;
}

#pasos .step-card.step-connect .network-core {
    position: absolute !important;
    z-index: 3 !important;
    top: 7.05rem !important;
    left: 50% !important;
    display: grid !important;
    width: 4.35rem !important;
    height: 3.65rem !important;
    place-items: center !important;
    overflow: visible !important;
    border: 1px solid var(--line) !important;
    border-radius: 1rem !important;
    background: #fff !important;
    transform: translateX(-50%) !important;
    box-shadow: 0 16px 34px rgba(18,50,105,.12) !important;
}

#pasos .step-card.step-connect .network-core img {
    display: block !important;
    width: 3.15rem !important;
    max-width: 3.15rem !important;
    height: auto !important;
}

@media (max-width: 1180px) {
    #pasos .step-card.step-connect .network-node {
        width: 5rem !important;
    }

    #pasos .step-card.step-connect .network-sales,
    #pasos .step-card.step-connect .network-orders {
        left: .45rem !important;
    }

    #pasos .step-card.step-connect .network-expenses,
    #pasos .step-card.step-connect .network-money {
        right: .45rem !important;
    }
}

@media (max-width: 720px) {
    #pasos .step-card.step-connect .step-network {
        min-height: 19rem !important;
    }

    #pasos .step-card.step-connect .network-node {
        width: 5.2rem !important;
    }

    #pasos .step-card.step-connect .network-sales,
    #pasos .step-card.step-connect .network-orders {
        left: .8rem !important;
    }

    #pasos .step-card.step-connect .network-expenses,
    #pasos .step-card.step-connect .network-money {
        right: .8rem !important;
    }
}
/* Footer tagline scope: only this footer sentence is intentionally smaller */
.site-footer .footer-brand .footer-tagline {
    max-width: 17rem !important;
    margin: 1.25rem 0 1.8rem !important;
    color: rgba(255,255,255,.9) !important;
    font-size: .82rem !important;
    line-height: 1.5 !important;
}

/* Final CTA rebuild */
.cta-final-section {
    position: relative !important;
    overflow: hidden !important;
    min-height: 48rem !important;
    padding: 4.8rem 0 0 !important;
    background:
        radial-gradient(circle at 78% 32%, rgba(23,105,232,.16), transparent 34%),
        radial-gradient(circle at 14% 78%, rgba(23,105,232,.12), transparent 34%),
        linear-gradient(135deg, #f8fbff 0%, #eef6ff 58%, #f9fcff 100%) !important;
}

.cta-final-section::before {
    position: absolute;
    right: 3.5rem;
    top: 2.8rem;
    width: 7rem;
    height: 7rem;
    opacity: .5;
    background-image: radial-gradient(circle, rgba(23,105,232,.35) 1.5px, transparent 1.5px);
    background-size: 1rem 1rem;
    content: "";
}

.cta-final-section::after {
    position: absolute;
    right: -8rem;
    bottom: -5rem;
    left: -8rem;
    height: 11rem;
    background:
        radial-gradient(80rem 10rem at 35% 0%, rgba(23,105,232,.22), transparent 60%),
        linear-gradient(180deg, rgba(23,105,232,.06), rgba(23,105,232,.16));
    clip-path: ellipse(58% 42% at 38% 100%);
    content: "";
}

.final-cta-hero {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(27rem, .88fr) minmax(34rem, 1.12fr) !important;
    gap: clamp(2rem, 4vw, 4.5rem) !important;
    align-items: center !important;
    min-height: 43rem !important;
    overflow: visible !important;
    padding: 2rem 0 5.3rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
}

.cta-copy {
    position: relative;
    z-index: 4;
    max-width: 39rem;
}

.cta-logo {
    width: 13.5rem;
    height: auto;
    margin: 0 0 3rem;
}

.final-cta-hero h2 {
    max-width: 39rem !important;
    margin: 0 0 1.45rem !important;
    color: var(--ink) !important;
    font-size: clamp(3.1rem, 5vw, 4.55rem) !important;
    font-weight: 620 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.final-cta-hero h2 span {
    display: block;
}

.final-cta-hero h2 em {
    color: var(--blue) !important;
    font-style: normal !important;
    font-weight: 620 !important;
}

.cta-copy > p:not(.cta-internal-note) {
    max-width: 34.5rem !important;
    margin: 0 !important;
    color: #425477 !important;
    font-size: 1.25rem !important;
    line-height: 1.55 !important;
}

.final-cta-hero .cta-actions {
    justify-content: flex-start !important;
    margin-top: 2.15rem !important;
    gap: 1.6rem !important;
}

.final-cta-hero .cta-actions .button {
    width: auto !important;
    min-width: 13.8rem !important;
    min-height: 3.7rem !important;
    border-radius: .75rem !important;
    font-size: 1.08rem !important;
}

.cta-internal-note {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: .8rem !important;
    max-width: 35rem !important;
    margin: 2.05rem 0 0 !important;
    color: #425477 !important;
    font-size: .88rem !important;
    line-height: 1.45 !important;
}

.cta-internal-note .icon {
    grid-row: span 2;
    width: 2.35rem !important;
    height: 2.35rem !important;
    border-radius: 50% !important;
}

.cta-internal-note .icon::before {
    width: 1.1rem !important;
    height: 1.1rem !important;
}

.cta-mini-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    max-width: 38rem;
    margin-top: 2.7rem;
}

.cta-mini-benefits article {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .25rem .75rem;
    align-items: center;
    min-height: 5.1rem;
    padding: .85rem .95rem;
    border: 1px solid rgba(220,231,245,.95);
    border-radius: .95rem;
    background: rgba(255,255,255,.72);
    box-shadow: 0 14px 34px rgba(18,50,105,.06);
}

.cta-mini-benefits .icon {
    grid-row: span 2;
    width: 2.45rem !important;
    height: 2.45rem !important;
    border-radius: .85rem !important;
}

.cta-mini-benefits .icon::before {
    width: 1.15rem !important;
    height: 1.15rem !important;
}

.cta-mini-benefits strong {
    color: var(--ink);
    font-size: .86rem;
    font-weight: 620;
    line-height: 1.15;
}

.cta-mini-benefits small {
    color: #526480;
    font-size: .72rem;
    line-height: 1.35;
}

.cta-visual-stage {
    position: relative;
    z-index: 2;
    min-height: 39rem;
}

.cta-final-section .cta-preview {
    position: absolute !important;
    right: -3.5rem !important;
    bottom: 3.2rem !important;
    left: auto !important;
    width: min(58rem, 112%) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(220,231,245,.95) !important;
    border-radius: 1.45rem !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 28px 70px rgba(26,70,135,.16) !important;
    transform: none !important;
}

.cta-final-section .cta-preview img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    transform: none !important;
}

.cta-final-section .cta-float {
    position: absolute !important;
    z-index: 5 !important;
    display: grid !important;
    min-width: 13.8rem !important;
    gap: .18rem !important;
    padding: 1.05rem 1.15rem !important;
    border: 1px solid rgba(220,231,245,.95) !important;
    border-radius: 1.05rem !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 22px 56px rgba(26,70,135,.16) !important;
    backdrop-filter: blur(12px) !important;
}

.cta-final-section .cta-float .icon {
    position: absolute !important;
    top: 1rem !important;
    left: 1rem !important;
    width: 2.8rem !important;
    height: 2.8rem !important;
    border-radius: 50% !important;
}

.cta-final-section .cta-float .icon::before {
    width: 1.28rem !important;
    height: 1.28rem !important;
}

.cta-final-section .cta-float small,
.cta-final-section .cta-float strong,
.cta-final-section .cta-float em {
    margin-left: 3.75rem !important;
}

.cta-final-section .cta-float small {
    color: #50627f !important;
    font-size: .76rem !important;
    font-weight: 560 !important;
}

.cta-final-section .cta-float strong {
    color: var(--ink) !important;
    font-size: 1.35rem !important;
    font-weight: 650 !important;
}

.cta-final-section .cta-float em {
    color: var(--green) !important;
    font-size: .78rem !important;
    font-style: normal !important;
    font-weight: 650 !important;
}

.cta-final-section .cta-float i {
    display: none !important;
}

.cta-period-sales {
    top: .2rem !important;
    left: 4.2rem !important;
    right: auto !important;
    bottom: auto !important;
    transform: rotate(-2deg) !important;
}

.cta-period-expenses {
    top: 3.1rem !important;
    right: -2.1rem !important;
    left: auto !important;
    bottom: auto !important;
    transform: rotate(3deg) !important;
}

.cta-period-expenses em {
    color: #ef233c !important;
}

.cta-products {
    left: 1rem !important;
    bottom: .5rem !important;
    right: auto !important;
    top: auto !important;
    transform: rotate(4deg) !important;
}

.cta-money {
    right: 1.8rem !important;
    bottom: -1.1rem !important;
    left: auto !important;
    top: auto !important;
    transform: rotate(3deg) !important;
}

@media (max-width: 1180px) {
    .final-cta-hero {
        grid-template-columns: 1fr !important;
        min-height: auto !important;
        padding-bottom: 4rem !important;
    }

    .cta-copy {
        max-width: 46rem;
        margin-inline: auto;
        text-align: center;
    }

    .cta-logo {
        margin-inline: auto;
    }

    .final-cta-hero h2,
    .cta-copy > p:not(.cta-internal-note) {
        margin-inline: auto !important;
        text-align: center !important;
    }

    .final-cta-hero .cta-actions {
        justify-content: center !important;
    }

    .cta-internal-note {
        margin-inline: auto !important;
        text-align: left !important;
    }

    .cta-mini-benefits {
        margin-inline: auto;
    }

    .cta-visual-stage {
        min-height: 36rem;
    }

    .cta-final-section .cta-preview {
        right: 50% !important;
        bottom: 2rem !important;
        width: min(52rem, 92vw) !important;
        transform: translateX(50%) !important;
    }

    .cta-period-sales { left: 8vw !important; }
    .cta-period-expenses { right: 8vw !important; }
    .cta-products { left: 8vw !important; }
    .cta-money { right: 8vw !important; }
}

@media (max-width: 780px) {
    .cta-final-section {
        min-height: 0 !important;
        padding-top: 3.6rem !important;
    }

    .final-cta-hero h2 {
        font-size: clamp(2.45rem, 11vw, 3.4rem) !important;
    }

    .cta-logo {
        width: 11.5rem;
        margin-bottom: 2rem;
    }

    .cta-copy > p:not(.cta-internal-note) {
        font-size: 1.05rem !important;
    }

    .final-cta-hero .cta-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .final-cta-hero .cta-actions .button {
        width: 100% !important;
    }

    .cta-mini-benefits {
        grid-template-columns: 1fr;
    }

    .cta-visual-stage {
        min-height: 25rem;
    }

    .cta-final-section .cta-preview {
        width: 100% !important;
        bottom: 1.5rem !important;
    }

    .cta-final-section .cta-float {
        display: none !important;
    }
}
/* Final CTA dashboard mockup replacement */
.cta-final-section .cta-dashboard-mock {
    min-height: 31.5rem !important;
    padding: 0 !important;
    background: rgba(255,255,255,.96) !important;
}

.cta-dashboard-mock img {
    max-width: 100%;
}

.cta-browser-bar {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    height: 2.75rem;
    gap: .8rem;
    padding: 0 1.15rem;
    border-bottom: 1px solid var(--soft-line);
    background: linear-gradient(180deg, #fff, #f8fbff);
    color: #7a89a4;
    font-size: .72rem;
}

.cta-browser-bar b {
    display: block;
    width: min(17rem, 60%);
    justify-self: center;
    padding: .32rem .9rem;
    border-radius: 999px;
    background: #f1f4f8;
    color: #8a97ad;
    font-weight: 520;
    text-align: center;
}

.cta-dashboard-shell {
    display: grid;
    grid-template-columns: 12rem 1fr;
    min-height: 28.7rem;
}

.cta-dashboard-sidebar {
    display: grid;
    align-content: start;
    gap: .34rem;
    padding: 1.05rem .95rem;
    border-right: 1px solid var(--soft-line);
    background: linear-gradient(180deg, #fff, #f8fbff);
}

.cta-dashboard-sidebar img {
    width: 7.2rem;
    height: auto;
    margin: 0 0 .8rem;
}

.cta-dashboard-sidebar span {
    display: block;
    padding: .55rem .65rem;
    border-radius: .5rem;
    color: #52627e;
    font-size: .68rem;
    font-weight: 560;
}

.cta-dashboard-sidebar span.active {
    color: var(--blue);
    background: var(--blue-soft);
}

.cta-dashboard-content {
    padding: 1.2rem 1.35rem 1.35rem;
    background: #fbfdff;
}

.cta-dashboard-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.cta-dashboard-head strong {
    display: block;
    color: var(--ink);
    font-size: 1.02rem;
    font-weight: 620;
}

.cta-dashboard-head small {
    display: block;
    margin-top: .16rem;
    color: #6d7b95;
    font-size: .68rem;
}

.cta-dashboard-head button,
.cta-cashflow-card button {
    min-height: 2rem;
    padding: 0 .75rem;
    border: 1px solid var(--soft-line);
    border-radius: .55rem;
    color: #41516f;
    background: #fff;
    font-size: .68rem;
    font-weight: 560;
}

.cta-dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}

.cta-dashboard-metrics article {
    min-height: 7.1rem;
    padding: .85rem;
    border: 1px solid var(--soft-line);
    border-radius: .85rem;
    background: #fff;
    box-shadow: 0 12px 26px rgba(18,50,105,.05);
}

.cta-dashboard-metrics small {
    display: block;
    color: #60708c;
    font-size: .64rem;
    font-weight: 560;
}

.cta-dashboard-metrics strong {
    display: block;
    margin-top: .42rem;
    color: var(--ink);
    font-size: 1.1rem;
    font-weight: 650;
}

.cta-dashboard-metrics em {
    display: block;
    margin-top: .32rem;
    color: var(--green);
    font-size: .63rem;
    font-style: normal;
    font-weight: 700;
}

.cta-dashboard-metrics em.is-red { color: #ef233c; }
.cta-dashboard-metrics em.is-orange { color: var(--orange); }

.cta-dashboard-metrics i {
    display: block;
    height: 1.15rem;
    margin-top: .62rem;
    border-radius: .4rem;
    background: linear-gradient(135deg, transparent 10%, rgba(23,105,232,.26) 12% 18%, transparent 20% 33%, rgba(25,191,114,.32) 35% 44%, transparent 46% 56%, rgba(23,105,232,.3) 58% 64%, transparent 66%);
}

.cta-dashboard-lower {
    display: grid;
    grid-template-columns: 1.18fr .82fr;
    gap: .9rem;
}

.cta-cashflow-card,
.cta-activity-card {
    min-height: 14rem;
    padding: 1rem;
    border: 1px solid var(--soft-line);
    border-radius: .95rem;
    background: #fff;
    box-shadow: 0 12px 26px rgba(18,50,105,.05);
}

.cta-cashflow-card header,
.cta-activity-card header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin-bottom: .85rem;
}

.cta-cashflow-card strong,
.cta-activity-card strong {
    color: var(--ink);
    font-size: .82rem;
    font-weight: 650;
}

.cta-activity-card a {
    color: var(--blue);
    font-size: .62rem;
    font-weight: 700;
}

.cta-chart-lines {
    position: relative;
    height: 10.4rem;
    overflow: hidden;
    border-radius: .7rem;
    background:
        linear-gradient(180deg, transparent 19%, var(--soft-line) 20%, transparent 21%, transparent 39%, var(--soft-line) 40%, transparent 41%, transparent 59%, var(--soft-line) 60%, transparent 61%, transparent 79%, var(--soft-line) 80%, transparent 81%),
        linear-gradient(180deg, #fff, #fbfdff);
}

.cta-chart-lines span {
    position: absolute;
    left: 1rem;
    right: 1rem;
    height: 4.8rem;
    border-bottom: 4px solid var(--blue);
    border-radius: 50%;
    transform: rotate(-7deg);
}

.cta-chart-lines span:first-child {
    bottom: 1.45rem;
    border-color: var(--blue);
}

.cta-chart-lines span:last-child {
    bottom: 2.4rem;
    border-color: var(--green);
    transform: rotate(8deg);
    opacity: .9;
}

.cta-activity-card p {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: .1rem .55rem;
    align-items: center;
    margin: 0;
    padding: .56rem 0;
    border-bottom: 1px solid var(--soft-line);
}

.cta-activity-card p:last-child {
    border-bottom: 0;
}

.cta-activity-card .icon {
    grid-row: span 2;
    width: 2rem !important;
    height: 2rem !important;
    border-radius: 50% !important;
}

.cta-activity-card .icon::before {
    width: .92rem !important;
    height: .92rem !important;
}

.cta-activity-card b {
    color: var(--ink);
    font-size: .68rem;
    font-weight: 620;
}

.cta-activity-card p > strong {
    color: var(--ink);
    font-size: .7rem;
    justify-self: end;
}

.cta-activity-card small {
    grid-column: 2 / 4;
    color: #7a89a4;
    font-size: .58rem;
}

@media (max-width: 1180px) {
    .cta-dashboard-shell {
        grid-template-columns: 10.5rem 1fr;
    }

    .cta-dashboard-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .cta-dashboard-shell {
        grid-template-columns: 1fr;
    }

    .cta-dashboard-sidebar {
        display: none;
    }

    .cta-dashboard-metrics,
    .cta-dashboard-lower {
        grid-template-columns: 1fr;
    }

    .cta-cashflow-card,
    .cta-activity-card {
        min-height: auto;
    }
}
/* Footer watermark single logo */
.footer-watermark {
    bottom: -2.1rem !important;
    gap: 0 !important;
    opacity: .16 !important;
}

.footer-watermark img {
    width: clamp(22rem, 42vw, 42rem) !important;
    opacity: 1 !important;
    filter: brightness(0) invert(1) !important;
}

.footer-watermark b {
    display: none !important;
}

@media (max-width: 760px) {
    .footer-watermark img {
        width: clamp(16rem, 78vw, 28rem) !important;
    }
}
/* Footer watermark crop refinement */
.footer-watermark {
    bottom: -5.6rem !important;
    opacity: .18 !important;
}

.footer-watermark img {
    width: clamp(30rem, 56vw, 58rem) !important;
}

@media (max-width: 760px) {
    .footer-watermark {
        bottom: -3.8rem !important;
    }

    .footer-watermark img {
        width: clamp(22rem, 96vw, 36rem) !important;
    }
}
/* Final CTA typography normalization */
.cta-final-section .cta-logo {
    display: none !important;
}

.cta-final-section .final-cta-hero h2 {
    max-width: 45rem !important;
    margin: 0 0 1.1rem !important;
    font-size: clamp(2.15rem, 3.35vw, 3.125rem) !important;
    font-weight: 430 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
}

.cta-final-section .final-cta-hero h2 em {
    font-weight: 430 !important;
}

.cta-final-section .cta-copy > p:not(.cta-internal-note) {
    max-width: 39rem !important;
    font-size: 1.06rem !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

.footer-bottom span {
    font-weight: 400 !important;
}

@media (max-width: 780px) {
    .cta-final-section .final-cta-hero h2 {
        font-size: clamp(2.05rem, 8vw, 2.75rem) !important;
        line-height: 1.1 !important;
    }

    .cta-final-section .cta-copy > p:not(.cta-internal-note) {
        font-size: 1rem !important;
    }
}
/* Landing chart repairs */
.answer-card.sales-answer .sparkline {
    position: relative !important;
    height: 5.65rem !important;
    margin: .9rem 0 .8rem !important;
    overflow: hidden !important;
    border-radius: .75rem !important;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 96' preserveAspectRatio='none'%3E%3Cpath d='M12 82 C42 62 58 44 82 50 C104 56 118 28 145 32 C172 36 184 18 212 22 C240 27 257 15 286 10' fill='none' stroke='%231769e8' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 82 C42 62 58 44 82 50 C104 56 118 28 145 32 C172 36 184 18 212 22 C240 27 257 15 286 10 L286 96 L12 96 Z' fill='%231769e8' fill-opacity='.12'/%3E%3C/svg%3E") center / 100% 100% no-repeat,
        linear-gradient(180deg, transparent 24%, #e8eef8 25%, transparent 26%, transparent 50%, #e8eef8 51%, transparent 52%, transparent 76%, #e8eef8 77%, transparent 78%),
        linear-gradient(180deg, #ffffff, #fbfdff) !important;
}

.module-dashboard .mini-chart.line {
    position: relative !important;
    min-height: 7.35rem !important;
    overflow: hidden !important;
    border: 1px solid var(--soft-line) !important;
    border-radius: .9rem !important;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 120' preserveAspectRatio='none'%3E%3Cpath d='M18 92 C54 84 70 70 104 76 C136 82 152 54 188 58 C222 62 238 34 272 40 C306 46 322 28 344 24' fill='none' stroke='%231769e8' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 92 C54 84 70 70 104 76 C136 82 152 54 188 58 C222 62 238 34 272 40 C306 46 322 28 344 24 L344 120 L18 120 Z' fill='%231769e8' fill-opacity='.11'/%3E%3C/svg%3E") center / 100% 100% no-repeat,
        linear-gradient(180deg, transparent 24%, #e8eef8 25%, transparent 26%, transparent 50%, #e8eef8 51%, transparent 52%, transparent 76%, #e8eef8 77%, transparent 78%),
        linear-gradient(180deg, #ffffff, #fbfdff) !important;
}
/* Money answer card repair */
.money-answer .money-preview {
    overflow: hidden !important;
}

.money-answer .money-preview > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 7.25rem !important;
    gap: 1rem !important;
    align-items: center !important;
}

.money-answer .money-preview ul {
    min-width: 0 !important;
    display: grid !important;
    gap: 0 !important;
}

.money-answer .money-preview li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    padding: .42rem 0 !important;
    border-bottom: 1px solid var(--soft-line) !important;
    color: var(--text) !important;
    font-size: .74rem !important;
    line-height: 1.25 !important;
}

.money-answer .money-preview li:last-child {
    border-bottom: 0 !important;
}

.money-answer .money-preview li b {
    flex: 0 0 auto !important;
    color: var(--ink) !important;
    font-weight: 650 !important;
    text-align: right !important;
}

.money-answer .money-preview > div > span {
    justify-self: end !important;
    width: 6.85rem !important;
    max-width: 100% !important;
}

.money-answer .money-preview > div > span::after {
    width: 3.8rem !important;
    margin: 1.525rem !important;
}

@media (max-width: 760px) {
    .money-answer .money-preview > div {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
    }

    .money-answer .money-preview ul {
        width: 100% !important;
    }

    .money-answer .money-preview > div > span {
        justify-self: center !important;
    }
}
/* Final CTA cashflow chart repair */
.cta-final-section .cta-chart-lines {
    position: relative !important;
    height: 10.4rem !important;
    overflow: hidden !important;
    border-radius: .7rem !important;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 150' preserveAspectRatio='none'%3E%3Cpath d='M22 118 C62 112 86 104 118 88 C146 74 172 76 198 82 C230 90 260 80 290 66 C318 54 336 46 346 38' fill='none' stroke='%231769e8' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 116 C62 110 88 100 120 82 C150 65 178 67 205 74 C236 82 264 70 294 54 C322 39 338 30 348 22' fill='none' stroke='%2319bf72' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 118 C62 112 86 104 118 88 C146 74 172 76 198 82 C230 90 260 80 290 66 C318 54 336 46 346 38 L346 150 L22 150 Z' fill='%231769e8' fill-opacity='.08'/%3E%3C/svg%3E") center / 100% 100% no-repeat,
        linear-gradient(180deg, transparent 19%, var(--soft-line) 20%, transparent 21%, transparent 39%, var(--soft-line) 40%, transparent 41%, transparent 59%, var(--soft-line) 60%, transparent 61%, transparent 79%, var(--soft-line) 80%, transparent 81%),
        linear-gradient(180deg, #fff, #fbfdff) !important;
}

.cta-final-section .cta-chart-lines span {
    display: none !important;
}
/* FAQ cards: remove decorative chevrons */
.faq-section .faq-card {
    grid-template-columns: 4.6rem 2.35rem minmax(0, 1fr) !important;
}

.faq-section .faq-card > i {
    display: none !important;
}

.faq-section .faq-card p {
    grid-column: 3 !important;
}

@media (max-width: 900px) {
    .faq-section .faq-card {
        grid-template-columns: 4rem 2.1rem minmax(0, 1fr) !important;
    }
}

@media (max-width: 640px) {
    .faq-section .faq-card {
        grid-template-columns: 3.5rem minmax(0, 1fr) !important;
    }

    .faq-section .faq-card p {
        grid-column: 2 !important;
    }
}
/* Final CTA mini benefits spacing */
.cta-final-section .cta-mini-benefits {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(10.5rem, 1fr)) !important;
    gap: 1.55rem !important;
    max-width: 45rem !important;
    margin-top: 2.65rem !important;
}

.cta-final-section .cta-mini-benefits article {
    display: grid !important;
    grid-template-columns: 3.15rem minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    column-gap: .95rem !important;
    row-gap: .18rem !important;
    min-height: 4.45rem !important;
    padding: .9rem 1rem !important;
    border-color: rgba(220,231,245,.72) !important;
    border-radius: .85rem !important;
    background: rgba(255,255,255,.48) !important;
    box-shadow: 0 14px 34px rgba(18,50,105,.045) !important;
    backdrop-filter: blur(8px) !important;
}

.cta-final-section .cta-mini-benefits .icon {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 3.05rem !important;
    height: 3.05rem !important;
    border-radius: 50% !important;
    place-self: center !important;
}

.cta-final-section .cta-mini-benefits .icon::before {
    width: 1.28rem !important;
    height: 1.28rem !important;
}

.cta-final-section .cta-mini-benefits strong {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    color: var(--ink) !important;
    font-size: .92rem !important;
    font-weight: 560 !important;
    line-height: 1.15 !important;
}

.cta-final-section .cta-mini-benefits small {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    color: #526480 !important;
    font-size: .78rem !important;
    line-height: 1.35 !important;
}

@media (max-width: 1180px) {
    .cta-final-section .cta-mini-benefits {
        max-width: 42rem !important;
        gap: 1rem !important;
    }
}

@media (max-width: 780px) {
    .cta-final-section .cta-mini-benefits {
        grid-template-columns: 1fr !important;
        max-width: 24rem !important;
    }
}
/* Footer section heading icons repair */
.site-footer .footer-column strong {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    width: 100% !important;
    margin: 0 0 1.25rem !important;
    padding: 0 0 1.25rem !important;
    border-bottom: 1px solid rgba(255,255,255,.22) !important;
    color: #fff !important;
    font-size: 1.42rem !important;
    font-weight: 620 !important;
    line-height: 1 !important;
}

.site-footer .footer-title-icon {
    display: inline-grid !important;
    flex: 0 0 2.35rem !important;
    width: 2.35rem !important;
    height: 2.35rem !important;
    place-items: center !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
}

.site-footer .footer-title-icon::before {
    width: 2.05rem !important;
    height: 2.05rem !important;
    background: currentColor !important;
}

.site-footer .footer-access .footer-title-icon::before {
    width: 2rem !important;
    height: 2rem !important;
}

@media (max-width: 760px) {
    .site-footer .footer-column strong {
        font-size: 1.22rem !important;
        gap: .8rem !important;
    }

    .site-footer .footer-title-icon {
        width: 2rem !important;
        height: 2rem !important;
        flex-basis: 2rem !important;
    }

    .site-footer .footer-title-icon::before {
        width: 1.72rem !important;
        height: 1.72rem !important;
    }
}
/* Final CTA mini benefits compact horizontal fix */
.cta-final-section .cta-mini-benefits {
    width: min(50rem, calc(100vw - 4rem)) !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(13.25rem, 1fr)) !important;
    gap: 1.15rem !important;
    margin-top: 2.55rem !important;
}

.cta-final-section .cta-mini-benefits article {
    display: grid !important;
    grid-template-columns: 2.75rem minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    min-height: 4.15rem !important;
    padding: .8rem .95rem !important;
    column-gap: .8rem !important;
    row-gap: .12rem !important;
    border: 1px solid rgba(220,231,245,.42) !important;
    border-radius: .8rem !important;
    background: rgba(255,255,255,.38) !important;
    box-shadow: 0 14px 30px rgba(18,50,105,.035) !important;
}

.cta-final-section .cta-mini-benefits .icon {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 2.65rem !important;
    height: 2.65rem !important;
    border-radius: 50% !important;
    place-self: center !important;
}

.cta-final-section .cta-mini-benefits .icon::before {
    width: 1.18rem !important;
    height: 1.18rem !important;
}

.cta-final-section .cta-mini-benefits strong {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    align-self: end !important;
    font-size: .86rem !important;
    font-weight: 560 !important;
    line-height: 1.12 !important;
}

.cta-final-section .cta-mini-benefits small {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    align-self: start !important;
    font-size: .74rem !important;
    line-height: 1.32 !important;
}

@media (max-width: 1180px) {
    .cta-final-section .cta-mini-benefits {
        width: min(44rem, calc(100vw - 3rem)) !important;
        grid-template-columns: repeat(3, minmax(11.75rem, 1fr)) !important;
        gap: .9rem !important;
    }
}

@media (max-width: 780px) {
    .cta-final-section .cta-mini-benefits {
        width: min(24rem, 100%) !important;
        grid-template-columns: 1fr !important;
    }
}
/* Public typography weight normalization */
body h1,
body h2,
body h3,
body h4,
body h1 em,
body h2 em,
body h3 em,
body h4 em,
.section-heading h2,
.hero h1,
.final-cta-hero h2,
.pricing-heading h1,
.pricing-card-head h2,
.legal-hero h1,
.legal-card h2,
.contact-copy h1,
.contact-card-head h2,
.cookie-consent-hero h2,
.footer-column strong {
    font-weight: 520 !important;
    letter-spacing: 0 !important;
}

body p,
body p strong,
body p b,
body li,
body li strong,
body li b,
.hero-copy > p,
.section-heading p,
.benefit-grid p,
.module-card p,
.answers-grid p,
.audience-grid p,
.connected-card p,
.step-card p,
.faq-card p,
.legal-card p,
.legal-card li,
.contact-copy p,
.footer-tagline,
.center-note,
.cta-copy > p,
.cta-internal-note,
.cookie-consent-hero p {
    font-weight: 400 !important;
}

.button,
.button *,
.login-link,
.desktop-nav a,
.pricing-button,
.pricing-button *,
.pricing-tab,
.pricing-tab *,
.contact-form button,
.cookie-consent-actions button,
.cookie-consent-link,
.footer-column a {
    font-weight: 450 !important;
}

.pill,
.pill *,
.hero-proof,
.start-note,
.start-note strong,
.pricing-assurances span,
.pricing-note,
.pricing-total,
.footer-brand li b,
.footer-brand li small {
    font-weight: 400 !important;
}

.hero h1,
.section-heading h2,
.pricing-heading h1,
.legal-hero h1,
.contact-copy h1 {
    text-rendering: geometricPrecision;
}
/* FAQ cards: remove numbers and enlarge icons */
.faq-section .faq-card {
    grid-template-columns: 5.25rem minmax(0, 1fr) !important;
    column-gap: 1.25rem !important;
}

.faq-section .faq-card > b {
    display: none !important;
}

.faq-section .faq-card > .icon {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 4.75rem !important;
    height: 4.75rem !important;
    border-radius: 1.1rem !important;
}

.faq-section .faq-card > .icon::before {
    width: 2.25rem !important;
    height: 2.25rem !important;
}

.faq-section .faq-card h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.faq-section .faq-card p {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

@media (max-width: 900px) {
    .faq-section .faq-card {
        grid-template-columns: 4.5rem minmax(0, 1fr) !important;
        column-gap: 1rem !important;
    }

    .faq-section .faq-card > .icon {
        width: 4.1rem !important;
        height: 4.1rem !important;
    }

    .faq-section .faq-card > .icon::before {
        width: 1.95rem !important;
        height: 1.95rem !important;
    }
}

@media (max-width: 640px) {
    .faq-section .faq-card {
        grid-template-columns: 4rem minmax(0, 1fr) !important;
    }

    .faq-section .faq-card > .icon {
        width: 3.65rem !important;
        height: 3.65rem !important;
    }

    .faq-section .faq-card > .icon::before {
        width: 1.7rem !important;
        height: 1.7rem !important;
    }
}
/* Responsive stabilization: landing + pricing */
@media (min-width: 1181px) {
    .pricing-grid {
        grid-template-columns: repeat(3, minmax(0, 24rem)) !important;
    }
}

@media (max-width: 1180px) {
    .container {
        width: min(100% - 44px, 980px) !important;
    }

    .header-inner {
        gap: 1.2rem !important;
    }

    .desktop-nav {
        gap: 1.25rem !important;
    }

    .desktop-nav a,
    .login-link {
        font-size: .88rem !important;
    }

    .hero-grid {
        grid-template-columns: 1fr !important;
        gap: 2.2rem !important;
    }

    .hero-copy {
        max-width: 48rem !important;
        margin-inline: auto !important;
        text-align: center !important;
    }

    .hero h1,
    .hero-copy > p {
        margin-inline: auto !important;
    }

    .hero-actions,
    .hero-proof,
    .start-note {
        justify-content: center !important;
    }

    .hero-visual {
        min-height: 31rem !important;
        max-width: 55rem !important;
        width: 100% !important;
        margin-inline: auto !important;
    }

    .browser-mock {
        inset: 1rem 2rem auto !important;
    }

    .hero-benefits,
    .benefit-grid,
    .module-grid,
    .answers-grid,
    .audience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .connected-grid {
        grid-template-columns: 1fr !important;
    }

    .connected-card,
    .connected-content {
        grid-template-columns: minmax(0, 1fr) minmax(18rem, .85fr) !important;
    }

    .steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .faq-section .faq-list {
        grid-template-columns: 1fr !important;
    }

    .pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 24rem)) !important;
        gap: 1.25rem !important;
    }

    .pricing-business {
        grid-column: 1 / -1 !important;
        width: min(24rem, 100%) !important;
        justify-self: center !important;
    }

    .footer-main {
        grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)) !important;
        gap: 2rem !important;
    }

    .footer-access {
        grid-column: 2 / 3 !important;
    }
}

@media (max-width: 900px) {
    .container {
        width: min(100% - 34px, 760px) !important;
    }

    .site-header {
        position: sticky !important;
    }

    .header-inner {
        min-height: 4.25rem !important;
        justify-content: space-between !important;
    }

    .brand img {
        width: 8.8rem !important;
        height: auto !important;
    }

    .desktop-nav {
        display: none !important;
    }

    .header-actions {
        gap: .65rem !important;
    }

    .header-actions .button-small {
        display: inline-flex !important;
        min-height: 2.35rem !important;
        padding-inline: .85rem !important;
        font-size: .78rem !important;
    }

    .login-link {
        font-size: .82rem !important;
    }

    .section,
    .pricing-hero {
        padding-block: 4.25rem !important;
    }

    .section-heading {
        margin-bottom: 2rem !important;
    }

    .hero {
        padding: 3.5rem 0 2rem !important;
    }

    .hero h1,
    .hero h1 span,
    .section-heading h2,
    .modules-title span,
    .benefits-title span {
        white-space: normal !important;
    }

    .hero h1 {
        font-size: clamp(2.35rem, 8.5vw, 3.35rem) !important;
        line-height: 1.08 !important;
    }

    .section-heading h2,
    .pricing-heading h1 {
        font-size: clamp(2.05rem, 7vw, 3rem) !important;
        line-height: 1.1 !important;
    }

    .hero-visual {
        min-height: 28rem !important;
    }

    .floating-card {
        min-width: 10.5rem !important;
        padding: .85rem !important;
    }

    .float-expenses,
    .float-bills {
        display: none !important;
    }

    .mock-shell {
        grid-template-columns: 8.5rem 1fr !important;
    }

    .mock-metrics,
    .mock-content,
    .cta-dashboard-metrics,
    .cta-dashboard-lower {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .hero-benefits,
    .benefit-grid,
    .module-grid,
    .answers-grid,
    .audience-grid,
    .pricing-grid {
        grid-template-columns: 1fr !important;
    }

    .pricing-business {
        grid-column: auto !important;
        width: auto !important;
    }

    .benefit-grid article,
    .module-card,
    .answer-card,
    .audience-grid article,
    .pricing-card {
        max-width: 36rem !important;
        width: 100% !important;
        justify-self: center !important;
    }

    .connected-card,
    .connected-content {
        grid-template-columns: 1fr !important;
    }

    .impact-card {
        width: 100% !important;
    }

    .steps-grid {
        grid-template-columns: 1fr !important;
    }

    .step-card {
        max-width: 31rem !important;
        width: 100% !important;
        justify-self: center !important;
    }

    .step-network {
        min-height: 24rem !important;
    }

    .final-cta-hero {
        grid-template-columns: 1fr !important;
        padding-inline: 0 !important;
    }

    .cta-copy {
        max-width: 42rem !important;
        width: 100% !important;
    }

    .cta-visual-stage {
        min-height: 33rem !important;
        width: 100% !important;
    }

    .cta-final-section .cta-preview {
        width: min(100%, 44rem) !important;
        right: 50% !important;
        transform: translateX(50%) !important;
    }

    .footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .footer-brand,
    .footer-access {
        grid-column: auto !important;
    }
}

@media (max-width: 640px) {
    .container {
        width: min(100% - 28px, 100%) !important;
    }

    .header-inner {
        min-height: 4rem !important;
        gap: .75rem !important;
    }

    .brand img {
        width: 7.9rem !important;
    }

    .login-link {
        display: none !important;
    }

    .header-actions .button-small {
        min-width: 0 !important;
        padding-inline: .75rem !important;
        white-space: nowrap !important;
    }

    .hero {
        padding-top: 2.7rem !important;
    }

    .pill {
        max-width: 100% !important;
        min-height: 2.1rem !important;
        padding-inline: .75rem !important;
        font-size: .76rem !important;
        text-align: left !important;
    }

    .hero h1 {
        max-width: 22rem !important;
        font-size: clamp(2.05rem, 11vw, 2.8rem) !important;
        line-height: 1.09 !important;
    }

    .hero-copy > p,
    .section-heading p,
    .pricing-heading p {
        font-size: .96rem !important;
        line-height: 1.55 !important;
    }

    .hero-actions,
    .cta-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 22rem !important;
        margin-inline: auto !important;
    }

    .hero-actions .button,
    .cta-actions .button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .hero-proof {
        justify-content: center !important;
        gap: .75rem !important;
    }

    .hero-proof span:not(:last-child)::after {
        display: none !important;
    }

    .start-note {
        align-items: flex-start !important;
        max-width: 22rem !important;
        margin-inline: auto !important;
        text-align: left !important;
    }

    .hero-visual {
        min-height: auto !important;
        padding: 0 !important;
    }

    .browser-mock {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        margin: 1.5rem auto 0 !important;
        border-radius: 1rem !important;
    }

    .mock-shell {
        grid-template-columns: 1fr !important;
    }

    .mock-shell aside {
        display: none !important;
    }

    .mock-metrics,
    .mock-content,
    .mini-metrics,
    .report-preview,
    .money-answer .money-preview > div,
    .donut-row,
    .cta-dashboard-metrics,
    .cta-dashboard-lower {
        grid-template-columns: 1fr !important;
    }

    .mock-donut,
    .donut-row > span,
    .money-preview > div > span {
        justify-self: center !important;
    }

    .floating-card:not(.cta-float) {
        display: none !important;
    }

    .hero-benefits {
        grid-template-columns: 1fr !important;
        border-radius: 1rem !important;
    }

    .hero-benefits article {
        padding: 1.15rem !important;
        border-right: 0 !important;
        border-bottom: 1px solid var(--line) !important;
    }

    .hero-benefits article:last-child {
        border-bottom: 0 !important;
    }

    .section,
    .pricing-hero {
        padding-block: 3.4rem !important;
    }

    .section-heading h2,
    .pricing-heading h1 {
        font-size: clamp(1.85rem, 9vw, 2.45rem) !important;
    }

    .benefit-grid article,
    .module-card,
    .answer-card,
    .audience-grid article,
    .connected-card,
    .step-card,
    .faq-card,
    .pricing-card {
        max-width: none !important;
        padding: 1.2rem !important;
        border-radius: 1rem !important;
    }

    .module-head,
    .answer-head,
    .connected-title {
        grid-template-columns: 3.5rem 1fr !important;
        gap: .9rem !important;
    }

    .module-head .icon,
    .answer-head .icon,
    .connected-title .icon,
    .benefit-grid article > .icon,
    .audience-grid article > .icon {
        width: 3.4rem !important;
        height: 3.4rem !important;
        flex-basis: 3.4rem !important;
    }

    .module-head .icon::before,
    .answer-head .icon::before,
    .connected-title .icon::before,
    .benefit-grid article > .icon::before,
    .audience-grid article > .icon::before {
        width: 1.55rem !important;
        height: 1.55rem !important;
    }

    .connected-card h3,
    .step-card h3,
    .faq-card h3 {
        font-size: 1.05rem !important;
    }

    .flow-list li {
        grid-template-columns: auto 1fr !important;
    }

    .center-note {
        width: 100% !important;
        max-width: 100% !important;
        align-items: flex-start !important;
        text-align: left !important;
    }

    .step-network {
        min-height: 25rem !important;
        transform: scale(.92) !important;
        transform-origin: center top !important;
    }

    .faq-section .faq-card {
        grid-template-columns: 3.75rem 1fr !important;
    }

    .faq-section .faq-card > .icon {
        width: 3.45rem !important;
        height: 3.45rem !important;
    }

    .cta-final-section {
        padding-top: 3rem !important;
    }

    .final-cta-hero h2 {
        font-size: clamp(1.95rem, 9vw, 2.55rem) !important;
        text-align: center !important;
    }

    .cta-final-section .cta-copy > p:not(.cta-internal-note) {
        max-width: 23rem !important;
        margin-inline: auto !important;
        text-align: center !important;
    }

    .cta-internal-note {
        max-width: 23rem !important;
    }

    .cta-final-section .cta-mini-benefits {
        width: min(23rem, 100%) !important;
        grid-template-columns: 1fr !important;
    }

    .cta-visual-stage {
        min-height: 28rem !important;
    }

    .cta-final-section .cta-dashboard-mock {
        min-height: 0 !important;
        border-radius: 1rem !important;
    }

    .cta-browser-bar b {
        width: min(11rem, 62%) !important;
        font-size: .62rem !important;
    }

    .cta-dashboard-sidebar {
        display: none !important;
    }

    .cta-dashboard-shell {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    .cta-dashboard-content {
        padding: 1rem !important;
    }

    .cta-cashflow-card,
    .cta-activity-card {
        min-height: auto !important;
    }

    .cta-final-section .cta-float {
        display: none !important;
    }

    .billing-switch {
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin: 1.7rem auto 2rem !important;
    }

    .billing-switch label {
        min-height: 3.8rem !important;
        padding: .55rem !important;
    }

    .pricing-card-head {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        align-items: start !important;
    }

    .pricing-price {
        flex-wrap: wrap !important;
    }

    .pricing-price span:not(.regular-price) {
        font-size: clamp(2.35rem, 14vw, 3rem) !important;
    }

    .environment-box {
        grid-template-columns: auto 1fr auto !important;
        gap: .65rem !important;
    }

    .annual-savings.yearly-note {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .pricing-assurances {
        display: grid !important;
        justify-content: stretch !important;
        gap: .85rem !important;
        margin-top: 2rem !important;
    }

    .footer-main {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
        padding-block: 3rem !important;
    }

    .footer-brand img {
        width: 10.5rem !important;
    }

    .footer-column strong {
        font-size: 1.08rem !important;
        padding-bottom: .8rem !important;
        margin-bottom: .75rem !important;
    }

    .footer-bottom {
        min-height: 8rem !important;
    }
}

@media (max-width: 390px) {
    .brand img {
        width: 7.2rem !important;
    }

    .header-actions .button-small {
        font-size: .72rem !important;
        padding-inline: .6rem !important;
    }

    .hero h1 {
        font-size: 2rem !important;
    }

    .cta-dashboard-metrics article,
    .pricing-card,
    .answer-preview {
        padding: .95rem !important;
    }
}
/* Mobile CTA final flow repair */
@media (max-width: 640px) {
    .cta-final-section {
        overflow: hidden !important;
        padding: 3rem 0 3.5rem !important;
    }

    .cta-final-section::before {
        top: 1.5rem !important;
        right: 1.25rem !important;
        width: 6rem !important;
        height: 6rem !important;
        opacity: .28 !important;
    }

    .final-cta-hero {
        display: flex !important;
        flex-direction: column !important;
        gap: 2rem !important;
        min-height: 0 !important;
        padding: 0 !important;
        align-items: stretch !important;
        text-align: center !important;
    }

    .cta-final-section .cta-copy {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    .cta-final-section .final-cta-hero h2 {
        max-width: 21rem !important;
        margin: 0 auto 1rem !important;
        font-size: clamp(2rem, 9.5vw, 2.55rem) !important;
        line-height: 1.08 !important;
        text-align: center !important;
    }

    .cta-final-section .final-cta-hero h2 span {
        display: inline !important;
    }

    .cta-final-section .cta-copy > p:not(.cta-internal-note) {
        max-width: 22rem !important;
        margin: 0 auto !important;
        font-size: .96rem !important;
        line-height: 1.52 !important;
        text-align: center !important;
    }

    .cta-final-section .final-cta-hero .cta-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .9rem !important;
        width: min(100%, 22rem) !important;
        margin: 1.45rem auto 0 !important;
    }

    .cta-final-section .final-cta-hero .cta-actions .button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 3.35rem !important;
        font-size: .98rem !important;
    }

    .cta-final-section .cta-internal-note {
        width: min(100%, 22rem) !important;
        max-width: 22rem !important;
        margin: 1.45rem auto 0 !important;
        grid-template-columns: 2.35rem 1fr !important;
        text-align: left !important;
        font-size: .84rem !important;
    }

    .cta-final-section .cta-mini-benefits {
        width: min(100%, 22rem) !important;
        max-width: 22rem !important;
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
        margin: 1.45rem auto 0 !important;
    }

    .cta-final-section .cta-mini-benefits article {
        min-height: 4rem !important;
        padding: .8rem .95rem !important;
    }

    .cta-final-section .cta-visual-stage {
        position: relative !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: .5rem 0 0 !important;
        order: 2 !important;
    }

    .cta-final-section .cta-preview,
    .cta-final-section .cta-dashboard-mock {
        position: relative !important;
        inset: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        transform: none !important;
        border-radius: 1rem !important;
    }

    .cta-final-section .cta-browser-bar {
        height: 2.35rem !important;
        padding: 0 .75rem !important;
    }

    .cta-final-section .cta-browser-bar b {
        width: min(10rem, 58%) !important;
        padding: .25rem .55rem !important;
        font-size: .56rem !important;
    }

    .cta-final-section .cta-dashboard-shell {
        display: block !important;
        min-height: 0 !important;
    }

    .cta-final-section .cta-dashboard-sidebar {
        display: none !important;
    }

    .cta-final-section .cta-dashboard-content {
        padding: .9rem !important;
    }

    .cta-final-section .cta-dashboard-head {
        align-items: flex-start !important;
        margin-bottom: .8rem !important;
    }

    .cta-final-section .cta-dashboard-head strong {
        font-size: .86rem !important;
    }

    .cta-final-section .cta-dashboard-head small,
    .cta-final-section .cta-dashboard-head button {
        font-size: .58rem !important;
    }

    .cta-final-section .cta-dashboard-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .55rem !important;
    }

    .cta-final-section .cta-dashboard-metrics article {
        min-height: 5.75rem !important;
        padding: .7rem !important;
    }

    .cta-final-section .cta-dashboard-metrics strong {
        font-size: .95rem !important;
    }

    .cta-final-section .cta-dashboard-lower {
        grid-template-columns: 1fr !important;
        gap: .7rem !important;
    }

    .cta-final-section .cta-cashflow-card {
        min-height: 9.5rem !important;
        padding: .8rem !important;
    }

    .cta-final-section .cta-chart-lines {
        height: 7rem !important;
    }

    .cta-final-section .cta-activity-card {
        display: none !important;
    }
}
/* Public mobile navigation */
.mobile-nav-input,
.mobile-nav-toggle,
.mobile-nav-extra {
    display: none !important;
}

@media (max-width: 900px) {
    .site-header {
        z-index: 200 !important;
    }

    .site-header .header-inner {
        position: relative !important;
        display: grid !important;
        grid-template-columns: auto 1fr auto !important;
        gap: .75rem !important;
        align-items: center !important;
    }

    .site-header .brand {
        justify-self: start !important;
    }

    .site-header .mobile-nav-toggle {
        display: inline-grid !important;
        width: 2.75rem !important;
        height: 2.75rem !important;
        place-items: center !important;
        justify-self: end !important;
        border: 1px solid rgba(23, 105, 232, .18) !important;
        border-radius: .9rem !important;
        background: rgba(255, 255, 255, .92) !important;
        box-shadow: 0 12px 28px rgba(20, 67, 130, .1) !important;
        cursor: pointer !important;
        transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
    }

    .site-header .mobile-nav-toggle span {
        display: block !important;
        width: 1.15rem !important;
        height: 2px !important;
        margin: 2px 0 !important;
        border-radius: 999px !important;
        background: #071839 !important;
        transition: transform .2s ease, opacity .2s ease !important;
    }

    .site-header .mobile-nav-input:checked + .mobile-nav-toggle {
        border-color: rgba(23, 105, 232, .45) !important;
        box-shadow: 0 16px 36px rgba(23, 105, 232, .18) !important;
    }

    .site-header .mobile-nav-input:checked + .mobile-nav-toggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg) !important;
    }

    .site-header .mobile-nav-input:checked + .mobile-nav-toggle span:nth-child(2) {
        opacity: 0 !important;
    }

    .site-header .mobile-nav-input:checked + .mobile-nav-toggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg) !important;
    }

    .site-header .public-nav {
        position: absolute !important;
        top: calc(100% + .7rem) !important;
        left: 0 !important;
        right: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .15rem !important;
        width: 100% !important;
        min-width: 0 !important;
        max-height: min(72vh, 34rem) !important;
        overflow: auto !important;
        padding: .75rem !important;
        border: 1px solid rgba(185, 205, 236, .78) !important;
        border-radius: 1.05rem !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 24px 55px rgba(20, 67, 130, .16) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(-.35rem) !important;
        pointer-events: none !important;
        z-index: 220 !important;
    }

    .site-header .public-nav a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 2.8rem !important;
        padding: .75rem .85rem !important;
        border-radius: .75rem !important;
        color: #071839 !important;
        font-size: .96rem !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
    }

    .site-header .public-nav a:hover,
    .site-header .public-nav a:focus-visible {
        background: rgba(23, 105, 232, .08) !important;
        color: #1769e8 !important;
        outline: none !important;
    }

    .site-header .mobile-nav-extra {
        display: flex !important;
        color: #4c607f !important;
    }

    .site-header .mobile-nav-input:checked ~ .public-nav {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }

    .site-header .header-actions {
        justify-self: end !important;
    }
}

@media (max-width: 640px) {
    .site-header .header-inner {
        grid-template-columns: auto auto auto !important;
    }

    .site-header .header-actions .button-small {
        min-height: 2.75rem !important;
        white-space: nowrap !important;
    }

    .site-header .public-nav {
        border-radius: .95rem !important;
    }
}
/* Keep final CTA title aligned with the landing heading system */
.section-heading h2,
.cta-final-section .final-cta-hero h2 {
    color: var(--ink) !important;
    font-size: clamp(2rem, 3.25vw, 3.125rem) !important;
    font-weight: 520 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

.cta-final-section .final-cta-hero h2 {
    max-width: 45rem !important;
    margin: 0 0 1.1rem !important;
}

.cta-final-section .final-cta-hero h2 em {
    color: var(--blue) !important;
    font-style: normal !important;
    font-weight: inherit !important;
}

@media (max-width: 900px) {
    .cta-final-section .final-cta-hero h2 {
        max-width: 42rem !important;
        margin-inline: auto !important;
        text-align: center !important;
    }
}

@media (max-width: 640px) {
    .section-heading h2,
    .cta-final-section .final-cta-hero h2 {
        font-size: clamp(2rem, 8vw, 2.5rem) !important;
        line-height: 1.1 !important;
    }
}
/* Refined public mobile header */
.mobile-nav-auth {
    display: none !important;
}

@media (max-width: 900px) {
    .site-header .header-inner {
        grid-template-columns: auto 1fr auto !important;
        min-height: 4.25rem !important;
    }

    .site-header .brand img {
        width: 8.9rem !important;
        height: auto !important;
    }

    .site-header .header-actions {
        display: none !important;
    }

    .site-header .mobile-nav-toggle {
        width: 2.85rem !important;
        height: 2.85rem !important;
        border: 1px solid rgba(23, 105, 232, .22) !important;
        border-radius: 1rem !important;
        background:
            linear-gradient(#fff, #fff) padding-box,
            linear-gradient(145deg, rgba(23, 105, 232, .55), rgba(116, 71, 232, .28)) border-box !important;
        box-shadow: 0 12px 26px rgba(23, 52, 104, .12) !important;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease !important;
    }

    .site-header .mobile-nav-toggle:hover,
    .site-header .mobile-nav-toggle:focus-visible {
        transform: translateY(-1px) !important;
        border-color: rgba(23, 105, 232, .45) !important;
        box-shadow: 0 16px 34px rgba(23, 105, 232, .18) !important;
        outline: none !important;
    }

    .site-header .mobile-nav-toggle span {
        width: 1.08rem !important;
        height: 2px !important;
        margin: 2.5px 0 !important;
        background: #0a1b43 !important;
        transform-origin: center !important;
    }

    .site-header .mobile-nav-input:checked + .mobile-nav-toggle {
        border-color: transparent !important;
        background: linear-gradient(135deg, #075ee8, #2077f2) !important;
        box-shadow: 0 18px 38px rgba(23, 105, 232, .28) !important;
    }

    .site-header .mobile-nav-input:checked + .mobile-nav-toggle span {
        background: #fff !important;
    }

    .site-header .mobile-nav-input:checked + .mobile-nav-toggle span:nth-child(1) {
        transform: translateY(7px) rotate(45deg) !important;
    }

    .site-header .mobile-nav-input:checked + .mobile-nav-toggle span:nth-child(2) {
        opacity: 0 !important;
        transform: scaleX(.4) !important;
    }

    .site-header .mobile-nav-input:checked + .mobile-nav-toggle span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg) !important;
    }

    .site-header .public-nav {
        left: .25rem !important;
        right: .25rem !important;
        width: auto !important;
        gap: .25rem !important;
        padding: .7rem !important;
        border-color: rgba(188, 210, 242, .9) !important;
        border-radius: 1.1rem !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 26px 60px rgba(15, 45, 98, .18) !important;
        backdrop-filter: blur(18px) !important;
    }

    .site-header .public-nav a {
        min-height: 2.9rem !important;
        padding: .78rem .9rem !important;
        border: 1px solid transparent !important;
        border-radius: .82rem !important;
        color: #14284e !important;
        font-size: .95rem !important;
        font-weight: 520 !important;
    }

    .site-header .public-nav a::after {
        width: .42rem;
        height: .42rem;
        border-top: 1.5px solid currentColor;
        border-right: 1.5px solid currentColor;
        content: "";
        opacity: .48;
        transform: rotate(45deg);
    }

    .site-header .public-nav a:hover,
    .site-header .public-nav a:focus-visible {
        border-color: rgba(23, 105, 232, .12) !important;
        background: linear-gradient(135deg, rgba(23, 105, 232, .1), rgba(23, 105, 232, .04)) !important;
        color: var(--blue) !important;
    }

    .site-header .public-nav .mobile-nav-auth {
        display: flex !important;
        margin-top: .25rem !important;
        border-color: rgba(23, 105, 232, .16) !important;
        background: var(--blue-soft) !important;
        color: var(--blue) !important;
    }
}

@media (max-width: 420px) {
    .site-header .brand img {
        width: 8.1rem !important;
    }

    .site-header .mobile-nav-toggle {
        width: 2.65rem !important;
        height: 2.65rem !important;
        border-radius: .9rem !important;
    }
}
/* Public mobile menu button: real button state */
@media (max-width: 900px) {
    .site-header .mobile-nav-toggle {
        position: relative !important;
        display: inline-flex !important;
        width: auto !important;
        min-width: 5.65rem !important;
        height: 2.75rem !important;
        align-items: center !important;
        justify-content: center !important;
        justify-self: end !important;
        padding: 0 .95rem 0 2.55rem !important;
        border: 1px solid rgba(23, 105, 232, .22) !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .96) !important;
        color: var(--blue) !important;
        box-shadow: 0 12px 28px rgba(20, 67, 130, .11) !important;
        cursor: pointer !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .site-header .mobile-nav-toggle::after {
        content: "Menú";
        color: #0a1b43;
        font-size: .86rem;
        font-weight: 560;
        line-height: 1;
    }

    .site-header .mobile-nav-toggle span {
        position: absolute !important;
        left: .95rem !important;
        display: block !important;
        width: 1rem !important;
        height: 2px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        background: currentColor !important;
        transition: transform .18s ease, opacity .18s ease, background .18s ease !important;
    }

    .site-header .mobile-nav-toggle span:nth-child(1) {
        transform: translateY(-6px) !important;
    }

    .site-header .mobile-nav-toggle span:nth-child(2) {
        transform: translateY(0) !important;
    }

    .site-header .mobile-nav-toggle span:nth-child(3) {
        transform: translateY(6px) !important;
    }

    .site-header .mobile-nav-toggle[aria-expanded="true"] {
        border-color: transparent !important;
        background: linear-gradient(135deg, #075ee8, #2077f2) !important;
        color: #fff !important;
        box-shadow: 0 18px 40px rgba(23, 105, 232, .3) !important;
    }

    .site-header .mobile-nav-toggle[aria-expanded="true"]::after {
        content: "Cerrar";
        color: #fff;
    }

    .site-header .mobile-nav-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(0) rotate(45deg) !important;
    }

    .site-header .mobile-nav-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0 !important;
        transform: scaleX(.25) !important;
    }

    .site-header .mobile-nav-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(0) rotate(-45deg) !important;
    }

    .site-header .public-nav.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 420px) {
    .site-header .mobile-nav-toggle {
        min-width: 2.75rem !important;
        width: 2.75rem !important;
        height: 2.75rem !important;
        padding: 0 !important;
        border-radius: .95rem !important;
    }

    .site-header .mobile-nav-toggle::after {
        content: "" !important;
    }

    .site-header .mobile-nav-toggle span {
        left: 50% !important;
        margin-left: -.5rem !important;
    }
}
/* Cleaner desktop public navigation */
@media (min-width: 901px) {
    .site-header .header-inner {
        gap: clamp(1.5rem, 3vw, 3rem) !important;
    }

    .site-header .desktop-nav {
        justify-content: center !important;
        gap: clamp(1.75rem, 3.2vw, 3.4rem) !important;
        max-width: 38rem !important;
        margin-inline: auto !important;
    }

    .site-header .desktop-nav a {
        white-space: nowrap !important;
    }

    .site-header .desktop-nav a.desktop-optional {
        display: none !important;
    }

    .site-header .header-actions {
        flex: 0 0 auto !important;
        gap: .85rem !important;
    }
}
/* Contact topic select */
.contact-select-wrap {
    position: relative;
    display: block;
}

.contact-select-wrap::before {
    position: absolute;
    top: 50%;
    left: .9rem;
    width: 1.08rem;
    height: 1.08rem;
    background: var(--blue);
    content: "";
    pointer-events: none;
    transform: translateY(-50%);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 6v5a1 1 0 0 1-.3.7l-2 2a1 1 0 0 1-1.4-1.4L11 12.6V8a1 1 0 1 1 2 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 6v5a1 1 0 0 1-.3.7l-2 2a1 1 0 0 1-1.4-1.4L11 12.6V8a1 1 0 1 1 2 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.contact-select-wrap::after {
    position: absolute;
    top: 50%;
    right: 1rem;
    width: .62rem;
    height: .62rem;
    border-right: 2px solid #6b7a96;
    border-bottom: 2px solid #6b7a96;
    content: "";
    pointer-events: none;
    transform: translateY(-65%) rotate(45deg);
}

.contact-fields .contact-select-wrap select {
    min-height: 3.35rem;
    padding-left: 2.75rem;
    padding-right: 2.75rem;
    border-color: rgba(197, 215, 239, .95);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,255,.94));
    box-shadow: 0 10px 26px rgba(18, 50, 105, .045);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.contact-fields .contact-select-wrap select:hover {
    border-color: rgba(23, 105, 232, .35);
    box-shadow: 0 14px 34px rgba(18, 50, 105, .075);
}

.contact-fields .contact-select-wrap select:focus {
    border-color: rgba(23, 105, 232, .64);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(23,105,232,.1), 0 16px 36px rgba(18,50,105,.08);
}
/* Designed contact topic dropdown */
.contact-fields .contact-field {
    display: grid;
    gap: .45rem;
}

.contact-field-label {
    color: var(--ink);
    font-size: .86rem;
    font-weight: 560;
}

.contact-topic-custom {
    display: none;
    position: relative;
}

.contact-field.is-enhanced .contact-select-wrap {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.contact-field.is-enhanced .contact-topic-custom {
    display: block;
}

.contact-topic-button {
    display: grid;
    grid-template-columns: auto 1fr auto;
    width: 100%;
    min-height: 3.45rem;
    align-items: center;
    gap: .8rem;
    padding: .72rem .9rem;
    border: 1px solid rgba(197, 215, 239, .95);
    border-radius: 12px;
    color: var(--ink);
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,251,255,.95));
    box-shadow: 0 12px 28px rgba(18, 50, 105, .055);
    cursor: pointer;
    text-align: left;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.contact-topic-button:hover,
.contact-topic-button:focus-visible,
.contact-field.is-open .contact-topic-button {
    border-color: rgba(23, 105, 232, .48);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(23,105,232,.08), 0 18px 42px rgba(18,50,105,.1);
    outline: none;
}

.contact-topic-icon {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: .72rem;
    background: var(--blue-soft);
    color: var(--blue);
}

.contact-topic-icon::before {
    width: 1rem;
    height: 1rem;
    background: currentColor;
    content: "";
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 6v5a1 1 0 0 1-.3.7l-2 2a1 1 0 0 1-1.4-1.4L11 12.6V8a1 1 0 1 1 2 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 6v5a1 1 0 0 1-.3.7l-2 2a1 1 0 0 1-1.4-1.4L11 12.6V8a1 1 0 1 1 2 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.contact-topic-button [data-topic-label] {
    color: #53627e;
    font-size: .94rem;
    font-weight: 520;
}

.contact-topic-button.has-value [data-topic-label] {
    color: var(--ink);
}

.contact-topic-chevron {
    width: .62rem;
    height: .62rem;
    border-right: 2px solid #6b7a96;
    border-bottom: 2px solid #6b7a96;
    transform: translateY(-.12rem) rotate(45deg);
    transition: transform .18s ease;
}

.contact-field.is-open .contact-topic-chevron {
    transform: translateY(.12rem) rotate(225deg);
}

.contact-topic-menu {
    position: absolute;
    z-index: 60;
    top: calc(100% + .5rem);
    left: 0;
    right: 0;
    display: grid;
    gap: .25rem;
    max-height: 20rem;
    overflow: auto;
    padding: .55rem;
    border: 1px solid rgba(197, 215, 239, .95);
    border-radius: 14px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 24px 62px rgba(18, 50, 105, .16);
    backdrop-filter: blur(14px);
}

.contact-topic-menu[hidden] {
    display: none;
}

.contact-topic-menu button {
    display: grid;
    gap: .18rem;
    width: 100%;
    padding: .78rem .85rem;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--ink);
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.contact-topic-menu button:hover,
.contact-topic-menu button:focus-visible,
.contact-topic-menu button[aria-selected="true"] {
    border-color: rgba(23,105,232,.12);
    background: linear-gradient(135deg, rgba(23,105,232,.1), rgba(23,105,232,.035));
    outline: none;
}

.contact-topic-menu button span {
    color: var(--ink);
    font-size: .94rem;
    font-weight: 560;
}

.contact-topic-menu button small {
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.35;
}

.contact-field.has-error .contact-topic-button {
    border-color: rgba(220, 38, 38, .55);
    box-shadow: 0 0 0 4px rgba(220, 38, 38, .09);
}