/*
 * SPEKTRA ClearWave layer.
 * Local-only CSS: no remote fonts, libraries, or image requests.
 */
:root {
    --cw-ink: #073b3a;
    --cw-ink-soft: #315c5a;
    --cw-teal: #0c716a;
    --cw-teal-bright: #1b9a8d;
    --cw-sea: #c8f1e7;
    --cw-mint: #e8f8f3;
    --cw-paper: #f5fbf8;
    --cw-line: #d4e9e3;
    --cw-yellow: #f2cb73;
    --cw-white: #fff;
    --cw-ease: cubic-bezier(.16, 1, .3, 1);
}

body.cw-body,
body.cw-auth-body {
    background: var(--cw-paper);
    color: var(--cw-ink-soft);
    font-family: "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

body.cw-body .landing-navbar {
    min-height: 76px;
    background: rgba(245, 251, 248, .9) !important;
    border-bottom: 1px solid var(--cw-line) !important;
    box-shadow: none !important;
    backdrop-filter: blur(14px);
}

body.cw-body .landing-navbar .container {
    max-width: 1240px;
}

body.cw-body .landing-navbar .spektra-brand-navbar {
    color: var(--cw-ink) !important;
}

body.cw-body .landing-navbar .spektra-brand-navbar .spektra-brand-name {
    font-size: 1.08rem;
    letter-spacing: .08em;
}

body.cw-body .landing-navbar .navbar-nav {
    gap: .1rem;
    margin-left: auto;
    margin-right: 1.15rem;
}

body.cw-body .landing-navbar .navbar-nav .nav-link {
    padding: .52rem .7rem;
    color: var(--cw-ink-soft) !important;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .01em;
    border-radius: 999px;
    transition: color .18s var(--cw-ease), background-color .18s var(--cw-ease);
}

body.cw-body .landing-navbar .navbar-nav .nav-link:hover,
body.cw-body .landing-navbar .navbar-nav .nav-link.active {
    color: var(--cw-teal) !important;
    background: var(--cw-mint);
}

body.cw-body .landing-navbar .theme-toggle {
    color: var(--cw-ink) !important;
    border-color: var(--cw-line);
    background: rgba(255, 255, 255, .72);
}

body.cw-body .landing-navbar .theme-toggle:hover {
    color: var(--cw-teal) !important;
    border-color: #9fd9cd;
    background: var(--cw-sea);
}

.cw-page,
.cw-footer {
    overflow: hidden;
    font-family: "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.cw-container {
    max-width: 1240px;
    padding-right: 2rem;
    padding-left: 2rem;
}

.cw-hero {
    position: relative;
    min-height: 650px;
    padding: 7.2rem 0 5.5rem;
    background: var(--cw-paper);
    border-bottom: 1px solid var(--cw-line);
    isolation: isolate;
}

.cw-hero::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: radial-gradient(circle at 84% 20%, rgba(200, 241, 231, .72), transparent 32%), linear-gradient(135deg, transparent 45%, rgba(232, 248, 243, .5));
    content: "";
}

.cw-hero::after {
    position: absolute;
    right: -10%;
    bottom: -18%;
    z-index: -1;
    width: 55%;
    height: 50%;
    border: 1px solid rgba(12, 113, 106, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 35px rgba(12, 113, 106, .035), 0 0 0 70px rgba(12, 113, 106, .025);
    content: "";
    transform: rotate(-18deg);
}

.cw-hero-orbit {
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(12, 113, 106, .12);
    border-radius: 50%;
    pointer-events: none;
}

.cw-hero-orbit-one { top: -250px; right: 5%; width: 650px; height: 400px; transform: rotate(-20deg); }
.cw-hero-orbit-two { top: -180px; right: 12%; width: 550px; height: 300px; transform: rotate(-20deg); opacity: .7; }

.cw-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr);
    align-items: center;
    gap: 5rem;
}

.cw-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: 1.4rem;
    color: var(--cw-teal);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.cw-eyebrow i { font-size: .85rem; }

.cw-hero-copy h1,
.cw-section-heading h2,
.cw-feature-copy h3,
.cw-cta-content h2 {
    margin: 0;
    color: var(--cw-ink);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.cw-hero-copy h1 { max-width: 690px; font-size: clamp(3rem, 5vw, 5.1rem); }

.cw-hero-copy h1 em,
.cw-section-heading h2 em,
.cw-feature-copy h3 em,
.cw-cta-content h2 em {
    color: var(--cw-teal);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: -.07em;
}

.cw-hero-lead {
    max-width: 560px;
    margin: 1.7rem 0 2rem;
    color: var(--cw-ink-soft);
    font-size: 1.03rem;
    line-height: 1.75;
}

.cw-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }

.cw-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    min-height: 0;
    padding: .875rem 2rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .9375rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: transform .25s var(--cw-ease), color .25s var(--cw-ease), background-color .25s var(--cw-ease), border-color .25s var(--cw-ease), box-shadow .25s var(--cw-ease);
}

.cw-button i { font-size: 1rem; transition: transform .25s var(--cw-ease); }
.cw-button:hover i { transform: translateX(4px); }
.cw-button:hover { transform: scale(1.02); }

.cw-button-primary { color: #fff !important; background: #1a7a6e; box-shadow: 0 6px 24px rgba(26, 122, 110, .3); }
.cw-button-primary:hover { color: #fff !important; background: #2a9d8f; box-shadow: 0 8px 32px rgba(26, 122, 110, .4); }
.cw-button.cw-button-quiet { padding: .8125rem 1.75rem; color: #1a7a6e !important; border: 1.5px solid rgba(26, 122, 110, .15); background: transparent; font-weight: 500; }
.cw-button-quiet:hover { color: #1a7a6e !important; border-color: #1a7a6e; background: rgba(26, 122, 110, .08); }
.cw-button-light { color: #fff !important; background: #1a7a6e; box-shadow: 0 6px 24px rgba(26, 122, 110, .35); }
.cw-button-light:hover { color: #fff !important; background: #2a9d8f; }

.cw-submit {
    min-height: 0;
    padding: .875rem 2rem;
    border-radius: 999px;
    background: #1a7a6e;
    font-size: .9375rem;
    font-weight: 600;
    box-shadow: 0 6px 24px rgba(26, 122, 110, .3);
}

.cw-submit:hover {
    background: #2a9d8f;
    box-shadow: 0 8px 32px rgba(26, 122, 110, .4);
    transform: scale(1.02);
}

.cw-hero-proof { display: flex; align-items: center; gap: .7rem; margin-top: 2.1rem; color: var(--cw-muted, #688683); font-size: .74rem; }
.cw-proof-dots { display: inline-flex; align-items: center; padding-left: .3rem; }
.cw-proof-dots i { width: 1.35rem; height: 1.35rem; margin-left: -.3rem; border: 2px solid var(--cw-paper); border-radius: 50%; background: var(--cw-teal); }
.cw-proof-dots i:nth-child(2) { background: #77bdb1; }
.cw-proof-dots i:nth-child(3) { background: var(--cw-yellow); }
.cw-proof-dots i:nth-child(4) { background: #8da9a4; }

.cw-hero-visual { position: relative; min-height: 450px; perspective: 1200px; }

.cw-dashboard-card {
    position: absolute;
    top: 2.1rem;
    right: 1rem;
    width: min(100%, 590px);
    overflow: hidden;
    border: 1px solid rgba(12, 113, 106, .16);
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 30px 70px rgba(7, 59, 58, .16), 0 3px 8px rgba(7, 59, 58, .05);
    transform: rotateY(-5deg) rotateX(2deg) rotateZ(1deg);
    transform-style: preserve-3d;
}

.cw-window-bar { display: flex; align-items: center; justify-content: space-between; padding: .8rem 1rem; color: #7b9792; border-bottom: 1px solid #deeee9; font-size: .65rem; font-weight: 700; letter-spacing: .02em; }
.cw-window-dots { display: flex; gap: .28rem; }
.cw-window-dots i { width: .42rem; height: .42rem; border-radius: 50%; background: #c6ded8; }
.cw-window-dots i:first-child { background: #eaa789; }
.cw-window-dots i:nth-child(2) { background: #ebd083; }
.cw-window-bar > i { font-size: .9rem; }
.cw-dashboard-body { padding: 1.25rem; }
.cw-dashboard-intro { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 1rem; }
.cw-dashboard-intro span:not(.cw-live-pill) { display: block; color: #7b9792; font-size: .65rem; }
.cw-dashboard-intro strong { display: block; margin-top: .18rem; color: var(--cw-ink); font-size: 1rem; }
.cw-live-pill { display: inline-flex; align-items: center; gap: .3rem; padding: .28rem .5rem; color: #237e6d; border-radius: 999px; background: #e0f7ef; font-size: .62rem; font-weight: 800; }
.cw-live-pill i { width: .34rem; height: .34rem; border-radius: 50%; background: #25a87f; }
.cw-metric-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: .7rem; }
.cw-metric-card { padding: .85rem; border: 1px solid #e1efeb; border-radius: .7rem; background: #f9fdfb; }
.cw-metric-card small { display: block; color: #7b9792; font-size: .61rem; }
.cw-metric-card strong { display: block; margin: .22rem 0; color: var(--cw-ink); font-size: 1.55rem; letter-spacing: -.04em; }
.cw-metric-card strong sup { margin-left: .12rem; color: var(--cw-teal); font-size: .7rem; }
.cw-metric-card span { color: var(--cw-teal); font-size: .61rem; font-weight: 700; }
.cw-metric-card span.cw-muted { color: #7b9792; font-weight: 500; }
.cw-chart-card { margin-top: .7rem; padding: .9rem .9rem .7rem; border: 1px solid #e1efeb; border-radius: .7rem; background: #fff; }
.cw-chart-heading { display: flex; justify-content: space-between; color: var(--cw-ink); font-size: .68rem; font-weight: 800; }
.cw-chart-heading small { color: #7b9792; font-size: .58rem; font-weight: 600; }
.cw-chart-area { display: flex; align-items: end; gap: .55rem; height: 115px; padding: 1rem .3rem .2rem; border-bottom: 1px solid #e1efeb; background: repeating-linear-gradient(to bottom, transparent 0, transparent 27px, #eef7f4 28px); }
.cw-chart-area span { flex: 1; min-height: .3rem; border-radius: .25rem .25rem 0 0; background: linear-gradient(to top, var(--cw-teal), #76cdbd); transition: height .5s var(--cw-ease); }
.cw-chart-area span:nth-child(3n) { background: linear-gradient(to top, #a8d8ca, #cfeee4); }
.cw-chart-labels { display: flex; justify-content: space-between; padding-top: .4rem; color: #9bb4af; font-size: .52rem; }

.cw-float-note { position: absolute; z-index: 2; display: flex; align-items: center; gap: .6rem; padding: .65rem .75rem; border: 1px solid rgba(12, 113, 106, .13); border-radius: .7rem; background: rgba(255, 255, 255, .94); box-shadow: 0 14px 30px rgba(7, 59, 58, .13); }
.cw-float-note > i { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; color: #fff; border-radius: .55rem; background: var(--cw-teal); font-size: .9rem; }
.cw-float-note strong, .cw-float-note small { display: block; }
.cw-float-note strong { color: var(--cw-ink); font-size: .67rem; }
.cw-float-note small { margin-top: .13rem; color: #7b9792; font-size: .57rem; }
.cw-float-note-top { top: .2rem; left: -.5rem; }
.cw-float-note-bottom { right: -.4rem; bottom: .1rem; }
.cw-float-icon { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; color: var(--cw-teal); border-radius: .55rem; background: var(--cw-sea); font-size: .9rem; }

.cw-trust-strip { border-bottom: 1px solid var(--cw-line); background: #fff; }
.cw-trust-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-top: 1.15rem; padding-bottom: 1.15rem; }
.cw-trust-label { color: #89a19d; font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.cw-trust-items { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 1.55rem; color: var(--cw-ink-soft); font-size: .72rem; font-weight: 800; }
.cw-trust-items span { display: inline-flex; align-items: center; gap: .35rem; }
.cw-trust-items i { color: var(--cw-teal); font-size: .9rem; }

.cw-section { padding: 8rem 0 7rem; background: var(--cw-paper); }
.cw-section-heading { max-width: 630px; margin: 0 auto 6rem; text-align: center; }
.cw-section-heading .cw-eyebrow { margin-bottom: 1.1rem; }
.cw-section-heading h2 { font-size: clamp(2.5rem, 4.2vw, 4rem); }
.cw-section-heading p { max-width: 510px; margin: 1.4rem auto 0; color: #6c8984; font-size: .94rem; line-height: 1.75; }
.cw-feature-row { display: grid; grid-template-columns: minmax(0, .8fr) minmax(430px, 1.2fr); align-items: center; gap: 6.5rem; margin-bottom: 8.5rem; }
.cw-feature-row:last-child { margin-bottom: 0; }
.cw-feature-row-reverse { grid-template-columns: minmax(430px, 1.2fr) minmax(0, .8fr); }
.cw-feature-row-reverse .cw-feature-copy { order: 2; }
.cw-feature-row-reverse .cw-ui-panel { order: 1; }
.cw-feature-number { display: block; margin-bottom: 1.15rem; color: var(--cw-teal); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cw-feature-copy h3 { font-size: clamp(2.2rem, 3.2vw, 3.5rem); }
.cw-feature-copy p { max-width: 400px; margin: 1.35rem 0; color: #6c8984; font-size: .91rem; line-height: 1.8; }
.cw-check-list { display: grid; gap: .72rem; padding: 0; margin: 0; list-style: none; color: var(--cw-ink-soft); font-size: .76rem; font-weight: 700; }
.cw-check-list li { display: flex; align-items: center; gap: .55rem; }
.cw-check-list i { display: inline-flex; align-items: center; justify-content: center; width: 1.15rem; height: 1.15rem; color: var(--cw-teal); border-radius: 50%; background: var(--cw-sea); font-size: .76rem; }

.cw-ui-panel { min-height: 300px; padding: 1.35rem; border: 1px solid #d6ebe5; border-radius: 1rem; background: rgba(255, 255, 255, .78); box-shadow: 0 20px 50px rgba(7, 59, 58, .07); }
.cw-panel-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.15rem; color: var(--cw-ink); font-size: .73rem; font-weight: 800; }
.cw-panel-top > i { color: #9ab5af; font-size: 1rem; }
.cw-panel-top button { display: inline-flex; align-items: center; gap: .25rem; padding: .4rem .6rem; border: 1px solid var(--cw-line); border-radius: .4rem; color: var(--cw-teal); background: var(--cw-mint); font-size: .62rem; font-weight: 800; }
.cw-result-item { display: flex; align-items: center; gap: .7rem; padding: .78rem 0; border-bottom: 1px solid #e4f0ed; }
.cw-result-item:last-of-type { border-bottom: 0; }
.cw-result-icon { display: inline-flex; flex: 0 0 2rem; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: .55rem; font-size: .9rem; }
.cw-result-blue { color: #4e70bb; background: #e7edff; }.cw-result-teal { color: var(--cw-teal); background: var(--cw-sea); }.cw-result-yellow { color: #a47727; background: #fff2cc; }
.cw-result-item span:nth-child(2) { min-width: 0; flex: 1; }.cw-result-item strong, .cw-result-item small { display: block; }.cw-result-item strong { overflow: hidden; color: var(--cw-ink); font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }.cw-result-item small { margin-top: .18rem; color: #8ba5a0; font-size: .58rem; }
.cw-result-item b { padding: .26rem .42rem; border-radius: 999px; font-size: .56rem; }.cw-status-done { color: #2a8a6f; background: #e2f6ed; }.cw-status-live { color: #a47727; background: #fff2cc; }.cw-status-open { color: #5571ad; background: #e8edff; }
.cw-panel-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 1rem; margin-top: .7rem; border-top: 1px solid #e4f0ed; color: #89a19d; font-size: .62rem; }.cw-panel-footer strong { color: var(--cw-ink); font-size: .82rem; }.cw-panel-footer strong small { margin-left: .25rem; color: var(--cw-teal); font-size: .6rem; }
.cw-panel-filter { padding: .35rem .5rem; border: 1px solid var(--cw-line); border-radius: .4rem; color: #79958f; font-size: .59rem; font-weight: 600; }
.cw-score-head { display: flex; align-items: center; gap: .6rem; margin-top: 1.65rem; }.cw-score-head strong { color: var(--cw-ink); font-size: 2.55rem; letter-spacing: -.06em; }.cw-score-head span { padding: .28rem .4rem; color: #2a8a6f; border-radius: 999px; background: #e2f6ed; font-size: .6rem; font-weight: 800; }.cw-score-caption { color: #89a19d; font-size: .65rem; }.cw-progress-list { display: grid; gap: .75rem; margin-top: 1.5rem; }.cw-progress-list > div { display: grid; grid-template-columns: 1fr auto; gap: .3rem .7rem; color: var(--cw-ink-soft); font-size: .65rem; font-weight: 700; }.cw-progress-list b { color: var(--cw-teal); }.cw-progress-list i { grid-column: 1 / -1; display: block; height: .36rem; overflow: hidden; border-radius: 999px; background: #e5f1ed; }.cw-progress-list i em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cw-teal), #74c7b7); }.cw-analytics-footer, .cw-team-footer { display: flex; justify-content: space-between; padding-top: 1rem; margin-top: 1.2rem; border-top: 1px solid #e4f0ed; color: #89a19d; font-size: .6rem; }.cw-analytics-footer i, .cw-team-footer i { color: var(--cw-teal); }
.cw-member-row { display: flex; align-items: center; gap: .7rem; padding: .72rem 0; border-bottom: 1px solid #e4f0ed; }.cw-member-row > span:nth-child(2) { min-width: 0; flex: 1; }.cw-member-row strong, .cw-member-row small { display: block; }.cw-member-row strong { color: var(--cw-ink); font-size: .68rem; }.cw-member-row small { margin-top: .15rem; color: #89a19d; font-size: .58rem; }.cw-member-row b { color: var(--cw-teal); font-size: .59rem; font-weight: 800; }.cw-avatar { display: inline-flex; align-items: center; justify-content: center; width: 2.1rem; height: 2.1rem; border-radius: .7rem; font-size: .62rem; font-weight: 800; }.cw-avatar-teal { color: #267d70; background: var(--cw-sea); }.cw-avatar-yellow { color: #9c752d; background: #fff0c5; }.cw-avatar-blue { color: #5870ad; background: #e6ecff; }

.cw-stats-band { padding: 4.5rem 0; color: #fff; background: var(--cw-ink); }
.cw-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }.cw-stats-grid > div { padding-left: 1.5rem; border-left: 1px solid rgba(200, 241, 231, .22); }.cw-stats-grid strong { display: block; color: var(--cw-sea); font-size: 2.5rem; letter-spacing: -.05em; }.cw-stats-grid span, .cw-stats-grid small { display: block; }.cw-stats-grid span { margin-top: .25rem; color: #fff; font-size: .72rem; font-weight: 800; }.cw-stats-grid small { margin-top: .35rem; color: #91b8b0; font-size: .62rem; }
.cw-cta-section { padding: 7rem 0; background: var(--cw-paper); }.cw-cta-card { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 295px; overflow: hidden; padding: 3.5rem 4rem; border-radius: 1.25rem; color: #fff; background: #0b4b49; isolation: isolate; }.cw-cta-card::before { position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 80% 25%, rgba(80, 208, 181, .38), transparent 34%), radial-gradient(circle at 20% 110%, rgba(200, 241, 231, .18), transparent 35%); content: ""; }.cw-cta-card::after { position: absolute; right: -5%; bottom: -60%; z-index: -1; width: 55%; height: 110%; border: 1px solid rgba(200, 241, 231, .2); border-radius: 50%; box-shadow: 0 0 0 25px rgba(200, 241, 231, .04), 0 0 0 50px rgba(200, 241, 231, .03); content: ""; }.cw-cta-content .cw-eyebrow { color: var(--cw-sea); }.cw-cta-content h2 { color: #fff; font-size: clamp(2.25rem, 4vw, 3.7rem); }.cw-cta-content h2 em { color: var(--cw-sea); }.cw-cta-content p { max-width: 480px; margin: 1.2rem 0 0; color: #abd0c8; font-size: .86rem; line-height: 1.7; }.cw-cta-card .cw-button { position: relative; z-index: 1; flex: 0 0 auto; }
.cw-footer { padding: 4.5rem 0 1.4rem; color: #9dbcb6; background: #062f2e; }.cw-footer-top { display: grid; grid-template-columns: 2.1fr repeat(3, 1fr); gap: 3rem; padding-bottom: 3.5rem; }.cw-footer-brand { max-width: 280px; }.cw-footer-brand .spektra-brand { color: #fff !important; }.cw-footer-brand .spektra-brand-name { font-size: 1.15rem; }.cw-footer-brand p { margin: 1.1rem 0 0; color: #8ab1a9; font-size: .75rem; line-height: 1.75; }.cw-footer-top > div:not(.cw-footer-brand) { display: grid; align-content: start; gap: .7rem; }.cw-footer-heading { margin-bottom: .35rem; color: #d5eee7; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.cw-footer-top a { color: #8ab1a9; font-size: .72rem; text-decoration: none; transition: color .18s var(--cw-ease); }.cw-footer-top a:hover { color: #fff; }.cw-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.3rem; border-top: 1px solid rgba(200, 241, 231, .15); color: #709d94; font-size: .63rem; }

.cw-footer .cw-footer-top--simple {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    padding-bottom: 2.35rem;
}

.cw-footer-top--simple .cw-footer-brand {
    max-width: 460px;
}

.cw-footer-top--simple .cw-footer-brand p {
    max-width: 420px;
    margin-top: .8rem;
}

.cw-footer-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .7rem 1.6rem;
}

.cw-footer .cw-footer-nav a {
    position: relative;
    color: #9dbcb6;
    font-size: .72rem;
    font-weight: 600;
    text-decoration: none;
    transition: color .18s var(--cw-ease);
}

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

.cw-footer .cw-footer-nav a::after {
    position: absolute;
    right: 0;
    bottom: -.35rem;
    left: 0;
    height: 1px;
    background: var(--cw-sea);
    content: "";
    opacity: 0;
    transform: scaleX(.5);
    transition: opacity .18s var(--cw-ease), transform .18s var(--cw-ease);
}

.cw-footer .cw-footer-nav a:hover::after {
    opacity: 1;
    transform: scaleX(1);
}

/* ClearWave-inspired auth shell. */
body.cw-auth-body { min-height: 100vh; background: var(--cw-paper); }
body.cw-auth-body .theme-toggle-floating { color: var(--cw-ink) !important; border-color: rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .8); }
.cw-auth-page { display: grid; grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr); min-height: 100vh; background: var(--cw-paper); }
.cw-auth-form { position: relative; display: flex; align-items: center; justify-content: center; padding: 4rem clamp(2rem, 6vw, 7rem); }.cw-auth-inner { width: min(100%, 480px); }.cw-auth-inner .spektra-brand-auth .spektra-brand-name { color: var(--cw-ink); font-size: 1.35rem; }.cw-auth-inner .spektra-brand-auth .spektra-brand-mark { width: 2.5rem; height: 2.5rem; }.cw-auth-kicker { margin-top: 4.2rem; margin-bottom: 1rem; color: var(--cw-teal); font-size: .67rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }.cw-auth-kicker i { margin-right: .3rem; }.cw-auth-form h1 { margin: 0; color: var(--cw-ink); font-size: clamp(2.45rem, 4vw, 4rem); font-weight: 800; letter-spacing: -.06em; line-height: 1; }.cw-auth-form h1 em { color: var(--cw-teal); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }.cw-auth-intro { max-width: 390px; margin: 1.15rem 0 2rem; color: #6c8984; font-size: .88rem; line-height: 1.75; }.cw-form-stack { display: grid; gap: 1rem; }.cw-field { display: grid; gap: .42rem; color: var(--cw-ink-soft); font-size: .68rem; font-weight: 800; }.cw-field > span { display: flex; justify-content: space-between; }.cw-field input, .cw-field select { width: 100%; min-height: 3.15rem; padding: .8rem 1rem; border: 1px solid #cfe4de; border-radius: .55rem; outline: none; color: var(--cw-ink); background: rgba(255, 255, 255, .78); font: inherit; font-size: .84rem; font-weight: 500; transition: border-color .18s var(--cw-ease), box-shadow .18s var(--cw-ease), background-color .18s var(--cw-ease); }.cw-field input:focus, .cw-field select:focus { border-color: var(--cw-teal); box-shadow: 0 0 0 .22rem rgba(27, 154, 141, .12); background: #fff; }.cw-field input::placeholder { color: #9bb4af; }.cw-field.has-icon { position: relative; }.cw-field.has-icon input { padding-right: 3.1rem; }.cw-field.has-icon > i { position: absolute; right: .95rem; bottom: .95rem; color: #7fa39c; font-size: 1rem; }.cw-field.has-icon > i.button-icon { right: .6rem; bottom: .65rem; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: 0; background: transparent; cursor: pointer; }.cw-field.has-icon > i.button-icon:hover { color: var(--cw-teal); }.cw-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }.cw-submit { display: flex; align-items: center; justify-content: center; gap: .65rem; width: 100%; min-height: 3.15rem; margin-top: .35rem; border: 0; border-radius: .55rem; color: #fff; background: var(--cw-ink); box-shadow: 0 10px 22px rgba(7, 59, 58, .14); font: inherit; font-size: .82rem; font-weight: 800; cursor: pointer; transition: background-color .18s var(--cw-ease), transform .18s var(--cw-ease), box-shadow .18s var(--cw-ease); }.cw-submit:hover { color: #fff; background: var(--cw-teal); box-shadow: 0 12px 26px rgba(12, 113, 106, .2); transform: translateY(-2px); }.cw-auth-links { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; color: #75918c; font-size: .73rem; }.cw-auth-links a { color: var(--cw-teal); font-weight: 800; text-decoration: none; }.cw-auth-links a:hover { color: var(--cw-ink); }.cw-auth-showcase { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 4rem; color: #fff; background: var(--cw-ink); isolation: isolate; }.cw-auth-showcase::before { position: absolute; inset: -15%; z-index: -1; background: radial-gradient(circle at 25% 20%, rgba(101, 210, 187, .34), transparent 26%), radial-gradient(circle at 80% 80%, rgba(29, 132, 119, .36), transparent 34%); content: ""; }.cw-auth-showcase::after { position: absolute; right: -22%; bottom: -12%; z-index: -1; width: 105%; height: 65%; border: 1px solid rgba(200, 241, 231, .22); border-radius: 50%; box-shadow: 0 0 0 36px rgba(200, 241, 231, .06), 0 0 0 72px rgba(200, 241, 231, .04), 0 0 0 108px rgba(200, 241, 231, .025); content: ""; transform: rotate(-17deg); }.cw-auth-showcase-inner { width: min(100%, 560px); }.cw-auth-showcase-kicker { color: var(--cw-sea); font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.cw-auth-showcase h2 { max-width: 500px; margin: 1.1rem 0; color: #fff; font-size: clamp(2.4rem, 4vw, 4.2rem); font-weight: 800; letter-spacing: -.06em; line-height: 1; }.cw-auth-showcase h2 em { color: var(--cw-sea); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }.cw-auth-showcase p { max-width: 420px; color: #a7cec6; font-size: .88rem; line-height: 1.75; }.cw-auth-mini-dashboard { margin-top: 2.3rem; padding: 1rem; border: 1px solid rgba(200, 241, 231, .2); border-radius: 1rem; background: rgba(3, 37, 36, .45); box-shadow: 0 24px 55px rgba(0, 0, 0, .16); backdrop-filter: blur(10px); }.cw-mini-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: .8rem; border-bottom: 1px solid rgba(200, 241, 231, .14); color: #b8d9d2; font-size: .62rem; font-weight: 700; }.cw-mini-head i { color: var(--cw-sea); }.cw-mini-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; margin-top: .8rem; }.cw-mini-stat { padding: .7rem; border: 1px solid rgba(200, 241, 231, .12); border-radius: .55rem; background: rgba(255, 255, 255, .06); }.cw-mini-stat small, .cw-mini-stat strong { display: block; }.cw-mini-stat small { color: #88b6ad; font-size: .54rem; }.cw-mini-stat strong { margin-top: .25rem; color: #fff; font-size: 1.05rem; }.cw-mini-chart { display: flex; align-items: end; gap: .35rem; height: 72px; padding: .9rem .4rem .3rem; margin-top: .75rem; border-top: 1px solid rgba(200, 241, 231, .12); }.cw-mini-chart i { flex: 1; min-height: .3rem; border-radius: .2rem .2rem 0 0; background: var(--cw-teal-bright); }.cw-mini-chart i:nth-child(2n) { background: #72c7b5; }.cw-mini-chart i:nth-child(3n) { background: #e9ca76; }

.theme-dark body.cw-body,
.theme-dark body.cw-auth-body { background: #0b2928; color: #b8d6cf; }
.theme-dark body.cw-body .landing-navbar { background: rgba(11, 41, 40, .9) !important; border-color: rgba(200, 241, 231, .14) !important; }.theme-dark body.cw-body .landing-navbar .spektra-brand-navbar { color: #effaf6 !important; }.theme-dark body.cw-body .landing-navbar .navbar-nav .nav-link { color: #a6c7c0 !important; }.theme-dark body.cw-body .landing-navbar .navbar-nav .nav-link:hover, .theme-dark body.cw-body .landing-navbar .navbar-nav .nav-link.active { color: #e3faf3 !important; background: rgba(200, 241, 231, .1); }.theme-dark body.cw-body .landing-navbar .theme-toggle { color: #e3faf3 !important; border-color: rgba(200, 241, 231, .2); background: rgba(200, 241, 231, .08); }
.theme-dark .cw-page { background: #0b2928; }.theme-dark .cw-hero { background: #0b2928; border-color: rgba(200, 241, 231, .13); }.theme-dark .cw-hero::before { background: radial-gradient(circle at 84% 20%, rgba(27, 154, 141, .2), transparent 32%), linear-gradient(135deg, transparent 45%, rgba(27, 154, 141, .08)); }.theme-dark .cw-hero-copy h1, .theme-dark .cw-section-heading h2, .theme-dark .cw-feature-copy h3 { color: #effaf6; }.theme-dark .cw-hero-copy h1 em, .theme-dark .cw-section-heading h2 em, .theme-dark .cw-feature-copy h3 em { color: #8ed9ca; }.theme-dark .cw-hero-lead, .theme-dark .cw-section-heading p, .theme-dark .cw-feature-copy p { color: #9cc0b8; }.theme-dark .cw-button-quiet { color: #e7faf5 !important; border-color: rgba(200, 241, 231, .2); background: rgba(200, 241, 231, .07); }.theme-dark .cw-button-quiet:hover { color: #fff !important; background: rgba(200, 241, 231, .14); }.theme-dark .cw-hero-proof, .theme-dark .cw-trust-label { color: #8eb5ad; }.theme-dark .cw-proof-dots i { border-color: #0b2928; }
.theme-dark .cw-dashboard-card, .theme-dark .cw-float-note, .theme-dark .cw-ui-panel { border-color: rgba(200, 241, 231, .16); background: rgba(14, 54, 52, .9); box-shadow: 0 24px 55px rgba(0, 0, 0, .22); }.theme-dark .cw-window-bar, .theme-dark .cw-chart-heading, .theme-dark .cw-dashboard-intro strong, .theme-dark .cw-panel-top, .theme-dark .cw-result-item strong, .theme-dark .cw-panel-footer strong, .theme-dark .cw-score-head strong, .theme-dark .cw-member-row strong { color: #e8faf5; }.theme-dark .cw-window-bar, .theme-dark .cw-result-item, .theme-dark .cw-panel-footer, .theme-dark .cw-analytics-footer, .theme-dark .cw-team-footer { border-color: rgba(200, 241, 231, .13); }.theme-dark .cw-metric-card, .theme-dark .cw-chart-card { border-color: rgba(200, 241, 231, .13); background: rgba(255, 255, 255, .05); }.theme-dark .cw-chart-area { border-color: rgba(200, 241, 231, .13); background: repeating-linear-gradient(to bottom, transparent 0, transparent 27px, rgba(200, 241, 231, .08) 28px); }.theme-dark .cw-trust-strip { border-color: rgba(200, 241, 231, .13); background: #0e3634; }.theme-dark .cw-trust-items, .theme-dark .cw-check-list { color: #c0ded7; }.theme-dark .cw-section { background: #0b2928; }.theme-dark .cw-feature-number, .theme-dark .cw-check-list i, .theme-dark .cw-trust-items i { color: #8ed9ca; }.theme-dark .cw-check-list i { background: rgba(200, 241, 231, .12); }.theme-dark .cw-panel-top button, .theme-dark .cw-panel-filter { border-color: rgba(200, 241, 231, .16); color: #9ed9ce; background: rgba(200, 241, 231, .08); }.theme-dark .cw-score-caption, .theme-dark .cw-panel-footer, .theme-dark .cw-analytics-footer, .theme-dark .cw-team-footer, .theme-dark .cw-result-item small, .theme-dark .cw-member-row small { color: #82aaa2; }.theme-dark .cw-stats-band { background: #051f1e; }.theme-dark .cw-cta-section { background: #0b2928; }.theme-dark .cw-footer { background: #041a19; }

.theme-dark body.cw-auth-body { background: #0b2928; }.theme-dark .cw-auth-page { background: #0b2928; }.theme-dark .cw-auth-inner .spektra-brand-auth .spektra-brand-name, .theme-dark .cw-auth-form h1 { color: #effaf6; }.theme-dark .cw-auth-form h1 em { color: #8ed9ca; }.theme-dark .cw-auth-intro, .theme-dark .cw-field, .theme-dark .cw-auth-links { color: #9cc0b8; }.theme-dark .cw-field input, .theme-dark .cw-field select { color: #effaf6; border-color: rgba(200, 241, 231, .24); background: rgba(255, 255, 255, .06); }.theme-dark .cw-field input:focus, .theme-dark .cw-field select:focus { border-color: #64c6b5; background: rgba(255, 255, 255, .1); }.theme-dark .cw-field input::placeholder { color: #779d96; }.theme-dark .cw-auth-showcase { background: #041e1d; }.theme-dark .cw-auth-showcase h2 { color: #effaf6; }.theme-dark .cw-auth-showcase p { color: #9cc0b8; }.theme-dark .cw-auth-showcase-kicker { color: #8ed9ca; }.theme-dark .cw-auth-inner .spektra-brand-auth { color: #effaf6 !important; }

@media (max-width: 1100px) {
    .cw-hero-grid { grid-template-columns: 1fr; gap: 3.5rem; }.cw-hero-copy { max-width: 700px; }.cw-hero-visual { min-height: 480px; max-width: 680px; margin: 0 auto; width: 100%; }.cw-feature-row, .cw-feature-row-reverse { grid-template-columns: 1fr; gap: 2.5rem; }.cw-feature-row-reverse .cw-feature-copy { order: 1; }.cw-feature-row-reverse .cw-ui-panel { order: 2; }.cw-feature-copy { max-width: 620px; }.cw-footer-top { gap: 2rem; }
}

@media (max-width: 767px) {
    body.cw-body .landing-navbar .navbar-nav { margin: 1rem 0; gap: .25rem; }.cw-hero { min-height: 0; padding: 4rem 0 3.5rem; }.cw-hero-grid { gap: 2.5rem; }.cw-hero-copy h1 { font-size: clamp(2.75rem, 12vw, 4rem); }.cw-hero-lead { font-size: .92rem; }.cw-hero-visual { min-height: 360px; }.cw-dashboard-card { position: relative; top: 1rem; right: auto; width: 100%; transform: none; }.cw-float-note-top { top: -.5rem; left: -.3rem; }.cw-float-note-bottom { right: -.3rem; bottom: -.2rem; }.cw-float-note { padding: .55rem; }.cw-float-note strong { font-size: .6rem; }.cw-float-note small { font-size: .52rem; }.cw-trust-inner { display: block; }.cw-trust-items { justify-content: flex-start; gap: .85rem 1.1rem; margin-top: .85rem; }.cw-trust-items span { font-size: .64rem; }.cw-section { padding: 5rem 0; }.cw-section-heading { margin-bottom: 4rem; }.cw-section-heading h2 { font-size: 2.55rem; }.cw-feature-row { margin-bottom: 5.5rem; }.cw-feature-copy h3 { font-size: 2.55rem; }.cw-ui-panel { min-height: 0; padding: 1rem; }.cw-stats-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem 1rem; }.cw-stats-grid > div { padding-left: .8rem; }.cw-stats-grid strong { font-size: 2rem; }.cw-cta-section { padding: 4rem 0; }.cw-cta-card { display: block; padding: 2.5rem 1.5rem; }.cw-cta-card .cw-button { margin-top: 1.8rem; }.cw-footer-top { grid-template-columns: 1.5fr 1fr; gap: 2.2rem 1.4rem; }.cw-footer-bottom { display: grid; gap: .5rem; }.cw-auth-page { display: block; min-height: 100vh; }.cw-auth-form { min-height: 100vh; padding: 2rem 1.3rem 3rem; }.cw-auth-kicker { margin-top: 3.3rem; }.cw-auth-showcase { display: none; }.cw-auth-form h1 { font-size: 2.8rem; }.cw-form-grid { grid-template-columns: 1fr; gap: 1rem; }

    .cw-footer .cw-footer-top--simple {
        align-items: flex-start;
        flex-direction: column;
        gap: 1.7rem;
    }

    .cw-footer-nav {
        justify-content: flex-start;
        gap: .7rem 1.35rem;
    }
}

.cw-field.has-icon > .button-icon { position: absolute; right: .6rem; bottom: .65rem; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; border: 0; background: transparent; cursor: pointer; }
.cw-field.has-icon > .button-icon:hover { color: var(--cw-teal); }
.cw-field.has-icon > .button-icon i { pointer-events: none; }

@media (prefers-reduced-motion: reduce) {
    .cw-button, .cw-button i, .cw-field input, .cw-field select, .cw-submit, .cw-chart-area span { transition: none !important; }
}

/* Visual refinement: a calmer canvas and lighter editorial type scale. */
:root {
    --cw-ink: #104944;
    --cw-ink-soft: #526f6b;
    --cw-teal: #168b7d;
    --cw-teal-bright: #35ad99;
    --cw-sea: #d8f2ea;
    --cw-mint: #edf7f3;
    --cw-paper: #f8fbf8;
    --cw-line: #e0ece7;
}

body.cw-body,
body.cw-auth-body,
.cw-page,
.cw-footer,
.cw-auth-page {
    font-family: "DM Sans", "Segoe UI", Arial, sans-serif;
    font-synthesis: none;
}

.cw-eyebrow,
.cw-auth-kicker,
.cw-auth-showcase-kicker,
.cw-feature-number,
.cw-button,
.cw-submit,
.cw-check-list,
.cw-trust-items,
.cw-field,
.cw-auth-links {
    font-weight: 600;
}

.cw-hero-copy h1,
.cw-section-heading h2,
.cw-feature-copy h3,
.cw-cta-content h2,
.cw-auth-form h1,
.cw-auth-showcase h2 {
    font-weight: 600;
    letter-spacing: -.045em;
}

.cw-hero-copy h1,
.cw-auth-form h1 {
    text-shadow: none;
}

/* Deeper ClearWave night palette. Keep the landing page clearly darker than
   dashboard surfaces while preserving readable teal accents and text. */
html.theme-dark body.cw-body,
html.theme-dark body.cw-auth-body,
html.theme-dark .cw-page,
html.theme-dark .cw-auth-page {
    --cw-ink: #e8f7f2;
    --cw-ink-soft: #a7c4bd;
    --cw-teal: #55c7b4;
    --cw-teal-bright: #3db29f;
    --cw-sea: #173b38;
    --cw-mint: #102b29;
    --cw-paper: #061514;
    --cw-line: #153a36;
    color: var(--cw-ink-soft);
    background: var(--cw-paper) !important;
}

html.theme-dark body.cw-body .landing-navbar {
    background: rgba(3, 12, 12, .94) !important;
    border-color: #153a36 !important;
}

html.theme-dark body.cw-body .landing-navbar .navbar-nav .nav-link {
    color: #91b5ad !important;
}

html.theme-dark body.cw-body .landing-navbar .navbar-nav .nav-link:hover,
html.theme-dark body.cw-body .landing-navbar .navbar-nav .nav-link.active {
    color: #d9f3eb !important;
    background: #102b29;
}

html.theme-dark body.cw-body .landing-navbar .theme-toggle {
    color: #d9f3eb !important;
    border-color: #28524d;
    background: #0b2422;
}

html.theme-dark .cw-hero,
html.theme-dark .cw-section,
html.theme-dark .cw-cta-section {
    background: #061514 !important;
    border-color: #153a36;
}

html.theme-dark .cw-hero::before {
    background: radial-gradient(circle at 84% 20%, rgba(20, 105, 94, .16), transparent 32%), linear-gradient(135deg, transparent 45%, rgba(14, 69, 63, .12));
}

html.theme-dark .cw-hero::after,
html.theme-dark .cw-hero-orbit {
    border-color: rgba(68, 171, 153, .12);
    box-shadow: 0 0 0 35px rgba(68, 171, 153, .025), 0 0 0 70px rgba(68, 171, 153, .018);
}

html.theme-dark .cw-hero-copy h1,
html.theme-dark .cw-section-heading h2,
html.theme-dark .cw-feature-copy h3 {
    color: #e8f7f2;
}

html.theme-dark .cw-hero-lead,
html.theme-dark .cw-section-heading p,
html.theme-dark .cw-feature-copy p {
    color: #8eafa8;
}

html.theme-dark .cw-dashboard-card,
html.theme-dark .cw-float-note,
html.theme-dark .cw-ui-panel {
    border-color: #1b4842;
    background: #0a211f;
    box-shadow: 0 26px 60px rgba(0, 0, 0, .42), 0 2px 8px rgba(0, 0, 0, .2);
}

html.theme-dark .cw-metric-card,
html.theme-dark .cw-chart-card {
    border-color: #1b413d;
    background: #0d2927;
}

html.theme-dark .cw-chart-area {
    border-color: #1b413d;
    background: repeating-linear-gradient(to bottom, transparent 0, transparent 27px, rgba(56, 137, 123, .11) 28px);
}

html.theme-dark .cw-trust-strip {
    border-color: #153a36;
    background: #081c1b;
}

html.theme-dark .cw-cta-card {
    background: #082a28;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .3);
}

html.theme-dark .cw-stats-band {
    background: #020b0b;
}

html.theme-dark .cw-footer {
    background: #010707;
    border-color: #102b29;
}

html.theme-dark .cw-auth-showcase {
    background: #020b0b;
}

html.theme-dark .cw-auth-form {
    background: #061514;
}

html.theme-dark .cw-field input,
html.theme-dark .cw-field select {
    background: #0b2422;
    border-color: #28524d;
}

html.theme-dark .cw-field input:focus,
html.theme-dark .cw-field select:focus {
    background: #0e2d2a;
}

.cw-hero-lead,
.cw-section-heading p,
.cw-feature-copy p,
.cw-auth-intro,
.cw-auth-showcase p {
    color: #647d78;
}

.cw-hero,
.cw-section,
.cw-cta-section,
.cw-auth-page {
    background: var(--cw-paper);
}

.cw-trust-strip {
    background: #fcfefc;
}

.cw-dashboard-card,
.cw-ui-panel,
.cw-float-note {
    box-shadow: 0 24px 58px rgba(16, 73, 68, .1), 0 2px 8px rgba(16, 73, 68, .04);
}

.cw-auth-form h1,
.cw-auth-showcase h2 {
    line-height: 1.04;
}

.theme-dark body.cw-body,
.theme-dark body.cw-auth-body,
.theme-dark .cw-page,
.theme-dark .cw-hero,
.theme-dark .cw-section,
.theme-dark .cw-cta-section,
.theme-dark .cw-auth-page {
    background: #103a37;
}

.theme-dark body.cw-body .landing-navbar {
    background: rgba(16, 58, 55, .94) !important;
}

.theme-dark .cw-trust-strip {
    background: #144540;
}

.theme-dark .cw-stats-band {
    background: #0c302e;
}

.theme-dark .cw-footer {
    background: #082724;
}

.theme-dark .cw-auth-showcase {
    background: #0d3532;
}

@media (max-width: 767px) {
    .cw-hero-copy h1,
    .cw-auth-form h1 {
        letter-spacing: -.035em;
    }
}

/* Animated assessment ticker inspired by ClearWave's logo strip. */
.cw-trust-strip {
    overflow: hidden;
    padding: 1.4rem 0 1.55rem;
}

.cw-trust-inner {
    display: block;
}

.cw-trust-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .95rem;
}

.cw-trust-label {
    color: var(--cw-teal);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.cw-trust-caption {
    color: #7d9993;
    font-size: .76rem;
}

.cw-trust-marquee {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}

.cw-trust-track {
    display: flex;
    width: max-content;
    animation: cw-trust-marquee 30s linear infinite;
    will-change: transform;
}

.cw-trust-marquee:hover .cw-trust-track,
.cw-trust-marquee:focus-within .cw-trust-track {
    animation-play-state: paused;
}

.cw-trust-set {
    display: flex;
    gap: .85rem;
    padding-right: .85rem;
}

.cw-trust-item {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .75rem;
    min-width: 218px;
    min-height: 4.35rem;
    padding: .8rem 1.05rem;
    border: 1px solid var(--cw-line);
    border-radius: .8rem;
    color: var(--cw-ink);
    background: rgba(255, 255, 255, .8);
    box-shadow: 0 8px 22px rgba(16, 73, 68, .055);
    transition: border-color .2s var(--cw-ease), background-color .2s var(--cw-ease), transform .2s var(--cw-ease);
}

.cw-trust-item:hover {
    border-color: #a9d9ce;
    background: #fff;
    transform: translateY(-2px);
}

.cw-trust-item > i {
    display: inline-flex;
    flex: 0 0 2.45rem;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    color: var(--cw-teal);
    border-radius: .65rem;
    background: var(--cw-sea);
    font-size: 1.15rem;
}

.cw-trust-item span {
    display: block;
    min-width: 0;
}

.cw-trust-item strong,
.cw-trust-item small {
    display: block;
}

.cw-trust-item strong {
    color: var(--cw-ink);
    font-size: .82rem;
    font-weight: 700;
}

.cw-trust-item small {
    margin-top: .2rem;
    color: #809a94;
    font-size: .64rem;
}

@keyframes cw-trust-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.theme-dark .cw-trust-caption {
    color: #96b8b0;
}

.theme-dark .cw-trust-item {
    border-color: rgba(200, 241, 231, .16);
    color: #e7faf5;
    background: rgba(255, 255, 255, .06);
    box-shadow: none;
}

.theme-dark .cw-trust-item:hover {
    border-color: rgba(142, 217, 202, .5);
    background: rgba(255, 255, 255, .1);
}

.theme-dark .cw-trust-item > i {
    color: #9ce0d0;
    background: rgba(200, 241, 231, .12);
}

.theme-dark .cw-trust-item strong {
    color: #e7faf5;
}

.theme-dark .cw-trust-item small {
    color: #91b6ae;
}

@media (max-width: 767px) {
    .cw-trust-strip {
        padding: 1.2rem 0 1.3rem;
    }

    .cw-trust-heading {
        display: block;
        margin-bottom: .8rem;
    }

    .cw-trust-caption {
        display: block;
        margin-top: .3rem;
        font-size: .7rem;
    }

    .cw-trust-item {
        min-width: 195px;
        min-height: 4.05rem;
        padding: .7rem .85rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cw-trust-track {
        animation: none;
    }

    .cw-trust-item {
        transition: none;
    }
}

/* Hero refinement based on the downloaded ClearWave reference. */
body.cw-body,
body.cw-body .cw-page,
body.cw-body .cw-hero,
body.cw-body .cw-section,
body.cw-body .cw-cta-section {
    background: #e8f4f2;
}

body.cw-body .cw-trust-strip {
    background: #fff;
}

.cw-hero {
    min-height: 610px;
    padding: 4.6rem 0 4.75rem;
}

.cw-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 2.35rem;
    padding: .35rem 1rem .35rem .42rem;
    margin-bottom: 1.45rem;
    border: 1px solid rgba(22, 139, 125, .16);
    border-radius: 999px;
    color: #526f6b;
    background: #fff;
    box-shadow: 0 2px 12px rgba(16, 73, 68, .07);
    font-size: .78rem;
    font-weight: 500;
}

.cw-hero-badge strong {
    color: var(--cw-teal);
    font-weight: 700;
}

.cw-hero-badge-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    color: #fff;
    border-radius: 50%;
    background: var(--cw-teal);
    font-size: .76rem;
}

.cw-hero-copy h1 {
    font-size: clamp(3rem, 5vw, 5.1rem);
}

.cw-hero-title-line {
    font-weight: 750;

    white-space: nowrap;
    font-size: .70em;
}

.cw-hero-wordmark {
    display: inline-block;
    font-size: 1.5em;
    font-weight: 400;
    letter-spacing: -.04em;
    line-height: 1;
    text-transform: lowercase;
}

.theme-dark body.cw-body,
.theme-dark body.cw-body .cw-page,
.theme-dark body.cw-body .cw-hero,
.theme-dark body.cw-body .cw-section,
.theme-dark body.cw-body .cw-cta-section {
    background: #103a37;
}

.theme-dark .cw-hero-badge {
    border-color: rgba(200, 241, 231, .2);
    color: #b9d9d2;
    background: rgba(255, 255, 255, .1);
    box-shadow: none;
}

@media (max-width: 767px) {
    .cw-container {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    .cw-hero {
        min-height: 0;
        padding: 3.15rem 0 3.5rem;
    }

    .cw-hero-badge {
        margin-bottom: 1.15rem;
        font-size: .72rem;
    }

    .cw-hero-copy h1 {
        font-size: clamp(2.45rem, 10vw, 3.4rem);
    }

    .cw-hero-title-line {
        white-space: normal;
    }
}

/* Scroll-aware navigation and the reference phone carousel. */
body.cw-body .landing-navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(232, 244, 242, .74) !important;
    box-shadow: 0 1px 0 rgba(13, 30, 28, .04);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: background-color .55s var(--cw-ease), box-shadow .55s var(--cw-ease), border-color .55s var(--cw-ease);
}

body.cw-body .landing-navbar.cw-nav-scrolled {
    background: rgba(255, 255, 255, .94) !important;
    border-bottom-color: rgba(13, 30, 28, .08) !important;
    box-shadow: 0 8px 24px rgba(13, 30, 28, .07);
}

.theme-dark body.cw-body .landing-navbar {
    background: rgba(16, 58, 55, .76) !important;
    border-bottom-color: rgba(200, 241, 231, .12) !important;
}

.theme-dark body.cw-body .landing-navbar.cw-nav-scrolled {
    background: rgba(11, 43, 40, .96) !important;
    border-bottom-color: rgba(200, 241, 231, .18) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
}

.cw-screens-section {
    overflow: hidden;
    padding: 7rem 0 4.5rem;
    border-top: 1px solid rgba(13, 30, 28, .08);
    border-bottom: 1px solid rgba(13, 30, 28, .08);
    background: #f4fafa;
}

.cw-screens-heading {
    max-width: 620px;
    margin: 0 auto;
    text-align: center;
}

.cw-screens-heading .cw-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .38rem .82rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(26, 122, 110, .15);
    border-radius: 999px;
    color: var(--cw-teal);
    background: rgba(26, 122, 110, .08);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.cw-screens-heading .cw-eyebrow::before {
    width: .38rem;
    height: .38rem;
    border-radius: 50%;
    background: var(--cw-teal);
    content: "";
}

.cw-screens-heading h2 {
    margin: 0;
    color: var(--cw-ink);
    font-size: clamp(2.5rem, 4.2vw, 4rem);
    font-weight: 600;
    letter-spacing: -.045em;
    line-height: 1.04;
}

.cw-screens-heading h2 em {
    color: var(--cw-teal);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.cw-screens-heading p {
    max-width: 510px;
    margin: 1.25rem auto 0;
    color: #647d78;
    font-size: .95rem;
    line-height: 1.75;
}

.cw-phone-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.05rem;
    margin: 1.8rem auto 0;
}

.cw-phone-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border: 1px solid rgba(26, 122, 110, .18);
    border-radius: 50%;
    color: var(--cw-teal);
    background: #fff;
    cursor: pointer;
    transition: color .3s var(--cw-ease), background-color .3s var(--cw-ease), transform .3s var(--cw-ease);
}

.cw-phone-control:hover {
    color: #fff;
    background: var(--cw-teal);
    transform: scale(1.05);
}

.cw-phone-dots {
    display: flex;
    align-items: center;
    gap: .42rem;
}

.cw-phone-dot {
    width: .45rem;
    height: .45rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(26, 122, 110, .2);
    cursor: pointer;
    transition: width .35s var(--cw-ease), background-color .35s var(--cw-ease), transform .35s var(--cw-ease);
}

.cw-phone-dot.active {
    width: 1.3rem;
    background: var(--cw-teal);
}

.cw-phone-stage {
    --phone-gap1: clamp(190px, 21vw, 300px);
    --phone-gap2: clamp(330px, 35vw, 520px);
    --phone-gap-hidden: clamp(470px, 48vw, 720px);
    position: relative;
    height: 650px;
    overflow: hidden;
    perspective: 1500px;
    perspective-origin: center center;
}

.cw-phone-track {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
}

.cw-phone-card {
    position: absolute;
    top: 50%;
    left: 50%;
    width: clamp(205px, 17vw, 260px);
    cursor: pointer;
    opacity: 0;
    transform-origin: center center;
    transition: transform .7s var(--cw-ease), opacity .7s var(--cw-ease);
    will-change: transform, opacity;
}

.cw-phone-card[data-position="center"] {
    z-index: 10;
    opacity: 1;
    cursor: default;
    transform: translate(-50%, -50%) rotateY(0deg) scale(1);
}

.cw-phone-card[data-position="left1"] {
    z-index: 8;
    opacity: 1;
    transform: translate(calc(-50% - var(--phone-gap1)), -50%) rotateY(28deg) scale(.82);
}

.cw-phone-card[data-position="right1"] {
    z-index: 8;
    opacity: 1;
    transform: translate(calc(-50% + var(--phone-gap1)), -50%) rotateY(-28deg) scale(.82);
}

.cw-phone-card[data-position="left2"] {
    z-index: 6;
    opacity: .48;
    transform: translate(calc(-50% - var(--phone-gap2)), -50%) rotateY(45deg) scale(.64);
}

.cw-phone-card[data-position="right2"] {
    z-index: 6;
    opacity: .48;
    transform: translate(calc(-50% + var(--phone-gap2)), -50%) rotateY(-45deg) scale(.64);
}

.cw-phone-card[data-position="hidden-left"] {
    z-index: 4;
    opacity: 0;
    pointer-events: none;
    transform: translate(calc(-50% - var(--phone-gap-hidden)), -50%) rotateY(60deg) scale(.48);
}

.cw-phone-card[data-position="hidden-right"] {
    z-index: 4;
    opacity: 0;
    pointer-events: none;
    transform: translate(calc(-50% + var(--phone-gap-hidden)), -50%) rotateY(-60deg) scale(.48);
}

.cw-phone-shell {
    position: relative;
    overflow: hidden;
    padding: 5px;
    border: 1px solid rgba(150, 175, 170, .55);
    border-radius: 32px;
    background: #c8d4d2;
    box-shadow: 0 0 0 1px rgba(150, 175, 170, .3), 0 28px 64px rgba(13, 30, 28, .18), inset 0 1px 0 rgba(255, 255, 255, .65);
}

.cw-phone-shell::before {
    position: absolute;
    top: 11px;
    left: 50%;
    z-index: 2;
    width: 3.9rem;
    height: .3rem;
    border-radius: 999px;
    background: rgba(13, 30, 28, .25);
    content: "";
    transform: translateX(-50%);
}

.cw-phone-shell img {
    display: block;
    width: 100%;
    aspect-ratio: 9 / 19.5;
    border-radius: 28px;
    object-fit: cover;
}

.cw-phone-preview-dark {
    display: none !important;
}

html.theme-dark body.cw-body .cw-phone-preview-light {
    display: none !important;
}

html.theme-dark body.cw-body .cw-phone-preview-dark {
    display: block !important;
}

.theme-dark .cw-screens-section {
    border-color: rgba(200, 241, 231, .13);
    background: #0e3634;
}

.theme-dark .cw-screens-heading h2 {
    color: #effaf6;
}

.theme-dark .cw-screens-heading h2 em {
    color: #8ed9ca;
}

.theme-dark .cw-screens-heading p {
    color: #9cc0b8;
}

.theme-dark .cw-phone-control {
    border-color: rgba(200, 241, 231, .18);
    color: #9ed9ce;
    background: rgba(255, 255, 255, .06);
}

.theme-dark .cw-phone-control:hover {
    color: #0e3634;
    background: #9ed9ce;
}

.theme-dark .cw-phone-dot {
    background: rgba(200, 241, 231, .2);
}

.theme-dark .cw-phone-dot.active {
    background: #9ed9ce;
}

@media (max-width: 1100px) {
    .cw-phone-stage {
        height: 590px;
        --phone-gap1: clamp(170px, 25vw, 260px);
        --phone-gap2: clamp(300px, 40vw, 440px);
        --phone-gap-hidden: clamp(420px, 52vw, 600px);
    }
}

@media (max-width: 767px) {
    .cw-screens-section {
        padding: 5rem 0 2.5rem;
    }

    .cw-screens-heading h2 {
        font-size: 2.55rem;
    }

    .cw-phone-stage {
        height: 500px;
        --phone-gap1: 145px;
        --phone-gap2: 255px;
        --phone-gap-hidden: 350px;
    }

    .cw-phone-card {
        width: 180px;
    }

    .cw-phone-card[data-position="left2"],
    .cw-phone-card[data-position="right2"] {
        opacity: .22;
    }

    .cw-phone-shell {
        border-radius: 27px;
    }

    .cw-phone-shell img {
        border-radius: 23px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cw-phone-card,
    .cw-phone-control,
    .cw-phone-dot {
        transition: none;
    }
}

/* Final landing dark-mode palette: keep every section and surface consistent. */
html.theme-dark body.cw-body {
    --cw-ink: #effaf6;
    --cw-ink-soft: #b9d8d1;
    --cw-teal: #8ed9ca;
    --cw-teal-bright: #5bbfb5;
    --cw-sea: rgba(142, 217, 202, .14);
    --cw-mint: rgba(142, 217, 202, .1);
    --cw-paper: #0b2928;
    --cw-line: rgba(200, 241, 231, .15);
    color: #b9d8d1;
    background: #0b2928;
}

html.theme-dark body.cw-body .cw-page,
html.theme-dark body.cw-body .cw-hero,
html.theme-dark body.cw-body .cw-section,
html.theme-dark body.cw-body .cw-cta-section {
    background: #103a37 !important;
    border-color: rgba(200, 241, 231, .13);
}

html.theme-dark body.cw-body .cw-hero::before {
    background: radial-gradient(circle at 84% 20%, rgba(53, 173, 153, .2), transparent 32%), linear-gradient(135deg, transparent 45%, rgba(53, 173, 153, .08));
}

html.theme-dark body.cw-body .cw-hero::after,
html.theme-dark body.cw-body .cw-hero-orbit {
    border-color: rgba(142, 217, 202, .14);
    box-shadow: 0 0 0 35px rgba(142, 217, 202, .035), 0 0 0 70px rgba(142, 217, 202, .025);
}

html.theme-dark body.cw-body .landing-navbar,
html.theme-dark body.cw-body .landing-navbar.cw-nav-scrolled {
    color: #d9f1eb;
    background: rgba(11, 43, 40, .96) !important;
    border-bottom-color: rgba(200, 241, 231, .18) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
}

html.theme-dark body.cw-body .landing-navbar .navbar-nav .nav-link {
    color: #a6c7c0 !important;
}

html.theme-dark body.cw-body .landing-navbar .navbar-nav .nav-link:hover,
html.theme-dark body.cw-body .landing-navbar .navbar-nav .nav-link.active {
    color: #e3faf3 !important;
    background: rgba(200, 241, 231, .1);
}

html.theme-dark body.cw-body .landing-navbar .theme-toggle {
    color: #e3faf3 !important;
    border-color: rgba(200, 241, 231, .2);
    background: rgba(200, 241, 231, .08);
}

html.theme-dark body.cw-body .cw-hero-badge {
    color: #b9d9d2;
    border-color: rgba(200, 241, 231, .2);
    background: rgba(255, 255, 255, .08);
    box-shadow: none;
}

html.theme-dark body.cw-body .cw-hero-copy h1,
html.theme-dark body.cw-body .cw-section-heading h2,
html.theme-dark body.cw-body .cw-feature-copy h3,
html.theme-dark body.cw-body .cw-screens-heading h2 {
    color: #effaf6;
}

html.theme-dark body.cw-body .cw-hero-copy h1 em,
html.theme-dark body.cw-body .cw-section-heading h2 em,
html.theme-dark body.cw-body .cw-feature-copy h3 em,
html.theme-dark body.cw-body .cw-screens-heading h2 em {
    color: #8ed9ca;
}

html.theme-dark body.cw-body .cw-hero-lead,
html.theme-dark body.cw-body .cw-section-heading p,
html.theme-dark body.cw-body .cw-feature-copy p,
html.theme-dark body.cw-body .cw-screens-heading p {
    color: #9cc0b8;
}

html.theme-dark body.cw-body .cw-dashboard-card,
html.theme-dark body.cw-body .cw-ui-panel,
html.theme-dark body.cw-body .cw-float-note {
    border-color: rgba(200, 241, 231, .16);
    background: #123f3c;
    box-shadow: 0 24px 55px rgba(0, 0, 0, .22);
}

html.theme-dark body.cw-body .cw-window-bar,
html.theme-dark body.cw-body .cw-result-item,
html.theme-dark body.cw-body .cw-panel-footer,
html.theme-dark body.cw-body .cw-analytics-footer,
html.theme-dark body.cw-body .cw-team-footer,
html.theme-dark body.cw-body .cw-member-row {
    border-color: rgba(200, 241, 231, .13);
}

html.theme-dark body.cw-body .cw-window-bar,
html.theme-dark body.cw-body .cw-dashboard-intro span:not(.cw-live-pill),
html.theme-dark body.cw-body .cw-metric-card small,
html.theme-dark body.cw-body .cw-chart-heading small,
html.theme-dark body.cw-body .cw-chart-labels,
html.theme-dark body.cw-body .cw-float-note small,
html.theme-dark body.cw-body .cw-result-item small,
html.theme-dark body.cw-body .cw-member-row small,
html.theme-dark body.cw-body .cw-panel-footer,
html.theme-dark body.cw-body .cw-analytics-footer,
html.theme-dark body.cw-body .cw-team-footer,
html.theme-dark body.cw-body .cw-score-caption {
    color: #82aaa2;
}

html.theme-dark body.cw-body .cw-dashboard-intro strong,
html.theme-dark body.cw-body .cw-chart-heading,
html.theme-dark body.cw-body .cw-metric-card strong,
html.theme-dark body.cw-body .cw-result-item strong,
html.theme-dark body.cw-body .cw-panel-top,
html.theme-dark body.cw-body .cw-panel-footer strong,
html.theme-dark body.cw-body .cw-score-head strong,
html.theme-dark body.cw-body .cw-member-row strong,
html.theme-dark body.cw-body .cw-float-note strong {
    color: #e8faf5;
}

html.theme-dark body.cw-body .cw-metric-card,
html.theme-dark body.cw-body .cw-chart-card {
    border-color: rgba(200, 241, 231, .13);
    background: rgba(255, 255, 255, .05);
}

html.theme-dark body.cw-body .cw-chart-area {
    border-bottom-color: rgba(200, 241, 231, .13);
    background: repeating-linear-gradient(to bottom, transparent 0, transparent 27px, rgba(200, 241, 231, .08) 28px);
}

html.theme-dark body.cw-body .cw-chart-area span:nth-child(3n) {
    background: linear-gradient(to top, #5c9e93, #8ed9ca);
}

html.theme-dark body.cw-body .cw-float-icon {
    color: #9ce0d0;
    background: rgba(200, 241, 231, .12);
}

html.theme-dark body.cw-body .cw-trust-strip,
html.theme-dark body.cw-body .cw-screens-section {
    border-color: rgba(200, 241, 231, .13);
    background: #0e3634 !important;
}

html.theme-dark body.cw-body .cw-trust-label,
html.theme-dark body.cw-body .cw-trust-caption {
    color: #8eb5ad;
}

html.theme-dark body.cw-body .cw-trust-item {
    color: #c0ded7;
    border-color: rgba(200, 241, 231, .16);
    background: rgba(255, 255, 255, .06);
    box-shadow: none;
}

html.theme-dark body.cw-body .cw-trust-item strong {
    color: #e7faf5;
}

html.theme-dark body.cw-body .cw-trust-item small {
    color: #91b6ae;
}

html.theme-dark body.cw-body .cw-trust-item > i {
    color: #9ce0d0;
    background: rgba(200, 241, 231, .12);
}

html.theme-dark body.cw-body .cw-screens-heading .cw-eyebrow {
    color: #8ed9ca;
    border-color: rgba(142, 217, 202, .24);
    background: rgba(142, 217, 202, .1);
}

html.theme-dark body.cw-body .cw-screens-heading .cw-eyebrow::before {
    background: #8ed9ca;
}

html.theme-dark body.cw-body .cw-phone-shell {
    border-color: rgba(200, 241, 231, .38);
    background: #294a47;
    box-shadow: 0 0 0 1px rgba(200, 241, 231, .18), 0 28px 64px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .3);
}

html.theme-dark body.cw-body .cw-phone-shell::before {
    background: rgba(4, 26, 25, .55);
}

html.theme-dark body.cw-body .cw-check-list,
html.theme-dark body.cw-body .cw-progress-list > div {
    color: #c0ded7;
}

html.theme-dark body.cw-body .cw-check-list i {
    color: #8ed9ca;
    background: rgba(200, 241, 231, .12);
}

html.theme-dark body.cw-body .cw-result-item {
    border-bottom-color: rgba(200, 241, 231, .13);
}

html.theme-dark body.cw-body .cw-result-blue,
html.theme-dark body.cw-body .cw-result-teal,
html.theme-dark body.cw-body .cw-result-yellow,
html.theme-dark body.cw-body .cw-avatar-teal,
html.theme-dark body.cw-body .cw-avatar-yellow,
html.theme-dark body.cw-body .cw-avatar-blue {
    color: #b9e7dc;
    background: rgba(200, 241, 231, .12);
}

html.theme-dark body.cw-body .cw-status-done,
html.theme-dark body.cw-body .cw-status-live,
html.theme-dark body.cw-body .cw-status-open,
html.theme-dark body.cw-body .cw-score-head span {
    color: #b9e7dc;
    background: rgba(200, 241, 231, .12);
}

html.theme-dark body.cw-body .cw-progress-list i {
    background: rgba(200, 241, 231, .12);
}

html.theme-dark body.cw-body .cw-panel-top button,
html.theme-dark body.cw-body .cw-panel-filter {
    color: #9ed9ce;
    border-color: rgba(200, 241, 231, .16);
    background: rgba(200, 241, 231, .08);
}

html.theme-dark body.cw-body .cw-stats-band {
    color: #effaf6;
    background: #082724;
}

html.theme-dark body.cw-body .cw-stats-grid strong {
    color: #8ed9ca;
}

html.theme-dark body.cw-body .cw-stats-grid span {
    color: #effaf6;
}

html.theme-dark body.cw-body .cw-stats-grid small {
    color: #91b8b0;
}

html.theme-dark body.cw-body .cw-cta-section {
    background: #0b2928 !important;
}

html.theme-dark body.cw-body .cw-cta-card {
    background: #0b4b49;
}

html.theme-dark body.cw-body .cw-footer {
    color: #9dbcb6;
    background: #041a19;
}

html.theme-dark body.cw-body .cw-footer-brand p,
html.theme-dark body.cw-body .cw-footer-top a {
    color: #8ab1a9;
}

html.theme-dark body.cw-body .cw-footer-heading {
    color: #d5eee7;
}

html.theme-dark body.cw-body .cw-footer-top a:hover {
    color: #fff;
}

/* Final dark-mode overrides: this block intentionally stays last so the
   landing page does not inherit the lighter intermediate night palette. */
html.theme-dark body.cw-body,
html.theme-dark body.cw-body .cw-page,
html.theme-dark body.cw-body .cw-hero,
html.theme-dark body.cw-body .cw-section,
html.theme-dark body.cw-body .cw-screens-section,
html.theme-dark body.cw-body .cw-cta-section {
    background: #061514 !important;
}

html.theme-dark body.cw-body .landing-navbar {
    background: rgba(2, 9, 9, .96) !important;
    border-color: #102b29 !important;
}

html.theme-dark body.cw-body .cw-hero::before {
    background: radial-gradient(circle at 84% 20%, rgba(18, 88, 79, .13), transparent 32%), linear-gradient(135deg, transparent 45%, rgba(9, 48, 44, .09));
}

html.theme-dark body.cw-body .cw-dashboard-card,
html.theme-dark body.cw-body .cw-float-note,
html.theme-dark body.cw-body .cw-ui-panel {
    background: #081b1a !important;
    border-color: #153a36;
}

html.theme-dark body.cw-body .cw-metric-card,
html.theme-dark body.cw-body .cw-chart-card {
    background: #0a211f !important;
    border-color: #173c38;
}

html.theme-dark body.cw-body .cw-trust-strip,
html.theme-dark body.cw-body .cw-trust-item {
    background: #061918 !important;
}

html.theme-dark body.cw-body .cw-trust-item {
    border-color: #153a36;
}

html.theme-dark body.cw-body .cw-phone-shell {
    background: #0a2422;
    border-color: #28524d;
}

html.theme-dark body.cw-body .cw-cta-card {
    background: #061d1c !important;
}

html.theme-dark body.cw-body .cw-stats-band {
    background: #010707 !important;
}

html.theme-dark body.cw-body .cw-footer {
    background: #010707 !important;
    border-color: #0b2422;
}

html.theme-dark body.cw-auth-body,
html.theme-dark body.cw-auth-body .cw-auth-page,
html.theme-dark body.cw-auth-body .cw-auth-form {
    background: #061514 !important;
}

html.theme-dark body.cw-auth-body .cw-auth-showcase {
    background: #010707 !important;
}

/* The landing navbar previously replaced the sky background with a nearly
   white surface, making the white daytime clouds disappear. */
html:not(.theme-dark) body.cw-body .landing-navbar .theme-toggle {
    color: #174f70 !important;
    border-color: rgba(42, 126, 169, .34) !important;
    background: #7dcef3 !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, .55), 0 3px 10px rgba(42, 126, 169, .2) !important;
}

html:not(.theme-dark) body.cw-body .landing-navbar .theme-toggle:hover,
html:not(.theme-dark) body.cw-body .landing-navbar .theme-toggle:focus-visible {
    background: #68c4ed !important;
}

html:not(.theme-dark) body.cw-body .landing-navbar .theme-toggle .theme-toggle__cloud {
    opacity: .95 !important;
    visibility: visible !important;
}

html.theme-dark body.cw-body .landing-navbar .theme-toggle {
    border-color: rgba(143, 164, 230, .32) !important;
    background: #172d64 !important;
}

/* Landing content is visible immediately; no scroll-triggered render delay. */
body.cw-body [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
}

body.cw-body [data-reveal].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* A lighter, editorial CTA that follows the landing page's paper-and-teal
   palette instead of introducing another oversized dark banner. */
body.cw-body .cw-cta-section {
    padding: 5.5rem 0 6.5rem;
    background: var(--cw-paper) !important;
}

body.cw-body .cw-cta-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(2rem, 5vw, 5rem);
    min-height: 238px;
    overflow: hidden;
    padding: clamp(2rem, 4vw, 3.25rem) clamp(1.5rem, 5vw, 4.25rem);
    border: 1px solid rgba(12, 113, 106, .16);
    border-radius: 1.5rem;
    color: var(--cw-ink);
    background: linear-gradient(115deg, #ffffff 0%, #f1faf6 58%, #e2f5ef 100%);
    box-shadow: 0 18px 45px rgba(7, 59, 58, .09);
    isolation: isolate;
}

body.cw-body .cw-cta-card::before {
    position: absolute;
    top: -45%;
    right: -4%;
    z-index: -1;
    width: 47%;
    height: 190%;
    border: 1px solid rgba(12, 113, 106, .13);
    border-radius: 50%;
    box-shadow: 0 0 0 22px rgba(12, 113, 106, .035), 0 0 0 44px rgba(12, 113, 106, .025);
    content: "";
    transform: rotate(-18deg);
}

body.cw-body .cw-cta-card::after {
    position: absolute;
    right: 8%;
    bottom: -5rem;
    z-index: -1;
    width: 13rem;
    height: 13rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(142, 217, 202, .28) 0%, rgba(142, 217, 202, 0) 68%);
    content: "";
    pointer-events: none;
}

body.cw-body .cw-cta-content {
    position: relative;
    z-index: 1;
    max-width: 610px;
}

body.cw-body .cw-cta-content .cw-eyebrow {
    margin-bottom: .85rem;
    color: var(--cw-teal);
}

body.cw-body .cw-cta-content h2 {
    color: var(--cw-ink);
    font-size: clamp(2rem, 4.1vw, 3.55rem);
    line-height: 1.04;
}

body.cw-body .cw-cta-content h2 em {
    color: var(--cw-teal);
}

body.cw-body .cw-cta-content p {
    max-width: 500px;
    margin: 1rem 0 0;
    color: #5e7c77;
    font-size: .9rem;
    line-height: 1.7;
}

body.cw-body .cw-cta-card .cw-button {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    white-space: nowrap;
}

html.theme-dark body.cw-body .cw-cta-section {
    background: #061514 !important;
}

html.theme-dark body.cw-body .cw-cta-card {
    border-color: rgba(142, 217, 202, .2);
    color: #effaf6;
    background: linear-gradient(115deg, #0a2422 0%, #0b2f2c 60%, #0d3935 100%) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .22);
}

html.theme-dark body.cw-body .cw-cta-card::before {
    border-color: rgba(142, 217, 202, .16);
    box-shadow: 0 0 0 22px rgba(142, 217, 202, .035), 0 0 0 44px rgba(142, 217, 202, .02);
}

html.theme-dark body.cw-body .cw-cta-card::after {
    background: radial-gradient(circle, rgba(142, 217, 202, .2) 0%, rgba(142, 217, 202, 0) 68%);
}

html.theme-dark body.cw-body .cw-cta-content h2 {
    color: #effaf6;
}

html.theme-dark body.cw-body .cw-cta-content h2 em {
    color: #8ed9ca;
}

html.theme-dark body.cw-body .cw-cta-content p {
    color: #a1c5bd;
}

@media (max-width: 767px) {
    body.cw-body .cw-cta-section {
        padding: 4.5rem 0 5rem;
    }

    body.cw-body .cw-cta-card {
        display: block;
        min-height: 0;
        padding: 2rem 1.35rem 1.45rem;
        border-radius: 1.25rem;
    }

    body.cw-body .cw-cta-card::before {
        right: -25%;
        width: 75%;
    }

    body.cw-body .cw-cta-content h2 {
        font-size: clamp(2rem, 10vw, 2.7rem);
    }

    body.cw-body .cw-cta-card .cw-button {
        width: 100%;
        margin-top: 1.45rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.cw-body [data-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* FAQ and contact sections keep the landing page self-contained, following
   ClearWave's editorial two-column rhythm without adding another page load. */
.cw-faq-section {
    padding: 7rem 0;
    background: var(--cw-paper);
}

#tentang,
#faq,
#contact {
    scroll-margin-top: 92px;
}

.cw-faq-grid {
    display: grid;
    grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
}

.cw-faq-intro h2 {
    margin: 1rem 0 0;
    color: var(--cw-ink);
    font-size: clamp(2.35rem, 4vw, 3.7rem);
    font-weight: 600;
    letter-spacing: -.045em;
    line-height: 1.05;
}

.cw-faq-intro h2 em {
    color: var(--cw-teal);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.cw-faq-intro p {
    max-width: 300px;
    margin: 1.35rem 0 0;
    color: #6c8984;
    font-size: .91rem;
    line-height: 1.8;
}

.cw-faq-list {
    border-top: 1px solid rgba(13, 30, 28, .15);
}

.cw-faq-item {
    border-bottom: 1px solid rgba(13, 30, 28, .15);
}

.cw-faq-item summary {
    position: relative;
    padding: 1.35rem 2.4rem 1.35rem 0;
    color: var(--cw-ink);
    font-size: .97rem;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.cw-faq-item summary::-webkit-details-marker {
    display: none;
}

.cw-faq-item summary::after {
    position: absolute;
    top: 50%;
    right: .15rem;
    color: var(--cw-teal);
    content: "+";
    font-size: 1.35rem;
    font-weight: 400;
    transform: translateY(-50%);
    transition: transform .25s var(--cw-ease);
}

.cw-faq-item[open] summary::after {
    transform: translateY(-50%) rotate(45deg);
}

.cw-faq-item p {
    max-width: 620px;
    margin: -.25rem 2.4rem 1.35rem 0;
    color: #6c8984;
    font-size: .88rem;
    line-height: 1.8;
}

.cw-contact-section {
    padding: 0 0 7rem;
    background: var(--cw-paper);
}

.cw-contact-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(2rem, 4vw, 3.25rem);
    border: 1px solid rgba(26, 122, 110, .15);
    border-radius: 1.25rem;
    background: #f4fafa;
}

.cw-contact-card h2 {
    margin: 1rem 0 0;
    color: var(--cw-ink);
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 600;
    letter-spacing: -.04em;
}

.cw-contact-card p {
    max-width: 540px;
    margin: .8rem 0 0;
    color: #6c8984;
    font-size: .9rem;
    line-height: 1.75;
}

.cw-contact-card .cw-button {
    flex: 0 0 auto;
}

html.theme-dark body.cw-body .cw-faq-section,
html.theme-dark body.cw-body .cw-contact-section {
    background: #061514 !important;
}

html.theme-dark body.cw-body .cw-faq-intro h2,
html.theme-dark body.cw-body .cw-faq-item summary,
html.theme-dark body.cw-body .cw-contact-card h2 {
    color: #e7faf5;
}

html.theme-dark body.cw-body .cw-faq-intro p,
html.theme-dark body.cw-body .cw-faq-item p,
html.theme-dark body.cw-body .cw-contact-card p {
    color: #9cc0b8;
}

html.theme-dark body.cw-body .cw-faq-list,
html.theme-dark body.cw-body .cw-faq-item {
    border-color: rgba(200, 241, 231, .16);
}

html.theme-dark body.cw-body .cw-contact-card {
    border-color: #153a36;
    background: #081b1a;
}

@media (max-width: 767px) {
    .cw-faq-section {
        padding: 5rem 0;
    }

    .cw-faq-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .cw-contact-section {
        padding-bottom: 5rem;
    }

    .cw-contact-card {
        display: block;
    }

    .cw-contact-card .cw-button {
        margin-top: 1.5rem;
    }
}

/* Crisp hero analytics mockup: built from lightweight HTML, CSS and SVG so
   it stays sharp at every viewport while showing what SPEKTRA is for. */
.cw-hero-analytics-visual {
    min-height: 500px;
}

.cw-hero-analytics-card {
    --cw-chart-line: #168b7d;
    --cw-chart-fill: #45bca7;
    --cw-chart-grid: #dcece8;
    position: absolute;
    top: .35rem;
    right: 0;
    width: min(100%, 650px);
    padding: 1rem;
    border: 1px solid rgba(22, 139, 125, .18);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 30px 70px rgba(7, 59, 58, .16), 0 4px 12px rgba(7, 59, 58, .06);
    transform: rotateY(-5deg) rotateX(2deg) rotateZ(1deg);
    transform-style: preserve-3d;
}

.cw-analytics-windowbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .15rem .15rem .95rem;
    color: #7b9792;
    border-bottom: 1px solid #e2efec;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.cw-analytics-windowbar .cw-window-dots {
    flex: 0 0 auto;
}

.cw-analytics-live {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .28rem .5rem;
    color: #237e6d;
    border-radius: 999px;
    background: #e0f7ef;
    font-size: .56rem;
}

.cw-analytics-live i {
    width: .32rem;
    height: .32rem;
    border-radius: 50%;
    background: #25a87f;
}

.cw-analytics-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem .15rem .9rem;
}

.cw-analytics-heading span:first-child {
    display: block;
    color: #78938f;
    font-size: .62rem;
}

.cw-analytics-heading strong {
    display: block;
    margin-top: .2rem;
    color: var(--cw-ink);
    font-size: 1.05rem;
    letter-spacing: -.02em;
}

.cw-analytics-period {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .42rem .55rem;
    border: 1px solid #dfece9;
    border-radius: .5rem;
    color: #6c8984;
    background: #fbfefd;
    font-size: .57rem;
    font-weight: 700;
}

.cw-analytics-period i {
    font-size: .62rem;
}

.cw-analytics-kpis {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr;
    gap: .65rem;
}

.cw-analytics-kpi {
    min-width: 0;
    padding: .75rem .8rem;
    border: 1px solid #e1efeb;
    border-radius: .7rem;
    background: #f8fcfb;
}

.cw-analytics-kpi-primary {
    border-color: rgba(22, 139, 125, .22);
    background: #edf9f5;
}

.cw-analytics-kpi small,
.cw-analytics-kpi span {
    display: block;
    color: #78938f;
    font-size: .56rem;
}

.cw-analytics-kpi strong {
    display: block;
    margin: .22rem 0 .1rem;
    color: var(--cw-ink);
    font-size: 1.35rem;
    letter-spacing: -.05em;
}

.cw-analytics-kpi strong sup {
    margin-left: .08rem;
    color: var(--cw-teal);
    font-size: .62rem;
}

.cw-analytics-kpi-primary span {
    color: var(--cw-teal);
    font-weight: 800;
}

.cw-analytics-content {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(155px, .75fr);
    gap: .65rem;
    margin-top: .65rem;
}

.cw-analytics-chart-panel,
.cw-analytics-insight {
    min-width: 0;
    padding: .85rem;
    border: 1px solid #e1efeb;
    border-radius: .75rem;
    background: #fff;
}

.cw-analytics-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    color: var(--cw-ink);
    font-size: .65rem;
    font-weight: 800;
}

.cw-analytics-legend {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    color: #78938f;
    font-size: .52rem;
    font-weight: 600;
}

.cw-analytics-legend i {
    width: .42rem;
    height: .42rem;
    border-radius: 50%;
    background: var(--cw-chart-line);
}

.cw-analytics-chart-wrap {
    margin-top: .55rem;
}

.cw-analytics-chart {
    display: block;
    width: 100%;
    height: 150px;
    overflow: visible;
}

.cw-chart-gridline {
    stroke: var(--cw-chart-grid);
    stroke-width: 1;
}

.cw-chart-area-fill {
    fill: url(#cwChartFill);
}

.cw-chart-line {
    fill: none;
    stroke: var(--cw-chart-line);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
    stroke-dasharray: 800;
    stroke-dashoffset: 800;
    animation: cw-chart-draw 1.4s .2s var(--cw-ease) forwards;
}

.cw-chart-point {
    fill: var(--cw-chart-line);
    stroke: #fff;
    stroke-width: 3;
}

@keyframes cw-chart-draw {
    to { stroke-dashoffset: 0; }
}

.cw-analytics-axis {
    display: flex;
    justify-content: space-between;
    padding: .15rem .1rem 0;
    color: #9bb4af;
    font-size: .5rem;
}

.cw-analytics-panel-heading small {
    color: #78938f;
    font-size: .52rem;
    font-weight: 600;
}

.cw-analytics-progress {
    margin-top: 1rem;
}

.cw-analytics-progress div {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    color: #6c8984;
    font-size: .57rem;
}

.cw-analytics-progress b {
    color: var(--cw-ink);
    font-size: .58rem;
}

.cw-analytics-progress > i {
    display: block;
    height: .35rem;
    margin-top: .35rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e8f2ef;
}

.cw-analytics-progress em {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1a8f80, #72cdbb);
}

.cw-analytics-insight-note {
    display: flex;
    align-items: flex-start;
    gap: .45rem;
    margin-top: 1.1rem;
    padding: .55rem;
    border-radius: .55rem;
    background: #f0faf7;
}

.cw-analytics-insight-note > i {
    color: #d49a21;
    font-size: .75rem;
}

.cw-analytics-insight-note strong,
.cw-analytics-insight-note small {
    display: block;
}

.cw-analytics-insight-note strong {
    color: var(--cw-ink);
    font-size: .55rem;
}

.cw-analytics-insight-note small {
    margin-top: .15rem;
    color: #78938f;
    font-size: .48rem;
    line-height: 1.4;
}

.cw-analytics-float {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .6rem .7rem;
    border: 1px solid rgba(22, 139, 125, .15);
    border-radius: .7rem;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 30px rgba(7, 59, 58, .13);
}

.cw-analytics-float-top {
    top: .1rem;
    left: -.8rem;
}

.cw-analytics-float-bottom {
    right: -.55rem;
    bottom: .05rem;
}

.cw-analytics-float > i,
.cw-analytics-float-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    color: #fff;
    border-radius: .55rem;
    background: var(--cw-teal);
    font-size: .82rem;
}

.cw-analytics-float-icon {
    color: var(--cw-teal);
    background: var(--cw-sea);
}

.cw-analytics-float strong,
.cw-analytics-float small {
    display: block;
}

.cw-analytics-float strong {
    color: var(--cw-ink);
    font-size: .63rem;
}

.cw-analytics-float small {
    margin-top: .12rem;
    color: #78938f;
    font-size: .54rem;
}

html.theme-dark body.cw-body .cw-hero-analytics-card {
    --cw-chart-line: #8ed9ca;
    --cw-chart-fill: #3e9b8e;
    --cw-chart-grid: rgba(200, 241, 231, .14);
    border-color: #28524d;
    background: #081b1a;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .36), 0 4px 12px rgba(0, 0, 0, .2);
}

html.theme-dark body.cw-body .cw-analytics-windowbar,
html.theme-dark body.cw-body .cw-analytics-kpi,
html.theme-dark body.cw-body .cw-analytics-chart-panel,
html.theme-dark body.cw-body .cw-analytics-insight {
    border-color: rgba(200, 241, 231, .14);
}

html.theme-dark body.cw-body .cw-analytics-windowbar,
html.theme-dark body.cw-body .cw-analytics-heading span:first-child,
html.theme-dark body.cw-body .cw-analytics-kpi small,
html.theme-dark body.cw-body .cw-analytics-kpi span,
html.theme-dark body.cw-body .cw-analytics-period,
html.theme-dark body.cw-body .cw-analytics-legend,
html.theme-dark body.cw-body .cw-analytics-panel-heading small,
html.theme-dark body.cw-body .cw-analytics-progress div,
html.theme-dark body.cw-body .cw-analytics-axis {
    color: #91b8b0;
}

html.theme-dark body.cw-body .cw-analytics-heading strong,
html.theme-dark body.cw-body .cw-analytics-panel-heading,
html.theme-dark body.cw-body .cw-analytics-progress b,
html.theme-dark body.cw-body .cw-analytics-insight-note strong,
html.theme-dark body.cw-body .cw-analytics-float strong {
    color: #e7faf5;
}

html.theme-dark body.cw-body .cw-analytics-period {
    border-color: rgba(200, 241, 231, .16);
    background: rgba(255, 255, 255, .06);
}

html.theme-dark body.cw-body .cw-analytics-kpi,
html.theme-dark body.cw-body .cw-analytics-chart-panel,
html.theme-dark body.cw-body .cw-analytics-insight {
    background: #0a211f;
}

html.theme-dark body.cw-body .cw-analytics-kpi-primary {
    background: #0d302c;
}

html.theme-dark body.cw-body .cw-analytics-insight-note {
    background: rgba(142, 217, 202, .1);
}

html.theme-dark body.cw-body .cw-analytics-insight-note small,
html.theme-dark body.cw-body .cw-analytics-float small {
    color: #91b8b0;
}

html.theme-dark body.cw-body .cw-analytics-float {
    border-color: rgba(200, 241, 231, .16);
    background: #0a211f;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .28);
}

html.theme-dark body.cw-body .cw-chart-point {
    stroke: #081b1a;
}

@media (max-width: 1100px) {
    .cw-hero-analytics-visual {
        min-height: 490px;
    }

    .cw-hero-analytics-card {
        width: min(100%, 680px);
    }
}

@media (max-width: 767px) {
    .cw-hero-analytics-visual {
        min-height: 430px;
    }

    .cw-hero-analytics-card {
        position: relative;
        top: .25rem;
        right: auto;
        width: 100%;
        padding: .7rem;
        transform: none;
    }

    .cw-analytics-kpis {
        grid-template-columns: 1.2fr 1fr;
    }

    .cw-analytics-kpi:last-child {
        display: none;
    }

    .cw-analytics-content {
        grid-template-columns: 1fr;
    }

    .cw-analytics-insight {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: .6rem;
    }

    .cw-analytics-insight .cw-analytics-panel-heading,
    .cw-analytics-insight-note {
        grid-column: 1 / -1;
    }

    .cw-analytics-progress {
        margin-top: .25rem;
    }

    .cw-analytics-insight-note {
        margin-top: .45rem;
    }

    .cw-analytics-float {
        padding: .5rem;
    }

    .cw-analytics-float-top {
        top: -.65rem;
        left: -.25rem;
    }

    .cw-analytics-float-bottom {
        right: -.2rem;
        bottom: -.3rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cw-chart-line {
        animation: none;
        stroke-dashoffset: 0;
    }
}

/* Final hero scale and motion tuning. */
.cw-hero-analytics-visual {
    min-height: 460px;
}

.cw-hero-analytics-card {
    width: min(100%, 590px);
    transform: rotateY(-5deg) rotateX(2deg) rotateZ(1deg) scale(.92);
    transform-origin: center right;
    animation: cw-hero-card-in .85s var(--cw-ease) both;
}

.cw-analytics-kpi {
    animation: cw-kpi-in .6s var(--cw-ease) both;
}

.cw-analytics-kpi:nth-child(2) { animation-delay: .1s; }
.cw-analytics-kpi:nth-child(3) { animation-delay: .18s; }

.cw-analytics-progress em {
    transform: scaleX(0);
    transform-origin: left center;
    animation: cw-progress-grow .9s .55s var(--cw-ease) forwards;
}

.cw-analytics-progress:nth-of-type(3) em { animation-delay: .68s; }
.cw-analytics-progress:nth-of-type(4) em { animation-delay: .81s; }

.cw-analytics-float-top {
    animation: cw-float-bob 4.2s .75s ease-in-out infinite;
}

.cw-analytics-float-bottom {
    animation: cw-float-bob 4.2s 1.1s ease-in-out infinite reverse;
}

.cw-analytics-live i {
    animation: cw-live-pulse 1.8s ease-in-out infinite;
}

@keyframes cw-hero-card-in {
    from {
        opacity: 0;
        transform: rotateY(-5deg) rotateX(2deg) rotateZ(1deg) translateY(18px) scale(.88);
    }
    to {
        opacity: 1;
        transform: rotateY(-5deg) rotateX(2deg) rotateZ(1deg) scale(.92);
    }
}

@keyframes cw-kpi-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes cw-progress-grow {
    to { transform: scaleX(1); }
}

@keyframes cw-float-bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@keyframes cw-live-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(37, 168, 127, .25); }
    50% { box-shadow: 0 0 0 5px rgba(37, 168, 127, 0); }
}

@media (max-width: 1100px) {
    .cw-hero-analytics-visual {
        min-height: 450px;
    }

    .cw-hero-analytics-card {
        width: min(100%, 620px);
    }
}

@media (max-width: 767px) {
    .cw-hero-analytics-visual {
        min-height: 430px;
    }

    .cw-hero-analytics-card {
        width: 100%;
        transform: none;
        animation-name: cw-hero-card-mobile-in;
    }
}

@keyframes cw-hero-card-mobile-in {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .cw-hero-analytics-card,
    .cw-analytics-kpi,
    .cw-analytics-progress em,
    .cw-analytics-float-top,
    .cw-analytics-float-bottom,
    .cw-analytics-live i {
        animation: none !important;
    }

    .cw-analytics-progress em {
        transform: scaleX(1);
    }
}

/* Compact hero proportions: keep the analytics preview close to the navbar
   and make the progress callout feel like part of the preview card. */
body.cw-body .cw-hero {
    min-height: 550px;
    overflow: hidden;
    padding-top: 3.2rem;
    padding-bottom: 3.6rem;
}

body.cw-body .cw-hero-copy {
    transform: translateY(-.8rem);
}

.cw-hero-analytics-visual {
    min-height: 430px;
}

.cw-hero-analytics-card {
    width: min(100%, 560px);
}

.cw-analytics-float-top {
    top: -.55rem;
    left: -.7rem;
    padding: .5rem .65rem;
    border-radius: .65rem;
    box-shadow: 0 8px 20px rgba(7, 59, 58, .11);
    pointer-events: none;
}

.cw-analytics-float-top > i {
    width: 1.95rem;
    height: 1.95rem;
    font-size: .88rem;
}

.cw-analytics-float-top strong {
    font-size: .67rem;
}

.cw-analytics-float-top small {
    font-size: .56rem;
}

@media (max-width: 767px) {
    body.cw-body .cw-hero {
        padding-top: 1.65rem;
        padding-bottom: 2.4rem;
    }

    body.cw-body .cw-hero-copy {
        transform: translateY(-.45rem);
    }

    .cw-hero-grid {
        gap: 1.15rem;
    }

    .cw-hero-copy h1 {
        font-size: clamp(2.2rem, 9.5vw, 3.05rem);
    }

    .cw-hero-lead {
        margin-top: 1.05rem;
        margin-bottom: 1.35rem;
        font-size: .86rem;
        line-height: 1.62;
    }

    .cw-hero-actions {
        gap: .55rem;
    }

    .cw-button {
        padding: .72rem 1.35rem;
        font-size: .82rem;
    }

    .cw-button.cw-button-quiet {
        padding: .68rem 1.15rem;
    }

    .cw-hero-analytics-visual {
        min-height: 0;
    }

    .cw-hero-analytics-card {
        padding: .58rem;
    }

    .cw-analytics-windowbar {
        padding-bottom: .62rem;
        font-size: .5rem;
    }

    .cw-analytics-windowbar > span:not(.cw-analytics-live) {
        display: none;
    }

    .cw-analytics-live {
        padding: .22rem .36rem;
        font-size: .46rem;
    }

    .cw-analytics-heading {
        padding: .72rem .1rem .58rem;
    }

    .cw-analytics-heading strong {
        font-size: .9rem;
    }

    .cw-analytics-period {
        padding: .34rem .42rem;
        font-size: .48rem;
    }

    .cw-analytics-kpis {
        gap: .45rem;
    }

    .cw-analytics-kpi {
        padding: .56rem .62rem;
    }

    .cw-analytics-kpi small,
    .cw-analytics-kpi span {
        font-size: .48rem;
    }

    .cw-analytics-kpi strong {
        font-size: 1.12rem;
    }

    .cw-analytics-content {
        gap: .45rem;
        margin-top: .45rem;
    }

    .cw-analytics-chart-panel,
    .cw-analytics-insight {
        padding: .65rem;
    }

    .cw-analytics-chart {
        height: 108px;
    }

    .cw-analytics-float-top {
        top: -.5rem;
        left: -.35rem;
        padding: .42rem .55rem;
    }

    .cw-analytics-float-bottom {
        right: .15rem;
        bottom: -.25rem;
        padding: .4rem .48rem;
    }
}

/* Lightweight manual result chart for the landing-page feature section. */
.cw-result-summary {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-top: .2rem;
}

.cw-result-summary small,
.cw-result-summary strong {
    display: block;
}

.cw-result-summary small {
    color: #89a19d;
    font-size: .62rem;
}

.cw-result-summary strong {
    margin-top: .18rem;
    color: var(--cw-ink);
    font-size: 2.25rem;
    letter-spacing: -.06em;
    line-height: 1;
}

.cw-result-summary > span {
    display: inline-flex;
    align-items: center;
    gap: .18rem;
    padding: .3rem .45rem;
    color: #2a8a6f;
    border-radius: 999px;
    background: #e2f6ed;
    font-size: .6rem;
    font-weight: 800;
}

.cw-manual-chart {
    padding: .8rem .8rem .65rem;
    margin-top: 1rem;
    border: 1px solid #e1efeb;
    border-radius: .72rem;
    background: #fbfefd;
}

.cw-manual-chart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    color: var(--cw-ink);
    font-size: .65rem;
    font-weight: 800;
}

.cw-manual-chart-head small {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    color: #78938f;
    font-size: .52rem;
    font-weight: 600;
}

.cw-manual-chart-head small i {
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background: var(--cw-teal);
}

.cw-bar-chart {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    height: 142px;
    padding: .7rem .35rem .35rem;
    margin-top: .55rem;
    border-bottom: 1px solid #dfece9;
    background: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, #edf6f3 32px);
}

.cw-bar-column {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-items: end;
    min-width: 0;
    gap: .28rem;
    text-align: center;
}

.cw-bar-column > strong {
    color: var(--cw-teal);
    font-size: .58rem;
    line-height: 1;
}

.cw-bar-track {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 100%;
}

.cw-bar-track i {
    display: block;
    width: min(2.35rem, 62%);
    height: var(--bar-height);
    max-height: 100%;
    border-radius: .35rem .35rem .15rem .15rem;
    background: linear-gradient(to top, #168b7d, #73cbbb);
    transform: scaleY(0);
    transform-origin: bottom center;
    animation: cw-result-bar-grow .8s var(--cw-ease) forwards;
}

.cw-bar-column:nth-child(2) .cw-bar-track i {
    background: linear-gradient(to top, #3d74d9, #86a9f2);
    animation-delay: .08s;
}

.cw-bar-column:nth-child(3) .cw-bar-track i {
    background: linear-gradient(to top, #b58a31, #e9ca76);
    animation-delay: .16s;
}

.cw-bar-column:nth-child(4) .cw-bar-track i {
    background: linear-gradient(to top, #17896f, #76cdbd);
    animation-delay: .24s;
}

.cw-bar-column > span {
    overflow: hidden;
    color: #78938f;
    font-size: .54rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@keyframes cw-result-bar-grow {
    to { transform: scaleY(1); }
}

html.theme-dark body.cw-body .cw-result-summary strong,
html.theme-dark body.cw-body .cw-manual-chart-head {
    color: #e7faf5;
}

html.theme-dark body.cw-body .cw-result-summary small,
html.theme-dark body.cw-body .cw-manual-chart-head small,
html.theme-dark body.cw-body .cw-bar-column > span {
    color: #91b8b0;
}

html.theme-dark body.cw-body .cw-result-summary > span {
    color: #bcefe0;
    background: rgba(142, 217, 202, .12);
}

html.theme-dark body.cw-body .cw-manual-chart {
    border-color: rgba(200, 241, 231, .14);
    background: #0a211f;
}

html.theme-dark body.cw-body .cw-bar-chart {
    border-bottom-color: rgba(200, 241, 231, .14);
    background: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(200, 241, 231, .08) 32px);
}

@media (max-width: 767px) {
    .cw-result-summary strong {
        font-size: 1.9rem;
    }

    .cw-manual-chart {
        padding: .7rem .6rem .55rem;
    }

    .cw-bar-chart {
        height: 126px;
        gap: .35rem;
    }

    .cw-bar-track {
        height: 78px;
    }

    .cw-bar-column > span {
        font-size: .5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cw-bar-track i {
        animation: none;
        transform: scaleY(1);
    }
}

/* Centered, glass-like authentication card without a split-screen image. */
body.cw-auth-body {
    position: relative;
    min-height: 100vh;
    overflow-x: hidden;
    background: #e8f4f2;
}

body.cw-auth-body::before,
body.cw-auth-body::after {
    position: fixed;
    z-index: 0;
    width: min(42rem, 62vw);
    height: min(42rem, 62vw);
    border-radius: 50%;
    pointer-events: none;
    content: "";
    filter: blur(12px);
}

body.cw-auth-body::before {
    top: -19rem;
    left: -12rem;
    background: radial-gradient(circle, rgba(107, 211, 190, .42), rgba(107, 211, 190, 0) 68%);
}

body.cw-auth-body::after {
    right: -16rem;
    bottom: -20rem;
    background: radial-gradient(circle, rgba(92, 160, 231, .22), rgba(92, 160, 231, 0) 68%);
}

.cw-auth-page {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: clamp(2rem, 7vh, 4.5rem) 1.25rem;
    background: transparent;
    isolation: isolate;
}

.cw-auth-form {
    display: block;
    width: min(100%, 540px);
    min-height: 0;
    padding: 2rem clamp(1.35rem, 4vw, 3rem) 2.25rem;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 1.45rem;
    background: rgba(255, 255, 255, .62);
    box-shadow: 0 28px 80px rgba(39, 88, 84, .14), 0 4px 20px rgba(39, 88, 84, .06);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    animation: none;
}

.cw-auth-page--register .cw-auth-form {
    width: min(100%, 720px);
}

.cw-auth-inner {
    width: 100%;
    margin: 0 auto;
}

.cw-auth-inner > .spektra-brand-auth {
    display: flex;
    width: fit-content;
    margin: 0 auto;
}

.cw-auth-kicker {
    margin-top: 1.8rem;
    margin-bottom: .8rem;
}

.cw-auth-form h1 {
    font-size: clamp(2.25rem, 4vw, 3.35rem);
}

.cw-auth-intro {
    margin-top: 1rem;
    margin-bottom: 1.65rem;
}

.cw-auth-form .cw-submit {
    margin-top: .15rem;
}

@keyframes cw-auth-card-in {
    from { opacity: 0; transform: translateY(14px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

html.theme-dark body.cw-auth-body {
    background: #061817;
}

html.theme-dark body.cw-auth-body::before {
    background: radial-gradient(circle, rgba(37, 157, 141, .28), rgba(37, 157, 141, 0) 68%);
}

html.theme-dark body.cw-auth-body::after {
    background: radial-gradient(circle, rgba(65, 118, 180, .2), rgba(65, 118, 180, 0) 68%);
}

html.theme-dark body.cw-auth-body .cw-auth-form {
    border-color: rgba(200, 241, 231, .16);
    background: rgba(8, 31, 30, .72);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .32), 0 4px 20px rgba(0, 0, 0, .18);
}

html.theme-dark body.cw-auth-body .cw-auth-inner .spektra-brand-auth .spektra-brand-name,
html.theme-dark body.cw-auth-body .cw-auth-form h1 {
    color: #effaf6;
}

html.theme-dark body.cw-auth-body .cw-auth-form h1 em {
    color: #8ed9ca;
}

html.theme-dark body.cw-auth-body .cw-auth-intro,
html.theme-dark body.cw-auth-body .cw-field,
html.theme-dark body.cw-auth-body .cw-auth-links {
    color: #9cc0b8;
}

html.theme-dark body.cw-auth-body .cw-field input,
html.theme-dark body.cw-auth-body .cw-field select {
    color: #effaf6;
    border-color: rgba(200, 241, 231, .24);
    background: rgba(255, 255, 255, .07);
}

html.theme-dark body.cw-auth-body .cw-field input:focus,
html.theme-dark body.cw-auth-body .cw-field select:focus {
    background: rgba(255, 255, 255, .11);
}

html.theme-dark body.cw-auth-body .cw-field input::placeholder {
    color: #779d96;
}

html.theme-dark body.cw-auth-body .cw-submit {
    color: #fff;
    background: #168b7d;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .22);
}

html.theme-dark body.cw-auth-body .cw-submit:hover {
    color: #fff;
    background: #2a9d8f;
}

html.theme-dark body.cw-auth-body .theme-toggle-floating {
    color: #e7faf5 !important;
    border-color: rgba(200, 241, 231, .22);
    background: rgba(8, 31, 30, .78);
}

@media (max-width: 767px) {
    .cw-auth-page {
        align-items: flex-start;
        padding-top: 4.75rem;
        padding-bottom: 2rem;
    }

    .cw-auth-form {
        padding: 1.5rem 1.05rem 1.7rem;
        border-radius: 1.15rem;
    }

    .cw-auth-form h1 {
        font-size: 2.35rem;
    }

    .cw-auth-kicker {
        margin-top: 1.55rem;
    }

    .cw-form-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .cw-auth-links {
        flex-wrap: wrap;
        gap: .7rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cw-auth-form {
        animation: none;
    }
}

/* Polished authentication card: compact type, clearer hierarchy, softer form controls. */
body.cw-auth-body {
    background:
        linear-gradient(rgba(255, 255, 255, .34), rgba(255, 255, 255, .34)),
        radial-gradient(circle at 15% 15%, rgba(91, 202, 181, .22), transparent 30rem),
        radial-gradient(circle at 88% 88%, rgba(91, 151, 218, .15), transparent 32rem),
        #edf6f3;
}

body.cw-auth-body::before {
    top: -20rem;
    left: -15rem;
    opacity: .72;
}

body.cw-auth-body::after {
    right: -18rem;
    bottom: -22rem;
    opacity: .6;
}

.cw-auth-page {
    padding: clamp(1.5rem, 5vh, 3.5rem) 1.25rem;
}

.cw-auth-form,
.cw-auth-page--register .cw-auth-form {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 24px 70px rgba(25, 77, 72, .12), 0 2px 10px rgba(25, 77, 72, .05);
}

.cw-auth-form {
    width: min(100%, 500px);
    padding: 1.75rem clamp(1.4rem, 4vw, 2.5rem) 1.9rem;
}

.cw-auth-page--register .cw-auth-form {
    width: min(100%, 700px);
}

.cw-auth-form::before {
    position: absolute;
    top: 0;
    right: 2.25rem;
    left: 2.25rem;
    height: 2px;
    border-radius: 0 0 99px 99px;
    background: linear-gradient(90deg, transparent, rgba(35, 161, 142, .7), transparent);
    content: "";
}

.cw-auth-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1.35rem;
    border-bottom: 1px solid rgba(28, 94, 87, .1);
}

.cw-auth-inner > .cw-auth-card-top .spektra-brand-auth {
    display: inline-flex;
    width: fit-content;
    margin: 0;
}

.cw-auth-inner .spektra-brand-auth .spektra-brand-mark {
    width: 2.2rem;
    height: 2.2rem;
}

.cw-auth-inner .spektra-brand-auth .spektra-brand-name {
    font-size: 1.05rem;
    letter-spacing: .01em;
}

.cw-auth-security {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    padding: .42rem .62rem;
    border: 1px solid rgba(30, 145, 130, .13);
    border-radius: 999px;
    color: #55817a;
    background: rgba(226, 244, 239, .7);
    font-size: .64rem;
    font-weight: 650;
    white-space: nowrap;
}

.cw-auth-security i {
    color: var(--cw-teal);
    font-size: .76rem;
}

.cw-auth-kicker {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 1.65rem 0 .65rem;
    color: #40867c;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.cw-auth-kicker > span {
    width: 1.15rem;
    height: 1px;
    background: #50ac9e;
}

.cw-auth-form h1 {
    max-width: none;
    font-size: clamp(2.05rem, 3.2vw, 2.45rem);
    font-weight: 650;
    letter-spacing: -.045em;
    line-height: 1.08;
}

.cw-auth-form h1 em {
    font-weight: 400;
}

.cw-auth-intro {
    max-width: 440px;
    margin: .75rem 0 1.45rem;
    font-size: .82rem;
    line-height: 1.65;
}

.cw-form-stack {
    gap: .9rem;
}

.cw-field {
    gap: .4rem;
    font-size: .67rem;
    letter-spacing: .01em;
}

.cw-field input,
.cw-field select {
    min-height: 3rem;
    border-color: #d6e6e1;
    border-radius: .7rem;
    background: rgba(250, 253, 252, .92);
    box-shadow: inset 0 1px 2px rgba(17, 71, 66, .025);
}

.cw-field input:hover,
.cw-field select:hover {
    border-color: #bcd9d1;
}

.cw-field input:focus,
.cw-field select:focus {
    box-shadow: 0 0 0 .2rem rgba(27, 154, 141, .1);
}

.cw-submit {
    min-height: 3.05rem;
    margin-top: .25rem;
    border-radius: .7rem;
    background: #155e57;
    box-shadow: 0 10px 24px rgba(13, 92, 84, .18);
    letter-spacing: .01em;
}

.cw-submit i {
    transition: transform .18s var(--cw-ease);
}

.cw-submit:hover i {
    transform: translateX(3px);
}

.cw-auth-links {
    align-items: center;
    margin-top: 1.15rem;
    padding-top: 1.05rem;
    border-top: 1px solid rgba(28, 94, 87, .09);
    font-size: .7rem;
}

.cw-auth-links a {
    text-underline-offset: 3px;
}

html.theme-dark body.cw-auth-body .cw-auth-form {
    border-color: rgba(166, 226, 214, .14);
    background: rgba(7, 30, 29, .86);
}

html.theme-dark body.cw-auth-body .cw-auth-card-top,
html.theme-dark body.cw-auth-body .cw-auth-links {
    border-color: rgba(200, 241, 231, .11);
}

html.theme-dark body.cw-auth-body .cw-auth-security {
    color: #a3c7bf;
    border-color: rgba(142, 217, 202, .15);
    background: rgba(142, 217, 202, .08);
}

@media (max-width: 767px) {
    .cw-auth-page {
        padding: 4.5rem .9rem 1.5rem;
    }

    .cw-auth-form,
    .cw-auth-page--register .cw-auth-form {
        padding: 1.25rem 1rem 1.4rem;
        border-radius: 1rem;
    }

    .cw-auth-card-top {
        padding-bottom: 1rem;
    }

    .cw-auth-kicker {
        margin-top: 1.25rem;
    }

    .cw-auth-form h1 {
        font-size: clamp(1.8rem, 8.2vw, 2.1rem);
    }

    .cw-auth-intro {
        margin-bottom: 1.25rem;
    }

    .cw-auth-security {
        padding: .36rem .5rem;
        font-size: .59rem;
    }

    .cw-auth-links {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* The results preview alternates between two compact chart views. */
.cw-result-chart-stack {
    position: relative;
    min-height: 217px;
    margin-top: 1rem;
}

.cw-result-chart-stack .cw-chart-view {
    margin-top: 0;
    transition: opacity .55s var(--cw-ease), transform .55s var(--cw-ease);
}

.cw-result-chart-stack .cw-chart-view--donut {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateX(18px) scale(.98);
}

.cw-result-chart-stack.is-donut .cw-chart-view--bar {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-18px) scale(.98);
}

.cw-result-chart-stack.is-donut .cw-chart-view--donut {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0) scale(1);
}

.cw-donut-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 142px;
    padding: .35rem .25rem 0;
}

.cw-donut-chart {
    position: relative;
    display: grid;
    flex: 0 0 126px;
    place-items: center;
    width: 126px;
    height: 126px;
    border-radius: 50%;
    background: conic-gradient(#168b7d 0 18%, #55b9a7 18% 60%, #e9ca76 60% 88%, #e98568 88% 100%);
    animation: cw-donut-in .75s var(--cw-ease) both;
}

.cw-donut-chart::after {
    position: absolute;
    inset: 22%;
    border-radius: 50%;
    background: #fbfefd;
    content: "";
}

.cw-donut-chart > span {
    position: relative;
    z-index: 1;
    text-align: center;
}

.cw-donut-chart strong,
.cw-donut-chart small {
    display: block;
}

.cw-donut-chart strong {
    color: var(--cw-ink);
    font-size: 1.15rem;
    letter-spacing: -.05em;
    line-height: 1;
}

.cw-donut-chart small {
    margin-top: .18rem;
    color: #78938f;
    font-size: .52rem;
}

.cw-donut-legend {
    display: grid;
    flex: 1;
    gap: .48rem;
}

.cw-donut-legend > div {
    display: flex;
    align-items: center;
    gap: .42rem;
    min-width: 0;
}

.cw-donut-key {
    display: inline-block;
    flex: 0 0 .5rem;
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
}

.cw-donut-key--excellent { background: #168b7d; }
.cw-donut-key--good { background: #55b9a7; }
.cw-donut-key--fair { background: #e9ca76; }
.cw-donut-key--low { background: #e98568; }

.cw-donut-legend span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .4rem;
    width: 100%;
    color: var(--cw-ink-soft);
    font-size: .56rem;
    font-weight: 700;
}

.cw-donut-legend span small {
    color: #78938f;
    font-size: .52rem;
    font-weight: 700;
}

@keyframes cw-donut-in {
    from { opacity: 0; transform: rotate(-18deg) scale(.86); }
    to { opacity: 1; transform: rotate(0) scale(1); }
}

html.theme-dark body.cw-body .cw-donut-chart::after {
    background: #0a211f;
}

html.theme-dark body.cw-body .cw-donut-chart strong,
html.theme-dark body.cw-body .cw-donut-legend span {
    color: #e7faf5;
}

html.theme-dark body.cw-body .cw-donut-chart small,
html.theme-dark body.cw-body .cw-donut-legend span small {
    color: #91b8b0;
}

/* Auth-specific palette overrides must win over the shared Mazer rules. */
html:not(.theme-dark) body.cw-auth-body .theme-toggle-floating {
    color: #174f70 !important;
    border-color: rgba(42, 126, 169, .34) !important;
    background: #7dcef3 !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, .55), 0 3px 10px rgba(42, 126, 169, .2) !important;
}

html:not(.theme-dark) body.cw-auth-body .theme-toggle-floating .theme-toggle__cloud {
    opacity: .95 !important;
    visibility: visible !important;
}

html.theme-dark body.cw-auth-body .theme-toggle-floating {
    color: #e7faf5 !important;
    border-color: rgba(143, 164, 230, .32) !important;
    background: #172d64 !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .3), 0 3px 10px rgba(0, 0, 0, .22) !important;
}

html.theme-dark body.cw-auth-body .cw-field input,
html.theme-dark body.cw-auth-body .cw-field select {
    color: #effaf6 !important;
    -webkit-text-fill-color: #effaf6 !important;
    caret-color: #8ed9ca;
    border-color: rgba(142, 217, 202, .3) !important;
    background: #0b2422 !important;
}

html.theme-dark body.cw-auth-body .cw-field input:focus,
html.theme-dark body.cw-auth-body .cw-field select:focus {
    border-color: #64c6b5 !important;
    background: #0e2d2a !important;
}

/* Keep browser-suggested login/register values in the same dark palette. */
html.theme-dark body.cw-auth-body .cw-field input:-webkit-autofill,
html.theme-dark body.cw-auth-body .cw-field input:-webkit-autofill:hover,
html.theme-dark body.cw-auth-body .cw-field input:-webkit-autofill:focus,
html.theme-dark body.cw-auth-body .cw-field select:-webkit-autofill,
html.theme-dark body.cw-auth-body .cw-field select:-webkit-autofill:hover,
html.theme-dark body.cw-auth-body .cw-field select:-webkit-autofill:focus {
    color: #ccece4 !important;
    -webkit-text-fill-color: #ccece4 !important;
    caret-color: #8ed9ca;
    border-color: #64c6b5 !important;
    -webkit-box-shadow: 0 0 0 1000px #0e2d2a inset !important;
    box-shadow: 0 0 0 1000px #0e2d2a inset !important;
    transition: background-color 9999s ease-in-out 0s;
}

@media (max-width: 767px) {
    .cw-result-chart-stack {
        min-height: 201px;
    }

    .cw-donut-layout {
        gap: .6rem;
        min-height: 126px;
    }

    .cw-donut-chart {
        flex-basis: 108px;
        width: 108px;
        height: 108px;
    }

    .cw-donut-legend {
        gap: .38rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cw-result-chart-stack .cw-chart-view,
    .cw-donut-chart {
        transition: none;
        animation: none;
    }
}

.cw-result-chart-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    margin: .7rem auto 0;
}

.cw-result-chart-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    padding: 0;
    border: 1px solid rgba(26, 122, 110, .18);
    border-radius: 50%;
    color: var(--cw-teal);
    background: #fff;
    cursor: pointer;
    transition: color .3s var(--cw-ease), background-color .3s var(--cw-ease), border-color .3s var(--cw-ease), transform .3s var(--cw-ease);
}

.cw-result-chart-control:hover,
.cw-result-chart-control:focus-visible {
    color: #fff;
    border-color: var(--cw-teal);
    background: var(--cw-teal);
    outline: none;
    transform: scale(1.05);
}

.cw-result-chart-dots {
    display: flex;
    align-items: center;
    gap: .4rem;
}

.cw-result-chart-dot {
    width: .45rem;
    height: .45rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(26, 122, 110, .22);
    cursor: pointer;
    transition: width .3s var(--cw-ease), border-radius .3s var(--cw-ease), background-color .3s var(--cw-ease), transform .3s var(--cw-ease);
}

.cw-result-chart-dot:hover,
.cw-result-chart-dot:focus-visible {
    background: var(--cw-teal);
    outline: none;
    transform: scale(1.15);
}

.cw-result-chart-dot.is-active {
    width: 1.25rem;
    border-radius: 999px;
    background: var(--cw-teal);
}

html.theme-dark body.cw-body .cw-result-chart-control {
    border-color: rgba(200, 241, 231, .18);
    color: #9ed9ce;
    background: rgba(255, 255, 255, .06);
}

html.theme-dark body.cw-body .cw-result-chart-control:hover,
html.theme-dark body.cw-body .cw-result-chart-control:focus-visible {
    color: #0e3634;
    border-color: #9ed9ce;
    background: #9ed9ce;
}

html.theme-dark body.cw-body .cw-result-chart-dot {
    background: rgba(200, 241, 231, .2);
}

html.theme-dark body.cw-body .cw-result-chart-dot.is-active,
html.theme-dark body.cw-body .cw-result-chart-dot:hover,
html.theme-dark body.cw-body .cw-result-chart-dot:focus-visible {
    background: #9ed9ce;
}

@media (prefers-reduced-motion: reduce) {
    .cw-result-chart-control,
    .cw-result-chart-dot {
        transition: none;
    }
}

/* Keep authentication pages compact when they share the public navbar. */
body.cw-auth-body {
    display: flex;
    flex-direction: column;
    background: #f5f8f7;
}

body.cw-auth-body::before,
body.cw-auth-body::after,
body.cw-auth-body .cw-auth-form::before {
    display: none;
}

body.cw-auth-body > .landing-navbar {
    flex: 0 0 auto;
}

body.cw-auth-body .cw-auth-page {
    flex: 1 0 auto;
    min-height: 0;
    padding: 3rem 1.25rem;
}

body.cw-auth-body .cw-auth-form,
body.cw-auth-body .cw-auth-page--register .cw-auth-form {
    border: 1px solid #dfe8e4;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 8px 28px rgba(25, 77, 72, .05);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.cw-auth-body .cw-auth-form {
    width: min(100%, 440px);
    padding: 2rem;
}

body.cw-auth-body .cw-auth-page--register .cw-auth-form {
    width: min(100%, 620px);
}

body.cw-auth-body .cw-auth-form h1 {
    margin: 0 0 1.5rem;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.35;
}

body.cw-auth-body .cw-form-stack {
    gap: 1.1rem;
}

body.cw-auth-body .cw-form-grid {
    gap: 1rem;
}

body.cw-auth-body .cw-field {
    margin: 0;
    gap: .5rem;
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: 0;
}

body.cw-auth-body .cw-field input,
body.cw-auth-body .cw-field select {
    min-height: 2.75rem;
    padding: .65rem .85rem;
    font-size: .875rem;
    border-radius: .5rem;
    box-shadow: none;
}

body.cw-auth-body .cw-field.has-icon input {
    padding-right: 2.9rem;
}

body.cw-auth-body .cw-field.has-icon > .button-icon {
    bottom: .375rem;
    color: var(--cw-ink-soft);
    font-size: 1rem;
}

body.cw-auth-body .cw-submit {
    min-height: 2.8rem;
    border-radius: .5rem;
    font-size: .875rem;
    font-weight: 600;
    box-shadow: none;
}

body.cw-auth-body .cw-submit:hover {
    transform: none;
    box-shadow: none;
}

body.cw-auth-body .cw-auth-links {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    gap: .75rem;
    font-size: .8125rem;
    line-height: 1.6;
    flex-wrap: wrap;
}

body.cw-auth-body .cw-auth-links a {
    font-weight: 400;
}

html.theme-dark body.cw-auth-body .cw-auth-form {
    background: #0b211f !important;
    border-color: #24403b;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
}

html.theme-dark body.cw-auth-body .landing-navbar {
    background: #101c1b !important;
    border-color: #24403b !important;
}

@media (max-width: 991.98px) {
    body.cw-auth-body .cw-auth-page {
        padding: 2rem 1rem;
    }
}

@media (max-width: 767px) {
    body.cw-auth-body .cw-auth-page {
        padding: 1.5rem 1rem;
    }

    body.cw-auth-body .cw-auth-form,
    body.cw-auth-body .cw-auth-page--register .cw-auth-form {
        width: 100%;
        padding: 1.5rem 1.25rem;
    }

    body.cw-auth-body .cw-auth-form h1 {
        font-size: 1.375rem;
    }
}
