/*
 * Career Coach AI UI refresh.
 * Every selector is scoped to the refreshed homepage or dashboard.
 */

.home-page,
.cc-dashboard {
    --cc-ink: #10132f;
    --cc-muted: #66708f;
    --cc-line: #e6e8f1;
    --cc-purple: #5b5ce2;
    --cc-purple-dark: #4546bb;
    --cc-green: #1fa971;
    --cc-heading: "Plus Jakarta Sans", "DM Sans", sans-serif;
    --cc-body: "DM Sans", "Inter", sans-serif;
    min-height: 100vh;
    color: var(--cc-ink);
    background: #f8f9fd;
    font-family: var(--cc-body);
}

.home-page *,
.cc-dashboard * {
    box-sizing: border-box;
}

.home-page a,
.cc-dashboard a {
    color: inherit;
    text-decoration: none;
}

.home-page p,
.cc-dashboard p {
    white-space: normal;
}

.home-page img,
.cc-dashboard img {
    max-width: 100%;
}

.home-page .cc-shell {
    width: min(1160px, calc(100% - 48px));
    margin: 0 auto;
}

/* Homepage navigation */
.home-page .cc-home-nav {
    position: sticky;
    top: 0;
    z-index: 30;
    width: 100%;
    padding: 17px 0;
    background: rgba(248, 249, 253, .88);
    border-bottom: 1px solid rgba(230, 232, 241, .8);
    backdrop-filter: blur(18px);
}

.home-page .cc-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.home-page .cc-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: normal;
    white-space: nowrap;
}

.home-page .cc-brand img {
    width: 38px;
    height: 38px;
    object-fit: contain;
    border-radius: 0;
    box-shadow: none;
}

.home-page .cc-brand strong {
    color: #2867d9;
}

.home-page .cc-nav-links {
    display: flex;
    align-items: center;
    gap: 31px;
    margin-left: auto;
}

.home-page .cc-nav-links a,
.home-page .cc-nav-login {
    color: #616986;
    font-size: 14px;
    font-weight: 600;
    transition: color .2s ease;
}

.home-page .cc-nav-links a:hover,
.home-page .cc-nav-login:hover {
    color: var(--cc-purple);
}

.home-page .cc-nav-actions {
    display: flex;
    align-items: center;
    gap: 19px;
}

.home-page .cc-nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    color: #fff !important;
    background: var(--cc-ink);
    border-radius: 11px;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(16, 19, 47, .16);
    transition: transform .2s ease, background .2s ease;
}

.home-page .cc-nav-cta:hover {
    background: var(--cc-purple);
    transform: translateY(-2px);
}

.home-page .cc-mobile-menu {
    display: none;
    position: relative;
}

.home-page .cc-mobile-menu summary {
    padding: 8px 12px;
    color: var(--cc-ink);
    border: 1px solid var(--cc-line);
    border-radius: 9px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    list-style: none;
}

.home-page .cc-mobile-menu summary::-webkit-details-marker {
    display: none;
}

.home-page .cc-mobile-menu-panel {
    position: absolute;
    top: 45px;
    right: 0;
    min-width: 190px;
    padding: 10px;
    background: #fff;
    border: 1px solid var(--cc-line);
    border-radius: 14px;
    box-shadow: 0 18px 55px rgba(26, 30, 76, .12);
}

.home-page .cc-mobile-menu-panel a {
    display: block;
    padding: 10px 12px;
    color: var(--cc-ink);
    border-radius: 9px;
    font-size: 14px;
    font-weight: 600;
}

.home-page .cc-mobile-menu-panel a:hover {
    color: var(--cc-purple);
    background: #f6f7fc;
}

/* Shared homepage components */
.home-page .cc-eyebrow,
.cc-dashboard .cc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--cc-purple);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.4;
    text-transform: uppercase;
}

.home-page .cc-eyebrow-dot {
    width: 7px;
    height: 7px;
    display: inline-block;
    background: var(--cc-purple);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(91, 92, 226, .12);
}

.home-page .cc-button,
.cc-dashboard .cc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 49px;
    padding: 0 21px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.home-page .cc-button:hover,
.cc-dashboard .cc-button:hover {
    transform: translateY(-2px);
}

.home-page .cc-button-primary,
.cc-dashboard .cc-button-primary {
    color: #fff !important;
    background: var(--cc-purple);
    box-shadow: 0 12px 25px rgba(91, 92, 226, .23);
}

.home-page .cc-button-primary:hover,
.cc-dashboard .cc-button-primary:hover {
    background: var(--cc-purple-dark);
}

.home-page .cc-button-quiet,
.cc-dashboard .cc-button-quiet {
    color: #56617e !important;
    background: rgba(255, 255, 255, .72);
    border-color: var(--cc-line);
}

.home-page .cc-button-quiet:hover,
.cc-dashboard .cc-button-quiet:hover {
    color: var(--cc-purple) !important;
    border-color: #cbd0f6;
    background: #fff;
}

/* Homepage hero */
.home-page .cc-hero {
    position: relative;
    overflow: hidden;
    padding: 86px 0 74px;
    background:
        radial-gradient(circle at 82% 22%, rgba(167, 168, 255, .25), transparent 33%),
        radial-gradient(circle at 8% 0%, rgba(211, 223, 255, .4), transparent 30%),
        #f8f9fd;
}

.home-page .cc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .3;
    background-image: linear-gradient(rgba(91, 92, 226, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(91, 92, 226, .055) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom, black, transparent 78%);
    pointer-events: none;
}

.home-page .cc-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
    align-items: center;
    gap: 70px;
}

.home-page .cc-hero-copy {
    max-width: 600px;
}

.home-page .cc-hero-copy h1 {
    max-width: 610px;
    margin: 20px 0;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: clamp(43px, 5vw, 67px);
    font-weight: 800;
    letter-spacing: -.065em;
    line-height: 1.04;
}

.home-page .cc-hero-copy h1 span {
    display: block;
    color: var(--cc-purple);
}

.home-page .cc-hero-lead {
    max-width: 560px;
    margin: 0;
    color: var(--cc-muted);
    font-size: 17px;
    line-height: 1.72;
}

.home-page .cc-hero-actions {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 31px;
}

.home-page .cc-proof-row {
    display: flex;
    flex-wrap: wrap;
    gap: 13px 22px;
    margin-top: 28px;
    color: #8189a2;
    font-size: 12px;
    font-weight: 600;
}

.home-page .cc-proof-row span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.home-page .cc-proof-row i {
    display: inline-grid;
    width: 18px;
    height: 18px;
    place-items: center;
    color: var(--cc-green);
    background: #e6f8ef;
    border-radius: 50%;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.home-page .cc-hero-visual {
    position: relative;
    min-height: 460px;
    display: grid;
    place-items: center;
}

.home-page .cc-hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
}

.home-page .cc-hero-orb-one {
    width: 270px;
    height: 270px;
    top: 30px;
    right: 4%;
    background: rgba(124, 125, 246, .22);
}

.home-page .cc-hero-orb-two {
    width: 180px;
    height: 180px;
    bottom: 22px;
    left: 6%;
    background: rgba(111, 183, 255, .25);
}

.home-page .cc-product-preview {
    position: relative;
    z-index: 1;
    width: min(100%, 490px);
    padding: 17px;
    overflow: hidden;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 23px;
    box-shadow: 0 30px 80px rgba(53, 57, 132, .18);
    backdrop-filter: blur(20px);
    transform: rotate(1.2deg);
}

.home-page .cc-preview-topbar,
.home-page .cc-preview-heading,
.home-page .cc-preview-score-row,
.home-page .cc-preview-next {
    display: flex;
    align-items: center;
}

.home-page .cc-preview-topbar {
    justify-content: space-between;
    padding: 4px 5px 17px;
    color: #8b93aa;
    border-bottom: 1px solid #eef0f6;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.home-page .cc-preview-window-dots {
    display: flex;
    gap: 5px;
}

.home-page .cc-preview-window-dots span {
    width: 6px;
    height: 6px;
    display: block;
    background: #d9dced;
    border-radius: 50%;
}

.home-page .cc-preview-window-dots span:first-child { background: #f6b7bb; }
.home-page .cc-preview-window-dots span:nth-child(2) { background: #f6d38c; }

.home-page .cc-preview-live {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--cc-green);
    text-transform: none;
}

.home-page .cc-preview-live i,
.cc-dashboard .cc-action-status i {
    width: 6px;
    height: 6px;
    display: inline-block;
    background: var(--cc-green);
    border-radius: 50%;
}

.home-page .cc-preview-heading {
    justify-content: space-between;
    gap: 12px;
    padding: 24px 6px 18px;
}

.home-page .cc-preview-kicker,
.home-page .cc-preview-date {
    color: #9aa1b5;
    font-size: 11px;
    font-weight: 700;
}

.home-page .cc-preview-heading h2 {
    margin: 5px 0 0;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 20px;
    letter-spacing: -.04em;
}

.home-page .cc-preview-score-row {
    gap: 17px;
    padding: 17px;
    background: #f7f7ff;
    border: 1px solid #eaebfb;
    border-radius: 16px;
}

.home-page .cc-score-ring,
.cc-dashboard .cc-dashboard-score-ring {
    position: relative;
    width: 98px;
    height: 98px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    align-content: center;
    background: conic-gradient(var(--cc-purple) calc(var(--score) * 1%), #e3e5f7 0);
    border-radius: 50%;
}

.home-page .cc-score-ring::after,
.cc-dashboard .cc-dashboard-score-ring::after {
    content: "";
    position: absolute;
    inset: 8px;
    background: #fff;
    border-radius: 50%;
}

.home-page .cc-score-ring strong,
.home-page .cc-score-ring span,
.cc-dashboard .cc-dashboard-score-ring strong,
.cc-dashboard .cc-dashboard-score-ring span {
    position: relative;
    z-index: 1;
}

.home-page .cc-score-ring strong {
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 25px;
    line-height: 1;
}

.home-page .cc-score-ring span {
    margin-top: 3px;
    color: #9aa1b5;
    font-size: 10px;
    font-weight: 700;
}

.home-page .cc-preview-score-copy {
    min-width: 0;
}

.home-page .cc-preview-status {
    display: inline-block;
    margin-bottom: 6px;
    color: var(--cc-green);
    font-size: 12px;
    font-weight: 800;
}

.home-page .cc-preview-score-copy p {
    margin: 0;
    color: #788199;
    font-size: 12px;
    line-height: 1.55;
}

.home-page .cc-preview-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 18px 5px;
}

.home-page .cc-preview-metrics span,
.home-page .cc-preview-metrics strong {
    display: block;
}

.home-page .cc-preview-metrics span {
    overflow: hidden;
    color: #969db1;
    font-size: 10px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-page .cc-preview-metrics strong {
    margin: 4px 0 7px;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 16px;
}

.home-page .cc-preview-metrics b {
    display: block;
    height: 5px;
    overflow: hidden;
    background: #eceef5;
    border-radius: 5px;
}

.home-page .cc-preview-metrics b i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #6d6ee8, #a29dff);
    border-radius: inherit;
}

.home-page .cc-preview-next {
    gap: 10px;
    padding: 13px;
    background: #10132f;
    border-radius: 14px;
}

.home-page .cc-preview-next-icon {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    place-items: center;
    color: #f8c77b;
    background: rgba(248, 199, 123, .12);
    border-radius: 9px;
}

.home-page .cc-preview-next div {
    min-width: 0;
    flex: 1;
}

.home-page .cc-preview-next strong {
    display: block;
    color: #fff;
    font-size: 11px;
}

.home-page .cc-preview-next p {
    margin: 3px 0 0;
    color: #b9bfd4;
    font-size: 10px;
    line-height: 1.45;
}

.home-page .cc-preview-arrow {
    color: #fff;
    font-size: 17px;
}

/* Homepage sections */
.home-page .cc-trust-strip {
    border-top: 1px solid var(--cc-line);
    border-bottom: 1px solid var(--cc-line);
    background: #fff;
}

.home-page .cc-trust-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 75px;
    color: #737c96;
    font-size: 12px;
    font-weight: 700;
}

.home-page .cc-trust-label {
    color: #a0a6b8;
    font-weight: 600;
}

.home-page .cc-trust-inner span:not(.cc-trust-label) {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.home-page .cc-trust-inner i {
    display: inline-grid;
    width: 24px;
    height: 24px;
    place-items: center;
    color: var(--cc-purple);
    background: #f0f0ff;
    border-radius: 8px;
    font-size: 9px;
    font-style: normal;
}

.home-page .cc-section {
    padding: 102px 0;
}

.home-page .cc-features-section,
.home-page .cc-pricing-section {
    background: #fff;
}

.home-page .cc-process-section {
    background: #f8f9fd;
}

.home-page .cc-section-heading {
    max-width: 680px;
    margin: 0 auto 43px;
    text-align: center;
}

.home-page .cc-section-heading-left {
    margin-left: 0;
    text-align: left;
}

.home-page .cc-section-heading h2,
.home-page .cc-final-cta h2 {
    margin: 15px 0 13px;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: clamp(31px, 4vw, 48px);
    letter-spacing: -.06em;
    line-height: 1.1;
}

.home-page .cc-section-heading p {
    margin: 0;
    color: var(--cc-muted);
    font-size: 16px;
    line-height: 1.7;
}

.home-page .cc-outcome-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 19px;
}

.home-page .cc-outcome-card {
    position: relative;
    min-height: 303px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 29px;
    overflow: hidden;
    border: 1px solid var(--cc-line);
    border-radius: 19px;
    box-shadow: 0 10px 35px rgba(26, 30, 76, .045);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.home-page .cc-outcome-card::after {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    top: -80px;
    right: -70px;
    background: rgba(255, 255, 255, .6);
    border-radius: 50%;
}

.home-page .cc-outcome-card:hover {
    border-color: #c9cdf6;
    box-shadow: 0 22px 45px rgba(26, 30, 76, .11);
    transform: translateY(-6px);
}

.home-page .cc-outcome-blue { background: linear-gradient(145deg, #f5f8ff, #fff); }
.home-page .cc-outcome-violet { background: linear-gradient(145deg, #f7f5ff, #fff); }
.home-page .cc-outcome-amber { background: linear-gradient(145deg, #fffaf2, #fff); }

.home-page .cc-outcome-icon {
    position: relative;
    z-index: 1;
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 24px;
    place-items: center;
    color: var(--cc-purple);
    background: #e9edff;
    border-radius: 15px;
}

.home-page .cc-outcome-violet .cc-outcome-icon { color: #7962d8; background: #eee9ff; }
.home-page .cc-outcome-amber .cc-outcome-icon { color: #c98225; background: #fff0d7; }

.home-page .cc-outcome-icon svg {
    width: 25px;
    height: 25px;
}

.home-page .cc-card-kicker {
    position: relative;
    z-index: 1;
    color: #8f97ae;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.home-page .cc-outcome-card h3 {
    position: relative;
    z-index: 1;
    margin: 9px 0 10px;
    color: var(--cc-ink) !important;
    font-family: var(--cc-heading);
    font-size: 21px;
    letter-spacing: -.04em;
}

.home-page .cc-outcome-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--cc-muted) !important;
    font-size: 14px;
    line-height: 1.65;
}

.home-page .cc-card-link {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 22px;
    color: var(--cc-purple);
    font-size: 12px;
    font-weight: 800;
}

.home-page .cc-card-link b,
.home-page .cc-more-tools-links b {
    font-size: 17px;
    font-weight: 500;
}

.home-page .cc-more-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 25px;
    padding: 21px 23px;
    background: #fafaff;
    border: 1px solid #ececf8;
    border-radius: 16px;
}

.home-page .cc-more-tools-label {
    display: block;
    margin-bottom: 4px;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 13px;
    font-weight: 800;
}

.home-page .cc-more-tools p {
    margin: 0;
    color: #8b93a9;
    font-size: 12px;
}

.home-page .cc-more-tools-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px 19px;
}

.home-page .cc-more-tools-links a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #626b87;
    font-size: 12px;
    font-weight: 700;
}

.home-page .cc-more-tools-links a:hover { color: var(--cc-purple); }

.home-page .cc-process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 17px;
}

.home-page .cc-process-card {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    min-height: 165px;
    padding: 24px;
    background: #fff;
    border: 1px solid var(--cc-line);
    border-radius: 17px;
    box-shadow: 0 9px 28px rgba(26, 30, 76, .04);
}

.home-page .cc-process-number {
    display: grid;
    width: 41px;
    height: 41px;
    flex: 0 0 auto;
    place-items: center;
    color: #fff;
    background: var(--cc-purple);
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
}

.home-page .cc-process-card h3 {
    margin: 2px 0 8px;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 16px;
}

.home-page .cc-process-card p {
    margin: 0;
    color: var(--cc-muted);
    font-size: 13px;
    line-height: 1.65;
}

.home-page .cc-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: center;
    gap: 19px;
}

.home-page .cc-price-card {
    position: relative;
    padding: 30px;
    background: #fff;
    border: 1px solid var(--cc-line);
    border-radius: 19px;
    box-shadow: 0 12px 35px rgba(26, 30, 76, .055);
}

.home-page .cc-price-card-pro {
    color: #fff;
    background: linear-gradient(145deg, #171a3d, #3536a7);
    border-color: transparent;
    box-shadow: 0 24px 54px rgba(53, 54, 167, .24);
}

.home-page .cc-price-card-pack {
    background: linear-gradient(145deg, #fffaf0, #fff);
    border-color: #efd9b1;
}

.home-page .cc-pack-pill {
    display: inline-flex;
    margin-bottom: 20px;
    padding: 7px 10px;
    color: #8a5616;
    background: #fff0d7;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-page .cc-popular-pill {
    display: inline-flex;
    margin-bottom: 20px;
    padding: 7px 10px;
    color: #d7d8ff;
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-page .cc-price-top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.home-page .cc-price-name {
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 20px;
    font-weight: 800;
}

.home-page .cc-price-card-pro .cc-price-name { color: #fff; }

.home-page .cc-price-note {
    color: #9aa1b5;
    font-size: 10px;
    font-weight: 700;
}

.home-page .cc-price-card-pro .cc-price-note { color: #bbc0ed; }

.home-page .cc-price-amount {
    margin: 17px 0 22px;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 40px;
    font-weight: 800;
    letter-spacing: -.06em;
}

.home-page .cc-price-card-pro .cc-price-amount { color: #fff; }

.home-page .cc-price-amount small {
    color: #8c94a9;
    font-family: var(--cc-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
}

.home-page .cc-price-card-pro .cc-price-amount small { color: #bec3ed; }

.home-page .cc-price-card ul {
    margin: 0 0 27px;
    padding: 0;
    list-style: none;
}

.home-page .cc-price-card li {
    display: flex;
    gap: 9px;
    margin: 12px 0;
    color: #65708c;
    font-size: 13px;
    line-height: 1.45;
}

.home-page .cc-price-card-pro li { color: #e2e4ff; }
.home-page .cc-price-card li span { color: var(--cc-green); font-weight: 800; }
.home-page .cc-price-card-pro li span { color: #a9f2cc; }

.home-page .cc-price-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 45px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 800;
}

.home-page .cc-price-button-light { color: var(--cc-ink) !important; background: #f0f1ff; }
.home-page .cc-price-button-dark { color: #262865 !important; background: #fff; box-shadow: 0 11px 24px rgba(12, 14, 58, .16); }

.home-page .cc-final-cta {
    padding: 45px 0;
    background: #111333;
}

.cc-dashboard .cc-pack-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin: 22px 0;
    padding: 25px 28px;
    background: linear-gradient(135deg, #fff8eb, #fff 58%);
    border: 1px solid #edd7ae;
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(40, 48, 88, .05);
}

.cc-dashboard .cc-pack-banner.is-ready {
    background: linear-gradient(135deg, #eaf8f3, #fff 58%);
    border-color: #bee4d7;
}

.cc-dashboard .cc-pack-banner h2 {
    margin: 7px 0 6px;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: clamp(20px, 3vw, 27px);
}

.cc-dashboard .cc-pack-banner p {
    max-width: 730px;
    margin: 0;
    color: var(--cc-muted);
    font-size: 13px;
    line-height: 1.6;
}

.cc-dashboard .cc-pack-banner .cc-button {
    flex: 0 0 auto;
}

.home-page .cc-final-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.home-page .cc-final-cta .cc-eyebrow { color: #a9abff; }
.home-page .cc-final-cta h2 { max-width: 600px; margin-bottom: 7px; color: #fff; font-size: clamp(28px, 4vw, 42px); }
.home-page .cc-final-cta p { margin: 0; color: #b7bbd5; font-size: 14px; }

.home-page .cc-home-footer {
    padding: 48px 0 1px;
    background: #0d0f2a;
}

.home-page .cc-footer-inner {
    display: grid;
    grid-template-columns: minmax(220px, .72fr) minmax(0, 2fr);
    align-items: start;
    gap: 48px;
}

.home-page .cc-home-footer .cc-brand { color: #fff; }
.home-page .cc-home-footer .cc-brand img { width: 38px; height: 38px; }
.home-page .cc-footer-meta { display: grid; gap: 18px; }
.home-page .cc-footer-meta p { margin: 0; }
.home-page .cc-footer-directory {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px;
}
.home-page .cc-footer-links {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 11px;
    color: #abb1cf;
    font-size: 12px;
    font-weight: 600;
}
.home-page .cc-footer-links strong {
    margin-bottom: 3px;
    color: #fff;
    font-size: 13px;
}
.home-page .cc-footer-links a:hover { color: #fff; }
.home-page .cc-home-footer p { margin: 0; color: #777eaa; font-size: 11px; }
.home-page .cc-home-footer > .cc-social-links {
    width: min(calc(100% - 30px), 720px);
    margin-top: 38px;
}

/* Dashboard */
.cc-dashboard {
    background: #f6f7fb;
}

.cc-dashboard .cc-dashboard-nav {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 15px 0;
    background: rgba(255, 255, 255, .93);
    border-bottom: 1px solid var(--cc-line);
    backdrop-filter: blur(16px);
}

.cc-dashboard .cc-dashboard-nav-inner {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 26px;
}

.cc-dashboard .cc-dashboard-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    color: var(--cc-ink) !important;
    font-family: var(--cc-heading);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.04em;
}

.cc-dashboard .cc-dashboard-brand img {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 10px;
}

.cc-dashboard .cc-dashboard-brand strong { color: var(--cc-purple); }

.cc-dashboard .nav-links.cc-dashboard-nav-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    width: auto;
    margin-left: auto;
}

.cc-dashboard .nav-links.cc-dashboard-nav-links a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 10px;
    color: #737c98;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 700;
}

.cc-dashboard .nav-links.cc-dashboard-nav-links a:hover,
.cc-dashboard .nav-links.cc-dashboard-nav-links a.cc-nav-current {
    color: var(--cc-purple);
    background: #f0f0ff;
}

.cc-dashboard .nav-links.cc-dashboard-nav-links a i { color: #9aa2b9; font-size: 12px; }
.cc-dashboard .nav-links.cc-dashboard-nav-links a.cc-nav-current i,
.cc-dashboard .nav-links.cc-dashboard-nav-links a:hover i { color: var(--cc-purple); }

.cc-dashboard .nav-links.cc-dashboard-nav-links a.cc-nav-logout {
    margin-left: 7px;
    color: #a05d68;
}

.cc-dashboard .nav-links.cc-dashboard-nav-links a.cc-nav-logout:hover { color: #b33f50; background: #fff0f1; }

.cc-dashboard .cc-mobile-menu-button {
    display: none;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    color: var(--cc-ink);
    background: #f4f5fb;
    border: 1px solid var(--cc-line);
    border-radius: 10px;
}

.cc-dashboard .cc-dashboard-main {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 45px 0 70px;
}

.cc-dashboard .cc-dashboard-welcome {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(290px, .42fr);
    align-items: stretch;
    gap: 24px;
    margin-bottom: 25px;
}

.cc-dashboard .cc-dashboard-welcome > div { padding: 12px 0; }

.cc-dashboard .cc-dashboard-welcome h1 {
    margin: 13px 0 9px;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: clamp(31px, 4vw, 48px);
    letter-spacing: -.065em;
    line-height: 1.1;
}

.cc-dashboard .cc-dashboard-welcome p {
    max-width: 560px;
    margin: 0;
    color: var(--cc-muted);
    font-size: 15px;
    line-height: 1.65;
}

.cc-dashboard .cc-dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 24px;
}

.cc-dashboard .cc-pro-panel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 188px;
    padding: 25px;
    background: linear-gradient(145deg, #171a3d, #3d3ead);
    border-radius: 19px;
    box-shadow: 0 20px 45px rgba(53, 54, 167, .19);
}

.cc-dashboard .cc-pro-label {
    color: #b9bdf2;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.cc-dashboard .cc-pro-panel h2 {
    max-width: 260px;
    margin: 12px 0 7px;
    color: #fff;
    font-family: var(--cc-heading);
    font-size: 20px;
    letter-spacing: -.045em;
    line-height: 1.2;
}

.cc-dashboard .cc-pro-panel p {
    max-width: 270px;
    margin: 0 0 17px;
    color: #c6caef;
    font-size: 12px;
    line-height: 1.55;
}

.cc-dashboard .cc-pro-panel a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.cc-dashboard .cc-pro-benefits {
    display: grid;
    gap: 6px;
    margin: 0 0 16px;
    padding: 0;
    color: #e2e5ff;
    list-style: none;
    font-size: 11px;
    line-height: 1.45;
}

.cc-dashboard .cc-pro-benefits li {
    position: relative;
    padding-left: 17px;
}

.cc-dashboard .cc-pro-benefits li::before {
    position: absolute;
    left: 0;
    color: #8de0bd;
    content: "✓";
    font-weight: 900;
}

.cc-dashboard .cc-pro-panel small {
    margin-top: 7px;
    color: #aeb4e8;
    font-size: 9px;
    font-weight: 600;
}

.cc-dashboard .cc-first-run {
    margin: 0 0 19px;
    padding: 25px;
    background: #fff;
    border: 1px solid #dfe1ff;
    border-radius: 18px;
    box-shadow: 0 12px 36px rgba(26, 30, 76, .055);
}

.cc-dashboard .cc-first-run-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.cc-dashboard .cc-first-run-heading h2 {
    margin: 9px 0 6px;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 22px;
    letter-spacing: -.045em;
}

.cc-dashboard .cc-first-run-heading p {
    margin: 0;
    color: var(--cc-muted);
    font-size: 12px;
}

.cc-dashboard .cc-first-run-heading .cc-button {
    flex: 0 0 auto;
}

.cc-dashboard .cc-first-run-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 11px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.cc-dashboard .cc-first-run-steps li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 11px;
    padding: 15px;
    background: #f8f9fd;
    border: 1px solid #eceef5;
    border-radius: 13px;
}

.cc-dashboard .cc-first-run-steps li.is-current {
    background: #f1f2ff;
    border-color: #d8dafe;
}

.cc-dashboard .cc-first-run-steps li > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    color: #fff;
    background: #a3a8b8;
    border-radius: 10px;
    font-family: var(--cc-heading);
    font-size: 12px;
    font-weight: 800;
}

.cc-dashboard .cc-first-run-steps li.is-current > span {
    background: var(--cc-purple);
}

.cc-dashboard .cc-first-run-steps strong {
    display: block;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 12px;
}

.cc-dashboard .cc-first-run-steps p {
    margin: 4px 0 0;
    color: var(--cc-muted);
    font-size: 10px;
    line-height: 1.5;
}

.cc-dashboard .cc-focus-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 18px;
    margin-bottom: 19px;
}

.cc-dashboard .cc-next-action-card,
.cc-dashboard .cc-score-snapshot {
    min-height: 228px;
    padding: 25px;
    background: #fff;
    border: 1px solid var(--cc-line);
    border-radius: 18px;
    box-shadow: 0 10px 32px rgba(26, 30, 76, .045);
}

.cc-dashboard .cc-next-action-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: radial-gradient(circle at 100% 0%, rgba(204, 204, 255, .34), transparent 40%), #fff;
}

.cc-dashboard .cc-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.cc-dashboard .cc-action-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #858da5;
    font-size: 10px;
    font-weight: 700;
}

.cc-dashboard .cc-next-action-card h2 {
    max-width: 500px;
    margin: 18px 0 9px;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 23px;
    letter-spacing: -.05em;
    line-height: 1.17;
}

.cc-dashboard .cc-next-action-card p {
    max-width: 500px;
    margin: 0;
    color: var(--cc-muted);
    font-size: 13px;
    line-height: 1.65;
}

.cc-dashboard .cc-text-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 20px;
    color: var(--cc-purple) !important;
    font-size: 12px;
    font-weight: 800;
}

.cc-dashboard .cc-score-snapshot .cc-card-topline > a {
    color: var(--cc-purple);
    font-size: 11px;
    font-weight: 800;
}

.cc-dashboard .cc-score-snapshot-body {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-top: 21px;
}

.cc-dashboard .cc-dashboard-score-ring {
    width: 104px;
    height: 104px;
}

.cc-dashboard .cc-dashboard-score-ring::after { inset: 9px; background: #fff; }

.cc-dashboard .cc-dashboard-score-ring strong {
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 29px;
    line-height: 1;
}

.cc-dashboard .cc-dashboard-score-ring span {
    margin-top: 4px;
    color: #9aa1b5;
    font-size: 10px;
    font-weight: 700;
}

.cc-dashboard .cc-score-snapshot-copy strong {
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 14px;
}

.cc-dashboard .cc-score-snapshot-copy p {
    max-width: 190px;
    margin: 6px 0 0;
    color: var(--cc-muted);
    font-size: 12px;
    line-height: 1.55;
}

.cc-dashboard .cc-mini-progress {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 19px;
    padding-top: 14px;
    color: #929ab0;
    border-top: 1px solid #eef0f6;
    font-size: 11px;
    font-weight: 700;
}

.cc-dashboard .cc-mini-progress strong {
    color: var(--cc-purple);
    font-family: var(--cc-heading);
    font-size: 13px;
}

.cc-dashboard .cc-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
    margin-bottom: 62px;
}

.cc-dashboard .cc-dashboard-stat {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 17px;
    background: #fff;
    border: 1px solid var(--cc-line);
    border-radius: 15px;
}

.cc-dashboard .cc-stat-icon {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 11px;
    font-size: 14px;
}

.cc-dashboard .cc-stat-blue { color: #4b7cf2; background: #eaf0ff; }
.cc-dashboard .cc-stat-violet { color: #8266dc; background: #efeaff; }
.cc-dashboard .cc-stat-amber { color: #cb8529; background: #fff2dc; }
.cc-dashboard .cc-stat-green { color: #1d9d69; background: #e6f8ef; }

.cc-dashboard .cc-dashboard-stat > div { min-width: 0; }
.cc-dashboard .cc-dashboard-stat span:not(.cc-stat-icon) { display: block; color: #9199ae; font-size: 10px; font-weight: 700; white-space: nowrap; }
.cc-dashboard .cc-dashboard-stat strong { display: block; margin-top: 3px; color: var(--cc-ink); font-family: var(--cc-heading); font-size: 22px; letter-spacing: -.05em; line-height: 1.1; }
.cc-dashboard .cc-dashboard-stat small { display: block; margin-top: 5px; color: #9ca4b7; font-size: 9px; white-space: nowrap; }

.cc-dashboard .cc-tools-section { margin-bottom: 65px; }

.cc-dashboard .cc-dashboard-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 21px;
}

.cc-dashboard .cc-dashboard-section-heading h2 {
    margin: 9px 0 0;
    color: var(--cc-ink);
    font-family: var(--cc-heading);
    font-size: 25px;
    letter-spacing: -.05em;
}

.cc-dashboard .cc-dashboard-section-heading > a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--cc-purple);
    font-size: 11px;
    font-weight: 800;
}

.cc-dashboard .cc-dashboard-section-note { color: #9aa1b5; font-size: 11px; font-weight: 600; }

.cc-dashboard .cc-tool-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.cc-dashboard .cc-tool-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 220px;
    padding: 23px;
    background: #fff;
    border: 1px solid var(--cc-line);
    border-radius: 16px;
    box-shadow: 0 9px 28px rgba(26, 30, 76, .04);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.cc-dashboard .cc-tool-card:hover {
    border-color: #cbd0f6;
    box-shadow: 0 18px 38px rgba(26, 30, 76, .1);
    transform: translateY(-5px);
}

.cc-dashboard .cc-tool-primary { background: linear-gradient(145deg, #f1f2ff, #fff); border-color: #dfe1ff; }
.cc-dashboard .cc-tool-icon { display: grid; width: 43px; height: 43px; margin-bottom: 18px; place-items: center; color: var(--cc-purple); background: #e9eaff; border-radius: 12px; font-size: 17px; }
.cc-dashboard .cc-tool-card:nth-child(2) .cc-tool-icon { color: #8062d8; background: #eee9ff; }
.cc-dashboard .cc-tool-card:nth-child(3) .cc-tool-icon { color: #c48125; background: #fff0d7; }
.cc-dashboard .cc-tool-kicker { color: #959cb1; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cc-dashboard .cc-tool-card h3 { margin: 7px 0 8px; color: var(--cc-ink); font-family: var(--cc-heading); font-size: 18px; }
.cc-dashboard .cc-tool-card p { margin: 0; color: var(--cc-muted); font-size: 12px; line-height: 1.6; }
.cc-dashboard .cc-tool-card > b { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 18px; color: var(--cc-purple); font-size: 11px; }

.cc-dashboard .cc-secondary-tools {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
    margin-top: 13px;
}

.cc-dashboard .cc-secondary-tools a {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 12px 13px;
    background: rgba(255, 255, 255, .7);
    border: 1px solid var(--cc-line);
    border-radius: 12px;
}

.cc-dashboard .cc-secondary-tools a:hover { background: #fff; border-color: #cbd0f6; }
.cc-dashboard .cc-secondary-tools > a > i { color: var(--cc-purple); font-size: 14px; }
.cc-dashboard .cc-secondary-tools span { min-width: 0; flex: 1; }
.cc-dashboard .cc-secondary-tools strong,
.cc-dashboard .cc-secondary-tools small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-dashboard .cc-secondary-tools strong { color: #48516d; font-size: 11px; font-weight: 800; }
.cc-dashboard .cc-secondary-tools small { margin-top: 2px; color: #9aa1b5; font-size: 9px; }
.cc-dashboard .cc-secondary-tools b { color: #a1a8bb; font-size: 15px; font-weight: 500; }

.cc-dashboard .cc-analytics-section { margin-bottom: 35px; }
.cc-dashboard .cc-analytics-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 15px; }
.cc-dashboard .cc-chart-card { min-height: 320px; padding: 22px; background: #fff; border: 1px solid var(--cc-line); border-radius: 16px; }
.cc-dashboard .cc-chart-heading span,
.cc-dashboard .cc-chart-heading strong { display: block; }
.cc-dashboard .cc-chart-heading span { color: var(--cc-purple); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cc-dashboard .cc-chart-heading strong { margin-top: 6px; color: var(--cc-ink); font-family: var(--cc-heading); font-size: 16px; }
.cc-dashboard .cc-chart-wrapper { position: relative; height: 235px; margin-top: 17px; }

.cc-dashboard .cc-account-settings {
    max-width: 700px;
    margin: 35px auto 0;
    color: #737c96;
    background: #fff;
    border: 1px solid var(--cc-line);
    border-radius: 13px;
}

.cc-dashboard .cc-account-settings summary { padding: 13px 16px; cursor: pointer; font-size: 11px; font-weight: 700; }
.cc-dashboard .cc-account-settings-body { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 16px 15px; border-top: 1px solid #f0f1f5; }
.cc-dashboard .cc-account-settings-body p { margin: 14px 0 0; color: #939aae; font-size: 10px; line-height: 1.55; }
.cc-dashboard .cc-account-settings-body button { min-height: 31px; margin-top: 14px; padding: 0 11px; color: #a34e5a; background: #fff1f2; border: 1px solid #f3d4d8; border-radius: 8px; font-size: 10px; font-weight: 800; cursor: pointer; }

.cc-dashboard .cc-dashboard-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 20px 0 30px;
    color: #9aa1b5;
    border-top: 1px solid var(--cc-line);
    font-size: 10px;
}

.cc-dashboard .cc-dashboard-footer p { margin: 0; }
.cc-dashboard .cc-dashboard-footer div { display: flex; gap: 17px; }
.cc-dashboard .cc-dashboard-footer a:hover { color: var(--cc-purple); }

@media (max-width: 980px) {
    .home-page .cc-hero-grid { grid-template-columns: 1fr; gap: 46px; }
    .home-page .cc-hero-copy { max-width: 720px; }
    .home-page .cc-hero-visual { min-height: 410px; }
    .home-page .cc-product-preview { max-width: 520px; }
    .home-page .cc-nav-links { gap: 18px; }
    .cc-dashboard .cc-dashboard-welcome { grid-template-columns: 1fr; }
    .cc-dashboard .cc-pro-panel { min-height: 160px; }
    .cc-dashboard .cc-dashboard-stats { grid-template-columns: repeat(2, 1fr); }
    .cc-dashboard .cc-analytics-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .home-page .cc-shell,
    .cc-dashboard .cc-dashboard-main,
    .cc-dashboard .cc-dashboard-nav-inner,
    .cc-dashboard .cc-dashboard-footer { width: min(100% - 30px, 1160px); }

    .home-page .cc-nav-links,
    .home-page .cc-nav-actions { display: none; }

    .home-page .cc-mobile-menu { display: block; margin-left: auto; }
    .home-page .cc-hero { padding: 60px 0 55px; }
    .home-page .cc-hero-copy h1 { font-size: clamp(39px, 12vw, 57px); }
    .home-page .cc-hero-lead { font-size: 15px; }
    .home-page .cc-hero-actions { align-items: stretch; flex-direction: column; max-width: 330px; }
    .cc-dashboard .cc-pack-banner { align-items: flex-start; flex-direction: column; gap: 18px; padding: 22px; }
    .cc-dashboard .cc-pack-banner .cc-button { width: 100%; }
    .home-page .cc-button { width: 100%; }
    .home-page .cc-trust-inner { flex-wrap: wrap; justify-content: flex-start; gap: 12px 20px; min-height: 0; padding: 17px 0; }
    .home-page .cc-trust-label { width: 100%; }
    .home-page .cc-section { padding: 72px 0; }
    .home-page .cc-section-heading { margin-bottom: 32px; text-align: left; }
    .home-page .cc-section-heading p { font-size: 14px; }
    .home-page .cc-outcome-grid,
    .home-page .cc-process-grid,
    .home-page .cc-pricing-grid { grid-template-columns: 1fr; }
    .home-page .cc-outcome-card { min-height: 260px; }
    .home-page .cc-more-tools { align-items: flex-start; flex-direction: column; }
    .home-page .cc-more-tools-links { justify-content: flex-start; }
    .home-page .cc-final-cta-inner { align-items: flex-start; flex-direction: column; }
    .home-page .cc-footer-inner { grid-template-columns: 1fr; gap: 34px; }
    .home-page .cc-footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
    .home-page .cc-footer-links { width: 100%; }
    .home-page .cc-final-cta .cc-button { width: auto; }

    .cc-dashboard .cc-dashboard-nav { padding: 12px 0; }
    .cc-dashboard .cc-dashboard-nav-inner { justify-content: space-between; }
    .cc-dashboard .cc-mobile-menu-button { display: grid; place-items: center; }
    .cc-dashboard .nav-links.cc-dashboard-nav-links {
        position: absolute;
        top: 64px;
        right: 15px;
        z-index: 25;
        display: none;
        width: min(250px, calc(100% - 30px));
        padding: 9px;
        margin: 0;
        background: #fff;
        border: 1px solid var(--cc-line);
        border-radius: 13px;
        box-shadow: 0 18px 55px rgba(26, 30, 76, .12);
    }
    .cc-dashboard .nav-links.cc-dashboard-nav-links.mobile-open { display: flex; align-items: stretch; flex-direction: column; }
    .cc-dashboard .nav-links.cc-dashboard-nav-links a { width: 100%; }
    .cc-dashboard .nav-links.cc-dashboard-nav-links a.cc-nav-logout { margin: 3px 0 0; border-top: 1px solid #f0f1f5; border-radius: 0 0 8px 8px; }
    .cc-dashboard .cc-dashboard-main { padding-top: 31px; }
    .cc-dashboard .cc-dashboard-welcome h1 { font-size: 36px; }
    .cc-dashboard .cc-first-run-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
    .cc-dashboard .cc-first-run-steps { grid-template-columns: 1fr; }
    .cc-dashboard .cc-focus-grid { grid-template-columns: 1fr; }
    .cc-dashboard .cc-dashboard-section-heading { align-items: flex-start; flex-direction: column; gap: 11px; }
    .cc-dashboard .cc-tool-grid,
    .cc-dashboard .cc-secondary-tools { grid-template-columns: 1fr; }
    .cc-dashboard .cc-account-settings-body { align-items: flex-start; flex-direction: column; gap: 2px; }
    .cc-dashboard .cc-dashboard-footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 480px) {
    .home-page .cc-footer-directory { grid-template-columns: 1fr; gap: 26px; }
}

@media (max-width: 440px) {
    .home-page .cc-brand span,
    .cc-dashboard .cc-dashboard-brand span { font-size: 14px; }
    .home-page .cc-hero-visual { min-height: 345px; }
    .home-page .cc-product-preview { padding: 12px; border-radius: 18px; }
    .home-page .cc-preview-heading { padding: 18px 4px 14px; }
    .home-page .cc-preview-heading h2 { font-size: 17px; }
    .home-page .cc-preview-score-row { gap: 11px; padding: 12px; }
    .home-page .cc-score-ring { width: 78px; height: 78px; }
    .home-page .cc-score-ring::after { inset: 7px; }
    .home-page .cc-score-ring strong { font-size: 20px; }
    .home-page .cc-preview-metrics { gap: 7px; padding: 14px 2px; }
    .home-page .cc-preview-metrics strong { font-size: 14px; }
    .home-page .cc-proof-row { gap: 10px; font-size: 11px; }
    .cc-dashboard .cc-dashboard-stats { grid-template-columns: 1fr; }
    .cc-dashboard .cc-dashboard-stat { padding: 15px; }
    .cc-dashboard .cc-next-action-card,
    .cc-dashboard .cc-first-run,
    .cc-dashboard .cc-score-snapshot,
    .cc-dashboard .cc-chart-card { padding: 20px; }
    .cc-dashboard .cc-dashboard-score-ring { width: 88px; height: 88px; }
    .cc-dashboard .cc-dashboard-score-ring strong { font-size: 24px; }
    .home-page .cc-price-card { padding: 24px; }
    .home-page .cc-price-top { align-items: flex-start; flex-direction: column; gap: 4px; }
}
