@layer cc.tokens, cc.foundation, cc.layout, cc.components, cc.sections, cc.art, cc.motion, cc.responsive, cc.accessibility;

@layer cc.tokens {
    :root {
        --cc-ink: #0f1b2d;
        --cc-muted: #5d6b7e;
        --cc-line: rgba(33, 78, 121, .14);
        --cc-paper: #f7fbff;
        --cc-paper-2: #eef7fd;
        --cc-white: #ffffff;
        --cc-knowledge: #2563eb;
        --cc-connection: #0ea5c6;
        --cc-imagination: #2157d9;
        --cc-research: #0d9f9a;
        --cc-action: #ea6b21;
        --cc-transformation: #ee6b64;
        --cc-life: #22a06b;
        --cc-memory: #c28b2c;
        --cc-night: #071427;
        --cc-radius-sm: 14px;
        --cc-radius-md: 22px;
        --cc-radius-lg: 34px;
        --cc-radius-xl: 48px;
        --cc-shadow-object: 0 24px 70px rgba(29, 63, 96, .10);
        --cc-shadow-focus: 0 30px 100px rgba(26, 83, 128, .18);
        --cc-width-narrative: 66ch;
        --cc-width-system: 1240px;
        --cc-pad-inline: clamp(20px, 4vw, 64px);
        --cc-section-space: clamp(88px, 13vw, 190px);
        --cc-motion-interaction: 180ms;
        --cc-motion-narrative: 680ms;
        --cc-motion-ambient: 24s;
    }
}

@layer cc.foundation {
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body.cc-site {
        margin: 0;
        color: var(--cc-ink);
        background: var(--cc-paper);
        font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
    }
    a { color: inherit; }
    img { max-width: 100%; display: block; }
    .cc-sr-only {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
    .cc-skip-link {
        position: fixed;
        z-index: 9999;
        inset: 12px auto auto 12px;
        padding: 10px 14px;
        border-radius: 10px;
        background: var(--cc-ink);
        color: white;
        transform: translateY(-150%);
        transition: transform var(--cc-motion-interaction) ease;
    }
    .cc-skip-link:focus { transform: none; }
}

@layer cc.layout {
    .cc-home { overflow: clip; }
    .cc-container {
        width: min(calc(100% - (var(--cc-pad-inline) * 2)), var(--cc-width-system));
        margin-inline: auto;
    }
    .cc-narrative {
        width: min(calc(100% - (var(--cc-pad-inline) * 2)), var(--cc-width-narrative));
        margin-inline: auto;
    }
    .cc-section { position: relative; padding-block: var(--cc-section-space); }
    .cc-section-heading { max-width: 760px; margin-bottom: clamp(46px, 7vw, 88px); }
    .cc-section-heading--center { margin-inline: auto; text-align: center; }
}

@layer cc.components {
    .cc-shell {
        position: sticky;
        top: 0;
        z-index: 100;
        border-bottom: 1px solid rgba(48, 90, 126, .09);
        background: rgba(248, 252, 255, .88);
        backdrop-filter: blur(18px);
    }
    .cc-shell__inner {
        min-height: 68px;
        width: min(calc(100% - (var(--cc-pad-inline) * 2)), var(--cc-width-system));
        margin-inline: auto;
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 24px;
        align-items: center;
    }
    .cc-brand img { height: 38px; width: auto; }
    .cc-shell__nav { justify-self: center; display: flex; gap: 28px; }
    .cc-shell__nav a, .cc-shell__login {
        text-decoration: none;
        font-weight: 700;
        font-size: .92rem;
    }
    .cc-shell__nav a { color: #40526a; }
    .cc-shell__login {
        padding: 9px 15px;
        border-radius: 999px;
        background: var(--cc-ink);
        color: white;
    }
    .cc-eyebrow {
        margin: 0 0 14px;
        color: #58708b;
        font-size: .76rem;
        font-weight: 800;
        letter-spacing: .16em;
        text-transform: uppercase;
    }
    .cc-section h2 {
        margin: 0;
        font-size: clamp(2.15rem, 5vw, 4.8rem);
        line-height: .98;
        letter-spacing: -.055em;
        text-wrap: balance;
    }
    .cc-section-heading > p:last-child,
    .cc-definition__copy > p:last-child,
    .cc-proof__intro > p:last-child,
    .cc-gravity__copy > p:not(.cc-eyebrow):not(.cc-status) {
        max-width: 62ch;
        margin: 24px 0 0;
        color: var(--cc-muted);
        font-size: clamp(1rem, 1.5vw, 1.2rem);
    }
    .cc-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
    .cc-actions--center { justify-content: center; }
    .cc-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        padding: 11px 18px;
        border-radius: 999px;
        font-weight: 760;
        text-decoration: none;
        transition: transform var(--cc-motion-interaction) ease, box-shadow var(--cc-motion-interaction) ease, background var(--cc-motion-interaction) ease;
    }
    .cc-action:hover { transform: translateY(-2px); }
    .cc-action--primary { background: var(--cc-ink); color: white; box-shadow: 0 14px 38px rgba(15, 27, 45, .16); }
    .cc-action--secondary { background: rgba(255,255,255,.72); border: 1px solid rgba(32,78,116,.16); }
    .cc-action--text { color: #46617f; }
    .cc-footer { padding: 34px var(--cc-pad-inline); border-top: 1px solid rgba(40,80,110,.10); background: #fff; }
    .cc-footer__inner { max-width: var(--cc-width-system); margin-inline: auto; display:flex; justify-content:space-between; gap:20px; color:#627286; }
}

@layer cc.sections {
    .cc-hero {
        min-height: calc(92svh - 68px);
        display: grid;
        align-items: center;
        padding-block: clamp(72px, 9vw, 130px);
        background:
            radial-gradient(900px 620px at 76% 40%, rgba(14,165,198,.11), transparent 66%),
            radial-gradient(740px 500px at 28% 18%, rgba(37,99,235,.07), transparent 68%),
            linear-gradient(180deg, #fbfdff 0%, #f4faff 100%);
    }
    .cc-hero__grid { display: grid; grid-template-columns: minmax(0,5fr) minmax(420px,7fr); align-items: center; gap: clamp(48px, 7vw, 100px); }
    .cc-hero h1 {
        margin: 0;
        max-width: 780px;
        font-size: clamp(3.4rem, 7.1vw, 7.4rem);
        line-height: .88;
        letter-spacing: -.075em;
        text-wrap: balance;
    }
    .cc-hero__lead { margin: 30px 0 0; max-width: 620px; font-size: clamp(1.45rem, 2.5vw, 2.3rem); line-height: 1.18; letter-spacing: -.035em; }
    .cc-hero__support { max-width: 600px; margin: 18px 0 34px; color: var(--cc-muted); font-size: clamp(1rem, 1.5vw, 1.18rem); }

    .cc-problem { background: #fff; }
    .cc-problem .cc-narrative { text-align: center; }
    .cc-problem h2 { max-width: 900px; margin-inline: auto; }
    .cc-problem .cc-narrative > p:nth-of-type(2) { max-width: 720px; margin: 28px auto 0; color: var(--cc-muted); font-size: 1.12rem; }

    .cc-definition { background: linear-gradient(180deg, #fff, #f7fbff); }
    .cc-definition__grid { display:grid; grid-template-columns: 5fr 7fr; gap: clamp(48px,8vw,110px); align-items:center; }
    .cc-definition__states { display:grid; gap:20px; padding: clamp(28px,4vw,52px); border:1px solid rgba(35,84,124,.12); border-radius:var(--cc-radius-xl); background:rgba(255,255,255,.74); box-shadow:var(--cc-shadow-object); }
    .cc-state { display:flex; gap:16px; align-items:center; padding:16px 18px; border-radius:var(--cc-radius-md); background:#fff; }
    .cc-state span { width:16px; height:16px; border-radius:50%; background:var(--cc-knowledge); box-shadow:0 0 0 8px rgba(37,99,235,.08); }
    .cc-state--relatable span { background:var(--cc-connection); box-shadow:0 0 0 8px rgba(14,165,198,.08); }
    .cc-state--mobilizable span { background:var(--cc-action); box-shadow:0 0 0 8px rgba(234,107,33,.08); }

    .cc-cycle-section { background: #f6fbff; }
    .cc-cycle { list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(5, 1fr); gap: 18px; counter-reset: cc-cycle; }
    .cc-cycle__step { position:relative; min-height:180px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid rgba(30,76,116,.11); border-radius:var(--cc-radius-md); background:rgba(255,255,255,.78); }
    .cc-cycle__step::after { content:""; position:absolute; top:50%; left:100%; width:18px; border-top:1px solid rgba(30,76,116,.18); }
    .cc-cycle__step:nth-child(5)::after, .cc-cycle__step:nth-child(10)::after { display:none; }
    .cc-cycle__index { color:#8da0b4; font-size:.72rem; font-weight:800; letter-spacing:.12em; }
    .cc-cycle__node { width:18px; height:18px; border-radius:50%; background:var(--cc-knowledge); box-shadow:0 0 0 7px color-mix(in srgb, var(--cc-knowledge) 10%, transparent); }
    .cc-cycle__step strong { font-size:clamp(1.05rem,1.5vw,1.28rem); line-height:1.15; }
    .cc-tone--life .cc-cycle__node { background:var(--cc-life); box-shadow:0 0 0 7px rgba(34,160,107,.09); }
    .cc-tone--connection .cc-cycle__node { background:var(--cc-connection); box-shadow:0 0 0 7px rgba(14,165,198,.09); }
    .cc-tone--imagination .cc-cycle__node { background:var(--cc-imagination); box-shadow:0 0 0 7px rgba(33,87,217,.09); }
    .cc-tone--action .cc-cycle__node { background:var(--cc-action); box-shadow:0 0 0 7px rgba(234,107,33,.09); }
    .cc-tone--memory .cc-cycle__node { background:var(--cc-memory); box-shadow:0 0 0 7px rgba(194,139,44,.09); }

    .cc-portals-section { background:#fff; }
    .cc-portals { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
    .cc-portal article { height:100%; padding:clamp(28px,3vw,44px); border:1px solid rgba(30,76,116,.11); border-radius:var(--cc-radius-lg); background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,255,.9)); box-shadow:0 20px 70px rgba(28,62,94,.07); }
    .cc-portal__identity { display:flex; align-items:center; gap:18px; margin-bottom:42px; }
    .cc-portal__node { width:28px; height:28px; border-radius:50%; background:var(--cc-knowledge); box-shadow:0 0 0 12px rgba(37,99,235,.07); }
    .cc-portal--organization .cc-portal__node { background:var(--cc-connection); box-shadow:0 0 0 12px rgba(14,165,198,.07); }
    .cc-portal--territory .cc-portal__node { background:var(--cc-life); box-shadow:0 0 0 12px rgba(34,160,107,.07); }
    .cc-portal h3 { margin:0; font-size:clamp(2.2rem,4vw,4.2rem); line-height:.9; letter-spacing:-.06em; }
    .cc-portal__identity p { margin:8px 0 0; color:#738399; font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
    .cc-portal h4 { margin:0 0 18px; font-size:1.22rem; line-height:1.25; }
    .cc-portal article > p { margin:0; color:var(--cc-muted); }

    .cc-proof-section { background:linear-gradient(180deg,#fff,#eef8fd); }
    .cc-proof__grid { display:grid; grid-template-columns:5fr 7fr; gap:clamp(46px,8vw,110px); align-items:start; }
    .cc-proof__intro h2 { font-size:clamp(2.4rem,4.7vw,4.6rem); }
    .cc-metrics { margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
    .cc-metric { padding:28px; min-height:170px; border:1px solid rgba(30,76,116,.11); border-radius:var(--cc-radius-md); background:rgba(255,255,255,.8); }
    .cc-metric dt { color:var(--cc-muted); font-size:.9rem; font-weight:750; }
    .cc-metric dd { margin:26px 0 0; font-size:clamp(2.5rem,5vw,4.8rem); line-height:.9; letter-spacing:-.06em; font-weight:800; font-variant-numeric:tabular-nums; }

    .cc-gravity { min-height:720px; display:grid; align-items:center; color:#eaf5ff; background:radial-gradient(900px 560px at 25% 50%,rgba(14,165,198,.15),transparent 66%), linear-gradient(180deg,#0a2440 0%,var(--cc-night) 52%,#07101e 100%); overflow:hidden; }
    .cc-gravity__grid { position:relative; z-index:2; display:grid; grid-template-columns:7fr 5fr; gap:clamp(48px,8vw,110px); align-items:center; }
    .cc-gravity__copy p:not(.cc-eyebrow):not(.cc-status) { color:#aec4d9; }
    .cc-gravity .cc-eyebrow { color:#84d8ea; }
    .cc-status { display:inline-flex; margin-top:24px; padding:8px 12px; border:1px solid rgba(140,216,234,.24); border-radius:999px; color:#a5dfe9; font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }

    .cc-final { background:radial-gradient(760px 480px at 50% 0%,rgba(14,165,198,.09),transparent 70%),#fbfdff; text-align:center; }
    .cc-final h2 { font-size:clamp(2.8rem,6vw,6.4rem); }
    .cc-final__inner > p { margin:26px auto 34px; color:var(--cc-muted); font-size:clamp(1.2rem,2vw,1.6rem); }
}

@layer cc.art {
    .cc-field { position:relative; margin:0; aspect-ratio:1.08; min-height:480px; }
    .cc-field__aurora { position:absolute; inset:8%; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.94) 0%,rgba(14,165,198,.10) 36%,rgba(37,99,235,.04) 58%,transparent 72%); filter:blur(2px); }
    .cc-node { position:absolute; display:flex; align-items:center; gap:10px; color:#3d5774; font-size:.78rem; font-weight:760; }
    .cc-node i { display:block; width:14px; height:14px; border-radius:50%; background:var(--cc-connection); box-shadow:0 0 0 9px rgba(14,165,198,.08),0 10px 28px rgba(14,165,198,.16); }
    .cc-node--core { left:44%; top:43%; font-size:.86rem; color:#183859; }
    .cc-node--core i { width:24px; height:24px; background:var(--cc-knowledge); box-shadow:0 0 0 12px rgba(37,99,235,.08),0 22px 50px rgba(37,99,235,.18); }
    .cc-node--person { left:13%; top:22%; }
    .cc-node--organization { right:8%; top:20%; }
    .cc-node--territory { left:18%; bottom:17%; }
    .cc-node--territory i { background:var(--cc-life); box-shadow:0 0 0 9px rgba(34,160,107,.08); }
    .cc-node--impact { right:11%; bottom:19%; }
    .cc-node--impact i { background:var(--cc-action); box-shadow:0 0 0 9px rgba(234,107,33,.08); }
    .cc-field__link { position:absolute; left:50%; top:50%; height:1px; transform-origin:left center; background:linear-gradient(90deg,rgba(37,99,235,.34),rgba(14,165,198,.10)); }
    .cc-field__link--a { width:35%; transform:rotate(-142deg); }
    .cc-field__link--b { width:38%; transform:rotate(-37deg); }
    .cc-field__link--c { width:36%; transform:rotate(139deg); }

    .cc-fragments { position:relative; height:170px; margin-top:48px; }
    .cc-fragments i { position:absolute; width:12px; height:12px; border-radius:50%; background:#7db6d3; opacity:.7; }
    .cc-fragments i:nth-child(1){left:8%;top:58%;}.cc-fragments i:nth-child(2){left:29%;top:12%;}.cc-fragments i:nth-child(3){left:52%;top:62%;}.cc-fragments i:nth-child(4){left:77%;top:18%;}.cc-fragments i:nth-child(5){left:92%;top:66%;}

    .cc-gravity__sky { position:absolute; inset:0; opacity:.75; }
    .cc-gravity__sky span { position:absolute; width:3px; height:3px; border-radius:50%; background:#d7f6ff; box-shadow:0 0 12px #77d9ee; }
    .cc-gravity__sky span:nth-child(1){left:10%;top:18%}.cc-gravity__sky span:nth-child(2){left:27%;top:29%}.cc-gravity__sky span:nth-child(3){left:54%;top:13%}.cc-gravity__sky span:nth-child(4){left:82%;top:25%}.cc-gravity__sky span:nth-child(5){left:70%;top:64%}
    .cc-city { position:relative; min-height:390px; border-bottom:1px solid rgba(133,211,229,.16); }
    .cc-city__road { position:absolute; left:6%; right:0; bottom:15%; height:2px; background:linear-gradient(90deg,transparent,#47b7d2,#f0c66e,transparent); transform:rotate(-7deg); transform-origin:left center; box-shadow:0 0 18px rgba(71,183,210,.45); }
    .cc-city__building { position:absolute; bottom:16%; display:block; border:1px solid rgba(142,222,240,.22); background:linear-gradient(180deg,rgba(65,149,177,.24),rgba(8,39,68,.6)); box-shadow:0 0 34px rgba(46,180,211,.08); }
    .cc-city__building::after { content:""; position:absolute; inset:16% 22%; background:repeating-linear-gradient(180deg,rgba(246,210,125,.65) 0 2px,transparent 2px 15px); opacity:.6; }
    .cc-city__building--a { left:9%; width:18%; height:46%; border-radius:40px 40px 4px 4px; }
    .cc-city__building--b { left:33%; width:22%; height:66%; border-radius:70px 70px 4px 4px; }
    .cc-city__building--c { left:59%; width:15%; height:38%; transform:skewY(-5deg); }
    .cc-city__building--d { right:6%; width:18%; height:53%; border-radius:4px 44px 4px 4px; }
}

@layer cc.motion {
    [data-cc-reveal] { opacity:1; transform:none; }
    @media (prefers-reduced-motion: no-preference) {
        .js [data-cc-reveal].cc-is-entering { animation:cc-enter var(--cc-motion-narrative) cubic-bezier(.2,.7,.2,1) both; }
        .js .cc-field__aurora { animation:cc-breathe var(--cc-motion-ambient) ease-in-out infinite alternate; }
        @keyframes cc-enter { from { opacity:.01; transform:translateY(18px); } to { opacity:1; transform:none; } }
        @keyframes cc-breathe { from { transform:scale(.96); opacity:.72; } to { transform:scale(1.04); opacity:1; } }
    }
}

@layer cc.responsive {
    @media (max-width: 1050px) {
        .cc-shell__nav { display:none; }
        .cc-hero__grid, .cc-definition__grid, .cc-proof__grid, .cc-gravity__grid { grid-template-columns:1fr; }
        .cc-hero { min-height:auto; }
        .cc-field { width:min(100%,680px); margin-inline:auto; }
        .cc-cycle { grid-template-columns:repeat(2,1fr); }
        .cc-cycle__step:nth-child(5)::after { display:block; }
        .cc-cycle__step:nth-child(even)::after { display:none; }
        .cc-portals { grid-template-columns:1fr; }
        .cc-portal article { display:grid; grid-template-columns:minmax(180px,.55fr) 1fr; gap:22px 34px; }
        .cc-portal__identity { grid-row:1 / span 2; margin:0; align-self:start; }
        .cc-metrics { grid-template-columns:repeat(2,1fr); }
        .cc-gravity__copy { max-width:680px; }
    }
    @media (max-width: 680px) {
        :root { --cc-pad-inline: 18px; --cc-section-space: clamp(72px, 22vw, 112px); }
        .cc-shell__inner { min-height:62px; }
        .cc-brand img { height:32px; }
        .cc-shell__login { padding:8px 13px; }
        .cc-hero { padding-top:58px; }
        .cc-hero h1 { font-size:clamp(3.2rem,17vw,5.1rem); }
        .cc-hero__lead { font-size:1.45rem; }
        .cc-actions { align-items:stretch; }
        .cc-action { width:100%; }
        .cc-action--text { min-height:auto; }
        .cc-field { min-height:350px; aspect-ratio:.92; margin-top:34px; }
        .cc-node b { display:none; }
        .cc-node--core b { display:block; font-size:.72rem; }
        .cc-definition__states { border-radius:var(--cc-radius-lg); }
        .cc-cycle { grid-template-columns:1fr; gap:0; padding-left:5px; }
        .cc-cycle__step { min-height:auto; display:grid; grid-template-columns:42px 1fr; align-items:center; gap:0 14px; padding:18px 16px; border:0; border-left:1px solid rgba(30,76,116,.16); border-radius:0; background:transparent; }
        .cc-cycle__step::after { display:none !important; }
        .cc-cycle__index { grid-column:1; grid-row:1; }
        .cc-cycle__node { position:absolute; left:-9px; top:50%; transform:translateY(-50%); width:16px; height:16px; }
        .cc-cycle__step strong { grid-column:2; grid-row:1; font-size:1.08rem; }
        .cc-portals { gap:16px; }
        .cc-portal article { display:block; padding:26px 22px; }
        .cc-portal__identity { margin-bottom:30px; }
        .cc-metrics { grid-template-columns:1fr; }
        .cc-metric { min-height:140px; }
        .cc-gravity { min-height:auto; padding-block:120px; }
        .cc-city { min-height:280px; order:2; }
        .cc-gravity__copy { order:1; }
        .cc-final .cc-actions { width:100%; }
        .cc-footer__inner { flex-direction:column; }
    }
}

@layer cc.accessibility {
    :focus-visible { outline:3px solid rgba(14,165,198,.7); outline-offset:4px; }
    @media (prefers-reduced-motion: reduce) {
        html { scroll-behavior:auto; }
        *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
    }
    @media (prefers-contrast: more) {
        :root { --cc-line: rgba(15,27,45,.42); --cc-muted:#34465c; }
        .cc-cycle__step, .cc-portal article, .cc-metric, .cc-definition__states { border-color:rgba(15,27,45,.32); }
    }
    @media (forced-colors: active) {
        .cc-field, .cc-city, .cc-fragments, .cc-gravity__sky { forced-color-adjust:auto; }
    }
}

/* ==========================================================
   HOME.R1B.2 | Identidade clara do Capital Cognitivo
   Peão = símbolo de potencial, percurso e transformação.
   Direção: flagship light, sem ruptura dark.
   ========================================================== */
@layer cc.tokens {
    :root {
        --cc-brand-life: #18a06f;
        --cc-brand-connection: #12a9bd;
        --cc-brand-knowledge: #2563eb;
        --cc-brand-ink: #0b1830;
        --cc-brand-gradient: linear-gradient(135deg, #14a36d 0%, #0f9f9f 42%, #1f66d9 100%);
        --cc-brand-gradient-soft: linear-gradient(135deg, rgba(20,163,109,.13) 0%, rgba(15,159,159,.10) 42%, rgba(31,102,217,.11) 100%);
        --cc-brand-glow: 0 18px 60px rgba(21, 121, 145, .16);
        --cc-paper: #f9fcff;
        --cc-paper-2: #f1f8fd;
        --cc-shadow-object: 0 24px 70px rgba(21, 58, 91, .085);
        --cc-shadow-focus: 0 34px 110px rgba(21, 101, 145, .16);
    }
}

@layer cc.foundation {
    body.cc-site {
        background:
            radial-gradient(1000px 560px at 78% -180px, rgba(36, 99, 235, .055), transparent 72%),
            #f9fcff;
    }
}

@layer cc.components {
    .cc-shell {
        top: 0;
        padding: 12px var(--cc-pad-inline) 0;
        border-bottom: 0;
        background: linear-gradient(180deg, rgba(249,252,255,.97) 0%, rgba(249,252,255,.78) 72%, transparent 100%);
        backdrop-filter: none;
    }
    .cc-shell__inner {
        width: min(100%, var(--cc-width-system));
        min-height: 64px;
        padding: 7px 9px 7px 10px;
        border: 1px solid rgba(32, 77, 112, .10);
        border-radius: 24px;
        background: rgba(255,255,255,.84);
        box-shadow: 0 14px 44px rgba(25, 61, 91, .075);
        backdrop-filter: blur(18px) saturate(1.15);
    }
    .cc-brand {
        min-width: 0;
        display: inline-flex;
        align-items: center;
        gap: 11px;
        text-decoration: none;
    }
    .cc-brand__mark {
        flex: 0 0 auto;
        width: 42px;
        height: 42px;
        overflow: hidden;
        border-radius: 14px;
        box-shadow: 0 10px 26px rgba(24, 108, 125, .18);
    }
    .cc-brand__mark img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .cc-brand__wording {
        min-width: 0;
        display: grid;
        line-height: 1;
    }
    .cc-brand__wording strong {
        color: var(--cc-brand-ink);
        font-size: .98rem;
        font-weight: 840;
        letter-spacing: -.035em;
    }
    .cc-brand__wording small {
        margin-top: 5px;
        color: #708198;
        font-size: .60rem;
        font-weight: 800;
        letter-spacing: .11em;
        text-transform: uppercase;
    }
    .cc-shell__nav { gap: 8px; }
    .cc-shell__nav a {
        padding: 9px 13px;
        border-radius: 999px;
        color: #455970;
        transition: background var(--cc-motion-interaction) ease, color var(--cc-motion-interaction) ease;
    }
    .cc-shell__nav a:hover {
        color: var(--cc-brand-ink);
        background: #f1f7fb;
    }
    .cc-shell__login {
        min-width: 80px;
        padding: 10px 17px;
        text-align: center;
        background: var(--cc-brand-ink);
        box-shadow: 0 10px 24px rgba(11,24,48,.13);
    }
    .cc-action--primary {
        background: var(--cc-brand-gradient);
        box-shadow: 0 15px 38px rgba(19, 117, 129, .20);
    }
    .cc-action--primary:hover {
        box-shadow: 0 18px 46px rgba(19, 117, 129, .25);
    }
    .cc-action--secondary {
        background: rgba(255,255,255,.88);
        border-color: rgba(31, 87, 126, .14);
        box-shadow: 0 8px 24px rgba(28, 67, 98, .055);
    }
    .cc-hero__signature {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 9px;
        margin-bottom: 18px;
    }
    .cc-hero__signature .cc-eyebrow { margin: 0; }
    .cc-hero__signature-mark {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--cc-brand-gradient);
        box-shadow: 0 0 0 6px rgba(17, 159, 156, .075);
    }
    .cc-hero__signature-label {
        padding: 5px 8px;
        border: 1px solid rgba(25, 98, 126, .10);
        border-radius: 999px;
        color: #597187;
        background: rgba(255,255,255,.62);
        font-size: .66rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    .cc-final__seal {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 28px;
        padding: 7px 13px 7px 7px;
        border: 1px solid rgba(29, 92, 121, .10);
        border-radius: 999px;
        background: rgba(255,255,255,.82);
        box-shadow: 0 10px 32px rgba(29, 72, 99, .07);
    }
    .cc-final__seal span {
        width: 32px;
        height: 32px;
        overflow: hidden;
        border-radius: 10px;
    }
    .cc-final__seal img { width: 100%; height: 100%; object-fit: cover; }
    .cc-final__seal strong {
        color: #476076;
        font-size: .72rem;
        font-weight: 850;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
}

@layer cc.sections {
    .cc-hero {
        min-height: calc(92svh - 76px);
        padding-top: clamp(82px, 8vw, 120px);
        background:
            radial-gradient(880px 580px at 80% 46%, rgba(18,169,189,.105), transparent 67%),
            radial-gradient(700px 450px at 18% 12%, rgba(37,99,235,.055), transparent 70%),
            linear-gradient(180deg, #fbfdff 0%, #f5fbff 58%, #f9fcff 100%);
    }
    .cc-hero__grid { grid-template-columns: minmax(0,5.2fr) minmax(440px,6.8fr); }
    .cc-hero h1 {
        max-width: 720px;
        font-size: clamp(3.35rem, 6.55vw, 6.85rem);
        line-height: .91;
        letter-spacing: -.072em;
    }
    .cc-hero__lead {
        max-width: 560px;
        font-size: clamp(1.38rem, 2.25vw, 2.12rem);
        line-height: 1.2;
    }
    .cc-hero__support { max-width: 560px; }

    /* R1B.2: CrieGravity permanece no sistema luminoso. */
    .cc-gravity {
        min-height: 720px;
        color: var(--cc-ink);
        background:
            radial-gradient(850px 500px at 18% 48%, rgba(18,169,189,.12), transparent 66%),
            radial-gradient(760px 520px at 82% 36%, rgba(37,99,235,.075), transparent 70%),
            linear-gradient(180deg, #f7fcff 0%, #edf8fd 52%, #f9fcff 100%);
    }
    .cc-gravity__copy p:not(.cc-eyebrow):not(.cc-status) { color: var(--cc-muted); }
    .cc-gravity .cc-eyebrow { color: #39768e; }
    .cc-status {
        border-color: rgba(21, 139, 148, .14);
        color: #39768e;
        background: rgba(255,255,255,.65);
    }
    .cc-final {
        background:
            radial-gradient(720px 440px at 50% 0%, rgba(17,159,156,.09), transparent 70%),
            linear-gradient(180deg,#fbfdff,#f7fcff);
    }
}

@layer cc.art {
    .cc-field {
        isolation: isolate;
        min-height: 510px;
        padding: 22px;
        border: 1px solid rgba(34, 91, 124, .085);
        border-radius: clamp(34px, 5vw, 62px);
        background:
            linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.72)),
            radial-gradient(circle at 22% 18%, rgba(24,160,111,.07), transparent 32%),
            radial-gradient(circle at 76% 76%, rgba(37,99,235,.08), transparent 36%);
        box-shadow: 0 36px 110px rgba(28, 81, 111, .105), inset 0 1px 0 rgba(255,255,255,.9);
    }
    .cc-field::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -2;
        border-radius: inherit;
        opacity: .34;
        background-image:
            linear-gradient(rgba(48,101,132,.055) 1px, transparent 1px),
            linear-gradient(90deg, rgba(48,101,132,.055) 1px, transparent 1px);
        background-size: 44px 44px;
        mask-image: radial-gradient(circle at 50% 48%, black 12%, transparent 74%);
    }
    .cc-field::after {
        content: "";
        position: absolute;
        inset: 10% 8%;
        z-index: -1;
        border-radius: 50%;
        background: var(--cc-brand-gradient-soft);
        filter: blur(32px);
        opacity: .78;
    }
    .cc-field__aurora {
        inset: 18%;
        background: radial-gradient(circle,rgba(255,255,255,.92) 0%,rgba(18,169,189,.10) 38%,rgba(37,99,235,.035) 64%,transparent 76%);
    }
    .cc-field__brand {
        position: absolute;
        left: 26px;
        top: 26px;
        z-index: 4;
        max-width: 255px;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 8px 13px 8px 8px;
        border: 1px solid rgba(31, 94, 123, .10);
        border-radius: 18px;
        background: rgba(255,255,255,.76);
        box-shadow: 0 14px 38px rgba(30, 77, 104, .08);
        backdrop-filter: blur(14px);
    }
    .cc-field__brand-mark {
        flex: 0 0 auto;
        width: 42px;
        height: 42px;
        overflow: hidden;
        border-radius: 13px;
        box-shadow: 0 10px 24px rgba(18, 116, 128, .17);
    }
    .cc-field__brand-mark img { width:100%; height:100%; object-fit:cover; }
    .cc-field__brand-copy { display:grid; line-height:1.15; }
    .cc-field__brand-copy strong { color:#18374f; font-size:.72rem; font-weight:850; letter-spacing:-.015em; }
    .cc-field__brand-copy small { margin-top:4px; color:#72859a; font-size:.58rem; line-height:1.3; }

    .cc-node {
        z-index: 3;
        gap: 8px;
        padding: 7px 10px 7px 8px;
        border: 1px solid rgba(32, 86, 116, .09);
        border-radius: 999px;
        color: #39546d;
        background: rgba(255,255,255,.80);
        box-shadow: 0 12px 30px rgba(26, 71, 102, .075);
        backdrop-filter: blur(10px);
    }
    .cc-node i { width: 11px; height: 11px; box-shadow: 0 0 0 6px rgba(14,165,198,.07); }
    .cc-node--core {
        left: 43%;
        top: 44%;
        padding: 11px 14px 11px 10px;
        color: #183859;
        background: rgba(255,255,255,.92);
        box-shadow: 0 18px 45px rgba(31, 91, 138, .11);
    }
    .cc-node--core i { width: 19px; height: 19px; box-shadow:0 0 0 8px rgba(37,99,235,.08),0 18px 36px rgba(37,99,235,.14); }
    .cc-field__link {
        z-index: 1;
        height: 1.5px;
        background: linear-gradient(90deg, rgba(37,99,235,.38), rgba(18,169,189,.20), rgba(24,160,111,.08));
        filter: drop-shadow(0 3px 7px rgba(36,119,151,.10));
    }

    .cc-gravity__sky { opacity: .55; }
    .cc-gravity__sky span {
        width: 8px;
        height: 8px;
        border: 1px solid rgba(20,147,167,.16);
        background: rgba(255,255,255,.92);
        box-shadow: 0 0 0 7px rgba(18,169,189,.045), 0 8px 24px rgba(18,116,142,.09);
    }
    .cc-city {
        border-bottom-color: rgba(39, 110, 139, .11);
        filter: drop-shadow(0 28px 45px rgba(40,95,120,.09));
    }
    .cc-city__road {
        background: linear-gradient(90deg,transparent,#23a8b5,#2a77dc,#1ea06f,transparent);
        box-shadow: 0 0 22px rgba(27, 143, 164, .22);
    }
    .cc-city__building {
        border-color: rgba(53, 121, 151, .14);
        background: linear-gradient(180deg,rgba(255,255,255,.92),rgba(220,240,248,.72));
        box-shadow: 0 18px 44px rgba(36,91,117,.07), inset 0 1px 0 #fff;
    }
    .cc-city__building::after {
        background: repeating-linear-gradient(180deg,rgba(46,129,171,.18) 0 2px,transparent 2px 15px);
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .js .cc-field__brand { animation: cc-brand-float 9s ease-in-out infinite alternate; }
        @keyframes cc-brand-float { from { transform:translateY(0); } to { transform:translateY(-5px); } }
    }
}

@layer cc.responsive {
    @media (max-width: 1050px) {
        .cc-shell { padding-inline: 18px; }
        .cc-hero__grid { grid-template-columns: 1fr; }
        .cc-field { max-width: 720px; }
    }
    @media (max-width: 680px) {
        .cc-shell { padding: 8px 10px 0; }
        .cc-shell__inner { min-height: 58px; border-radius: 20px; padding: 6px 7px; }
        .cc-brand__mark { width: 36px; height: 36px; border-radius: 12px; }
        .cc-brand__wording strong { font-size: .88rem; }
        .cc-brand__wording small { font-size: .52rem; }
        .cc-shell__login { min-width: auto; padding: 9px 13px; }
        .cc-hero { padding-top: 66px; }
        .cc-hero h1 { font-size: clamp(3rem, 15.5vw, 4.65rem); line-height:.92; }
        .cc-hero__signature-label { display:none; }
        .cc-field { min-height: 390px; padding: 14px; border-radius: 34px; }
        .cc-field__brand { left: 16px; top: 16px; max-width: 205px; padding: 6px 10px 6px 6px; }
        .cc-field__brand-mark { width: 36px; height: 36px; border-radius: 11px; }
        .cc-field__brand-copy small { display:none; }
        .cc-node { padding: 6px; }
        .cc-node b { display:none; }
        .cc-node--core { padding: 8px 10px 8px 8px; }
        .cc-node--core b { display:block; }
        .cc-gravity { padding-block: 110px; }
    }
}


/* ==========================================================
   HOME.R1B.4 | Peão-moeda + Luz Cognitiva
   Luz = conhecimento. Moeda = valor reconhecido.
   Peão = movimento e transformação de capacidade.
   A metáfora não representa saldo, preço ou valor da pessoa.
   ========================================================== */
@layer cc.tokens {
    :root {
        --cc-light-cognitive: rgba(116, 211, 238, .22);
        --cc-light-knowledge: rgba(67, 119, 231, .16);
        --cc-value-ring: rgba(57, 104, 185, .18);
        --cc-value-surface: rgba(255, 255, 255, .88);
        --cc-value-shadow: 0 28px 88px rgba(30, 84, 116, .12);
    }
}

@layer cc.components {
    .cc-hero__signature-mark {
        width: 25px;
        height: 25px;
        padding: 2px;
        overflow: hidden;
        border: 1px solid rgba(45, 101, 156, .14);
        border-radius: 50%;
        background: #fff;
        box-shadow: 0 8px 22px rgba(29, 98, 126, .12), 0 0 0 5px rgba(18, 169, 189, .045);
    }
    .cc-hero__signature-mark img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        object-fit: cover;
    }
    .cc-final__seal span {
        border: 1px solid rgba(44, 101, 154, .12);
        border-radius: 50%;
        background: #fff;
        box-shadow: 0 8px 20px rgba(29, 93, 120, .10);
    }
    .cc-final__seal img { border-radius: 50%; }
}

@layer cc.sections {
    .cc-definition {
        position: relative;
        overflow: hidden;
        background:
            radial-gradient(760px 500px at 20% 50%, rgba(24,160,111,.07), transparent 68%),
            radial-gradient(820px 520px at 78% 40%, rgba(37,99,235,.065), transparent 70%),
            linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    }
    .cc-definition::before {
        content: "";
        position: absolute;
        inset: 12% auto 12% 50%;
        width: 1px;
        background: linear-gradient(180deg, transparent, rgba(40, 99, 139, .09), transparent);
        pointer-events: none;
    }
    .cc-definition__grid {
        grid-template-columns: minmax(360px, 5fr) minmax(0, 7fr);
        align-items: center;
    }
    .cc-definition__copy h2 {
        max-width: 820px;
        font-size: clamp(2.65rem, 5vw, 5.25rem);
        line-height: .96;
        letter-spacing: -.058em;
        text-wrap: balance;
    }
    .cc-definition__copy > p:last-child {
        max-width: 62ch;
        font-size: clamp(1.08rem, 1.35vw, 1.24rem);
        line-height: 1.72;
    }
}

@layer cc.art {
    .cc-value {
        position: relative;
        isolation: isolate;
        min-height: 560px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: clamp(28px, 4vw, 48px);
        overflow: hidden;
        border: 1px solid rgba(37, 90, 123, .09);
        border-radius: clamp(34px, 5vw, 58px);
        background:
            linear-gradient(145deg, rgba(255,255,255,.93), rgba(247,252,255,.82)),
            var(--cc-brand-gradient-soft);
        box-shadow: var(--cc-value-shadow), inset 0 1px 0 rgba(255,255,255,.95);
    }
    .cc-value::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -2;
        opacity: .26;
        background-image:
            linear-gradient(rgba(45, 102, 137, .05) 1px, transparent 1px),
            linear-gradient(90deg, rgba(45, 102, 137, .05) 1px, transparent 1px);
        background-size: 46px 46px;
        mask-image: radial-gradient(circle at 30% 28%, #000 0 8%, transparent 68%);
    }
    .cc-value__symbol {
        position: relative;
        width: clamp(130px, 15vw, 176px);
        aspect-ratio: 1;
        display: grid;
        place-items: center;
        margin-bottom: 28px;
    }
    .cc-value__light {
        position: absolute;
        inset: -38%;
        border-radius: 50%;
        background:
            radial-gradient(circle, rgba(255,255,255,.98) 0 12%, var(--cc-light-cognitive) 31%, var(--cc-light-knowledge) 48%, transparent 70%);
        filter: blur(3px);
        opacity: .92;
    }
    .cc-value__coin {
        position: relative;
        z-index: 2;
        width: 100%;
        aspect-ratio: 1;
        padding: 7px;
        border: 1px solid var(--cc-value-ring);
        border-radius: 50%;
        background: rgba(255,255,255,.94);
        box-shadow:
            0 22px 60px rgba(34, 89, 120, .15),
            0 0 0 10px rgba(255,255,255,.64),
            0 0 0 11px rgba(42,108,151,.055),
            inset 0 1px 0 #fff;
    }
    .cc-value__coin img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        object-fit: cover;
    }
    .cc-value__label {
        margin: 0 0 10px;
        color: #527287;
        font-size: .72rem;
        font-weight: 850;
        letter-spacing: .12em;
        text-transform: uppercase;
    }
    .cc-value__manifesto {
        max-width: 15ch;
        margin: 0;
        color: var(--cc-brand-ink);
        font-size: clamp(1.9rem, 3.2vw, 3rem);
        line-height: 1.02;
        letter-spacing: -.045em;
        font-weight: 820;
        text-wrap: balance;
    }
    .cc-value__principle {
        max-width: 42ch;
        margin: 18px 0 28px;
        color: var(--cc-muted);
        font-size: .96rem;
        line-height: 1.65;
    }
    .cc-value .cc-definition__states {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        padding: 8px;
        border-color: rgba(36, 93, 125, .085);
        border-radius: 20px;
        background: rgba(255,255,255,.65);
        box-shadow: none;
        backdrop-filter: blur(12px);
    }
    .cc-value .cc-state {
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 10px 11px;
        border: 0;
        border-radius: 14px;
        background: rgba(248,252,255,.84);
        color: #38566f;
        font-size: .72rem;
        text-align: center;
    }
    .cc-value .cc-state > span {
        flex: 0 0 auto;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--cc-knowledge);
        box-shadow: 0 0 0 5px rgba(37,99,235,.055);
    }
    .cc-value .cc-state--relatable > span { background: var(--cc-connection); box-shadow:0 0 0 5px rgba(14,165,198,.055); }
    .cc-value .cc-state--mobilizable > span { background: var(--cc-life); box-shadow:0 0 0 5px rgba(34,160,107,.055); }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .js .cc-value__light { animation: cc-cognitive-light 16s ease-in-out infinite alternate; }
        @keyframes cc-cognitive-light {
            from { transform: scale(.94); opacity: .68; }
            to { transform: scale(1.06); opacity: 1; }
        }
    }
}

@layer cc.responsive {
    @media (max-width: 1050px) {
        .cc-definition::before { display: none; }
        .cc-definition__grid { grid-template-columns: 1fr; }
        .cc-value { min-height: auto; }
        .cc-value__manifesto { max-width: 19ch; }
    }
    @media (max-width: 680px) {
        .cc-value {
            padding: 26px 20px;
            border-radius: 32px;
        }
        .cc-value__symbol {
            width: 118px;
            margin-bottom: 22px;
        }
        .cc-value__manifesto { font-size: clamp(1.8rem, 9vw, 2.55rem); }
        .cc-value .cc-definition__states {
            grid-template-columns: 1fr;
            gap: 6px;
        }
        .cc-value .cc-state {
            justify-content: flex-start;
            min-height: 46px;
            padding-inline: 13px;
        }
        .cc-hero__signature-mark { width: 23px; height: 23px; }
    }
}


/* ==========================================================
   HOME.R1C.1 | Refino flagship de ritmo e hierarquia
   1) microcopy canônica do peão
   2) Campo Cognitivo com quatro relações explícitas
   3) ciclo deixa de ser grade de cards e vira percurso
   4) Eu / Nós / Território passam a compartilhar um mesmo campo
   ========================================================== */
@layer cc.sections {
    .cc-problem {
        padding-block: clamp(104px, 12vw, 168px);
    }
    .cc-definition {
        padding-block: clamp(92px, 10vw, 146px);
    }
    .cc-cycle-section {
        padding-block: clamp(118px, 13vw, 176px);
        background:
            radial-gradient(760px 440px at 50% 42%, rgba(18,169,189,.065), transparent 72%),
            linear-gradient(180deg, #f7fbff 0%, #f3faff 52%, #f9fcff 100%);
    }
    .cc-cycle-section .cc-section-heading {
        max-width: 860px;
        margin-bottom: clamp(62px, 8vw, 96px);
    }
    .cc-cycle-section .cc-section-heading h2 {
        max-width: 800px;
        font-size: clamp(2.75rem, 5.8vw, 5.65rem);
    }
    .cc-portals-section {
        padding-block: clamp(104px, 12vw, 166px);
        background:
            radial-gradient(820px 380px at 50% 60%, rgba(37,99,235,.035), transparent 72%),
            #fff;
    }
    .cc-portals-section .cc-section-heading {
        max-width: 1020px;
        margin-bottom: clamp(52px, 7vw, 82px);
    }
    .cc-portals-section .cc-section-heading h2 {
        font-size: clamp(2.75rem, 5.1vw, 5.15rem);
        line-height: .94;
    }
}

@layer cc.components {
    /* O selo dentro do Campo deixa de parecer um widget solto. */
    .cc-field__brand {
        max-width: 270px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }
    .cc-field__brand-copy strong {
        font-size: .73rem;
    }
    .cc-field__brand-copy small {
        max-width: 190px;
        color: #657b91;
        font-size: .61rem;
        line-height: 1.35;
    }

    /* Ciclo: percurso relacional, não coleção de cards. */
    .cc-cycle {
        position: relative;
        width: min(100%, 980px);
        margin-inline: auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr);
        gap: 0;
        padding: 8px 0;
        counter-reset: none;
    }
    .cc-cycle::before {
        content: "";
        position: absolute;
        z-index: 0;
        left: 50%;
        top: 54px;
        bottom: 54px;
        width: 2px;
        transform: translateX(-50%);
        border-radius: 999px;
        background: linear-gradient(
            180deg,
            rgba(37,99,235,.20) 0%,
            rgba(37,99,235,.32) 13%,
            rgba(34,160,107,.30) 28%,
            rgba(14,165,198,.30) 47%,
            rgba(33,87,217,.28) 62%,
            rgba(34,160,107,.30) 74%,
            rgba(194,139,44,.26) 89%,
            rgba(37,99,235,.20) 100%
        );
        box-shadow: 0 0 30px rgba(18,169,189,.08);
    }
    .cc-cycle__step,
    .cc-cycle__step:nth-child(n) {
        position: relative;
        z-index: 1;
        grid-column: 1;
        min-height: 118px;
        padding: 22px 42px 22px 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;
        gap: 8px;
        text-align: right;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    .cc-cycle__step:nth-child(even) {
        grid-column: 3;
        padding: 22px 0 22px 42px;
        align-items: flex-start;
        text-align: left;
    }
    .cc-cycle__step::after,
    .cc-cycle__step:nth-child(n)::after {
        content: "";
        position: absolute;
        top: 50%;
        left: auto;
        right: -36px;
        width: 36px;
        border-top: 1px solid rgba(39, 102, 142, .18);
        transform: translateY(-50%);
    }
    .cc-cycle__step:nth-child(even)::after {
        left: -36px;
        right: auto;
    }
    .cc-cycle__index {
        color: #91a2b4;
        font-size: .68rem;
        font-weight: 850;
        letter-spacing: .15em;
    }
    .cc-cycle__node {
        position: absolute;
        z-index: 2;
        top: 50%;
        right: -47px;
        width: 22px;
        height: 22px;
        transform: translateY(-50%);
        border: 4px solid rgba(255,255,255,.96);
        box-shadow: 0 0 0 7px rgba(37,99,235,.07), 0 10px 28px rgba(31,88,126,.10);
    }
    .cc-cycle__step:nth-child(even) .cc-cycle__node {
        left: -47px;
        right: auto;
    }
    .cc-cycle__step strong {
        max-width: 280px;
        font-size: clamp(1.28rem, 2vw, 1.72rem);
        line-height: 1.02;
        letter-spacing: -.035em;
    }
    .cc-cycle__closing {
        width: min(100%, 620px);
        margin: clamp(48px, 6vw, 72px) auto 0;
        color: #61768b;
        font-size: clamp(1rem, 1.4vw, 1.16rem);
        text-align: center;
    }
    .cc-cycle__closing::before {
        content: "↺";
        display: inline-grid;
        place-items: center;
        width: 34px;
        height: 34px;
        margin-right: 10px;
        border: 1px solid rgba(37,99,235,.12);
        border-radius: 50%;
        color: var(--cc-knowledge);
        background: rgba(255,255,255,.78);
        box-shadow: 0 10px 28px rgba(31,88,126,.07);
        vertical-align: middle;
    }

    /* Três escalas: um único sistema com três zonas. */
    .cc-portals {
        position: relative;
        gap: 0;
        overflow: hidden;
        border: 1px solid rgba(30,76,116,.10);
        border-radius: clamp(30px, 4vw, 48px);
        background:
            radial-gradient(420px 260px at 12% 20%, rgba(37,99,235,.055), transparent 72%),
            radial-gradient(420px 260px at 50% 22%, rgba(14,165,198,.045), transparent 72%),
            radial-gradient(420px 260px at 88% 22%, rgba(34,160,107,.055), transparent 72%),
            linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,255,.88));
        box-shadow: 0 28px 90px rgba(27,72,101,.075);
    }
    .cc-portals::before {
        content: "";
        position: absolute;
        left: 7%;
        right: 7%;
        top: 96px;
        height: 1px;
        background: linear-gradient(
            90deg,
            rgba(37,99,235,.16),
            rgba(14,165,198,.18),
            rgba(34,160,107,.16)
        );
        pointer-events: none;
    }
    .cc-portal {
        position: relative;
        min-width: 0;
    }
    .cc-portal + .cc-portal {
        border-left: 1px solid rgba(30,76,116,.09);
    }
    .cc-portal::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        transition: opacity var(--cc-motion-interaction) ease;
    }
    .cc-portal--person::before {
        background: radial-gradient(320px 260px at 30% 20%, rgba(37,99,235,.07), transparent 72%);
    }
    .cc-portal--organization::before {
        background: radial-gradient(320px 260px at 50% 20%, rgba(14,165,198,.07), transparent 72%);
    }
    .cc-portal--territory::before {
        background: radial-gradient(320px 260px at 70% 20%, rgba(34,160,107,.07), transparent 72%);
    }
    .cc-portal:hover::before,
    .cc-portal:focus-within::before {
        opacity: 1;
    }
    .cc-portal article {
        position: relative;
        z-index: 1;
        height: 100%;
        min-height: 390px;
        padding: clamp(34px, 4vw, 52px);
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    .cc-portal__identity {
        margin-bottom: clamp(48px, 5vw, 72px);
    }
    .cc-portal__node {
        width: 25px;
        height: 25px;
        border: 4px solid rgba(255,255,255,.94);
    }
    .cc-portal h3 {
        font-size: clamp(2.25rem, 3.9vw, 4rem);
    }
    .cc-portal h4 {
        max-width: 330px;
        margin-bottom: 18px;
        font-size: clamp(1.12rem, 1.55vw, 1.32rem);
        letter-spacing: -.018em;
    }
    .cc-portal article > p {
        max-width: 38ch;
    }
}

@layer cc.art {
    /* Quarta relação: Conhecimento -> Realização. */
    .cc-field__link--d {
        width: 38%;
        transform: rotate(37deg);
        background: linear-gradient(90deg, rgba(37,99,235,.32), rgba(34,160,107,.16));
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .js .cc-cycle__node {
            transition: transform var(--cc-motion-interaction) ease, box-shadow var(--cc-motion-interaction) ease;
        }
        .js .cc-cycle__step:hover .cc-cycle__node {
            transform: translateY(-50%) scale(1.12);
        }
    }
}

@layer cc.responsive {
    @media (max-width: 900px) {
        .cc-cycle {
            grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr);
        }
        .cc-cycle__step,
        .cc-cycle__step:nth-child(n) {
            padding-right: 34px;
        }
        .cc-cycle__step:nth-child(even) {
            padding-left: 34px;
            padding-right: 0;
        }
        .cc-cycle__step::after,
        .cc-cycle__step:nth-child(n)::after {
            right: -29px;
            width: 29px;
        }
        .cc-cycle__step:nth-child(even)::after {
            left: -29px;
            right: auto;
        }
        .cc-cycle__node {
            right: -40px;
        }
        .cc-cycle__step:nth-child(even) .cc-cycle__node {
            left: -40px;
        }
        .cc-portals {
            grid-template-columns: 1fr;
        }
        .cc-portals::before {
            display: none;
        }
        .cc-portal + .cc-portal {
            border-left: 0;
            border-top: 1px solid rgba(30,76,116,.09);
        }
        .cc-portal article {
            min-height: 0;
            display: block;
        }
        .cc-portal__identity {
            margin-bottom: 30px;
        }
    }

    @media (max-width: 680px) {
        .cc-field__brand {
            max-width: 225px;
        }
        .cc-field__brand-copy small {
            display: block;
            max-width: 165px;
            font-size: .56rem;
        }
        .cc-cycle {
            display: block;
            width: min(100%, 560px);
            padding: 4px 0 4px 34px;
        }
        .cc-cycle::before {
            left: 10px;
            top: 24px;
            bottom: 24px;
            transform: none;
        }
        .cc-cycle__step,
        .cc-cycle__step:nth-child(n),
        .cc-cycle__step:nth-child(even) {
            min-height: 0;
            padding: 18px 0 24px 32px;
            display: block;
            text-align: left;
        }
        .cc-cycle__step::after,
        .cc-cycle__step:nth-child(n)::after,
        .cc-cycle__step:nth-child(even)::after {
            left: -24px;
            right: auto;
            top: 31px;
            width: 24px;
            transform: none;
        }
        .cc-cycle__node,
        .cc-cycle__step:nth-child(even) .cc-cycle__node {
            left: -34px;
            right: auto;
            top: 31px;
            width: 20px;
            height: 20px;
            transform: translateY(-50%);
        }
        .cc-cycle__index {
            display: block;
            margin-bottom: 5px;
        }
        .cc-cycle__step strong {
            font-size: 1.2rem;
        }
        .cc-cycle__closing {
            margin-top: 34px;
            text-align: left;
        }
        .cc-portals {
            border-radius: 28px;
        }
        .cc-portal article {
            padding: 34px 24px 38px;
        }
        .cc-portal h3 {
            font-size: clamp(2.7rem, 14vw, 3.8rem);
        }
    }
}

/* ==========================================================
   HOME.R2A.1 | Materialidade Luminosa + Profundidade
   Objetivo: retirar a aparência sintética sem transformar a
   Home em efeito visual. Luz = compreensão; superfície = plano;
   sombra = profundidade; cor forte = mudança de estado.
   ========================================================== */
@layer cc.tokens {
    :root {
        --cc-surface-base: rgba(250, 253, 255, .94);
        --cc-surface-mineral: rgba(255, 255, 255, .88);
        --cc-surface-raised: rgba(255, 255, 255, .96);
        --cc-surface-glass: rgba(255, 255, 255, .72);
        --cc-surface-focus: rgba(255, 255, 255, .985);

        --cc-border-mineral: rgba(36, 82, 116, .095);
        --cc-border-light: rgba(255, 255, 255, .90);
        --cc-border-focus: rgba(42, 111, 154, .16);

        --cc-shadow-contact: 0 1px 2px rgba(20, 48, 75, .045), 0 6px 16px rgba(22, 57, 86, .045);
        --cc-shadow-float: 0 20px 56px rgba(25, 68, 100, .075), 0 2px 10px rgba(25, 68, 100, .035);
        --cc-shadow-deep: 0 36px 110px rgba(24, 72, 108, .11), 0 10px 34px rgba(29, 92, 123, .055);
        --cc-shadow-atmosphere: 0 50px 150px rgba(43, 120, 148, .095);
        --cc-highlight-inset: inset 0 1px 0 rgba(255,255,255,.96), inset 0 -1px 0 rgba(39, 93, 125, .025);

        --cc-mist-knowledge: rgba(37, 99, 235, .075);
        --cc-mist-connection: rgba(14, 165, 198, .085);
        --cc-mist-life: rgba(34, 160, 107, .07);
        --cc-mist-memory: rgba(194, 139, 44, .06);
        --cc-texture-line: rgba(51, 102, 137, .028);
    }
}

@layer cc.foundation {
    body.cc-site {
        background:
            radial-gradient(1200px 680px at 78% -220px, rgba(37,99,235,.065), transparent 72%),
            radial-gradient(1000px 580px at 8% 28%, rgba(14,165,198,.035), transparent 74%),
            #f9fcff;
    }
    .cc-home {
        position: relative;
        background:
            linear-gradient(90deg, transparent 0%, rgba(255,255,255,.34) 50%, transparent 100%);
    }
    .cc-section {
        isolation: isolate;
    }
}

@layer cc.components {
    .cc-shell__inner {
        border-color: var(--cc-border-mineral);
        background:
            linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,252,255,.82));
        box-shadow:
            var(--cc-shadow-float),
            var(--cc-highlight-inset);
    }
    .cc-shell__inner::after {
        content: "";
        position: absolute;
        inset: 1px;
        z-index: -1;
        border-radius: inherit;
        pointer-events: none;
        background: linear-gradient(110deg, rgba(255,255,255,.40), transparent 28%, transparent 72%, rgba(18,169,189,.025));
    }
    .cc-action--primary {
        position: relative;
        overflow: hidden;
        box-shadow: 0 16px 38px rgba(20, 119, 139, .19), inset 0 1px 0 rgba(255,255,255,.24);
    }
    .cc-action--primary::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(112deg, rgba(255,255,255,.22), transparent 34%, transparent 70%, rgba(255,255,255,.08));
    }
    .cc-action--secondary {
        box-shadow: var(--cc-shadow-contact), var(--cc-highlight-inset);
    }
}

@layer cc.sections {
    .cc-hero {
        position: relative;
        overflow: hidden;
        background:
            radial-gradient(920px 640px at 77% 43%, rgba(14,165,198,.125), transparent 67%),
            radial-gradient(720px 500px at 24% 14%, rgba(37,99,235,.075), transparent 69%),
            radial-gradient(460px 320px at 58% 72%, rgba(34,160,107,.035), transparent 74%),
            linear-gradient(180deg, #fcfeff 0%, #f4faff 56%, #f9fcff 100%);
    }
    .cc-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        opacity: .55;
        background-image:
            linear-gradient(var(--cc-texture-line) 1px, transparent 1px),
            linear-gradient(90deg, var(--cc-texture-line) 1px, transparent 1px);
        background-size: 64px 64px;
        -webkit-mask-image: radial-gradient(ellipse at 72% 48%, #000 0 18%, transparent 69%);
        mask-image: radial-gradient(ellipse at 72% 48%, #000 0 18%, transparent 69%);
    }
    .cc-hero::after {
        content: "";
        position: absolute;
        z-index: -1;
        width: min(58vw, 820px);
        aspect-ratio: 1;
        right: -11%;
        top: 6%;
        border-radius: 50%;
        pointer-events: none;
        background: radial-gradient(circle, rgba(255,255,255,.84), rgba(112,215,230,.10) 36%, transparent 70%);
        filter: blur(16px);
        opacity: .76;
    }

    .cc-problem {
        background:
            radial-gradient(640px 300px at 50% 92%, rgba(37,99,235,.025), transparent 72%),
            #fff;
    }
    .cc-problem::after {
        content: "";
        position: absolute;
        left: 10%;
        right: 10%;
        bottom: 0;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(46,99,132,.07), transparent);
    }

    .cc-definition {
        background:
            radial-gradient(680px 440px at 18% 44%, rgba(14,165,198,.045), transparent 72%),
            radial-gradient(620px 420px at 82% 30%, rgba(37,99,235,.035), transparent 74%),
            linear-gradient(180deg, #fff, #f7fbff 70%, #f9fcff);
    }

    .cc-cycle-section {
        background:
            radial-gradient(860px 560px at 50% 48%, rgba(14,165,198,.075), transparent 69%),
            radial-gradient(520px 360px at 30% 62%, rgba(37,99,235,.038), transparent 75%),
            radial-gradient(520px 360px at 70% 38%, rgba(34,160,107,.032), transparent 75%),
            linear-gradient(180deg, #f8fcff 0%, #f1f9fe 52%, #f9fcff 100%);
    }

    .cc-portals-section {
        background:
            radial-gradient(900px 420px at 50% 56%, rgba(14,165,198,.038), transparent 73%),
            linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    }

    .cc-proof-section {
        background:
            radial-gradient(760px 460px at 74% 38%, rgba(37,99,235,.045), transparent 72%),
            radial-gradient(620px 420px at 18% 74%, rgba(14,165,198,.04), transparent 74%),
            linear-gradient(180deg,#fbfdff,#edf7fd 64%,#f7fcff);
    }

    .cc-gravity {
        background:
            radial-gradient(900px 560px at 18% 52%, rgba(14,165,198,.13), transparent 66%),
            radial-gradient(760px 520px at 80% 34%, rgba(37,99,235,.085), transparent 69%),
            radial-gradient(520px 320px at 48% 80%, rgba(34,160,107,.035), transparent 76%),
            linear-gradient(180deg, #f8fcff 0%, #edf8fd 54%, #f9fcff 100%);
    }

    .cc-final {
        background:
            radial-gradient(760px 460px at 50% 18%, rgba(14,165,198,.095), transparent 68%),
            radial-gradient(520px 300px at 50% 68%, rgba(37,99,235,.035), transparent 76%),
            linear-gradient(180deg,#fbfdff,#f7fcff);
    }
}

@layer cc.art {
    .cc-field {
        border-color: var(--cc-border-mineral);
        background:
            linear-gradient(145deg, rgba(255,255,255,.91), rgba(247,252,255,.72)),
            radial-gradient(circle at 20% 18%, rgba(34,160,107,.075), transparent 31%),
            radial-gradient(circle at 78% 75%, rgba(37,99,235,.085), transparent 37%);
        box-shadow:
            var(--cc-shadow-deep),
            var(--cc-highlight-inset),
            inset 0 0 80px rgba(255,255,255,.42);
    }
    .cc-field::before {
        opacity: .42;
        background-size: 48px 48px;
    }
    .cc-field::after {
        inset: 11% 9%;
        filter: blur(42px);
        opacity: .84;
    }
    .cc-field__aurora {
        inset: 15%;
        background:
            radial-gradient(circle, rgba(255,255,255,.98) 0 13%, rgba(14,165,198,.115) 38%, rgba(37,99,235,.05) 60%, transparent 77%);
        filter: blur(5px);
    }
    .cc-node {
        border-color: rgba(36, 86, 118, .10);
        background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,252,255,.80));
        box-shadow:
            0 14px 34px rgba(26,71,102,.075),
            var(--cc-highlight-inset);
    }
    .cc-node--core {
        background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,252,255,.90));
        box-shadow:
            0 22px 58px rgba(31,91,138,.13),
            0 0 0 1px rgba(37,99,235,.035),
            var(--cc-highlight-inset);
    }
    .cc-field__link {
        height: 1.5px;
        box-shadow: 0 1px 10px rgba(31, 119, 151, .10);
    }

    .cc-value {
        border-color: var(--cc-border-mineral);
        background:
            linear-gradient(145deg, rgba(255,255,255,.96), rgba(245,251,255,.80)),
            radial-gradient(circle at 22% 14%, rgba(14,165,198,.07), transparent 37%),
            radial-gradient(circle at 82% 86%, rgba(37,99,235,.055), transparent 40%);
        box-shadow:
            var(--cc-shadow-deep),
            var(--cc-highlight-inset),
            inset 0 0 88px rgba(255,255,255,.52);
    }
    .cc-value::after {
        content: "";
        position: absolute;
        inset: 1px;
        z-index: -1;
        border-radius: inherit;
        pointer-events: none;
        background: linear-gradient(120deg, rgba(255,255,255,.46), transparent 30%, transparent 72%, rgba(14,165,198,.025));
    }
    .cc-value__coin {
        box-shadow:
            0 26px 72px rgba(34,89,120,.16),
            0 0 0 10px rgba(255,255,255,.74),
            0 0 0 11px rgba(42,108,151,.065),
            inset 0 2px 0 rgba(255,255,255,.98),
            inset 0 -2px 12px rgba(32,84,115,.045);
    }
    .cc-value .cc-definition__states {
        border-color: rgba(36,93,125,.09);
        background: rgba(255,255,255,.69);
        box-shadow: var(--cc-shadow-contact), var(--cc-highlight-inset);
    }

    .cc-cycle::before {
        width: 3px;
        background: linear-gradient(
            180deg,
            rgba(37,99,235,.18) 0%,
            rgba(37,99,235,.38) 13%,
            rgba(34,160,107,.34) 29%,
            rgba(14,165,198,.36) 47%,
            rgba(33,87,217,.31) 62%,
            rgba(234,107,33,.33) 75%,
            rgba(194,139,44,.30) 89%,
            rgba(37,99,235,.22) 100%
        );
        box-shadow: 0 0 22px rgba(18,169,189,.10), 0 0 56px rgba(37,99,235,.045);
    }
    .cc-cycle__node {
        border-color: rgba(255,255,255,.98);
        box-shadow:
            0 0 0 7px rgba(37,99,235,.065),
            0 12px 30px rgba(31,88,126,.11),
            inset 0 1px 0 rgba(255,255,255,.34);
    }
    .cc-cycle__step::after,
    .cc-cycle__step:nth-child(n)::after {
        border-top-color: rgba(39,102,142,.20);
    }

    .cc-portals {
        border-color: var(--cc-border-mineral);
        background:
            radial-gradient(460px 300px at 11% 22%, rgba(37,99,235,.065), transparent 72%),
            radial-gradient(460px 300px at 50% 22%, rgba(14,165,198,.055), transparent 72%),
            radial-gradient(460px 300px at 89% 22%, rgba(34,160,107,.065), transparent 72%),
            linear-gradient(180deg, rgba(255,255,255,.985), rgba(246,251,255,.90));
        box-shadow:
            var(--cc-shadow-deep),
            var(--cc-highlight-inset);
    }
    .cc-portal + .cc-portal {
        border-color: rgba(30,76,116,.075);
    }
    .cc-portal__node {
        box-shadow:
            0 0 0 12px rgba(37,99,235,.055),
            0 12px 28px rgba(31,88,126,.075),
            inset 0 1px 0 rgba(255,255,255,.48);
    }
    .cc-portal--organization .cc-portal__node {
        box-shadow: 0 0 0 12px rgba(14,165,198,.055), 0 12px 28px rgba(31,88,126,.075);
    }
    .cc-portal--territory .cc-portal__node {
        box-shadow: 0 0 0 12px rgba(34,160,107,.055), 0 12px 28px rgba(31,88,126,.075);
    }

    .cc-metric {
        position: relative;
        overflow: hidden;
        border-color: var(--cc-border-mineral);
        background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,252,255,.82));
        box-shadow: var(--cc-shadow-float), var(--cc-highlight-inset);
    }
    .cc-metric::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 42%;
        height: 1px;
        background: linear-gradient(90deg, rgba(37,99,235,.32), transparent);
    }

    .cc-city {
        filter: drop-shadow(0 34px 54px rgba(40,95,120,.11));
    }
    .cc-city__road {
        height: 2px;
        box-shadow: 0 0 22px rgba(27,143,164,.24), 0 8px 28px rgba(30,102,135,.07);
    }
    .cc-city__building {
        border-color: rgba(53,121,151,.15);
        background:
            linear-gradient(180deg, rgba(255,255,255,.98), rgba(222,241,248,.74));
        box-shadow:
            0 24px 58px rgba(36,91,117,.085),
            var(--cc-highlight-inset),
            inset 0 -24px 42px rgba(45,132,164,.025);
    }
    .cc-final__seal {
        box-shadow: var(--cc-shadow-float), var(--cc-highlight-inset);
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-action--primary::after {
            transition: transform 720ms cubic-bezier(.2,.7,.2,1);
        }
        .cc-action--primary:hover::after,
        .cc-action--primary:focus-visible::after {
            transform: translateX(12%);
        }
        .js .cc-field__aurora {
            animation: cc-r2a1-light-breathe 22s ease-in-out infinite alternate;
        }
        .js .cc-value__light {
            animation: cc-r2a1-value-light 18s ease-in-out infinite alternate;
        }
        @keyframes cc-r2a1-light-breathe {
            from { transform: scale(.97) translate3d(-1%,1%,0); opacity: .76; }
            to { transform: scale(1.04) translate3d(1%,-1%,0); opacity: 1; }
        }
        @keyframes cc-r2a1-value-light {
            from { transform: scale(.95); opacity: .70; }
            to { transform: scale(1.055); opacity: .96; }
        }
    }
}

@layer cc.responsive {
    @media (max-width: 680px) {
        .cc-hero::before { background-size: 48px 48px; opacity: .34; }
        .cc-hero::after { width: 115vw; right: -52%; top: 18%; opacity: .55; }
        .cc-field { box-shadow: 0 24px 72px rgba(24,72,108,.09), var(--cc-highlight-inset); }
        .cc-value { box-shadow: 0 24px 72px rgba(24,72,108,.09), var(--cc-highlight-inset); }
        .cc-portals { box-shadow: 0 24px 72px rgba(24,72,108,.08), var(--cc-highlight-inset); }
        .cc-metric { box-shadow: var(--cc-shadow-contact), var(--cc-highlight-inset); }
    }
}

@layer cc.accessibility {
    @media (prefers-contrast: more) {
        :root {
            --cc-border-mineral: rgba(15,27,45,.30);
            --cc-border-focus: rgba(15,27,45,.42);
        }
        .cc-field,
        .cc-value,
        .cc-portals,
        .cc-metric,
        .cc-shell__inner {
            box-shadow: none;
            border-color: var(--cc-border-mineral);
        }
    }
}

/* ==========================================================
   HOME.R2A.2 | Luz Cognitiva + Fio do Sistema
   O fio não é uma linha de progresso. Ele é uma recorrência
   visual: conhecimento que permanece reconhecível enquanto
   muda de estado, escala e projeção.
   ========================================================== */
@layer cc.tokens {
    :root {
        --cc-thread-knowledge: rgba(37, 99, 235, .24);
        --cc-thread-connection: rgba(14, 165, 198, .26);
        --cc-thread-life: rgba(34, 160, 107, .22);
        --cc-thread-action: rgba(234, 107, 33, .18);
        --cc-thread-memory: rgba(194, 139, 44, .18);
        --cc-thread-soft: rgba(65, 135, 167, .12);
        --cc-thread-glow: rgba(37, 171, 190, .10);
    }
}

@layer cc.foundation {
    .cc-home {
        isolation: isolate;
        background:
            radial-gradient(900px 620px at 82% 12%, rgba(14,165,198,.025), transparent 74%),
            radial-gradient(820px 600px at 18% 44%, rgba(37,99,235,.022), transparent 76%),
            radial-gradient(860px 620px at 78% 73%, rgba(34,160,107,.020), transparent 76%),
            linear-gradient(180deg, rgba(255,255,255,.18), rgba(244,250,254,.18));
    }
    .cc-section > .cc-container,
    .cc-section > .cc-narrative {
        position: relative;
        z-index: 2;
    }
}

@layer cc.components {
    /*
       Fio Cognitivo
       Cada trecho reaparece em posição distinta. A recorrência
       comunica continuidade sem converter a Home numa timeline.
    */
    .cc-thread {
        --cc-thread-x: 50%;
        --cc-thread-angle: 0deg;
        --cc-thread-color: var(--cc-thread-connection);
        --cc-thread-node-y: 50%;
        position: absolute;
        z-index: 1;
        top: -8%;
        bottom: -8%;
        left: var(--cc-thread-x);
        width: clamp(180px, 24vw, 390px);
        transform: translateX(-50%);
        pointer-events: none;
        opacity: .56;
        -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 13%, #000 87%, transparent 100%);
        mask-image: linear-gradient(180deg, transparent 0%, #000 13%, #000 87%, transparent 100%);
    }
    .cc-thread::before {
        content: "";
        position: absolute;
        left: 50%;
        top: -10%;
        width: 2px;
        height: 120%;
        transform: translateX(-50%) rotate(var(--cc-thread-angle));
        transform-origin: 50% 50%;
        border-radius: 999px;
        background: linear-gradient(
            180deg,
            transparent 0%,
            color-mix(in srgb, var(--cc-thread-color) 38%, transparent) 17%,
            var(--cc-thread-color) 48%,
            color-mix(in srgb, var(--cc-thread-color) 42%, transparent) 82%,
            transparent 100%
        );
        box-shadow:
            0 0 18px var(--cc-thread-glow),
            0 0 54px color-mix(in srgb, var(--cc-thread-color) 17%, transparent);
    }
    .cc-thread::after {
        content: "";
        position: absolute;
        left: 50%;
        top: var(--cc-thread-node-y);
        width: 10px;
        height: 10px;
        transform: translate(-50%, -50%);
        border: 3px solid rgba(255,255,255,.94);
        border-radius: 50%;
        background: color-mix(in srgb, var(--cc-thread-color) 82%, white 18%);
        box-shadow:
            0 0 0 8px color-mix(in srgb, var(--cc-thread-color) 11%, transparent),
            0 10px 26px rgba(31,88,126,.075),
            0 0 28px color-mix(in srgb, var(--cc-thread-color) 16%, transparent);
    }

    .cc-thread--problem {
        --cc-thread-x: 72%;
        --cc-thread-angle: -8deg;
        --cc-thread-color: var(--cc-thread-knowledge);
        --cc-thread-node-y: 76%;
        opacity: .28;
    }
    .cc-thread--definition {
        --cc-thread-x: 39%;
        --cc-thread-angle: 8deg;
        --cc-thread-color: var(--cc-thread-connection);
        --cc-thread-node-y: 42%;
        opacity: .46;
    }
    .cc-thread--cycle {
        --cc-thread-x: 50%;
        --cc-thread-angle: 0deg;
        --cc-thread-color: var(--cc-thread-connection);
        --cc-thread-node-y: 16%;
        width: clamp(240px, 30vw, 460px);
        opacity: .22;
    }
    .cc-thread--portals {
        --cc-thread-x: 53%;
        --cc-thread-angle: -12deg;
        --cc-thread-color: var(--cc-thread-life);
        --cc-thread-node-y: 78%;
        opacity: .33;
    }
    .cc-thread--proof {
        --cc-thread-x: 72%;
        --cc-thread-angle: 8deg;
        --cc-thread-color: var(--cc-thread-knowledge);
        --cc-thread-node-y: 34%;
        opacity: .26;
    }
    .cc-thread--gravity {
        --cc-thread-x: 43%;
        --cc-thread-angle: -10deg;
        --cc-thread-color: var(--cc-thread-connection);
        --cc-thread-node-y: 52%;
        width: clamp(260px, 32vw, 520px);
        opacity: .38;
    }
    .cc-thread--final {
        --cc-thread-x: 50%;
        --cc-thread-angle: 0deg;
        --cc-thread-color: var(--cc-thread-life);
        --cc-thread-node-y: 30%;
        opacity: .25;
    }
}

@layer cc.sections {
    /* Dissolve cortes rígidos entre cenas sem perder o ritmo editorial. */
    .cc-problem,
    .cc-definition,
    .cc-cycle-section,
    .cc-portals-section,
    .cc-proof-section,
    .cc-gravity,
    .cc-final {
        overflow: hidden;
    }

    .cc-problem {
        background:
            radial-gradient(720px 360px at 50% 92%, rgba(37,99,235,.028), transparent 72%),
            linear-gradient(180deg, rgba(255,255,255,.985), rgba(253,254,255,.96));
    }
    .cc-definition {
        background:
            radial-gradient(760px 480px at 18% 44%, rgba(14,165,198,.052), transparent 72%),
            radial-gradient(680px 460px at 82% 30%, rgba(37,99,235,.040), transparent 74%),
            linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,251,255,.96) 70%, rgba(249,252,255,.97));
    }
    .cc-cycle-section {
        background:
            radial-gradient(940px 620px at 50% 48%, rgba(14,165,198,.082), transparent 70%),
            radial-gradient(580px 400px at 27% 64%, rgba(37,99,235,.042), transparent 75%),
            radial-gradient(580px 400px at 73% 36%, rgba(34,160,107,.037), transparent 75%),
            linear-gradient(180deg, rgba(248,252,255,.98), rgba(240,249,254,.97) 52%, rgba(249,252,255,.98));
    }
    .cc-portals-section {
        background:
            radial-gradient(940px 450px at 50% 54%, rgba(14,165,198,.044), transparent 73%),
            linear-gradient(180deg, rgba(255,255,255,.98), rgba(251,253,255,.97));
    }
    .cc-proof-section {
        background:
            radial-gradient(800px 500px at 74% 38%, rgba(37,99,235,.050), transparent 72%),
            radial-gradient(660px 440px at 18% 74%, rgba(14,165,198,.045), transparent 74%),
            linear-gradient(180deg, rgba(251,253,255,.98), rgba(237,247,253,.97) 64%, rgba(247,252,255,.98));
    }
    .cc-gravity {
        background:
            radial-gradient(980px 610px at 18% 52%, rgba(14,165,198,.14), transparent 67%),
            radial-gradient(820px 560px at 80% 34%, rgba(37,99,235,.092), transparent 70%),
            radial-gradient(560px 360px at 48% 80%, rgba(34,160,107,.042), transparent 76%),
            linear-gradient(180deg, rgba(248,252,255,.985), rgba(237,248,253,.97) 54%, rgba(249,252,255,.985));
    }
    .cc-final {
        background:
            radial-gradient(820px 500px at 50% 18%, rgba(14,165,198,.102), transparent 69%),
            radial-gradient(580px 340px at 50% 68%, rgba(37,99,235,.040), transparent 76%),
            linear-gradient(180deg, rgba(251,253,255,.98), rgba(247,252,255,.99));
    }
}

@layer cc.art {
    /* O eixo do ciclo recebe o fio sem se transformar em "barra de progresso". */
    .cc-cycle::before {
        box-shadow:
            0 0 24px rgba(18,169,189,.12),
            0 0 64px rgba(37,99,235,.055),
            0 0 110px rgba(14,165,198,.035);
    }
    .cc-cycle__step::after,
    .cc-cycle__step:nth-child(n)::after {
        box-shadow: 0 0 14px rgba(14,165,198,.035);
    }

    /* A linha das três escalas passa a parecer expansão de campo. */
    .cc-portals::before {
        height: 2px;
        border-radius: 999px;
        background: linear-gradient(
            90deg,
            rgba(37,99,235,.12),
            rgba(37,99,235,.22) 20%,
            rgba(14,165,198,.24) 50%,
            rgba(34,160,107,.22) 80%,
            rgba(34,160,107,.12)
        );
        box-shadow: 0 0 24px rgba(14,165,198,.065);
    }

    /* Em Gravity, o mesmo fio começa a ser lido como via. */
    .cc-city__road {
        background: linear-gradient(
            90deg,
            rgba(14,165,198,.28),
            rgba(37,99,235,.68) 42%,
            rgba(14,165,198,.62) 66%,
            rgba(34,160,107,.40)
        );
        box-shadow:
            0 0 22px rgba(27,143,164,.27),
            0 8px 28px rgba(30,102,135,.08),
            0 0 60px rgba(37,99,235,.055);
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-thread::after {
            animation: cc-r2a2-thread-node 8s ease-in-out infinite alternate;
        }
        .cc-thread--problem::after { animation-delay: -1.2s; }
        .cc-thread--definition::after { animation-delay: -2.4s; }
        .cc-thread--cycle::after { animation-delay: -3.6s; }
        .cc-thread--portals::after { animation-delay: -4.8s; }
        .cc-thread--proof::after { animation-delay: -6s; }
        .cc-thread--gravity::after { animation-delay: -7.2s; }

        @keyframes cc-r2a2-thread-node {
            from {
                box-shadow:
                    0 0 0 7px color-mix(in srgb, var(--cc-thread-color) 8%, transparent),
                    0 8px 22px rgba(31,88,126,.055),
                    0 0 22px color-mix(in srgb, var(--cc-thread-color) 10%, transparent);
            }
            to {
                box-shadow:
                    0 0 0 10px color-mix(in srgb, var(--cc-thread-color) 12%, transparent),
                    0 12px 30px rgba(31,88,126,.08),
                    0 0 34px color-mix(in srgb, var(--cc-thread-color) 18%, transparent);
            }
        }
    }
}

@layer cc.responsive {
    @media (max-width: 900px) {
        .cc-thread {
            width: 220px;
            opacity: .24;
        }
        .cc-thread--problem { --cc-thread-x: 82%; }
        .cc-thread--definition { --cc-thread-x: 22%; }
        .cc-thread--portals { --cc-thread-x: 78%; }
        .cc-thread--proof { --cc-thread-x: 84%; }
        .cc-thread--gravity { --cc-thread-x: 18%; }
    }

    @media (max-width: 680px) {
        /* No mobile a continuidade vem do ritmo e da cor, não de um traço atravessando texto. */
        .cc-thread { display: none; }
    }
}

@layer cc.accessibility {
    @media (prefers-contrast: more) {
        .cc-thread { opacity: .16; }
        .cc-thread::before { box-shadow: none; }
        .cc-thread::after { box-shadow: none; }
    }

    @media (forced-colors: active) {
        .cc-thread { display: none; }
    }
}

/* ==========================================================
   HOME.R2A.3 | Circuito Vivo do Capital Cognitivo
   A lista semântica permanece no DOM. Em telas amplas, sua
   projeção espacial acompanha um percurso orgânico dividido
   em Formação, Mobilização e Retorno. JS apenas evidencia a
   posição da leitura; o circuito completo existe sem JS.
   ========================================================== */
@layer cc.sections {
    .cc-circuit-section {
        padding-block: clamp(118px, 13vw, 188px);
        background:
            radial-gradient(880px 560px at 33% 28%, rgba(37,99,235,.064), transparent 70%),
            radial-gradient(820px 560px at 74% 47%, rgba(14,165,198,.072), transparent 69%),
            radial-gradient(680px 480px at 39% 78%, rgba(34,160,107,.050), transparent 72%),
            linear-gradient(180deg, rgba(249,253,255,.99), rgba(239,249,254,.985) 52%, rgba(250,253,255,.99));
    }
    .cc-circuit-section .cc-section-heading {
        max-width: 930px;
        margin-bottom: clamp(48px, 6vw, 72px);
    }
    .cc-circuit-section .cc-section-heading h2 {
        max-width: 850px;
        font-size: clamp(2.8rem, 5.7vw, 5.7rem);
    }
}

@layer cc.components {
    .cc-circuit {
        position: relative;
        width: min(100%, 1180px);
        margin-inline: auto;
        isolation: isolate;
    }
    .cc-circuit::before {
        content: "";
        position: absolute;
        z-index: -2;
        inset: 8% 3% 4%;
        border-radius: 50%;
        background:
            radial-gradient(58% 54% at 34% 27%, rgba(37,99,235,.075), transparent 72%),
            radial-gradient(50% 58% at 77% 48%, rgba(14,165,198,.085), transparent 70%),
            radial-gradient(50% 45% at 39% 78%, rgba(34,160,107,.060), transparent 72%);
        filter: blur(20px);
        opacity: .92;
        pointer-events: none;
    }
    .cc-circuit::after {
        content: "";
        position: absolute;
        z-index: -1;
        inset: 4% 2%;
        pointer-events: none;
        opacity: .20;
        background-image: radial-gradient(circle at center, rgba(34,92,126,.22) .55px, transparent .75px);
        background-size: 12px 12px;
        -webkit-mask-image: radial-gradient(ellipse at center, #000 0%, rgba(0,0,0,.75) 44%, transparent 78%);
        mask-image: radial-gradient(ellipse at center, #000 0%, rgba(0,0,0,.75) 44%, transparent 78%);
    }

    .cc-circuit__stage {
        position: relative;
        min-height: clamp(650px, 64vw, 760px);
        margin-top: clamp(22px, 3vw, 38px);
    }
    .cc-circuit__svg {
        position: absolute;
        z-index: 1;
        inset: 0;
        width: 100%;
        height: 100%;
        overflow: visible;
    }
    .cc-circuit__path-glow,
    .cc-circuit__path-base,
    .cc-circuit__path-progress,
    .cc-circuit__return {
        fill: none;
        vector-effect: non-scaling-stroke;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .cc-circuit__path-glow {
        stroke: rgba(25,151,181,.12);
        stroke-width: 12;
        filter: url(#cc-circuit-glow);
    }
    .cc-circuit__path-base {
        stroke: rgba(40,101,139,.18);
        stroke-width: 2;
    }
    .cc-circuit__path-progress {
        stroke: url(#cc-circuit-gradient);
        stroke-width: 3;
        opacity: .92;
        filter: url(#cc-circuit-glow);
    }
    .cc-circuit__return {
        stroke: rgba(37,99,235,.20);
        stroke-width: 1.5;
        stroke-dasharray: 6 10;
    }
    .cc-circuit__pulse {
        fill: #fff;
        stroke: var(--cc-connection);
        stroke-width: 5;
        opacity: 0;
        filter: url(#cc-circuit-glow);
        transition: opacity var(--cc-motion-narrative) ease;
    }
    .cc-circuit--enhanced .cc-circuit__pulse { opacity: .95; }

    .cc-circuit__steps {
        position: absolute;
        z-index: 3;
        inset: 0;
        margin: 0;
        padding: 0;
        list-style: none;
        pointer-events: none;
    }
    .cc-circuit__step {
        --cc-step-color: var(--cc-knowledge);
        position: absolute;
        left: var(--cc-x);
        top: var(--cc-y);
        width: 0;
        height: 0;
        pointer-events: auto;
    }
    .cc-circuit__step.cc-tone--life { --cc-step-color: var(--cc-life); }
    .cc-circuit__step.cc-tone--connection { --cc-step-color: var(--cc-connection); }
    .cc-circuit__step.cc-tone--imagination { --cc-step-color: var(--cc-imagination); }
    .cc-circuit__step.cc-tone--action { --cc-step-color: var(--cc-action); }
    .cc-circuit__step.cc-tone--memory { --cc-step-color: var(--cc-memory); }

    .cc-circuit__node {
        position: absolute;
        z-index: 2;
        left: 0;
        top: 0;
        width: 22px;
        height: 22px;
        transform: translate(-50%, -50%);
        border: 4px solid rgba(255,255,255,.97);
        border-radius: 50%;
        background: var(--cc-step-color);
        box-shadow:
            0 0 0 8px color-mix(in srgb, var(--cc-step-color) 9%, transparent),
            0 10px 28px rgba(30,87,123,.10),
            0 0 24px color-mix(in srgb, var(--cc-step-color) 12%, transparent);
        transition:
            transform var(--cc-motion-interaction) ease,
            box-shadow var(--cc-motion-narrative) ease;
    }
    .cc-circuit__label {
        position: absolute;
        display: grid;
        gap: 3px;
        min-width: max-content;
        max-width: 190px;
        color: var(--cc-ink);
        text-wrap: balance;
        transition:
            transform var(--cc-motion-interaction) ease,
            color var(--cc-motion-interaction) ease;
    }
    .cc-circuit__index {
        color: #8ca0b4;
        font-size: .64rem;
        font-weight: 850;
        letter-spacing: .15em;
    }
    .cc-circuit__label strong {
        font-size: clamp(.96rem, 1.4vw, 1.18rem);
        line-height: 1.05;
        letter-spacing: -.025em;
    }
    .cc-circuit__step--right .cc-circuit__label { left: 22px; top: 50%; transform: translateY(-50%); }
    .cc-circuit__step--left .cc-circuit__label { right: 22px; top: 50%; transform: translateY(-50%); text-align: right; }
    .cc-circuit__step--top .cc-circuit__label { left: 50%; bottom: 22px; transform: translateX(-50%); text-align: center; }
    .cc-circuit__step--bottom .cc-circuit__label { left: 50%; top: 22px; transform: translateX(-50%); text-align: center; }

    .cc-circuit__step.cc-is-passed .cc-circuit__node {
        box-shadow:
            0 0 0 9px color-mix(in srgb, var(--cc-step-color) 12%, transparent),
            0 12px 30px rgba(30,87,123,.11),
            0 0 34px color-mix(in srgb, var(--cc-step-color) 18%, transparent);
    }
    .cc-circuit__step.cc-is-current .cc-circuit__node {
        transform: translate(-50%, -50%) scale(1.18);
        box-shadow:
            0 0 0 12px color-mix(in srgb, var(--cc-step-color) 14%, transparent),
            0 14px 34px rgba(30,87,123,.13),
            0 0 46px color-mix(in srgb, var(--cc-step-color) 24%, transparent);
    }
    .cc-circuit__step.cc-is-current .cc-circuit__label strong {
        color: color-mix(in srgb, var(--cc-step-color) 74%, var(--cc-ink) 26%);
    }

    .cc-circuit__phases {
        position: absolute;
        z-index: 2;
        inset: 0;
        pointer-events: none;
    }
    .cc-circuit__phase {
        position: absolute;
        width: min(250px, 24vw);
    }
    .cc-circuit__phase h3 {
        margin: 0 0 6px;
        color: #496784;
        font-size: .7rem;
        font-weight: 850;
        letter-spacing: .16em;
        text-transform: uppercase;
    }
    .cc-circuit__phase p {
        margin: 0;
        color: #6b7f92;
        font-size: clamp(.78rem, 1vw, .9rem);
        line-height: 1.45;
    }
    .cc-circuit__phase--formation { left: 13%; top: 3%; }
    .cc-circuit__phase--mobilization { right: 4%; top: 30%; }
    .cc-circuit__phase--return { left: 28%; bottom: 1%; }

    .cc-circuit__closing {
        position: relative;
        width: min(100%, 680px);
        margin-top: clamp(26px, 4vw, 44px);
    }
    .cc-circuit__closing::before {
        background: rgba(255,255,255,.88);
        box-shadow:
            0 10px 28px rgba(31,88,126,.07),
            0 0 24px rgba(37,99,235,.06);
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-circuit__pulse {
            will-change: cx, cy;
        }
        .cc-circuit__step:hover .cc-circuit__node,
        .cc-circuit__step:focus-within .cc-circuit__node {
            transform: translate(-50%, -50%) scale(1.12);
        }
    }
}

@layer cc.responsive {
    @media (max-width: 980px) {
        .cc-circuit__phase { width: min(220px, 26vw); }
        .cc-circuit__phase--formation { left: 9%; }
        .cc-circuit__phase--mobilization { right: 1%; }
        .cc-circuit__label strong { font-size: .96rem; }
    }

    @media (max-width: 820px) {
        .cc-circuit::before,
        .cc-circuit::after { inset-inline: -8%; }
        .cc-circuit__stage {
            min-height: auto;
            margin-top: 34px;
        }
        .cc-circuit__svg { display: none; }
        .cc-circuit__phases {
            position: static;
            display: grid;
            grid-template-columns: 1fr;
            gap: 16px;
            margin-bottom: 30px;
            pointer-events: auto;
        }
        .cc-circuit__phase,
        .cc-circuit__phase--formation,
        .cc-circuit__phase--mobilization,
        .cc-circuit__phase--return {
            position: static;
            width: auto;
            padding-left: 18px;
            border-left: 2px solid rgba(14,165,198,.14);
        }
        .cc-circuit__phase--formation { border-left-color: rgba(37,99,235,.22); }
        .cc-circuit__phase--mobilization { border-left-color: rgba(14,165,198,.24); }
        .cc-circuit__phase--return { border-left-color: rgba(34,160,107,.22); }

        .cc-circuit__steps {
            position: relative;
            inset: auto;
            display: grid;
            gap: 0;
            padding-left: 34px;
        }
        .cc-circuit__steps::before {
            content: "";
            position: absolute;
            left: 10px;
            top: 28px;
            bottom: 28px;
            width: 2px;
            border-radius: 999px;
            background: linear-gradient(180deg, rgba(37,99,235,.22), rgba(14,165,198,.28) 48%, rgba(34,160,107,.22) 78%, rgba(194,139,44,.20));
        }
        .cc-circuit__step,
        .cc-circuit__step:nth-child(n) {
            position: relative;
            left: auto;
            top: auto;
            width: auto;
            height: auto;
            min-height: 78px;
            padding: 18px 8px 18px 26px;
        }
        .cc-circuit__node,
        .cc-circuit__step:nth-child(n) .cc-circuit__node {
            left: -24px;
            top: 50%;
            width: 18px;
            height: 18px;
            transform: translate(-50%, -50%);
        }
        .cc-circuit__label,
        .cc-circuit__step--right .cc-circuit__label,
        .cc-circuit__step--left .cc-circuit__label,
        .cc-circuit__step--top .cc-circuit__label,
        .cc-circuit__step--bottom .cc-circuit__label {
            position: static;
            transform: none;
            min-width: 0;
            max-width: none;
            text-align: left;
        }
        .cc-circuit__label strong { font-size: 1.08rem; }
        .cc-circuit__step.cc-is-current .cc-circuit__node,
        .cc-circuit__step:hover .cc-circuit__node,
        .cc-circuit__step:focus-within .cc-circuit__node {
            transform: translate(-50%, -50%) scale(1.08);
        }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-circuit__pulse { display: none; }
        .cc-circuit__path-progress { stroke-dasharray: none !important; stroke-dashoffset: 0 !important; }
        .cc-circuit__step { opacity: 1 !important; }
    }

    @media (prefers-contrast: more) {
        .cc-circuit__path-glow { display: none; }
        .cc-circuit__path-base { stroke: currentColor; opacity: .35; }
        .cc-circuit__path-progress { stroke: currentColor; filter: none; }
        .cc-circuit__return { stroke: currentColor; opacity: .5; }
        .cc-circuit__node { box-shadow: none; border-color: Canvas; }
        .cc-circuit__phase p { color: currentColor; }
    }

    @media (forced-colors: active) {
        .cc-circuit__path-glow,
        .cc-circuit__pulse { display: none; }
        .cc-circuit__path-base,
        .cc-circuit__path-progress,
        .cc-circuit__return { stroke: CanvasText; }
        .cc-circuit__node { background: CanvasText; border-color: Canvas; box-shadow: none; }
    }
}

/* ==========================================================
   HOME.R2A.4 | Espiral ascendente + três escalas vivas
   A ascensão representa acumulação de memória e ampliação
   de contexto. Nunca hierarquia de valor entre escalas.
   ========================================================== */
@layer cc.sections {
    .cc-scale-section .cc-section-heading {
        width: min(100%, 920px);
        margin-inline: auto;
    }
    .cc-scale-section .cc-section-heading > p:last-child {
        width: min(100%, 760px);
        margin-inline: auto;
    }

    .cc-scale-field {
        position: relative;
        min-height: 780px;
        margin-top: clamp(46px, 6vw, 82px);
        padding: clamp(54px, 6vw, 78px) clamp(20px, 3vw, 42px) 36px;
        overflow: hidden;
        border: 1px solid var(--cc-border-mineral, rgba(30,76,116,.10));
        border-radius: clamp(34px, 5vw, 58px);
        background:
            radial-gradient(620px 420px at 12% 78%, rgba(37,99,235,.075), transparent 72%),
            radial-gradient(580px 390px at 52% 51%, rgba(14,165,198,.070), transparent 72%),
            radial-gradient(620px 430px at 88% 19%, rgba(34,160,107,.075), transparent 73%),
            linear-gradient(160deg, rgba(255,255,255,.985), rgba(243,250,254,.94) 58%, rgba(249,253,252,.97));
        box-shadow: var(--cc-shadow-deep, 0 28px 90px rgba(27,72,101,.09));
        isolation: isolate;
    }
    .cc-scale-field::before {
        content:"";
        position:absolute;
        inset:0;
        pointer-events:none;
        opacity:.28;
        background-image:
            linear-gradient(rgba(40,112,145,.055) 1px, transparent 1px),
            linear-gradient(90deg, rgba(40,112,145,.045) 1px, transparent 1px);
        background-size: 64px 64px;
        mask-image: radial-gradient(circle at 56% 50%, #000 0, transparent 76%);
    }
    .cc-scale-field::after {
        content:"";
        position:absolute;
        inset:-24% -10%;
        z-index:-1;
        pointer-events:none;
        background: conic-gradient(from 218deg at 50% 58%, transparent 0 38%, rgba(14,165,198,.04) 43%, transparent 48% 65%, rgba(37,99,235,.035) 70%, transparent 76%);
        filter: blur(30px);
    }

    .cc-scale-field__legend {
        position:absolute;
        right:clamp(24px,4vw,52px);
        top:clamp(24px,3vw,40px);
        z-index:3;
        color:#698097;
        font-size:.72rem;
        font-weight:800;
        letter-spacing:.16em;
        text-transform:uppercase;
    }
    .cc-scale-field__legend::before {
        content:"↗";
        margin-right:8px;
        color:var(--cc-connection);
    }

    .cc-scale-field__svg {
        position:absolute;
        inset:0;
        z-index:1;
        width:100%;
        height:100%;
        pointer-events:none;
        overflow:visible;
    }
    .cc-scale-field__path-glow,
    .cc-scale-field__path-base,
    .cc-scale-field__path-progress {
        fill:none;
        stroke-linecap:round;
        stroke-linejoin:round;
        vector-effect:non-scaling-stroke;
    }
    .cc-scale-field__path-glow {
        stroke:rgba(14,165,198,.10);
        stroke-width:16;
        filter:url(#cc-scale-glow);
    }
    .cc-scale-field__path-base {
        stroke:rgba(58,116,144,.18);
        stroke-width:1.6;
    }
    .cc-scale-field__path-progress {
        stroke:url(#cc-scale-gradient);
        stroke-width:3;
        filter:url(#cc-scale-glow);
    }
    .cc-scale-field__pulse {
        fill:#fff;
        stroke:var(--cc-connection);
        stroke-width:3;
        opacity:.45;
        filter:url(#cc-scale-glow);
    }
    .cc-scale-field--enhanced .cc-scale-field__pulse { opacity:.95; }

    .cc-scale-field .cc-portals {
        position:relative;
        z-index:2;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        align-items:start;
        gap:clamp(18px,2.4vw,32px);
        margin:0;
        padding:0;
        overflow:visible;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }
    .cc-scale-field .cc-portals::before { display:none; }
    .cc-scale-field .cc-portal + .cc-portal { border-left:0; }
    .cc-scale-field .cc-portal--person { transform:translateY(176px); }
    .cc-scale-field .cc-portal--organization { transform:translateY(88px); }
    .cc-scale-field .cc-portal--territory { transform:translateY(0); }

    .cc-scale-field .cc-portal::before {
        inset:-16px -10px;
        border-radius:34px;
        filter:blur(8px);
    }
    .cc-scale-field .cc-portal article {
        display:flex;
        flex-direction:column;
        min-height:455px;
        padding:clamp(28px,3vw,40px);
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }
    .cc-scale-field .cc-portal__identity {
        margin-bottom:clamp(32px,4vw,48px);
    }
    .cc-scale-field .cc-portal__node {
        position:relative;
        width:24px;
        height:24px;
        box-shadow:0 0 0 11px rgba(37,99,235,.055), 0 0 42px rgba(37,99,235,.13);
    }
    .cc-scale-field .cc-portal--organization .cc-portal__node {
        box-shadow:0 0 0 11px rgba(14,165,198,.055), 0 0 42px rgba(14,165,198,.13);
    }
    .cc-scale-field .cc-portal--territory .cc-portal__node {
        box-shadow:0 0 0 11px rgba(34,160,107,.055), 0 0 42px rgba(34,160,107,.13);
    }
    .cc-scale-field .cc-portal__node::after {
        content:"";
        position:absolute;
        inset:50% auto auto 50%;
        width:clamp(84px,8vw,116px);
        height:1px;
        transform:translateY(-50%);
        background:linear-gradient(90deg,currentColor,transparent);
        opacity:.20;
    }
    .cc-scale-field .cc-portal h3 {
        font-size:clamp(2.55rem,4vw,4.6rem);
    }
    .cc-scale-field .cc-portal h4 {
        max-width:30ch;
        font-size:clamp(1.12rem,1.45vw,1.3rem);
    }
    .cc-scale-field .cc-portal__content > p {
        max-width:36ch;
        margin:0;
        color:var(--cc-muted);
    }

    .cc-portal__evidence {
        position:relative;
        margin-top:auto;
        padding:20px 20px 18px;
        border:1px solid rgba(30,76,116,.085);
        border-radius:22px;
        background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(249,252,255,.68));
        box-shadow:0 16px 42px rgba(27,72,101,.055), inset 0 1px 0 rgba(255,255,255,.82);
        backdrop-filter:blur(12px);
    }
    .cc-portal__evidence::before {
        content:"";
        position:absolute;
        left:20px;
        top:0;
        width:52px;
        height:1px;
        background:linear-gradient(90deg,var(--cc-knowledge),transparent);
        opacity:.46;
    }
    .cc-portal--organization .cc-portal__evidence::before { background:linear-gradient(90deg,var(--cc-connection),transparent); }
    .cc-portal--territory .cc-portal__evidence::before { background:linear-gradient(90deg,var(--cc-life),transparent); }
    .cc-portal__evidence-kicker {
        display:block;
        margin-bottom:8px;
        color:#708499;
        font-size:.68rem;
        font-weight:850;
        letter-spacing:.15em;
        text-transform:uppercase;
    }
    .cc-portal__evidence-title {
        display:block;
        color:var(--cc-ink);
        font-size:.88rem;
        line-height:1.35;
    }
    .cc-portal__evidence-primary {
        display:block;
        margin:12px 0 0;
        color:#18344d;
        font-size:.96rem;
        font-weight:700;
        line-height:1.38;
        text-decoration:none;
    }
    a.cc-portal__evidence-primary:hover,
    a.cc-portal__evidence-primary:focus-visible { color:var(--cc-knowledge); }
    .cc-portal__evidence-meta {
        display:block;
        margin-top:7px;
        color:#8190a1;
        font-size:.75rem;
        line-height:1.35;
    }
    .cc-portal__signals {
        display:flex;
        flex-wrap:wrap;
        gap:12px 20px;
        margin:16px 0 0;
    }
    .cc-portal__signals div { min-width:92px; }
    .cc-portal__signals dd {
        margin:0;
        color:var(--cc-ink);
        font-size:1.28rem;
        font-weight:850;
        letter-spacing:-.04em;
    }
    .cc-portal__signals dt {
        margin-top:2px;
        color:#77899b;
        font-size:.72rem;
        line-height:1.25;
    }
    .cc-portal__action {
        display:inline-flex;
        align-items:center;
        gap:8px;
        align-self:flex-start;
        margin-top:18px;
        color:#23445f;
        font-size:.84rem;
        font-weight:800;
        text-decoration:none;
    }
    .cc-portal__action span { transition:transform var(--cc-motion-interaction) ease; }
    .cc-portal__action:hover span,
    .cc-portal__action:focus-visible span { transform:translateX(4px); }

    .cc-scale-field__caption {
        position:absolute;
        left:clamp(28px,4vw,52px);
        bottom:clamp(24px,3vw,36px);
        z-index:3;
        width:min(520px,48%);
        margin:0;
        color:#6e8194;
        font-size:.78rem;
        line-height:1.55;
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-scale-field__pulse {
            transition:cx .1s linear, cy .1s linear;
        }
        .cc-scale-field .cc-portal {
            transition:filter var(--cc-motion-narrative) ease, opacity var(--cc-motion-narrative) ease;
        }
        .cc-scale-field--enhanced .cc-portal:not(.cc-is-current):not(.cc-is-passed) {
            opacity:.78;
            filter:saturate(.84);
        }
        .cc-scale-field .cc-portal.cc-is-current {
            opacity:1;
            filter:saturate(1.02);
        }
        .cc-scale-field .cc-portal.cc-is-current .cc-portal__node {
            transform:scale(1.08);
        }
    }
}

@layer cc.responsive {
    @media (max-width: 1080px) {
        .cc-scale-field { min-height:750px; }
        .cc-scale-field .cc-portal--person { transform:translateY(132px); }
        .cc-scale-field .cc-portal--organization { transform:translateY(66px); }
        .cc-scale-field .cc-portal article { padding-inline:clamp(22px,2.6vw,32px); }
        .cc-scale-field__caption { width:min(470px,54%); }
    }

    @media (max-width: 820px) {
        .cc-scale-field {
            min-height:0;
            padding:34px 20px 30px;
            overflow:hidden;
            border-radius:30px;
        }
        .cc-scale-field__svg,
        .cc-scale-field__legend { display:none; }
        .cc-scale-field .cc-portals {
            display:block;
        }
        .cc-scale-field .cc-portal,
        .cc-scale-field .cc-portal--person,
        .cc-scale-field .cc-portal--organization,
        .cc-scale-field .cc-portal--territory {
            position:relative;
            transform:none;
            padding-left:28px;
        }
        .cc-scale-field .cc-portal + .cc-portal {
            margin-top:10px;
            border-top:1px solid rgba(30,76,116,.075);
        }
        .cc-scale-field .cc-portal::after {
            content:"";
            position:absolute;
            left:9px;
            top:36px;
            bottom:-12px;
            width:1px;
            background:linear-gradient(180deg,rgba(37,99,235,.22),rgba(14,165,198,.22),rgba(34,160,107,.16));
        }
        .cc-scale-field .cc-portal:last-child::after { display:none; }
        .cc-scale-field .cc-portal article {
            min-height:0;
            padding:28px 8px 30px 14px;
        }
        .cc-scale-field .cc-portal__identity { margin-bottom:24px; }
        .cc-scale-field .cc-portal__node {
            position:absolute;
            left:-34px;
            top:4px;
            width:18px;
            height:18px;
            border-width:3px;
            box-shadow:0 0 0 7px rgba(37,99,235,.055), 0 0 28px rgba(37,99,235,.10);
        }
        .cc-scale-field .cc-portal__node::after { display:none; }
        .cc-scale-field .cc-portal h3 { font-size:clamp(2.2rem,12vw,3.4rem); }
        .cc-portal__evidence { margin-top:24px; }
        .cc-scale-field__caption {
            position:static;
            width:100%;
            margin:20px 0 0;
            padding-top:18px;
            border-top:1px solid rgba(30,76,116,.075);
        }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-scale-field__path-progress { stroke-dasharray:none !important; stroke-dashoffset:0 !important; }
        .cc-scale-field__pulse { display:none; }
        .cc-scale-field .cc-portal { opacity:1 !important; filter:none !important; }
    }
    @media (forced-colors: active) {
        .cc-scale-field,
        .cc-portal__evidence { border:1px solid CanvasText; background:Canvas; box-shadow:none; }
        .cc-scale-field__svg { display:none; }
    }
}

/* ==========================================================
   HOME.R2B.1 | Da capacidade à realização
   Ponte sistêmica: conexão, coordenação, investigação e ação.
   ========================================================== */
@layer cc.sections {
    .cc-realization-section {
        isolation:isolate;
        background:
            radial-gradient(760px 420px at 9% 54%, rgba(14,165,198,.075), transparent 70%),
            radial-gradient(720px 420px at 56% 16%, rgba(33,87,217,.055), transparent 72%),
            radial-gradient(720px 440px at 94% 62%, rgba(234,107,33,.055), transparent 72%),
            linear-gradient(180deg, #f9fdff 0%, #ffffff 52%, #fbfdff 100%);
    }
    .cc-realization-section .cc-section-heading {
        max-width:900px;
    }
    .cc-realization-section .cc-section-heading h2 {
        max-width:14ch;
        font-size:clamp(3rem,6.3vw,6.6rem);
        letter-spacing:-.055em;
        line-height:.94;
        text-wrap:balance;
    }
    .cc-realization-section .cc-section-heading > p:last-child {
        max-width:70ch;
    }

    .cc-realization-map {
        position:relative;
        min-height:820px;
        overflow:hidden;
        border:1px solid rgba(31,86,122,.10);
        border-radius:clamp(30px,4vw,52px);
        background:
            radial-gradient(circle at 10% 51%, rgba(14,165,198,.10), transparent 23%),
            radial-gradient(circle at 51% 24%, rgba(33,87,217,.075), transparent 24%),
            radial-gradient(circle at 52% 76%, rgba(13,159,154,.065), transparent 23%),
            radial-gradient(circle at 91% 51%, rgba(234,107,33,.075), transparent 25%),
            rgba(255,255,255,.76);
        box-shadow:
            0 30px 90px rgba(24,72,108,.085),
            0 1px 0 rgba(255,255,255,.92) inset,
            0 -1px 0 rgba(35,93,126,.035) inset;
        backdrop-filter:blur(18px) saturate(112%);
    }
    .cc-realization-map::before {
        content:"";
        position:absolute;
        inset:0;
        pointer-events:none;
        opacity:.34;
        background-image:
            linear-gradient(rgba(37,99,235,.025) 1px, transparent 1px),
            linear-gradient(90deg, rgba(37,99,235,.025) 1px, transparent 1px);
        background-size:44px 44px;
        mask-image:radial-gradient(ellipse at center,#000 18%,transparent 78%);
    }
    .cc-realization-map::after {
        content:"";
        position:absolute;
        inset:-20% -8%;
        pointer-events:none;
        background:linear-gradient(112deg, transparent 22%, rgba(255,255,255,.55) 46%, transparent 63%);
        transform:translateX(-34%);
        opacity:.34;
    }
    .cc-realization-map__svg {
        position:absolute;
        inset:74px 6% 120px;
        width:88%;
        height:calc(100% - 194px);
        overflow:visible;
        pointer-events:none;
    }
    .cc-realization-map__path {
        fill:none;
        stroke-linecap:round;
        stroke-linejoin:round;
    }
    .cc-realization-map__path--soft {
        stroke:rgba(61,119,148,.11);
        stroke-width:10;
        filter:url(#cc-realization-glow);
    }
    .cc-realization-map__path--active {
        stroke:url(#cc-realization-main);
        stroke-width:2.4;
        opacity:.72;
        filter:url(#cc-realization-glow);
    }
    .cc-realization-map__path--secondary { opacity:.58; }

    .cc-realization__origin,
    .cc-realization__connector,
    .cc-realization__manifestation {
        position:absolute;
        z-index:2;
    }
    .cc-realization__origin {
        left:4.5%;
        top:42%;
        width:16%;
    }
    .cc-realization__connector {
        left:23.5%;
        top:41%;
        width:18%;
    }
    .cc-realization__manifestation {
        width:min(31%,360px);
        padding:26px 28px 24px;
        border:1px solid rgba(30,76,116,.085);
        border-radius:28px;
        background:rgba(255,255,255,.78);
        box-shadow:
            0 18px 54px rgba(29,72,105,.075),
            0 1px 0 rgba(255,255,255,.98) inset;
        backdrop-filter:blur(16px) saturate(112%);
    }
    .cc-realization__manifestation--coordination {
        left:43%;
        top:8%;
    }
    .cc-realization__manifestation--research {
        left:43%;
        bottom:8%;
    }
    .cc-realization__manifestation--outcome {
        right:3.5%;
        top:30%;
        width:min(29%,340px);
    }
    .cc-realization__kicker,
    .cc-realization__module,
    .cc-realization__evidence > span {
        display:block;
        margin:0 0 7px;
        color:#718297;
        font-size:.68rem;
        line-height:1.2;
        font-weight:800;
        letter-spacing:.13em;
        text-transform:uppercase;
    }
    .cc-realization__origin strong,
    .cc-realization__connector strong,
    .cc-realization__manifestation h3 {
        display:block;
        margin:0;
        color:var(--cc-ink);
        font-size:clamp(1.42rem,2vw,2.05rem);
        line-height:1.02;
        letter-spacing:-.035em;
    }
    .cc-realization__origin p,
    .cc-realization__connector p {
        margin:10px 0 0;
        color:var(--cc-muted);
        font-size:.88rem;
        line-height:1.55;
    }
    .cc-realization__manifestation h4 {
        margin:14px 0 9px;
        font-size:clamp(1.06rem,1.45vw,1.3rem);
        line-height:1.18;
        letter-spacing:-.025em;
    }
    .cc-realization__manifestation > p:not(.cc-realization__module) {
        margin:0;
        color:var(--cc-muted);
        font-size:.9rem;
        line-height:1.58;
    }
    .cc-realization__node {
        position:absolute;
        width:18px;
        height:18px;
        border:4px solid #fff;
        border-radius:50%;
        box-shadow:0 0 0 8px rgba(14,165,198,.07),0 0 30px rgba(14,165,198,.13);
    }
    .cc-realization__origin .cc-realization__node { left:-2px; top:-35px; }
    .cc-realization__connector .cc-realization__node { left:-2px; top:-35px; }
    .cc-realization__manifestation .cc-realization__node { left:24px; top:-10px; }
    .cc-realization__node--capability { background:var(--cc-connection); }
    .cc-realization__node--connection { background:#26b8ce; }
    .cc-realization__node--coordination {
        background:var(--cc-imagination);
        box-shadow:0 0 0 8px rgba(33,87,217,.07),0 0 30px rgba(33,87,217,.14);
    }
    .cc-realization__node--research {
        background:var(--cc-research);
        box-shadow:0 0 0 8px rgba(13,159,154,.065),0 0 30px rgba(13,159,154,.13);
    }
    .cc-realization__node--outcome {
        background:var(--cc-action);
        box-shadow:0 0 0 8px rgba(234,107,33,.065),0 0 30px rgba(234,107,33,.13);
    }
    .cc-realization__manifestation--coordination .cc-realization__module { color:#315fc4; }
    .cc-realization__manifestation--research .cc-realization__module { color:#087f82; }
    .cc-realization__manifestation--outcome .cc-realization__module { color:#c5632b; }

    .cc-realization__evidence {
        margin-top:18px;
        padding-top:16px;
        border-top:1px solid rgba(30,76,116,.075);
    }
    .cc-realization__evidence p {
        margin:0;
        color:#526579;
        font-size:.82rem;
        line-height:1.5;
    }
    .cc-realization__signals {
        display:flex;
        flex-wrap:wrap;
        gap:14px 20px;
        margin:14px 0 0;
    }
    .cc-realization__signals div { min-width:88px; }
    .cc-realization__signals dd {
        margin:0;
        color:var(--cc-ink);
        font-size:1.22rem;
        line-height:1;
        font-weight:820;
        letter-spacing:-.04em;
    }
    .cc-realization__signals dt {
        margin-top:5px;
        color:#78899b;
        font-size:.66rem;
        line-height:1.3;
    }
    .cc-realization__action {
        display:inline-flex;
        align-items:center;
        gap:8px;
        margin-top:18px;
        color:#1d6682;
        font-size:.8rem;
        font-weight:800;
        text-decoration:none;
    }
    .cc-realization__action span { transition:transform var(--cc-motion-interaction) ease; }
    .cc-realization__action:hover span,
    .cc-realization__action:focus-visible span { transform:translateX(4px); }
    .cc-realization__closing {
        position:absolute;
        z-index:2;
        left:5%;
        right:5%;
        bottom:28px;
        margin:0;
        padding-top:18px;
        border-top:1px solid rgba(30,76,116,.075);
        color:#607386;
        font-size:.78rem;
        line-height:1.5;
        text-align:center;
    }
}

@layer cc.art {
    .cc-thread--realization {
        --cc-thread-x: 30%;
        --cc-thread-angle: 11deg;
        --cc-thread-color: rgba(33,87,217,.22);
        --cc-thread-node-y: 62%;
    }
    .cc-realization-section::before {
        content:"";
        position:absolute;
        z-index:-1;
        inset:8% 0 auto;
        height:58%;
        pointer-events:none;
        background:
            radial-gradient(ellipse at 40% 35%, rgba(14,165,198,.06), transparent 58%),
            radial-gradient(ellipse at 68% 50%, rgba(13,159,154,.045), transparent 62%);
        filter:blur(16px);
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-realization-map::after {
            animation:cc-realization-sheen 18s ease-in-out infinite alternate;
        }
        .js .cc-realization__manifestation:hover {
            transform:translateY(-3px);
            box-shadow:0 24px 68px rgba(29,72,105,.10),0 1px 0 rgba(255,255,255,.98) inset;
            transition:transform 260ms ease, box-shadow 260ms ease;
        }
        @keyframes cc-realization-sheen {
            from { transform:translateX(-34%); opacity:.22; }
            to { transform:translateX(34%); opacity:.38; }
        }
    }
}

@layer cc.responsive {
    @media (max-width: 1040px) {
        .cc-realization-map {
            min-height:1030px;
        }
        .cc-realization-map__svg {
            inset:92px 4% 132px;
            width:92%;
            height:calc(100% - 224px);
        }
        .cc-realization__origin { left:5%; top:43%; width:22%; }
        .cc-realization__connector { left:29%; top:43%; width:22%; }
        .cc-realization__manifestation { width:42%; }
        .cc-realization__manifestation--coordination { left:51%; top:6%; }
        .cc-realization__manifestation--research { left:51%; bottom:8%; }
        .cc-realization__manifestation--outcome { right:4%; top:34%; width:38%; }
    }
    @media (max-width: 820px) {
        .cc-realization-section .cc-section-heading h2 { max-width:11ch; }
        .cc-realization-map {
            min-height:0;
            padding:34px 22px 30px;
            border-radius:30px;
        }
        .cc-realization-map__svg { display:none; }
        .cc-realization__origin,
        .cc-realization__connector,
        .cc-realization__manifestation,
        .cc-realization__manifestation--coordination,
        .cc-realization__manifestation--research,
        .cc-realization__manifestation--outcome {
            position:relative;
            inset:auto;
            left:auto;
            right:auto;
            top:auto;
            bottom:auto;
            width:100%;
            transform:none;
        }
        .cc-realization__origin,
        .cc-realization__connector {
            padding:20px 12px 24px 42px;
        }
        .cc-realization__manifestation {
            margin-top:12px;
            padding:26px 22px 24px 42px;
            border-radius:24px;
        }
        .cc-realization__origin::after,
        .cc-realization__connector::after,
        .cc-realization__manifestation::after {
            content:"";
            position:absolute;
            left:18px;
            top:35px;
            bottom:-18px;
            width:1px;
            background:linear-gradient(180deg,rgba(14,165,198,.22),rgba(33,87,217,.18),rgba(234,107,33,.12));
        }
        .cc-realization__manifestation--outcome::after { display:none; }
        .cc-realization__origin .cc-realization__node,
        .cc-realization__connector .cc-realization__node,
        .cc-realization__manifestation .cc-realization__node {
            left:9px;
            top:31px;
        }
        .cc-realization__closing {
            position:static;
            margin-top:24px;
        }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-realization-map::after { animation:none !important; transform:none; }
        .cc-realization__manifestation { transform:none !important; }
    }
    @media (forced-colors: active) {
        .cc-realization-map,
        .cc-realization__manifestation {
            border:1px solid CanvasText;
            background:Canvas;
            box-shadow:none;
        }
        .cc-realization-map__svg { display:none; }
    }
}

/* ==========================================================
   HOME.R2B.2 | Atlas Vivo, conhecimento ganha geografia
   O mapa mostra contexto e presença de sinais públicos.
   Não existe codificação visual de ranking territorial.
   ========================================================== */
@layer cc.sections {
    .cc-atlas-section {
        isolation: isolate;
        overflow: hidden;
        background:
            radial-gradient(760px 520px at 16% 26%, rgba(14,165,198,.09), transparent 70%),
            radial-gradient(680px 500px at 88% 74%, rgba(34,160,107,.075), transparent 72%),
            linear-gradient(180deg, #f7fbff 0%, #ffffff 52%, #f8fcff 100%);
    }

    .cc-atlas__intro {
        max-width: 900px;
        margin-bottom: clamp(46px, 7vw, 86px);
    }

    .cc-atlas__intro h2 {
        max-width: 11ch;
        font-size: clamp(2.8rem, 6.2vw, 6rem);
    }

    .cc-atlas__intro > p:last-child {
        max-width: 67ch;
        margin: 26px 0 0;
        color: var(--cc-muted);
        font-size: clamp(1.02rem, 1.5vw, 1.2rem);
    }

    .cc-atlas__field {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 7fr) minmax(330px, 5fr);
        gap: clamp(34px, 5vw, 72px);
        align-items: center;
    }

    .cc-atlas__map-wrap {
        position: relative;
        min-height: clamp(540px, 58vw, 680px);
        overflow: hidden;
        border: 1px solid rgba(33,78,121,.12);
        border-radius: clamp(32px, 4vw, 54px);
        background:
            radial-gradient(circle at 48% 42%, rgba(255,255,255,.96) 0 12%, rgba(240,249,255,.82) 38%, rgba(226,244,250,.7) 72%, rgba(238,250,247,.74) 100%);
        box-shadow:
            0 1px 0 rgba(255,255,255,.94) inset,
            0 28px 84px rgba(38,79,112,.10),
            0 70px 150px rgba(29,91,118,.065);
    }

    .cc-atlas__map-wrap::before,
    .cc-atlas__map-wrap::after {
        content: "";
        position: absolute;
        pointer-events: none;
        z-index: 2;
    }

    .cc-atlas__map-wrap::before {
        inset: 0;
        opacity: .48;
        background:
            radial-gradient(circle at 18% 20%, rgba(14,165,198,.16) 0 2px, transparent 3px),
            radial-gradient(circle at 70% 18%, rgba(37,99,235,.11) 0 2px, transparent 3px),
            radial-gradient(circle at 82% 68%, rgba(34,160,107,.12) 0 2px, transparent 3px),
            linear-gradient(rgba(50,103,135,.035) 1px, transparent 1px),
            linear-gradient(90deg, rgba(50,103,135,.035) 1px, transparent 1px);
        background-size: auto, auto, auto, 48px 48px, 48px 48px;
        mask-image: radial-gradient(ellipse at center, #000 18%, rgba(0,0,0,.76) 62%, transparent 94%);
    }

    .cc-atlas__map-wrap::after {
        width: 76%;
        aspect-ratio: 1;
        left: 12%;
        top: 3%;
        border-radius: 50%;
        opacity: .62;
        background: conic-gradient(from 205deg,
            transparent 0 22%,
            rgba(14,165,198,.055) 28%,
            transparent 36% 61%,
            rgba(34,160,107,.045) 69%,
            transparent 78%);
        filter: blur(18px);
    }

    .cc-atlas__map,
    .cc-atlas__map-fallback {
        position: absolute;
        inset: 0;
        z-index: 1;
    }

    .cc-atlas__map {
        opacity: 0;
        transition: opacity 700ms ease;
        background: transparent;
    }

    .cc-atlas--enhanced .cc-atlas__map { opacity: 1; }

    .cc-atlas__map-fallback {
        background:
            radial-gradient(circle at 33% 32%, rgba(14,165,198,.08), transparent 14%),
            radial-gradient(circle at 61% 47%, rgba(37,99,235,.065), transparent 16%),
            radial-gradient(circle at 72% 72%, rgba(34,160,107,.075), transparent 18%);
    }

    .cc-atlas__map-fallback::before {
        content: "";
        position: absolute;
        inset: 12% 13% 15%;
        border: 1px solid rgba(33,78,121,.08);
        border-radius: 48% 52% 44% 56% / 55% 38% 62% 45%;
        transform: rotate(-7deg);
        box-shadow:
            80px 38px 0 -44px rgba(14,165,198,.07),
            -52px 116px 0 -48px rgba(34,160,107,.07),
            122px 174px 0 -56px rgba(37,99,235,.055);
    }

    .cc-atlas__map-fallback > span {
        position: absolute;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: var(--cc-connection);
        box-shadow:
            0 0 0 8px rgba(14,165,198,.06),
            0 0 26px rgba(14,165,198,.18);
    }
    .cc-atlas__map-fallback > span:nth-child(1) { left: 29%; top: 34%; }
    .cc-atlas__map-fallback > span:nth-child(2) { left: 54%; top: 25%; background:var(--cc-knowledge); }
    .cc-atlas__map-fallback > span:nth-child(3) { left: 66%; top: 52%; }
    .cc-atlas__map-fallback > span:nth-child(4) { left: 47%; top: 67%; background:var(--cc-life); }
    .cc-atlas__map-fallback > span:nth-child(5) { left: 76%; top: 76%; background:var(--cc-life); }

    .cc-atlas__map-label {
        position: absolute;
        z-index: 520;
        top: clamp(22px, 3vw, 34px);
        left: clamp(22px, 3vw, 34px);
        display: grid;
        gap: 3px;
        padding: 12px 15px;
        border: 1px solid rgba(255,255,255,.88);
        border-radius: 18px;
        background: rgba(255,255,255,.78);
        box-shadow: 0 16px 44px rgba(29,70,103,.09);
        backdrop-filter: blur(14px);
    }
    .cc-atlas__map-label span {
        color:#6c7f93;
        font-size:.67rem;
        font-weight:800;
        letter-spacing:.12em;
        text-transform:uppercase;
    }
    .cc-atlas__map-label strong {
        font-size:.96rem;
        letter-spacing:-.02em;
    }

    .cc-atlas__legend {
        position: absolute;
        z-index: 520;
        left: clamp(22px, 3vw, 34px);
        right: clamp(22px, 3vw, 34px);
        bottom: clamp(20px, 3vw, 32px);
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        pointer-events: none;
    }

    .cc-atlas__legend-item {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 7px 10px;
        border: 1px solid rgba(255,255,255,.92);
        border-radius: 999px;
        background: rgba(255,255,255,.78);
        color:#52677d;
        box-shadow: 0 10px 28px rgba(25,67,99,.06);
        backdrop-filter: blur(12px);
        font-size:.72rem;
        font-weight:760;
    }
    .cc-atlas__legend-item i {
        width: 7px;
        height: 7px;
        border-radius:50%;
        background:var(--cc-knowledge);
    }
    .cc-atlas__legend-item--connection i { background:var(--cc-connection); }
    .cc-atlas__legend-item--action i { background:var(--cc-action); }
    .cc-atlas__legend-item--life i { background:var(--cc-life); }

    .cc-atlas__copy {
        position: relative;
        z-index: 3;
        display: grid;
        gap: 28px;
    }

    .cc-atlas__thesis {
        padding-left: 22px;
        border-left: 1px solid rgba(14,165,198,.25);
    }
    .cc-atlas__kicker {
        margin:0 0 12px;
        color:#2b7186;
        font-size:.72rem;
        font-weight:820;
        letter-spacing:.13em;
        text-transform:uppercase;
    }
    .cc-atlas__thesis h3 {
        margin:0;
        max-width: 18ch;
        font-size:clamp(1.65rem, 3vw, 2.65rem);
        line-height:1.02;
        letter-spacing:-.045em;
        text-wrap:balance;
    }
    .cc-atlas__thesis > p:last-child {
        max-width:52ch;
        margin:18px 0 0;
        color:var(--cc-muted);
    }

    .cc-atlas__contexts {
        padding: 8px 0 0;
    }
    .cc-atlas__contexts-head {
        display:flex;
        justify-content:space-between;
        gap:18px;
        align-items:baseline;
        margin-bottom:12px;
    }
    .cc-atlas__contexts-head strong {
        font-size:.78rem;
        letter-spacing:.1em;
        text-transform:uppercase;
    }
    .cc-atlas__contexts-head span {
        color:#7a8b9e;
        font-size:.78rem;
    }

    .cc-atlas__list {
        list-style:none;
        margin:0;
        padding:0;
        border-top:1px solid rgba(33,78,121,.10);
    }
    .cc-atlas__list li {
        border-bottom:1px solid rgba(33,78,121,.10);
    }
    .cc-atlas__list a {
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        gap:13px;
        align-items:center;
        min-height:68px;
        padding:11px 4px;
        text-decoration:none;
        transition:padding-left var(--cc-motion-interaction) ease, color var(--cc-motion-interaction) ease;
    }
    .cc-atlas__list a:hover,
    .cc-atlas__list a:focus-visible {
        padding-left:8px;
        color:#0a5671;
    }
    .cc-atlas__place-node {
        width:10px;
        height:10px;
        border-radius:50%;
        background:linear-gradient(135deg,var(--cc-connection),var(--cc-life));
        box-shadow:0 0 0 7px rgba(14,165,198,.055);
    }
    .cc-atlas__place-copy {
        min-width:0;
        display:grid;
        gap:2px;
    }
    .cc-atlas__place-copy strong {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:.98rem;
    }
    .cc-atlas__place-copy small {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        color:#718397;
        font-size:.76rem;
    }
    .cc-atlas__place-arrow {
        color:#70849a;
        transition:transform var(--cc-motion-interaction) ease;
    }
    .cc-atlas__list a:hover .cc-atlas__place-arrow,
    .cc-atlas__list a:focus-visible .cc-atlas__place-arrow {
        transform:translateX(4px);
    }

    .cc-atlas__actions { padding-top:4px; }

    .cc-atlas__empty {
        padding:26px 28px;
        border:1px solid rgba(33,78,121,.10);
        border-radius:var(--cc-radius-md);
        background:rgba(255,255,255,.72);
    }
    .cc-atlas__empty p { margin:8px 0 0; color:var(--cc-muted); }
}

@layer cc.art {
    .cc-thread--atlas {
        --cc-thread-x: 72%;
        --cc-thread-angle: -12deg;
        --cc-thread-color: rgba(14,165,198,.20);
        --cc-thread-node-y: 44%;
    }

    .cc-atlas-section::before {
        content:"";
        position:absolute;
        z-index:-1;
        width:min(860px,74vw);
        height:min(860px,74vw);
        right:-25%;
        top:8%;
        border-radius:50%;
        background:radial-gradient(circle, rgba(34,160,107,.06), rgba(14,165,198,.035) 42%, transparent 72%);
        filter:blur(14px);
        pointer-events:none;
    }

    .cc-atlas__map .leaflet-pane { z-index: 20; }
    .cc-atlas__map .leaflet-tile-pane {
        opacity:.72;
        filter: grayscale(1) saturate(.35) brightness(1.18) contrast(.78) sepia(.04) hue-rotate(158deg);
    }
    .cc-atlas__map .leaflet-overlay-pane { z-index: 40; }
    .cc-atlas__map .leaflet-control-attribution {
        margin:0 12px 12px 0;
        padding:4px 7px;
        border-radius:9px;
        background:rgba(255,255,255,.70);
        color:#738497;
        box-shadow:0 7px 20px rgba(29,70,103,.05);
        font-size:9px;
        backdrop-filter:blur(8px);
    }
    .cc-atlas__map .leaflet-control-attribution a { color:#527089; }
    .cc-atlas-marker-halo {
        stroke:none;
        fill:var(--cc-connection);
        fill-opacity:.08;
    }
    .cc-atlas-marker {
        stroke:#fff;
        stroke-width:2.4;
        fill:var(--cc-connection);
        fill-opacity:.94;
        filter:drop-shadow(0 4px 8px rgba(15,75,104,.20));
        transform-box:fill-box;
        transform-origin:center;
        transition:transform var(--cc-motion-interaction) ease, fill var(--cc-motion-interaction) ease, filter var(--cc-motion-interaction) ease;
    }
    .cc-atlas-marker.cc-is-highlighted {
        fill:var(--cc-life);
        transform:scale(1.5);
        filter:drop-shadow(0 6px 13px rgba(34,160,107,.28));
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-atlas__map-wrap::after {
            animation:cc-atlas-atmosphere 26s ease-in-out infinite alternate;
        }
        .cc-atlas__map-fallback > span {
            animation:cc-atlas-node-breathe 7s ease-in-out infinite;
        }
        .cc-atlas__map-fallback > span:nth-child(2) { animation-delay:-1.4s; }
        .cc-atlas__map-fallback > span:nth-child(3) { animation-delay:-2.8s; }
        .cc-atlas__map-fallback > span:nth-child(4) { animation-delay:-4.2s; }
        .cc-atlas__map-fallback > span:nth-child(5) { animation-delay:-5.6s; }
    }

    @keyframes cc-atlas-atmosphere {
        from { transform:translate3d(-2%, -1%, 0) rotate(-2deg) scale(.98); }
        to { transform:translate3d(3%, 2%, 0) rotate(2deg) scale(1.04); }
    }
    @keyframes cc-atlas-node-breathe {
        0%,100% { transform:scale(.92); opacity:.62; }
        50% { transform:scale(1.1); opacity:1; }
    }
}

@layer cc.responsive {
    @media (max-width: 1040px) {
        .cc-atlas__field {
            grid-template-columns:minmax(0, 1.15fr) minmax(310px, .85fr);
            gap:32px;
        }
        .cc-atlas__map-wrap { min-height:540px; }
    }

    @media (max-width: 860px) {
        .cc-atlas__field { grid-template-columns:1fr; }
        .cc-atlas__map-wrap { min-height:min(68vh, 560px); }
        .cc-atlas__copy { width:min(100%, 680px); }
        .cc-atlas__thesis h3 { max-width:23ch; }
    }

    @media (max-width: 680px) {
        .cc-atlas__intro h2 { font-size:clamp(2.7rem, 14vw, 4.3rem); }
        .cc-atlas__map-wrap {
            min-height:430px;
            border-radius:30px;
        }
        .cc-atlas__map-label { top:18px; left:18px; }
        .cc-atlas__legend {
            left:18px;
            right:18px;
            bottom:16px;
            gap:6px;
        }
        .cc-atlas__legend-item { padding:6px 8px; font-size:.66rem; }
        .cc-atlas__contexts-head { align-items:flex-start; flex-direction:column; gap:2px; }
        .cc-atlas__place-copy small { white-space:normal; }
        .cc-atlas__list a { min-height:74px; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-atlas__map,
        .cc-atlas-marker,
        .cc-atlas__place-arrow,
        .cc-atlas__list a {
            transition:none !important;
        }
        .cc-atlas__map-wrap::after,
        .cc-atlas__map-fallback > span {
            animation:none !important;
            transform:none;
        }
    }

    @media (prefers-contrast: more) {
        .cc-atlas__map-wrap,
        .cc-atlas__empty { border-color:rgba(15,27,45,.30); }
        .cc-atlas__list li { border-color:rgba(15,27,45,.24); }
        .cc-atlas__map .leaflet-tile-pane { opacity:.48; }
    }

    @media (forced-colors: active) {
        .cc-atlas__map-wrap::before,
        .cc-atlas__map-wrap::after,
        .cc-atlas__map,
        .cc-atlas__legend { display:none; }
        .cc-atlas__map-wrap {
            min-height:220px;
            border:1px solid CanvasText;
            background:Canvas;
        }
        .cc-atlas__map-fallback { display:block; }
        .cc-atlas__place-node { border:1px solid CanvasText; background:CanvasText; box-shadow:none; }
    }
}


/* ==========================================================
   HOME.R2B.3 | Território que Pensa
   Visões, pautas, memória e horizonte como um mesmo organismo.
   ========================================================== */
@layer cc.sections {
    .cc-territorial-mind {
        isolation:isolate;
        background:
            radial-gradient(760px 520px at 18% 28%, rgba(33,87,217,.055), transparent 70%),
            radial-gradient(760px 560px at 82% 34%, rgba(14,165,198,.055), transparent 72%),
            linear-gradient(180deg, #f7fbff 0%, #fbfdff 46%, #f7fbff 100%);
    }
    .cc-territorial-mind__intro {
        max-width:900px;
        margin-bottom:clamp(54px,7vw,92px);
    }
    .cc-territorial-mind__intro > p:last-child {
        max-width:68ch;
        margin:24px 0 0;
        color:var(--cc-muted);
        font-size:clamp(1rem,1.45vw,1.18rem);
    }
    .cc-territorial-mind__field {
        position:relative;
        min-height:clamp(760px,72vw,920px);
        border:1px solid rgba(33,78,121,.10);
        border-radius:clamp(34px,5vw,64px);
        overflow:hidden;
        background:
            linear-gradient(rgba(47,98,139,.035) 1px, transparent 1px),
            linear-gradient(90deg, rgba(47,98,139,.035) 1px, transparent 1px),
            radial-gradient(circle at 50% 48%, rgba(255,255,255,.98), rgba(247,252,255,.86) 38%, rgba(240,248,253,.62) 100%);
        background-size:52px 52px,52px 52px,auto;
        box-shadow:var(--cc-shadow-atmosphere, 0 38px 120px rgba(31,72,105,.10)), inset 0 1px 0 rgba(255,255,255,.92);
    }
    .cc-territorial-mind__field::before,
    .cc-territorial-mind__field::after {
        content:"";
        position:absolute;
        width:54%;
        aspect-ratio:1;
        border-radius:50%;
        filter:blur(24px);
        pointer-events:none;
    }
    .cc-territorial-mind__field::before {
        left:-16%;
        top:-20%;
        background:radial-gradient(circle, rgba(33,87,217,.09), rgba(14,165,198,.035) 45%, transparent 72%);
    }
    .cc-territorial-mind__field::after {
        right:-17%;
        bottom:-25%;
        background:radial-gradient(circle, rgba(34,160,107,.085), rgba(194,139,44,.035) 45%, transparent 72%);
    }
    .cc-territorial-mind__paths {
        position:absolute;
        inset:7% 6%;
        width:88%;
        height:86%;
        overflow:visible;
        pointer-events:none;
    }
    .cc-territorial-mind__path {
        fill:none;
        vector-effect:non-scaling-stroke;
    }
    .cc-territorial-mind__path--base {
        stroke:rgba(48,91,129,.12);
        stroke-width:1.2;
    }
    .cc-territorial-mind__path--light {
        stroke:url(#cc-territorial-mind-gradient);
        stroke-width:2.2;
        stroke-linecap:round;
        filter:drop-shadow(0 0 9px rgba(14,165,198,.16));
        stroke-dasharray:4 10;
    }
    .cc-territorial-mind__core {
        position:absolute;
        z-index:3;
        left:50%;
        top:48%;
        width:clamp(220px,22vw,290px);
        min-height:clamp(220px,22vw,290px);
        translate:-50% -50%;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:7px;
        padding:28px;
        text-align:center;
        border:1px solid rgba(31,89,127,.13);
        border-radius:50%;
        background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(241,250,255,.88));
        box-shadow:0 30px 90px rgba(27,77,111,.14), inset 0 1px 0 #fff;
        backdrop-filter:blur(14px);
    }
    .cc-territorial-mind__core-halo {
        position:absolute;
        inset:-28%;
        z-index:-1;
        border-radius:50%;
        background:radial-gradient(circle, rgba(14,165,198,.10), rgba(37,99,235,.035) 42%, transparent 70%);
        filter:blur(8px);
    }
    .cc-territorial-mind__core-label {
        color:#61819b;
        font-size:.67rem;
        font-weight:850;
        letter-spacing:.13em;
        text-transform:uppercase;
    }
    .cc-territorial-mind__core > strong {
        max-width:14ch;
        font-size:clamp(1.45rem,2.4vw,2.15rem);
        line-height:1.02;
        letter-spacing:-.045em;
    }
    .cc-territorial-mind__core > small {
        max-width:22ch;
        color:#718396;
        font-size:.76rem;
    }
    .cc-territorial-mind__core-signals {
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        gap:5px 9px;
        margin-top:4px;
        color:#6b7e90;
        font-size:.67rem;
    }
    .cc-territorial-mind__core-signals b { color:#29465f; }

    .cc-territorial-mind__stages {
        list-style:none;
        margin:0;
        padding:0;
    }
    .cc-territorial-mind__stage {
        position:absolute;
        z-index:4;
        width:min(31%, 340px);
    }
    .cc-territorial-mind__stage--visions { left:6.5%; top:9%; }
    .cc-territorial-mind__stage--agendas { right:6.5%; top:9%; }
    .cc-territorial-mind__stage--memory { left:7.5%; bottom:8%; }
    .cc-territorial-mind__stage--horizon { right:7.5%; bottom:8%; }
    .cc-territorial-mind__stage article {
        position:relative;
        padding:22px 22px 18px;
        border:1px solid rgba(33,78,121,.09);
        border-radius:26px;
        background:linear-gradient(145deg, rgba(255,255,255,.90), rgba(248,252,255,.72));
        box-shadow:0 18px 54px rgba(31,72,105,.07), inset 0 1px 0 rgba(255,255,255,.96);
        backdrop-filter:blur(10px);
    }
    .cc-territorial-mind__stage-head {
        display:flex;
        align-items:center;
        gap:12px;
        margin-bottom:16px;
    }
    .cc-territorial-mind__stage-head > div { display:grid; gap:1px; }
    .cc-territorial-mind__stage-head small {
        color:#7890a4;
        font-size:.64rem;
        font-weight:850;
        letter-spacing:.11em;
        text-transform:uppercase;
    }
    .cc-territorial-mind__stage-head span:not(.cc-territorial-mind__stage-node) {
        color:#425e76;
        font-size:.78rem;
        font-weight:720;
    }
    .cc-territorial-mind__stage-node {
        flex:0 0 auto;
        width:14px;
        height:14px;
        border-radius:50%;
        background:var(--cc-knowledge);
        box-shadow:0 0 0 7px rgba(37,99,235,.06), 0 0 22px rgba(37,99,235,.15);
    }
    .cc-territorial-mind__stage--imagination .cc-territorial-mind__stage-node { background:var(--cc-imagination); box-shadow:0 0 0 7px rgba(33,87,217,.06),0 0 22px rgba(33,87,217,.14); }
    .cc-territorial-mind__stage--connection .cc-territorial-mind__stage-node { background:var(--cc-connection); box-shadow:0 0 0 7px rgba(14,165,198,.06),0 0 22px rgba(14,165,198,.14); }
    .cc-territorial-mind__stage--memory .cc-territorial-mind__stage-node { background:var(--cc-memory); box-shadow:0 0 0 7px rgba(194,139,44,.06),0 0 22px rgba(194,139,44,.13); }
    .cc-territorial-mind__stage--life .cc-territorial-mind__stage-node { background:var(--cc-life); box-shadow:0 0 0 7px rgba(34,160,107,.06),0 0 22px rgba(34,160,107,.13); }
    .cc-territorial-mind__stage h3 {
        margin:0;
        font-size:clamp(1.18rem,1.75vw,1.55rem);
        line-height:1.08;
        letter-spacing:-.035em;
        text-wrap:balance;
    }
    .cc-territorial-mind__stage article > p {
        margin:11px 0 0;
        color:var(--cc-muted);
        font-size:.83rem;
        line-height:1.55;
    }
    .cc-territorial-mind__evidence {
        display:grid;
        gap:3px;
        margin-top:15px;
        padding-top:13px;
        border-top:1px solid rgba(33,78,121,.09);
    }
    .cc-territorial-mind__evidence > span:first-child {
        color:#7d8fa0;
        font-size:.61rem;
        font-weight:850;
        letter-spacing:.1em;
        text-transform:uppercase;
    }
    .cc-territorial-mind__evidence a { color:inherit; text-decoration:none; }
    .cc-territorial-mind__evidence strong {
        display:block;
        max-width:29ch;
        font-size:.79rem;
        line-height:1.3;
    }
    .cc-territorial-mind__evidence small { color:#8090a0; font-size:.66rem; }
    .cc-territorial-mind__evidence-signals {
        display:flex;
        flex-wrap:wrap;
        gap:4px 9px;
        margin-top:4px;
        color:#718396;
        font-size:.64rem;
    }
    .cc-territorial-mind__evidence-signals b { color:#29465f; }
    .cc-territorial-mind__stage-action {
        display:inline-flex;
        align-items:center;
        gap:7px;
        margin-top:13px;
        color:#315a76;
        font-size:.72rem;
        font-weight:780;
        text-decoration:none;
    }
    .cc-territorial-mind__stage-action span { transition:transform var(--cc-motion-interaction) ease; }
    .cc-territorial-mind__stage-action:hover span,
    .cc-territorial-mind__stage-action:focus-visible span { transform:translateX(4px); }

    .cc-territorial-mind__footer {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:28px;
        align-items:center;
        margin-top:28px;
        padding-inline:4px;
    }
    .cc-territorial-mind__footer p {
        max-width:68ch;
        margin:0;
        color:#667b8e;
        font-size:.83rem;
    }
    .cc-territorial-mind__footer p strong { color:#38546b; }
}

@layer cc.art {
    .cc-thread--territorial-mind {
        --cc-thread-x: 31%;
        --cc-thread-angle: 13deg;
        --cc-thread-color: rgba(33,87,217,.16);
        --cc-thread-node-y: 38%;
    }
    .cc-territorial-mind::after {
        content:"";
        position:absolute;
        z-index:-1;
        width:min(720px,62vw);
        height:min(720px,62vw);
        left:18%;
        bottom:-35%;
        border-radius:50%;
        background:radial-gradient(circle, rgba(194,139,44,.045), rgba(34,160,107,.03) 45%, transparent 72%);
        filter:blur(15px);
        pointer-events:none;
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-territorial-mind__path--light {
            animation:cc-territorial-mind-flow 24s linear infinite;
        }
        .cc-territorial-mind__core-halo {
            animation:cc-territorial-mind-breathe 12s ease-in-out infinite;
        }
    }
    @keyframes cc-territorial-mind-flow {
        to { stroke-dashoffset:-140; }
    }
    @keyframes cc-territorial-mind-breathe {
        0%,100% { transform:scale(.96); opacity:.68; }
        50% { transform:scale(1.05); opacity:1; }
    }
}

@layer cc.responsive {
    @media (max-width: 980px) {
        .cc-territorial-mind__field { min-height:980px; }
        .cc-territorial-mind__stage { width:min(38%,330px); }
        .cc-territorial-mind__stage--visions { left:4%; top:7%; }
        .cc-territorial-mind__stage--agendas { right:4%; top:7%; }
        .cc-territorial-mind__stage--memory { left:4%; bottom:6%; }
        .cc-territorial-mind__stage--horizon { right:4%; bottom:6%; }
        .cc-territorial-mind__core { top:50%; }
    }
    @media (max-width: 760px) {
        .cc-territorial-mind__intro h2 { font-size:clamp(2.7rem,13vw,4.5rem); }
        .cc-territorial-mind__field {
            min-height:0;
            padding:28px 20px;
            border-radius:32px;
            background:
                radial-gradient(480px 300px at 50% 18%, rgba(14,165,198,.07), transparent 72%),
                linear-gradient(180deg,rgba(255,255,255,.88),rgba(244,250,254,.82));
        }
        .cc-territorial-mind__paths { display:none; }
        .cc-territorial-mind__core {
            position:relative;
            left:auto;
            top:auto;
            translate:none;
            width:min(250px,76vw);
            min-height:min(250px,76vw);
            margin:4px auto 38px;
        }
        .cc-territorial-mind__stages {
            position:relative;
            display:grid;
            gap:18px;
            padding-left:24px;
        }
        .cc-territorial-mind__stages::before {
            content:"";
            position:absolute;
            left:5px;
            top:16px;
            bottom:16px;
            width:1px;
            background:linear-gradient(var(--cc-imagination),var(--cc-connection),var(--cc-memory),var(--cc-life));
            opacity:.35;
        }
        .cc-territorial-mind__stage,
        .cc-territorial-mind__stage--visions,
        .cc-territorial-mind__stage--agendas,
        .cc-territorial-mind__stage--memory,
        .cc-territorial-mind__stage--horizon {
            position:relative;
            inset:auto;
            width:100%;
        }
        .cc-territorial-mind__stage::before {
            content:"";
            position:absolute;
            left:-23px;
            top:31px;
            width:9px;
            height:9px;
            border-radius:50%;
            background:#fff;
            border:2px solid var(--cc-connection);
            box-shadow:0 0 0 5px rgba(14,165,198,.055);
        }
        .cc-territorial-mind__stage article { padding:20px; }
        .cc-territorial-mind__footer { grid-template-columns:1fr; align-items:start; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-territorial-mind__path--light,
        .cc-territorial-mind__core-halo { animation:none !important; }
        .cc-territorial-mind__stage-action span { transition:none !important; }
    }
    @media (prefers-contrast: more) {
        .cc-territorial-mind__field,
        .cc-territorial-mind__stage article,
        .cc-territorial-mind__core { border-color:rgba(15,27,45,.30); }
    }
    @media (forced-colors: active) {
        .cc-territorial-mind__paths,
        .cc-territorial-mind__core-halo,
        .cc-territorial-mind__field::before,
        .cc-territorial-mind__field::after { display:none; }
        .cc-territorial-mind__field,
        .cc-territorial-mind__stage article,
        .cc-territorial-mind__core { border:1px solid CanvasText; background:Canvas; box-shadow:none; }
    }
}

/* ==========================================================
   HOME.R2C.1 | Permanência, aprendizagem e trajetória
   A espiral retorna com memória acumulada, nunca com ranking.
   ========================================================== */
@layer cc.sections {
    .cc-continuity-section {
        isolation:isolate;
        background:
            radial-gradient(820px 520px at 82% 18%, rgba(37,99,235,.065), transparent 70%),
            radial-gradient(760px 500px at 21% 78%, rgba(194,139,44,.055), transparent 72%),
            linear-gradient(180deg,#fbfdff 0%,#f4faff 55%,#fbfdff 100%);
    }
    .cc-continuity__intro { max-width:900px; }
    .cc-continuity__intro > p:last-child {
        max-width:72ch;
        margin:26px 0 0;
        color:var(--cc-muted);
        font-size:clamp(1rem,1.5vw,1.18rem);
    }
    .cc-continuity {
        position:relative;
        min-height:690px;
        border:1px solid rgba(38,79,116,.10);
        border-radius:clamp(34px,5vw,58px);
        background:
            linear-gradient(135deg,rgba(255,255,255,.90),rgba(245,251,255,.78)),
            rgba(255,255,255,.76);
        box-shadow:
            0 42px 110px rgba(31,70,103,.09),
            0 12px 36px rgba(31,70,103,.055),
            inset 0 1px 0 rgba(255,255,255,.98);
        overflow:hidden;
    }
    .cc-continuity::before {
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        opacity:.32;
        background-image:
            linear-gradient(rgba(35,79,116,.035) 1px, transparent 1px),
            linear-gradient(90deg,rgba(35,79,116,.035) 1px, transparent 1px);
        background-size:42px 42px;
        mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);
        pointer-events:none;
    }
    .cc-continuity__atmosphere {
        position:absolute;
        inset:-18%;
        z-index:0;
        background:
            radial-gradient(circle at 17% 73%, rgba(234,107,33,.055), transparent 18%),
            radial-gradient(circle at 31% 51%, rgba(194,139,44,.08), transparent 24%),
            radial-gradient(circle at 56% 69%, rgba(34,160,107,.07), transparent 25%),
            radial-gradient(circle at 72% 35%, rgba(14,165,198,.075), transparent 23%),
            radial-gradient(circle at 91% 13%, rgba(37,99,235,.09), transparent 23%);
        filter:blur(20px);
        pointer-events:none;
    }
    .cc-continuity__path {
        position:absolute;
        z-index:1;
        inset:5% 3% 4%;
        width:94%;
        height:91%;
        overflow:visible;
        pointer-events:none;
    }
    .cc-continuity__path path { fill:none; vector-effect:non-scaling-stroke; }
    .cc-continuity__path-glow {
        stroke:url(#cc-continuity-gradient);
        stroke-width:18;
        opacity:.10;
        filter:url(#cc-continuity-glow);
    }
    .cc-continuity__path-base {
        stroke:rgba(55,93,124,.13);
        stroke-width:1.35;
    }
    .cc-continuity__path-light {
        stroke:url(#cc-continuity-gradient);
        stroke-width:2.2;
        stroke-linecap:round;
        stroke-dasharray:20 18;
        opacity:.70;
    }
    .cc-continuity__origin,
    .cc-continuity__return,
    .cc-continuity__stage {
        position:absolute;
        z-index:3;
    }
    .cc-continuity__origin {
        left:4.8%;
        bottom:7%;
        width:min(230px,21%);
        display:flex;
        gap:12px;
        align-items:flex-start;
    }
    .cc-continuity__origin-node,
    .cc-continuity__return-node,
    .cc-continuity__stage-node {
        flex:0 0 auto;
        display:block;
        border-radius:50%;
    }
    .cc-continuity__origin-node {
        width:13px;
        height:13px;
        margin-top:5px;
        background:var(--cc-action);
        box-shadow:0 0 0 8px rgba(234,107,33,.06),0 0 26px rgba(234,107,33,.18);
    }
    .cc-continuity__origin small,
    .cc-continuity__return small {
        color:#73879a;
        font-size:.64rem;
        font-weight:850;
        letter-spacing:.12em;
        text-transform:uppercase;
    }
    .cc-continuity__origin p {
        margin:5px 0 0;
        color:#667b8e;
        font-size:.72rem;
        line-height:1.45;
    }
    .cc-continuity__stages { list-style:none; margin:0; padding:0; }
    .cc-continuity__stage { width:min(30%,345px); }
    .cc-continuity__stage--alexandria { left:10.5%; top:31%; }
    .cc-continuity__stage--learning { left:39.3%; bottom:8.5%; }
    .cc-continuity__stage--passport { right:7%; top:10%; }
    .cc-continuity__stage article {
        position:relative;
        padding:24px 24px 21px;
        border:1px solid rgba(36,79,117,.105);
        border-radius:28px;
        background:
            linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,252,255,.77));
        box-shadow:
            0 24px 70px rgba(31,70,103,.075),
            0 7px 22px rgba(31,70,103,.045),
            inset 0 1px 0 rgba(255,255,255,.98);
        backdrop-filter:blur(12px);
    }
    .cc-continuity__stage article::before {
        content:"";
        position:absolute;
        inset:0;
        border-radius:inherit;
        pointer-events:none;
        background:linear-gradient(118deg,rgba(255,255,255,.40),transparent 30%,transparent 72%,rgba(255,255,255,.22));
    }
    .cc-continuity__stage-head {
        position:relative;
        display:flex;
        align-items:center;
        gap:12px;
        margin-bottom:18px;
    }
    .cc-continuity__stage-head > div { display:grid; min-width:0; gap:1px; }
    .cc-continuity__stage-head small {
        color:#76899b;
        font-size:.63rem;
        font-weight:850;
        letter-spacing:.11em;
        text-transform:uppercase;
    }
    .cc-continuity__stage-head span:not(.cc-continuity__stage-node):not(.cc-continuity__seal) {
        color:#3d5a73;
        font-size:.76rem;
        font-weight:760;
    }
    .cc-continuity__stage-node {
        width:14px;
        height:14px;
        background:var(--cc-knowledge);
        box-shadow:0 0 0 7px rgba(37,99,235,.06),0 0 24px rgba(37,99,235,.16);
    }
    .cc-continuity__stage--memory .cc-continuity__stage-node {
        background:var(--cc-memory);
        box-shadow:0 0 0 7px rgba(194,139,44,.065),0 0 24px rgba(194,139,44,.15);
    }
    .cc-continuity__stage--life .cc-continuity__stage-node {
        background:var(--cc-life);
        box-shadow:0 0 0 7px rgba(34,160,107,.065),0 0 24px rgba(34,160,107,.15);
    }
    .cc-continuity__seal {
        margin-left:auto;
        width:38px;
        height:38px;
        padding:3px;
        border:1px solid rgba(37,99,235,.10);
        border-radius:50%;
        background:rgba(255,255,255,.86);
        box-shadow:0 8px 24px rgba(37,99,235,.08);
        overflow:hidden;
    }
    .cc-continuity__seal img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
    .cc-continuity__stage h3 {
        position:relative;
        margin:0;
        font-size:clamp(1.28rem,1.75vw,1.65rem);
        line-height:1.07;
        letter-spacing:-.038em;
        text-wrap:balance;
    }
    .cc-continuity__stage article > p {
        position:relative;
        margin:12px 0 0;
        color:var(--cc-muted);
        font-size:.83rem;
        line-height:1.56;
    }
    .cc-continuity__evidence {
        position:relative;
        display:grid;
        gap:4px;
        margin-top:17px;
        padding-top:14px;
        border-top:1px solid rgba(35,78,115,.085);
    }
    .cc-continuity__evidence > span {
        color:#8191a1;
        font-size:.60rem;
        font-weight:850;
        letter-spacing:.11em;
        text-transform:uppercase;
    }
    .cc-continuity__evidence > strong,
    .cc-continuity__evidence > a strong {
        display:block;
        color:#213f58;
        font-size:.79rem;
        line-height:1.32;
    }
    .cc-continuity__evidence > a { text-decoration:none; }
    .cc-continuity__evidence > a:hover strong,
    .cc-continuity__evidence > a:focus-visible strong { text-decoration:underline; text-underline-offset:3px; }
    .cc-continuity__evidence > small { color:#7a8c9e; font-size:.67rem; line-height:1.4; }
    .cc-continuity__evidence dl {
        display:flex;
        flex-wrap:wrap;
        gap:8px 13px;
        margin:6px 0 0;
    }
    .cc-continuity__evidence dl div { display:flex; align-items:baseline; gap:5px; }
    .cc-continuity__evidence dd { margin:0; color:#24445f; font-size:.76rem; font-weight:850; font-variant-numeric:tabular-nums; }
    .cc-continuity__evidence dt { color:#75889a; font-size:.63rem; }
    .cc-continuity__action-wrap {
        position:relative;
        display:flex;
        flex-wrap:wrap;
        gap:5px 12px;
        align-items:center;
        margin-top:15px;
    }
    .cc-continuity__action {
        display:inline-flex;
        align-items:center;
        gap:7px;
        color:#315a76;
        font-size:.73rem;
        font-weight:800;
        text-decoration:none;
    }
    .cc-continuity__action span { transition:transform var(--cc-motion-interaction) ease; }
    .cc-continuity__action:hover span,
    .cc-continuity__action:focus-visible span { transform:translateX(4px); }
    .cc-continuity__action-wrap > small { color:#8797a6; font-size:.61rem; }
    .cc-continuity__return {
        right:4.5%;
        top:2.8%;
        width:min(255px,23%);
        display:grid;
        grid-template-columns:auto 1fr;
        gap:12px;
        align-items:start;
    }
    .cc-continuity__return-node {
        width:14px;
        height:14px;
        margin-top:6px;
        background:var(--cc-knowledge);
        box-shadow:0 0 0 9px rgba(37,99,235,.055),0 0 30px rgba(37,99,235,.18);
    }
    .cc-continuity__return strong {
        display:block;
        margin-top:4px;
        color:#183956;
        font-size:.88rem;
        line-height:1.25;
    }
    .cc-continuity__return p {
        margin:6px 0 0;
        color:#6e8294;
        font-size:.69rem;
        line-height:1.46;
    }
    .cc-continuity__closing {
        max-width:68ch;
        margin:30px auto 0;
        color:#607587;
        font-size:.86rem;
        text-align:center;
    }
}

@layer cc.art {
    .cc-thread--continuity {
        --cc-thread-x: 64%;
        --cc-thread-angle: -13deg;
        --cc-thread-color: rgba(194,139,44,.16);
        --cc-thread-node-y: 43%;
    }
    .cc-continuity::after {
        content:"";
        position:absolute;
        z-index:0;
        width:420px;
        height:420px;
        right:-110px;
        top:-170px;
        border-radius:50%;
        background:radial-gradient(circle,rgba(37,99,235,.07),rgba(14,165,198,.025) 48%,transparent 72%);
        filter:blur(14px);
        pointer-events:none;
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-continuity__path-light { animation:cc-continuity-flow 22s linear infinite; }
        .cc-continuity__stage-node,
        .cc-continuity__return-node { animation:cc-continuity-breathe 10s ease-in-out infinite; }
        .cc-continuity__stage--learning .cc-continuity__stage-node { animation-delay:-3s; }
        .cc-continuity__stage--passport .cc-continuity__stage-node { animation-delay:-6s; }
    }
    @keyframes cc-continuity-flow { to { stroke-dashoffset:-152; } }
    @keyframes cc-continuity-breathe {
        0%,100% { transform:scale(.96); filter:saturate(.92); }
        50% { transform:scale(1.06); filter:saturate(1.08); }
    }
}

@layer cc.responsive {
    @media (max-width: 1040px) {
        .cc-continuity { min-height:770px; }
        .cc-continuity__stage { width:min(33%,330px); }
        .cc-continuity__stage--alexandria { left:5.5%; top:31%; }
        .cc-continuity__stage--learning { left:35%; bottom:7%; }
        .cc-continuity__stage--passport { right:4%; top:12%; }
    }
    @media (max-width: 780px) {
        .cc-continuity__intro h2 { font-size:clamp(2.65rem,12vw,4.4rem); }
        .cc-continuity {
            min-height:0;
            padding:26px 20px 28px;
            border-radius:32px;
            overflow:hidden;
        }
        .cc-continuity__path { display:none; }
        .cc-continuity__origin,
        .cc-continuity__return,
        .cc-continuity__stage,
        .cc-continuity__stage--alexandria,
        .cc-continuity__stage--learning,
        .cc-continuity__stage--passport {
            position:relative;
            inset:auto;
            width:100%;
        }
        .cc-continuity__origin {
            margin:0 0 24px;
            padding-left:5px;
        }
        .cc-continuity__origin p { max-width:54ch; }
        .cc-continuity__stages {
            position:relative;
            display:grid;
            gap:18px;
            padding-left:24px;
        }
        .cc-continuity__stages::before {
            content:"";
            position:absolute;
            left:5px;
            top:22px;
            bottom:22px;
            width:1px;
            background:linear-gradient(var(--cc-memory),var(--cc-life),var(--cc-connection),var(--cc-knowledge));
            opacity:.40;
        }
        .cc-continuity__stage::before {
            content:"";
            position:absolute;
            z-index:5;
            left:-23px;
            top:34px;
            width:9px;
            height:9px;
            border-radius:50%;
            background:#fff;
            border:2px solid var(--cc-connection);
            box-shadow:0 0 0 5px rgba(14,165,198,.05);
        }
        .cc-continuity__stage--alexandria::before { border-color:var(--cc-memory); }
        .cc-continuity__stage--learning::before { border-color:var(--cc-life); }
        .cc-continuity__stage--passport::before { border-color:var(--cc-knowledge); }
        .cc-continuity__stage article { padding:21px; }
        .cc-continuity__return {
            margin:24px 0 0 24px;
            padding:18px 20px;
            border:1px solid rgba(37,99,235,.09);
            border-radius:22px;
            background:rgba(255,255,255,.76);
        }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-continuity__path-light,
        .cc-continuity__stage-node,
        .cc-continuity__return-node { animation:none !important; }
        .cc-continuity__action span { transition:none !important; }
    }
    @media (prefers-contrast: more) {
        .cc-continuity,
        .cc-continuity__stage article,
        .cc-continuity__return { border-color:rgba(15,27,45,.30); }
        .cc-continuity__path-base { stroke:rgba(15,27,45,.42); }
    }
    @media (forced-colors: active) {
        .cc-continuity__path,
        .cc-continuity__atmosphere,
        .cc-continuity::before,
        .cc-continuity::after { display:none; }
        .cc-continuity,
        .cc-continuity__stage article,
        .cc-continuity__return { border:1px solid CanvasText; background:Canvas; box-shadow:none; }
    }
}

/* ==========================================================
   HOME.R3A | Evidência Viva
   Quantidade + objeto real + contexto + origem pública.
   ========================================================== */
@layer cc.sections {
    .cc-proof-section {
        position:relative;
        overflow:hidden;
        padding-block:clamp(96px,11vw,168px);
        background:
            radial-gradient(900px 560px at 84% 16%,rgba(37,99,235,.075),transparent 70%),
            radial-gradient(760px 520px at 12% 78%,rgba(14,165,198,.06),transparent 72%),
            linear-gradient(180deg,#f9fcff 0%,#eef8fd 54%,#f8fcff 100%);
    }
    .cc-proof-section::before {
        content:"";
        position:absolute;
        inset:8% 3% 10%;
        pointer-events:none;
        opacity:.28;
        background-image:
            linear-gradient(rgba(46,99,132,.045) 1px,transparent 1px),
            linear-gradient(90deg,rgba(46,99,132,.045) 1px,transparent 1px);
        background-size:54px 54px;
        -webkit-mask-image:radial-gradient(ellipse at center,#000 8%,transparent 76%);
        mask-image:radial-gradient(ellipse at center,#000 8%,transparent 76%);
    }
    .cc-proof__intro {
        position:relative;
        z-index:2;
        max-width:920px;
        margin:0 auto clamp(42px,6vw,78px);
        text-align:center;
    }
    .cc-proof__intro h2 {
        max-width:14ch;
        margin-inline:auto;
        font-size:clamp(2.75rem,5.35vw,5.65rem);
        letter-spacing:-.055em;
        line-height:.98;
    }
    .cc-proof__intro > p:last-child {
        max-width:72ch;
        margin:22px auto 0;
        color:#607588;
        font-size:clamp(1rem,1.35vw,1.14rem);
        line-height:1.72;
    }
    .cc-proof-live {
        position:relative;
        z-index:2;
        display:grid;
        grid-template-columns:minmax(0,4fr) minmax(0,8fr);
        gap:clamp(28px,4vw,58px);
        align-items:start;
        padding:clamp(24px,3vw,38px);
        border:1px solid rgba(56,105,137,.10);
        border-radius:clamp(30px,4vw,48px);
        background:
            linear-gradient(145deg,rgba(255,255,255,.92),rgba(245,251,255,.76)),
            radial-gradient(circle at 8% 12%,rgba(14,165,198,.055),transparent 34%),
            radial-gradient(circle at 94% 84%,rgba(37,99,235,.045),transparent 38%);
        box-shadow:
            0 34px 90px rgba(31,75,106,.10),
            0 9px 28px rgba(31,75,106,.055),
            inset 0 1px 0 rgba(255,255,255,.95);
        backdrop-filter:blur(18px);
    }
    .cc-proof-live::after {
        content:"";
        position:absolute;
        left:calc(33.333% + 10px);
        top:42px;
        bottom:42px;
        width:1px;
        background:linear-gradient(transparent,rgba(14,165,198,.14) 15%,rgba(37,99,235,.12) 72%,transparent);
        pointer-events:none;
    }
    .cc-proof-live__scale,
    .cc-proof-live__stories { min-width:0; }
    .cc-proof-live__section-head {
        display:flex;
        align-items:center;
        gap:11px;
        margin-bottom:20px;
    }
    .cc-proof-live__section-head h3 {
        margin:0;
        color:#31536d;
        font-size:.72rem;
        font-weight:850;
        letter-spacing:.13em;
        text-transform:uppercase;
    }
    .cc-proof-live__section-node {
        width:9px;
        height:9px;
        flex:0 0 auto;
        border-radius:50%;
        background:var(--cc-knowledge);
        box-shadow:0 0 0 7px rgba(37,99,235,.055),0 0 26px rgba(37,99,235,.18);
    }
    .cc-proof-live__section-node--stories {
        background:var(--cc-connection);
        box-shadow:0 0 0 7px rgba(14,165,198,.055),0 0 26px rgba(14,165,198,.17);
    }
    .cc-metrics--live {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
        margin:0;
    }
    .cc-metric--live {
        position:relative;
        min-height:138px;
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        padding:18px;
        border:1px solid rgba(52,100,131,.09);
        border-radius:24px;
        background:linear-gradient(160deg,rgba(255,255,255,.91),rgba(244,250,254,.72));
        box-shadow:0 13px 34px rgba(29,72,103,.055),inset 0 1px 0 rgba(255,255,255,.95);
        overflow:hidden;
    }
    .cc-metric--live::before {
        content:"";
        position:absolute;
        left:18px;
        right:18px;
        top:17px;
        height:1px;
        background:linear-gradient(90deg,rgba(14,165,198,.38),rgba(37,99,235,.08),transparent);
    }
    .cc-metric--live dd {
        margin:0 0 5px;
        color:#173b57;
        font-size:clamp(1.85rem,3vw,3rem);
        font-weight:760;
        line-height:.95;
        letter-spacing:-.055em;
        font-variant-numeric:tabular-nums;
    }
    .cc-metric--live dt {
        color:#607689;
        font-size:.73rem;
        line-height:1.3;
    }
    .cc-metric__scope {
        display:block;
        margin-top:8px;
        color:#92a0ac;
        font-size:.58rem;
        font-weight:800;
        letter-spacing:.10em;
        text-transform:uppercase;
    }
    .cc-proof-stories {
        position:relative;
        display:grid;
        gap:14px;
    }
    .cc-proof-stories::before {
        content:"";
        position:absolute;
        left:11px;
        top:22px;
        bottom:22px;
        width:1px;
        background:linear-gradient(var(--cc-knowledge),var(--cc-life),var(--cc-connection));
        opacity:.25;
    }
    .cc-proof-story {
        --cc-proof-tone:var(--cc-connection);
        position:relative;
        display:grid;
        grid-template-columns:24px minmax(0,1fr);
        gap:16px;
        padding:4px 0;
    }
    .cc-proof-story--knowledge { --cc-proof-tone:var(--cc-knowledge); }
    .cc-proof-story--life { --cc-proof-tone:var(--cc-life); }
    .cc-proof-story--connection { --cc-proof-tone:var(--cc-connection); }
    .cc-proof-story--imagination { --cc-proof-tone:var(--cc-imagination); }
    .cc-proof-story--memory { --cc-proof-tone:var(--cc-memory); }
    .cc-proof-story__rail {
        position:relative;
        display:flex;
        justify-content:center;
        padding-top:22px;
    }
    .cc-proof-story__rail span {
        position:relative;
        z-index:2;
        width:10px;
        height:10px;
        border-radius:50%;
        background:#fff;
        border:2px solid var(--cc-proof-tone);
        box-shadow:0 0 0 7px color-mix(in srgb,var(--cc-proof-tone) 8%,transparent),0 0 25px color-mix(in srgb,var(--cc-proof-tone) 18%,transparent);
    }
    .cc-proof-story__body {
        position:relative;
        padding:20px 22px 21px;
        border:1px solid rgba(50,98,130,.09);
        border-radius:24px;
        background:linear-gradient(155deg,rgba(255,255,255,.93),rgba(247,252,255,.77));
        box-shadow:0 13px 34px rgba(28,72,102,.055),inset 0 1px 0 rgba(255,255,255,.96);
        transition:transform var(--cc-motion-interaction) ease,border-color var(--cc-motion-interaction) ease,box-shadow var(--cc-motion-interaction) ease;
    }
    .cc-proof-story--featured .cc-proof-story__body {
        background:
            radial-gradient(420px 190px at 100% 0%,color-mix(in srgb,var(--cc-proof-tone) 7%,transparent),transparent 72%),
            linear-gradient(155deg,rgba(255,255,255,.97),rgba(246,251,255,.81));
        box-shadow:0 19px 48px rgba(28,72,102,.075),inset 0 1px 0 rgba(255,255,255,.97);
    }
    .cc-proof-story__body:hover,
    .cc-proof-story__body:focus-within {
        transform:translateY(-2px);
        border-color:color-mix(in srgb,var(--cc-proof-tone) 18%,rgba(50,98,130,.09));
        box-shadow:0 22px 52px rgba(28,72,102,.09),inset 0 1px 0 rgba(255,255,255,.98);
    }
    .cc-proof-story__topline {
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        justify-content:space-between;
        gap:8px 14px;
        margin-bottom:9px;
    }
    .cc-proof-story__label {
        color:color-mix(in srgb,var(--cc-proof-tone) 78%,#27445d);
        font-size:.61rem;
        font-weight:900;
        letter-spacing:.105em;
        text-transform:uppercase;
    }
    .cc-proof-story__signal {
        display:inline-flex;
        align-items:baseline;
        gap:5px;
        color:#788b9b;
        font-size:.63rem;
    }
    .cc-proof-story__signal strong {
        color:#35536a;
        font-size:.76rem;
        font-variant-numeric:tabular-nums;
    }
    .cc-proof-story h4 {
        max-width:38ch;
        margin:0;
        color:#173a56;
        font-size:clamp(1.03rem,1.45vw,1.28rem);
        line-height:1.2;
        letter-spacing:-.025em;
    }
    .cc-proof-story__meta {
        margin:8px 0 0;
        color:#748797;
        font-size:.67rem;
        line-height:1.45;
    }
    .cc-proof-story__copy {
        max-width:62ch;
        margin:12px 0 0;
        color:#5f7486;
        font-size:.78rem;
        line-height:1.56;
    }
    .cc-proof-story__action {
        display:inline-flex;
        align-items:center;
        gap:8px;
        margin-top:15px;
        color:#315b77;
        font-size:.72rem;
        font-weight:850;
        text-decoration:none;
    }
    .cc-proof-story__action span { transition:transform var(--cc-motion-interaction) ease; }
    .cc-proof-story__action:hover span,
    .cc-proof-story__action:focus-visible span { transform:translateX(4px); }
    .cc-proof-live__closing {
        position:relative;
        z-index:2;
        max-width:68ch;
        margin:30px auto 0;
        color:#627789;
        font-size:.84rem;
        line-height:1.65;
        text-align:center;
    }
}

@layer cc.art {
    .cc-proof-section::after {
        content:"";
        position:absolute;
        z-index:0;
        width:520px;
        height:520px;
        right:-160px;
        top:18%;
        border-radius:50%;
        background:radial-gradient(circle,rgba(14,165,198,.065),rgba(37,99,235,.025) 48%,transparent 72%);
        filter:blur(18px);
        pointer-events:none;
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion:no-preference) {
        .cc-proof-live__section-node,
        .cc-proof-story__rail span { animation:cc-proof-live-breathe 11s ease-in-out infinite; }
        .cc-proof-story:nth-child(2) .cc-proof-story__rail span { animation-delay:-3.5s; }
        .cc-proof-story:nth-child(3) .cc-proof-story__rail span { animation-delay:-7s; }
    }
    @keyframes cc-proof-live-breathe {
        0%,100% { transform:scale(.95); filter:saturate(.92); }
        50% { transform:scale(1.06); filter:saturate(1.08); }
    }
}

@layer cc.responsive {
    @media (max-width:980px) {
        .cc-proof-live { grid-template-columns:1fr; }
        .cc-proof-live::after { display:none; }
        .cc-metrics--live { grid-template-columns:repeat(4,minmax(0,1fr)); }
        .cc-metric--live { min-height:120px; }
    }
    @media (max-width:720px) {
        .cc-proof-section { padding-block:84px 96px; }
        .cc-proof__intro { text-align:left; }
        .cc-proof__intro h2 { margin-inline:0; }
        .cc-proof__intro > p:last-child { margin-inline:0; }
        .cc-proof-live { padding:20px; border-radius:30px; }
        .cc-metrics--live { grid-template-columns:1fr 1fr; }
        .cc-metric--live { min-height:112px; border-radius:20px; }
        .cc-proof-story { gap:10px; grid-template-columns:18px minmax(0,1fr); }
        .cc-proof-stories::before { left:8px; }
        .cc-proof-story__rail { padding-top:20px; }
        .cc-proof-story__rail span { width:9px; height:9px; }
        .cc-proof-story__body { padding:18px; border-radius:21px; }
        .cc-proof-story__topline { align-items:flex-start; }
    }
    @media (max-width:420px) {
        .cc-metrics--live { grid-template-columns:1fr; }
        .cc-metric--live { min-height:98px; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion:reduce) {
        .cc-proof-live__section-node,
        .cc-proof-story__rail span { animation:none !important; }
        .cc-proof-story__body,
        .cc-proof-story__action span { transition:none !important; }
    }
    @media (prefers-contrast:more) {
        .cc-proof-live,
        .cc-metric--live,
        .cc-proof-story__body { border-color:rgba(15,27,45,.32); }
    }
    @media (forced-colors:active) {
        .cc-proof-section::before,
        .cc-proof-section::after,
        .cc-proof-stories::before { display:none; }
        .cc-proof-live,
        .cc-metric--live,
        .cc-proof-story__body { border:1px solid CanvasText; background:Canvas; box-shadow:none; }
        .cc-proof-story__rail span,
        .cc-proof-live__section-node { forced-color-adjust:auto; box-shadow:none; }
    }
}


/* ==========================================================
   HOME.R3B | CrieGravity como Horizonte
   O campo cognitivo ganha distancia, caminho e lugar.
   ========================================================== */
@layer cc.sections {
    .cc-gravity {
        position: relative;
        isolation: isolate;
        min-height: auto;
        padding-block: clamp(118px, 12vw, 182px) clamp(106px, 11vw, 166px);
        color: var(--cc-ink);
        overflow: hidden;
        background:
            radial-gradient(1100px 650px at 72% 50%, rgba(14,165,198,.14), transparent 67%),
            radial-gradient(780px 520px at 88% 24%, rgba(37,99,235,.10), transparent 70%),
            radial-gradient(620px 430px at 45% 82%, rgba(34,160,107,.055), transparent 74%),
            linear-gradient(180deg, #f9fdff 0%, #eef9fd 48%, #f8fcff 100%);
    }
    .cc-gravity::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -3;
        opacity: .38;
        background-image:
            linear-gradient(rgba(50,107,139,.045) 1px, transparent 1px),
            linear-gradient(90deg, rgba(50,107,139,.045) 1px, transparent 1px);
        background-size: 58px 58px;
        mask-image: linear-gradient(to bottom, transparent 0, #000 22%, #000 78%, transparent 100%);
    }
    .cc-gravity__layout {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: minmax(0, 4.2fr) minmax(560px, 7.8fr);
        gap: clamp(48px, 6vw, 92px);
        align-items: center;
    }
    .cc-gravity__copy { max-width: 570px; }
    .cc-gravity__meta {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px 16px;
        margin-bottom: 22px;
    }
    .cc-gravity__meta .cc-eyebrow { margin: 0; }
    .cc-gravity__copy h2 {
        max-width: 650px;
        margin: 0;
        font-size: clamp(3.05rem, 5.1vw, 5.9rem);
        line-height: .95;
        letter-spacing: -.062em;
        text-wrap: balance;
    }
    .cc-gravity__lead {
        max-width: 550px;
        margin: 30px 0 0;
        color: var(--cc-muted);
        font-size: clamp(1.02rem, 1.25vw, 1.16rem);
        line-height: 1.78;
    }
    .cc-gravity__bridge {
        position: relative;
        max-width: 520px;
        margin: 26px 0 0;
        padding-left: 28px;
        color: #315a70;
        font-weight: 760;
        line-height: 1.55;
    }
    .cc-gravity__bridge::before {
        content: "";
        position: absolute;
        left: 0;
        top: .66em;
        width: 18px;
        height: 1px;
        background: linear-gradient(90deg, #17a6b7, #2563eb);
        box-shadow: 0 0 14px rgba(14,165,198,.22);
    }
    .cc-status--horizon {
        display: inline-flex;
        align-items: center;
        min-height: 30px;
        padding: 6px 10px;
        border: 1px solid rgba(25,126,151,.12);
        border-radius: 999px;
        color: #39768e;
        background: rgba(255,255,255,.70);
        box-shadow: 0 8px 24px rgba(33,88,111,.055), inset 0 1px 0 rgba(255,255,255,.9);
        font-size: .69rem;
        font-weight: 820;
        letter-spacing: .04em;
    }
    .cc-gravity__capabilities {
        display: flex;
        flex-wrap: wrap;
        gap: 9px;
        margin-top: 32px;
    }
    .cc-gravity__capability {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 34px;
        padding: 7px 11px;
        border: 1px solid rgba(39,92,121,.09);
        border-radius: 999px;
        color: #446379;
        background: rgba(255,255,255,.70);
        box-shadow: 0 9px 26px rgba(32,84,108,.05), inset 0 1px 0 rgba(255,255,255,.9);
        backdrop-filter: blur(12px);
        font-size: .74rem;
        font-weight: 760;
    }
    .cc-gravity__capability i {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--cc-connection);
        box-shadow: 0 0 0 4px rgba(14,165,198,.06);
    }
    .cc-gravity__capability--learn i { background: var(--cc-knowledge); }
    .cc-gravity__capability--investigate i { background: #bd4ba3; }
    .cc-gravity__capability--coordinate i { background: #2157d9; }
    .cc-gravity__capability--realize i { background: var(--cc-action); }
    .cc-gravity__capability--regenerate i { background: var(--cc-life); }
    .cc-gravity__action { margin-top: 30px; }
}

@layer cc.art {
    .cc-gravity__atmosphere { position: absolute; inset: 0; z-index: -2; pointer-events: none; overflow: hidden; }
    .cc-gravity__aurora { position: absolute; display: block; border-radius: 50%; filter: blur(54px); opacity: .55; }
    .cc-gravity__aurora--a { width: 520px; height: 310px; right: 8%; top: 10%; background: rgba(14,165,198,.14); }
    .cc-gravity__aurora--b { width: 430px; height: 270px; right: 30%; bottom: 8%; background: rgba(37,99,235,.085); }
    .cc-gravity__aurora--c { width: 360px; height: 230px; left: 44%; bottom: 18%; background: rgba(34,160,107,.065); }

    .cc-gravity-world {
        --cc-world-ink: #315a73;
        --cc-world-line: rgba(32,112,145,.14);
        position: relative;
        min-height: 610px;
        margin: 0;
        overflow: hidden;
        isolation: isolate;
        border: 1px solid rgba(42,101,131,.10);
        border-radius: clamp(34px, 4.4vw, 62px);
        background:
            radial-gradient(circle at 52% 39%, rgba(255,255,255,.98) 0 8%, rgba(219,246,250,.54) 30%, transparent 58%),
            linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(244,252,255,.84) 40%, rgba(229,246,250,.80) 100%);
        box-shadow:
            0 45px 120px rgba(31,83,111,.14),
            0 16px 50px rgba(37,99,235,.05),
            inset 0 1px 0 rgba(255,255,255,.98),
            inset 0 -38px 90px rgba(14,165,198,.035);
        perspective: 900px;
    }
    .cc-gravity-world::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 8;
        pointer-events: none;
        border-radius: inherit;
        box-shadow: inset 0 0 100px rgba(255,255,255,.55);
    }
    .cc-gravity-world__sky { position: absolute; inset: 0; z-index: 0; opacity: .62; }
    .cc-gravity-world__sky span {
        position: absolute;
        width: 6px;
        height: 6px;
        border: 1px solid rgba(17,143,167,.14);
        border-radius: 50%;
        background: rgba(255,255,255,.96);
        box-shadow: 0 0 0 8px rgba(14,165,198,.032), 0 8px 24px rgba(32,115,143,.08);
    }
    .cc-gravity-world__sky span:nth-child(1){left:8%;top:15%}.cc-gravity-world__sky span:nth-child(2){left:27%;top:9%}.cc-gravity-world__sky span:nth-child(3){left:48%;top:17%}.cc-gravity-world__sky span:nth-child(4){left:70%;top:8%}.cc-gravity-world__sky span:nth-child(5){left:88%;top:22%}.cc-gravity-world__sky span:nth-child(6){left:79%;top:38%}
    .cc-gravity-world__horizon {
        position: absolute;
        z-index: 1;
        left: -6%;
        right: -6%;
        top: 34%;
        height: 120px;
        opacity: .66;
        background:
            radial-gradient(ellipse at center, rgba(14,165,198,.13), transparent 58%),
            linear-gradient(180deg, transparent, rgba(255,255,255,.88));
        filter: blur(1px);
    }
    .cc-gravity-world__horizon::before,
    .cc-gravity-world__horizon::after {
        content: "";
        position: absolute;
        bottom: 16px;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(39,121,156,.18), rgba(37,99,235,.12), transparent);
    }
    .cc-gravity-world__horizon::before { left: 2%; right: 40%; transform: rotate(3deg); }
    .cc-gravity-world__horizon::after { left: 42%; right: 2%; transform: rotate(-2deg); }

    .cc-gravity-world__terrain {
        position: absolute;
        z-index: 1;
        left: -16%;
        right: -16%;
        bottom: -28%;
        height: 72%;
        border-radius: 50% 50% 0 0 / 24% 24% 0 0;
        background:
            radial-gradient(ellipse at 50% 20%, rgba(255,255,255,.92), transparent 34%),
            radial-gradient(ellipse at 18% 35%, rgba(34,160,107,.055), transparent 27%),
            radial-gradient(ellipse at 82% 38%, rgba(14,165,198,.07), transparent 28%),
            linear-gradient(180deg, rgba(224,245,248,.76), rgba(241,250,252,.94));
        box-shadow: inset 0 24px 70px rgba(255,255,255,.62);
        transform: perspective(700px) rotateX(18deg);
        transform-origin: 50% 0;
    }
    .cc-gravity-world__grid {
        position: absolute;
        z-index: 2;
        left: -15%;
        right: -15%;
        bottom: -8%;
        height: 57%;
        opacity: .50;
        background-image:
            linear-gradient(rgba(38,113,145,.10) 1px, transparent 1px),
            linear-gradient(90deg, rgba(38,113,145,.09) 1px, transparent 1px);
        background-size: 54px 46px;
        mask-image: radial-gradient(ellipse at 50% 40%, #000 5%, rgba(0,0,0,.78) 40%, transparent 78%);
        transform: perspective(610px) rotateX(63deg) scale(1.14);
        transform-origin: 50% 100%;
    }

    .cc-gravity-world__routes { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
    .cc-gravity-world__route {
        position: absolute;
        display: block;
        left: 50%;
        top: 59%;
        width: 42%;
        height: 2px;
        transform-origin: 0 50%;
        background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(14,165,198,.62), rgba(37,99,235,.30), transparent);
        box-shadow: 0 0 14px rgba(14,165,198,.20), 0 3px 16px rgba(37,99,235,.08);
        opacity: .78;
    }
    .cc-gravity-world__route::after {
        content: "";
        position: absolute;
        inset: -5px 0;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,.76), transparent 32%);
        opacity: .50;
        filter: blur(1px);
    }
    .cc-gravity-world__route--a { transform: rotate(-150deg) scaleX(.82); }
    .cc-gravity-world__route--b { transform: rotate(-105deg) scaleX(.68); }
    .cc-gravity-world__route--c { transform: rotate(-28deg) scaleX(.92); }
    .cc-gravity-world__route--d { transform: rotate(18deg) scaleX(.84); }
    .cc-gravity-world__route--e { transform: rotate(151deg) scaleX(.58); }

    .cc-gravity-world__center {
        position: absolute;
        z-index: 6;
        left: 50%;
        top: 59%;
        width: 116px;
        height: 116px;
        transform: translate(-50%,-50%);
        display: grid;
        place-items: center;
    }
    .cc-gravity-world__center-halo {
        position: absolute;
        inset: -26px;
        border-radius: 50%;
        border: 1px solid rgba(14,165,198,.10);
        background: radial-gradient(circle, rgba(255,255,255,.94), rgba(14,165,198,.08) 42%, transparent 72%);
        box-shadow: 0 0 50px rgba(14,165,198,.15);
    }
    .cc-gravity-world__center-core {
        position: relative;
        z-index: 2;
        width: 28px;
        height: 28px;
        border: 1px solid rgba(37,99,235,.18);
        border-radius: 50%;
        background: radial-gradient(circle at 36% 30%, #fff 0 12%, #85d8e8 26%, #2a75d6 72%, #1d5eb4 100%);
        box-shadow: 0 0 0 12px rgba(37,99,235,.05), 0 18px 42px rgba(37,99,235,.18), inset 0 1px 3px rgba(255,255,255,.85);
    }
    .cc-gravity-world__center small {
        position: absolute;
        top: calc(50% + 31px);
        left: 50%;
        transform: translateX(-50%);
        width: max-content;
        color: #315c72;
        font-size: .62rem;
        font-weight: 850;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .cc-gravity-world__district { position: absolute; z-index: 5; width: 126px; text-align: center; }
    .cc-gravity-world__district small {
        display: inline-flex;
        margin-top: 10px;
        padding: 5px 9px;
        border: 1px solid rgba(40,92,121,.08);
        border-radius: 999px;
        color: #527087;
        background: rgba(255,255,255,.76);
        box-shadow: 0 7px 20px rgba(32,82,106,.045), inset 0 1px 0 rgba(255,255,255,.9);
        font-size: .61rem;
        font-weight: 820;
        letter-spacing: .025em;
        backdrop-filter: blur(8px);
    }
    .cc-gravity-world__district--learn { left: 8%; top: 28%; }
    .cc-gravity-world__district--investigate { left: 28%; top: 14%; }
    .cc-gravity-world__district--coordinate { right: 26%; top: 18%; }
    .cc-gravity-world__district--realize { right: 7%; top: 37%; }
    .cc-gravity-world__district--regenerate { left: 18%; bottom: 10%; }

    .cc-gravity-world__building {
        position: relative;
        display: block;
        width: 100%;
        height: 116px;
        filter: drop-shadow(0 22px 24px rgba(31,79,104,.10));
    }
    .cc-gravity-world__building::before,
    .cc-gravity-world__building::after,
    .cc-gravity-world__building i {
        content: "";
        position: absolute;
        display: block;
        box-sizing: border-box;
    }
    .cc-gravity-world__building::before {
        left: 24%;
        right: 24%;
        bottom: 6px;
        height: 78%;
        border: 1px solid rgba(38,112,146,.14);
        background:
            linear-gradient(180deg, rgba(255,255,255,.97), rgba(221,242,248,.82)),
            repeating-linear-gradient(180deg, transparent 0 13px, rgba(37,99,235,.08) 13px 14px);
        box-shadow: inset 0 1px 0 #fff, 0 14px 34px rgba(30,91,117,.07);
    }
    .cc-gravity-world__building::after {
        left: 14%;
        right: 14%;
        bottom: 0;
        height: 12px;
        border: 1px solid rgba(38,112,146,.11);
        border-radius: 50%;
        background: rgba(255,255,255,.72);
        box-shadow: 0 8px 24px rgba(31,92,119,.07);
    }
    .cc-gravity-world__building i {
        left: 50%;
        top: 22%;
        width: 8px;
        height: 52%;
        transform: translateX(-50%);
        border-radius: 999px;
        background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(14,165,198,.28));
        box-shadow: 0 0 18px rgba(14,165,198,.18);
    }
    .cc-gravity-world__building--library::before { border-radius: 52% 52% 8px 8px / 32% 32% 8px 8px; clip-path: polygon(15% 12%, 50% 0, 85% 12%, 100% 100%, 0 100%); }
    .cc-gravity-world__building--lab::before { left: 20%; right: 20%; height: 88%; border-radius: 42px 42px 10px 10px; background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(232,244,252,.85)); }
    .cc-gravity-world__building--lab i { background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(14,165,198,.30)); box-shadow: 0 0 18px rgba(14,165,198,.16); }
    .cc-gravity-world__building--forum::before { left: 17%; right: 17%; height: 66%; border-radius: 8px 8px 24px 24px; clip-path: polygon(50% 0, 100% 27%, 92% 100%, 8% 100%, 0 27%); }
    .cc-gravity-world__building--forum i { background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(33,87,217,.28)); box-shadow: 0 0 18px rgba(33,87,217,.15); }
    .cc-gravity-world__building--works::before { left: 18%; right: 18%; height: 62%; border-radius: 10px 34px 8px 8px; transform: skewY(-3deg); }
    .cc-gravity-world__building--works i { background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(34,160,107,.30)); box-shadow: 0 0 18px rgba(34,160,107,.16); }
    .cc-gravity-world__building--garden::before { left: 16%; right: 16%; height: 55%; border-radius: 46% 46% 18px 18px; background: linear-gradient(180deg,rgba(245,255,250,.98),rgba(210,242,225,.88)); }
    .cc-gravity-world__building--garden i { width: 20px; height: 20px; top: 31%; border-radius: 50%; background: rgba(34,160,107,.38); box-shadow: 0 0 0 10px rgba(34,160,107,.055), 0 0 22px rgba(34,160,107,.15); }

    .cc-gravity-world__foreground { position: absolute; z-index: 4; inset: auto 0 0; height: 20%; pointer-events: none; }
    .cc-gravity-world__foreground span { position: absolute; bottom: -14px; border-radius: 50%; filter: blur(.2px); background: radial-gradient(circle at 40% 30%, rgba(255,255,255,.96), rgba(168,225,213,.56) 35%, rgba(70,158,125,.14) 72%); opacity: .72; }
    .cc-gravity-world__foreground span:nth-child(1){left:-3%;width:210px;height:92px}.cc-gravity-world__foreground span:nth-child(2){right:5%;width:170px;height:76px}.cc-gravity-world__foreground span:nth-child(3){right:27%;bottom:-29px;width:130px;height:68px;opacity:.50}
    .cc-gravity-world figcaption {
        position: absolute;
        z-index: 9;
        left: 24px;
        bottom: 20px;
        max-width: 370px;
        color: #678095;
        font-size: .67rem;
        line-height: 1.5;
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-gravity__aurora--a { animation: cc-gravity-aurora-a 22s ease-in-out infinite alternate; }
        .cc-gravity__aurora--b { animation: cc-gravity-aurora-b 27s ease-in-out infinite alternate; }
        .cc-gravity-world__route::after { animation: cc-gravity-route-flow 8.5s linear infinite; }
        .cc-gravity-world__center-halo { animation: cc-gravity-center-breathe 7s ease-in-out infinite alternate; }
        .cc-gravity-world__sky span:nth-child(2n) { animation: cc-gravity-signal 9s ease-in-out infinite alternate; }
        @keyframes cc-gravity-aurora-a { from { transform: translate3d(-3%,0,0) scale(.96); opacity:.42; } to { transform: translate3d(4%,3%,0) scale(1.05); opacity:.62; } }
        @keyframes cc-gravity-aurora-b { from { transform: translate3d(2%,2%,0) scale(1); } to { transform: translate3d(-4%,-2%,0) scale(1.08); } }
        @keyframes cc-gravity-route-flow { from { transform: translateX(-38%); opacity:.15; } 35% { opacity:.58; } to { transform: translateX(92%); opacity:.08; } }
        @keyframes cc-gravity-center-breathe { from { transform: scale(.94); opacity:.72; } to { transform: scale(1.08); opacity:1; } }
        @keyframes cc-gravity-signal { from { transform: translateY(0); opacity:.42; } to { transform: translateY(-5px); opacity:.9; } }
    }
}

@layer cc.responsive {
    @media (max-width: 1120px) {
        .cc-gravity__layout { grid-template-columns: 1fr; }
        .cc-gravity__copy { max-width: 760px; }
        .cc-gravity__copy h2 { max-width: 820px; }
        .cc-gravity-world { min-height: 590px; }
    }
    @media (max-width: 820px) {
        .cc-gravity { padding-block: 100px 92px; }
        .cc-gravity__copy h2 { font-size: clamp(2.85rem, 12vw, 4.4rem); }
        .cc-gravity-world { min-height: 520px; border-radius: 30px; }
        .cc-gravity-world__district { width: 104px; }
        .cc-gravity-world__district--learn { left: 1%; top: 30%; }
        .cc-gravity-world__district--investigate { left: 22%; top: 15%; }
        .cc-gravity-world__district--coordinate { right: 20%; top: 18%; }
        .cc-gravity-world__district--realize { right: 0; top: 40%; }
        .cc-gravity-world__district--regenerate { left: 12%; bottom: 8%; }
        .cc-gravity-world__building { height: 100px; }
        .cc-gravity-world figcaption { left: 18px; right: 18px; max-width: none; bottom: 15px; }
    }
    @media (max-width: 560px) {
        .cc-gravity__capabilities { gap: 7px; }
        .cc-gravity__capability { font-size: .68rem; }
        .cc-gravity-world { min-height: 445px; }
        .cc-gravity-world__district { width: 86px; }
        .cc-gravity-world__district small { padding: 4px 7px; font-size: .54rem; }
        .cc-gravity-world__building { height: 76px; }
        .cc-gravity-world__district--learn { left: 1%; top: 31%; }
        .cc-gravity-world__district--investigate { left: 21%; top: 17%; }
        .cc-gravity-world__district--coordinate { right: 18%; top: 21%; }
        .cc-gravity-world__district--realize { right: -2%; top: 42%; }
        .cc-gravity-world__district--regenerate { left: 10%; bottom: 10%; }
        .cc-gravity-world__center { width: 88px; height: 88px; }
        .cc-gravity-world__center-halo { inset: -18px; }
        .cc-gravity-world__center small { top: calc(50% + 27px); font-size: .52rem; }
        .cc-gravity-world figcaption { display:none; }
    }
}

/* ==========================================================
   HOME.R3C | Orquestração Flagship da Jornada Completa
   Objetivo: dirigir a Home como uma obra única.
   Menos repetição, mais hierarquia, silêncio, clímax e continuidade.
   ========================================================== */
@layer cc.tokens {
    :root {
        --cc-scene-space-major: clamp(118px, 12vw, 188px);
        --cc-scene-space-medium: clamp(88px, 9vw, 142px);
        --cc-scene-space-compact: clamp(72px, 7vw, 112px);
        --cc-scene-seam: linear-gradient(90deg, transparent, rgba(54, 113, 151, .11), transparent);
    }
}

@layer cc.layout {
    .cc-home { isolation: isolate; }
    .cc-section { scroll-margin-top: 92px; }

    .cc-problem,
    .cc-definition,
    .cc-circuit-section {
        padding-block: var(--cc-scene-space-major);
    }

    .cc-portals-section,
    .cc-atlas-section,
    .cc-territorial-mind {
        padding-block: var(--cc-scene-space-medium);
    }

    .cc-realization-section,
    .cc-continuity-section,
    .cc-proof-section {
        padding-block: var(--cc-scene-space-compact);
    }

    .cc-gravity,
    .cc-final {
        padding-block: var(--cc-scene-space-major);
    }

    .cc-atlas__intro,
    .cc-territorial-mind__intro,
    .cc-realization-section .cc-section-heading,
    .cc-continuity__intro,
    .cc-proof__intro {
        max-width: 840px;
    }

    .cc-atlas__intro h2,
    .cc-territorial-mind__intro h2,
    .cc-realization-section .cc-section-heading h2,
    .cc-continuity__intro h2,
    .cc-proof__intro h2 {
        font-size: clamp(2.75rem, 4.5vw, 4.75rem);
        line-height: .98;
    }

    .cc-realization-section .cc-section-heading,
    .cc-continuity__intro,
    .cc-proof__intro {
        margin-bottom: clamp(34px, 5vw, 62px);
    }

    @supports (content-visibility: auto) {
        .cc-atlas-section,
        .cc-territorial-mind,
        .cc-realization-section,
        .cc-continuity-section,
        .cc-proof-section,
        .cc-gravity {
            content-visibility: auto;
            contain-intrinsic-size: auto 920px;
        }
    }
}

@layer cc.sections {
    .cc-atlas-section::after,
    .cc-territorial-mind::after,
    .cc-realization-section::after,
    .cc-continuity-section::after,
    .cc-proof-section::after {
        content: "";
        position: absolute;
        left: max(var(--cc-pad-inline), calc((100% - var(--cc-width-system)) / 2));
        right: max(var(--cc-pad-inline), calc((100% - var(--cc-width-system)) / 2));
        bottom: 0;
        height: 1px;
        background: var(--cc-scene-seam);
        opacity: .72;
        pointer-events: none;
    }

    .cc-realization__manifestation--coordination,
    .cc-realization__manifestation--research {
        background:
            linear-gradient(180deg, rgba(255,255,255,.78), rgba(249,252,255,.62));
        box-shadow:
            0 16px 44px rgba(29, 63, 96, .065),
            inset 0 1px 0 rgba(255,255,255,.92);
    }

    .cc-realization__manifestation--outcome {
        box-shadow:
            0 28px 84px rgba(69, 86, 105, .11),
            0 10px 34px rgba(234, 107, 33, .055),
            inset 0 1px 0 rgba(255,255,255,.96);
    }

    .cc-realization__manifestation > p:not(.cc-realization__module) {
        max-width: 46ch;
    }

    .cc-proof-section {
        background:
            radial-gradient(680px 360px at 78% 18%, rgba(14,165,198,.055), transparent 72%),
            linear-gradient(180deg, rgba(248,252,255,.98), rgba(243,249,253,.96));
    }

    .cc-gravity { margin-top: clamp(18px, 3vw, 42px); }

    .cc-final {
        min-height: min(720px, 82svh);
        display: grid;
        align-items: center;
    }
}

@layer cc.components {
    .cc-territorial-mind__core-example {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        max-width: 230px;
        margin-top: 8px;
        color: #47708b;
        font-size: .72rem;
        line-height: 1.35;
        font-weight: 760;
        text-decoration: none;
        text-wrap: balance;
    }

    .cc-territorial-mind__core-example:hover,
    .cc-territorial-mind__core-example:focus-visible {
        color: var(--cc-connection);
    }

    .cc-territorial-mind__core-source {
        display: block;
        max-width: 245px;
        margin: 9px auto 0;
        color: #8090a2;
        font-size: .62rem;
        line-height: 1.35;
        font-weight: 600;
        text-wrap: balance;
    }
}

@layer cc.art {
    .cc-atlas-section,
    .cc-territorial-mind,
    .cc-realization-section,
    .cc-continuity-section,
    .cc-proof-section {
        background-image:
            radial-gradient(700px 360px at 12% 0%, rgba(37,99,235,.022), transparent 72%),
            radial-gradient(760px 420px at 88% 100%, rgba(34,160,107,.020), transparent 74%);
        background-blend-mode: normal;
    }

    .cc-territorial-mind__core {
        box-shadow:
            0 26px 76px rgba(38, 82, 113, .10),
            0 0 0 1px rgba(255,255,255,.84),
            inset 0 1px 0 rgba(255,255,255,.96);
    }
}

@layer cc.responsive {
    @media (max-width: 820px) {
        :root {
            --cc-scene-space-major: clamp(86px, 18vw, 122px);
            --cc-scene-space-medium: clamp(76px, 15vw, 108px);
            --cc-scene-space-compact: clamp(68px, 13vw, 96px);
        }

        .cc-atlas__intro h2,
        .cc-territorial-mind__intro h2,
        .cc-realization-section .cc-section-heading h2,
        .cc-continuity__intro h2,
        .cc-proof__intro h2 {
            font-size: clamp(2.6rem, 12vw, 4.1rem);
        }

        .cc-territorial-mind__core-source { max-width: 30ch; }
        .cc-final { min-height: auto; }
    }
}

@layer cc.accessibility {
    @media (prefers-contrast: more) {
        .cc-territorial-mind__core-example {
            color: var(--cc-ink);
            text-decoration: underline;
        }
    }
}


/* ==========================================================
   HOME.R3D | Interatividade cromática e painéis controlados
   Corrige sobreposição na Realização e eleva cor, luz e foco.
   ========================================================== */
@layer cc.sections {
    .cc-realization__cards {
        position: static;
    }
    .cc-realization__manifestation {
        --cc-real-tone: rgba(14,165,198,.32);
        isolation: isolate;
        transition:
            transform var(--cc-motion-interaction) ease,
            box-shadow var(--cc-motion-interaction) ease,
            background var(--cc-motion-interaction) ease,
            border-color var(--cc-motion-interaction) ease;
    }
    .cc-realization__manifestation::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        border-radius: inherit;
        pointer-events: none;
        background:
            radial-gradient(circle at 16% 4%, var(--cc-real-tone), transparent 26%),
            linear-gradient(180deg, rgba(255,255,255,.34), transparent 32%);
        opacity: .85;
    }
    .cc-realization__manifestation > * {
        position: relative;
        z-index: 1;
    }
    .cc-realization__manifestation--coordination { --cc-real-tone: rgba(33,87,217,.19); }
    .cc-realization__manifestation--research { --cc-real-tone: rgba(13,159,154,.18); }
    .cc-realization__manifestation--outcome { --cc-real-tone: rgba(234,107,33,.18); }

    .cc-realization__toggle {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        gap: 12px 16px;
        width: 100%;
        padding: 0;
        border: 0;
        background: transparent;
        color: inherit;
        text-align: left;
        cursor: pointer;
        font: inherit;
    }
    .cc-realization__toggle:focus-visible {
        outline: 2px solid rgba(37,99,235,.35);
        outline-offset: 6px;
        border-radius: 22px;
    }
    .cc-realization__headline {
        display: grid;
        gap: 12px;
        min-width: 0;
    }
    .cc-realization__label,
    .cc-realization__title {
        display: block;
        min-width: 0;
    }
    .cc-realization__label {
        margin: 0;
        color: var(--cc-ink);
        font-size: clamp(1.42rem,2vw,2.05rem);
        line-height: 1.02;
        letter-spacing: -.035em;
        font-weight: 830;
        text-wrap: balance;
    }
    .cc-realization__title {
        color: var(--cc-ink);
        font-size: clamp(1.02rem,1.45vw,1.24rem);
        line-height: 1.18;
        letter-spacing: -.02em;
        font-weight: 790;
        text-wrap: balance;
    }
    .cc-realization__toggle-meta {
        display: inline-flex;
        align-items: center;
        align-self: start;
        gap: 9px;
        min-height: 34px;
        padding: 7px 10px;
        border: 1px solid rgba(33,88,117,.09);
        border-radius: 999px;
        color: #5f7890;
        background: rgba(255,255,255,.76);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.94);
        backdrop-filter: blur(12px);
        font-size: .68rem;
        font-weight: 820;
        letter-spacing: .04em;
        text-transform: uppercase;
        white-space: nowrap;
    }
    .cc-realization__toggle-icon {
        position: relative;
        width: 14px;
        height: 14px;
    }
    .cc-realization__toggle-icon::before,
    .cc-realization__toggle-icon::after {
        content: "";
        position: absolute;
        inset: 50% auto auto 50%;
        width: 10px;
        height: 1.5px;
        border-radius: 999px;
        background: currentColor;
        transform: translate(-50%, -50%);
        transition: transform var(--cc-motion-interaction) ease, opacity var(--cc-motion-interaction) ease;
    }
    .cc-realization__toggle-icon::after {
        transform: translate(-50%, -50%) rotate(90deg);
    }
    .cc-realization__manifestation.cc-is-open .cc-realization__toggle-icon::after {
        opacity: 0;
        transform: translate(-50%, -50%) rotate(90deg) scaleY(.3);
    }

    .cc-realization__panel {
        margin-top: 16px;
    }
    .cc-realization__panel[hidden] {
        display: none !important;
    }
    .cc-realization__manifestation.cc-is-open {
        z-index: 7;
        border-color: rgba(32,89,127,.14);
        background:
            linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.82)),
            rgba(255,255,255,.82);
        box-shadow:
            0 28px 76px rgba(28,76,108,.11),
            0 0 0 1px rgba(255,255,255,.78) inset;
    }
    .js .cc-realization__manifestation:not(.cc-is-open):hover {
        transform: translateY(-4px);
        box-shadow:
            0 24px 62px rgba(31,83,111,.09),
            0 0 0 1px rgba(255,255,255,.78) inset;
    }
    .cc-realization__manifestation:not(.cc-is-open) .cc-realization__evidence {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }
    .cc-realization__manifestation:not(.cc-is-open) .cc-realization__action {
        margin-top: 14px;
    }
}

@layer cc.art {
    .cc-realization-section::after {
        content: "";
        position: absolute;
        z-index: -1;
        inset: auto 8% 8% 10%;
        height: 24%;
        pointer-events: none;
        background: radial-gradient(ellipse at center, rgba(37,99,235,.045), transparent 72%);
        filter: blur(18px);
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-realization__manifestation.cc-is-open {
            animation: cc-realization-breathe 10s ease-in-out infinite;
        }
        @keyframes cc-realization-breathe {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-1px); }
        }
    }
}

@layer cc.responsive {
    @media (max-width: 1280px) {
        .cc-realization-map {
            min-height: 0;
            padding: 38px 26px 34px;
        }
        .cc-realization-map__svg {
            display: none;
        }
        .cc-realization__origin,
        .cc-realization__connector,
        .cc-realization__cards,
        .cc-realization__manifestation,
        .cc-realization__manifestation--coordination,
        .cc-realization__manifestation--research,
        .cc-realization__manifestation--outcome {
            position: relative;
            inset: auto;
            left: auto;
            right: auto;
            top: auto;
            bottom: auto;
            width: 100%;
            transform: none;
        }
        .cc-realization__origin,
        .cc-realization__connector {
            padding: 18px 12px 18px 44px;
            max-width: 46ch;
        }
        .cc-realization__origin::after,
        .cc-realization__connector::after,
        .cc-realization__manifestation::after {
            content: "";
            position: absolute;
            left: 18px;
            top: 34px;
            bottom: -16px;
            width: 1px;
            background: linear-gradient(180deg,rgba(14,165,198,.18),rgba(33,87,217,.14),rgba(234,107,33,.10));
        }
        .cc-realization__cards {
            display: grid;
            grid-template-columns: repeat(12, minmax(0, 1fr));
            gap: 14px;
            margin-top: 8px;
        }
        .cc-realization__manifestation {
            margin-top: 0;
            padding: 26px 22px 24px 42px;
            border-radius: 26px;
        }
        .cc-realization__manifestation--coordination,
        .cc-realization__manifestation--research {
            grid-column: span 6;
        }
        .cc-realization__manifestation--outcome {
            grid-column: 3 / span 8;
        }
        .cc-realization__origin .cc-realization__node,
        .cc-realization__connector .cc-realization__node,
        .cc-realization__manifestation .cc-realization__node {
            left: 9px;
            top: 31px;
        }
        .cc-realization__closing {
            position: static;
            margin-top: 22px;
        }
    }
    @media (max-width: 880px) {
        .cc-realization__cards {
            grid-template-columns: 1fr;
        }
        .cc-realization__manifestation--coordination,
        .cc-realization__manifestation--research,
        .cc-realization__manifestation--outcome {
            grid-column: auto;
        }
        .cc-realization__toggle {
            grid-template-columns: 1fr;
        }
        .cc-realization__toggle-meta {
            justify-self: start;
        }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-realization__manifestation,
        .cc-realization__manifestation.cc-is-open,
        .cc-realization__toggle-icon::before,
        .cc-realization__toggle-icon::after {
            animation: none !important;
            transition: none !important;
            transform: none !important;
        }
    }
}


/* ==========================================================
   HOME.DATA.1A | Lente Territorial Pública
   Retrato municipal + economia + desenvolvimento + leituras cruzadas.
   ========================================================== */
@layer cc.sections {
    .cc-municipality-lens {
        position: relative;
        isolation: isolate;
        padding-block: clamp(84px, 8vw, 128px);
        overflow: hidden;
        background:
            radial-gradient(820px 480px at 16% 16%, rgba(37,99,235,.065), transparent 70%),
            radial-gradient(720px 460px at 86% 68%, rgba(34,160,107,.055), transparent 72%),
            linear-gradient(180deg,#fbfdff 0%,#f3faff 54%,#fbfdff 100%);
    }
    .cc-municipality-lens__intro {
        display: grid;
        grid-template-columns: minmax(0,5fr) minmax(0,4fr);
        gap: clamp(30px,6vw,84px);
        align-items: end;
        margin-bottom: 34px;
    }
    .cc-municipality-lens__intro h2 {
        max-width: 12ch;
        margin: 0;
        color: var(--cc-ink);
        font-size: clamp(2.8rem,5.2vw,5.6rem);
        line-height: .94;
        letter-spacing: -.06em;
        text-wrap: balance;
    }
    .cc-municipality-lens__intro > p {
        max-width: 58ch;
        margin: 0 0 8px;
        color: var(--cc-muted);
        font-size: clamp(1rem,1.25vw,1.15rem);
        line-height: 1.7;
    }
    .cc-municipality-search { position: relative; z-index: 8; max-width: 920px; margin: 0 auto 34px; }
    .cc-municipality-search > label { display:block; margin:0 0 9px 14px; color:#597187; font-size:.72rem; font-weight:820; letter-spacing:.08em; text-transform:uppercase; }
    .cc-municipality-search__field {
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        gap:12px;
        align-items:center;
        min-height:68px;
        padding:8px 10px 8px 20px;
        border:1px solid rgba(36,91,124,.12);
        border-radius:24px;
        background:rgba(255,255,255,.86);
        box-shadow:0 24px 72px rgba(30,78,111,.10), inset 0 1px 0 rgba(255,255,255,.98);
        backdrop-filter:blur(18px) saturate(112%);
    }
    .cc-municipality-search__icon { color:#1f8eae; font-size:1.55rem; line-height:1; transform:rotate(-16deg); }
    .cc-municipality-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--cc-ink); font:inherit; font-size:1.02rem; }
    .cc-municipality-search input::placeholder { color:#8ba0b2; }
    .cc-municipality-search__clear { min-height:44px; padding:9px 14px; border:1px solid rgba(31,85,117,.09); border-radius:999px; color:#49667c; background:#f7fbfd; font-size:.75rem; font-weight:780; cursor:pointer; }
    .cc-municipality-search__results { position:absolute; z-index:20; top:calc(100% - 23px); left:0; right:0; max-height:340px; overflow:auto; padding:9px; border:1px solid rgba(35,84,116,.11); border-radius:0 0 24px 24px; background:rgba(255,255,255,.97); box-shadow:0 26px 72px rgba(27,72,105,.16); backdrop-filter:blur(20px); }
    .cc-municipality-search__results button { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; padding:13px 15px; border:0; border-radius:14px; background:transparent; color:var(--cc-ink); text-align:left; cursor:pointer; }
    .cc-municipality-search__results button:hover,.cc-municipality-search__results button:focus-visible { background:#eff8fc; outline:none; }
    .cc-municipality-search__results button strong { font-size:.9rem; }
    .cc-municipality-search__results button span,.cc-municipality-search__none { color:#71879a; font-size:.74rem; }
    .cc-municipality-search__none { padding:16px; }
    .cc-municipality-search__hint { margin:10px 14px 0; color:#8193a3; font-size:.72rem; line-height:1.5; }

    .cc-municipality-empty { position:relative; display:grid; grid-template-columns:170px minmax(0,1fr); gap:30px; align-items:center; max-width:860px; min-height:190px; margin:0 auto; padding:28px 34px; border:1px solid rgba(38,88,119,.08); border-radius:34px; background:rgba(255,255,255,.58); box-shadow:0 22px 66px rgba(30,80,112,.055); }
    .cc-municipality-empty__field { position:relative; width:140px; height:120px; }
    .cc-municipality-empty__field::before,.cc-municipality-empty__field::after { content:""; position:absolute; left:50%; top:50%; border:1px solid rgba(14,165,198,.16); border-radius:50%; transform:translate(-50%,-50%); }
    .cc-municipality-empty__field::before { width:110px; height:110px; }
    .cc-municipality-empty__field::after { width:70px; height:70px; }
    .cc-municipality-empty__field span { position:absolute; width:10px; height:10px; border:3px solid #fff; border-radius:50%; background:#18a9c5; box-shadow:0 0 0 7px rgba(14,165,198,.07),0 8px 24px rgba(14,165,198,.13); }
    .cc-municipality-empty__field span:nth-child(1){left:17%;top:20%}.cc-municipality-empty__field span:nth-child(2){right:9%;top:36%}.cc-municipality-empty__field span:nth-child(3){left:38%;bottom:7%}.cc-municipality-empty__field span:nth-child(4){left:48%;top:44%;background:#2563eb}
    .cc-municipality-empty strong { color:var(--cc-ink); font-size:1.25rem; }
    .cc-municipality-empty p { max-width:58ch; margin:8px 0 0; color:var(--cc-muted); line-height:1.65; }

    .cc-municipality-panel { position:relative; overflow:hidden; padding:clamp(24px,3.5vw,48px); border:1px solid rgba(34,83,115,.10); border-radius:clamp(32px,4.5vw,58px); background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(242,250,254,.80)); box-shadow:0 42px 110px rgba(29,76,108,.11), inset 0 1px 0 rgba(255,255,255,.98); backdrop-filter:blur(20px); }
    .cc-municipality-panel::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.33; background-image:linear-gradient(rgba(37,99,235,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.03) 1px,transparent 1px); background-size:48px 48px; mask-image:radial-gradient(ellipse at center,#000 15%,transparent 80%); }
    .cc-municipality-panel > * { position:relative; z-index:1; }
    .cc-municipality-panel__head { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; padding-bottom:28px; border-bottom:1px solid rgba(35,84,116,.075); }
    .cc-municipality-panel__head h3 { margin:0; color:var(--cc-ink); font-size:clamp(2.1rem,4vw,4.2rem); line-height:.98; letter-spacing:-.052em; }
    .cc-municipality-panel__head > div > p:last-child { margin:12px 0 0; color:var(--cc-muted); }
    .cc-municipality-panel__context { min-width:210px; padding:14px 16px; border:1px solid rgba(31,88,119,.08); border-radius:18px; background:rgba(255,255,255,.65); }
    .cc-municipality-panel__context span { display:block; color:#7a8d9e; font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
    .cc-municipality-panel__context strong { display:block; margin-top:6px; color:#315f78; font-size:.8rem; line-height:1.35; }
    .cc-municipality-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:24px; }
    .cc-municipality-kpi { position:relative; min-height:150px; padding:20px; overflow:hidden; border:1px solid rgba(35,84,116,.08); border-radius:24px; background:rgba(255,255,255,.72); box-shadow:0 16px 44px rgba(30,76,105,.055), inset 0 1px 0 rgba(255,255,255,.95); }
    .cc-municipality-kpi::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--cc-kpi-tone,#2563eb); opacity:.78; }
    .cc-municipality-kpi--population{--cc-kpi-tone:#0ea5c6}.cc-municipality-kpi--economy{--cc-kpi-tone:#e58b2a}.cc-municipality-kpi--income{--cc-kpi-tone:#c28b2c}.cc-municipality-kpi--human{--cc-kpi-tone:#2157d9}
    .cc-municipality-kpi > span { color:#637b8f; font-size:.72rem; font-weight:780; }
    .cc-municipality-kpi strong { display:block; margin-top:18px; color:var(--cc-ink); font-size:clamp(1.75rem,3vw,3.1rem); line-height:.92; letter-spacing:-.05em; }
    .cc-municipality-kpi small { display:block; margin-top:12px; color:#8295a5; font-size:.67rem; }
    .cc-municipality-kpi em { display:block; margin-top:5px; color:#9aa9b6; font-size:.62rem; font-style:normal; }
    .cc-municipality-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
    .cc-municipality-card { min-height:330px; padding:24px; border:1px solid rgba(35,84,116,.08); border-radius:28px; background:rgba(255,255,255,.67); box-shadow:0 18px 52px rgba(31,77,107,.055), inset 0 1px 0 rgba(255,255,255,.95); }
    .cc-municipality-card--economy { background:radial-gradient(circle at 92% 4%,rgba(229,139,42,.08),transparent 30%),rgba(255,255,255,.68); }
    .cc-municipality-card--human { background:radial-gradient(circle at 90% 4%,rgba(33,87,217,.07),transparent 30%),rgba(255,255,255,.68); }
    .cc-municipality-card header { display:flex; gap:12px; align-items:flex-start; margin-bottom:24px; }
    .cc-municipality-card__node { width:12px; height:12px; margin-top:4px; flex:0 0 auto; border:3px solid #fff; border-radius:50%; background:#e58b2a; box-shadow:0 0 0 6px rgba(229,139,42,.08); }
    .cc-municipality-card--human .cc-municipality-card__node { background:#2157d9; box-shadow:0 0 0 6px rgba(33,87,217,.07); }
    .cc-municipality-card small { color:#75899a; font-size:.67rem; font-weight:820; letter-spacing:.08em; text-transform:uppercase; }
    .cc-municipality-card h4 { margin:5px 0 0; color:var(--cc-ink); font-size:1.35rem; line-height:1.1; letter-spacing:-.025em; }
    .cc-sector-chart__year { margin-bottom:12px; color:#637a8d; font-size:.75rem; }
    .cc-sector-bar { display:flex; height:22px; overflow:hidden; border-radius:999px; background:#edf4f7; box-shadow:inset 0 1px 4px rgba(30,76,105,.07); }
    .cc-sector-bar__part { display:block; min-width:2px; height:100%; }
    .cc-sector-bar__part--life{background:#22a06b}.cc-sector-bar__part--knowledge{background:#2563eb}.cc-sector-bar__part--connection{background:#0ea5c6}.cc-sector-bar__part--memory{background:#c28b2c}
    .cc-sector-legend { display:grid; gap:9px; margin-top:18px; }
    .cc-sector-legend div { display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:8px; align-items:center; color:#526a7d; font-size:.74rem; }
    .cc-sector-legend__dot { width:7px; height:7px; border-radius:50%; background:#0ea5c6; }
    .cc-sector-legend__dot--life{background:#22a06b}.cc-sector-legend__dot--knowledge{background:#2563eb}.cc-sector-legend__dot--connection{background:#0ea5c6}.cc-sector-legend__dot--memory{background:#c28b2c}
    .cc-sector-legend strong { color:#2b526b; font-size:.72rem; }
    .cc-municipality-note { margin:18px 0 0; color:#7c8f9f; font-size:.69rem; line-height:1.5; }
    .cc-human-chart { display:grid; grid-template-columns:minmax(110px,.75fr) minmax(0,1.8fr); gap:20px; }
    .cc-human-chart__main { padding:16px; border:1px solid rgba(33,87,217,.08); border-radius:20px; background:rgba(250,248,255,.7); }
    .cc-human-chart__main span { color:#7457a9; font-size:.7rem; font-weight:800; }
    .cc-human-chart__main strong { display:block; margin-top:12px; color:var(--cc-ink); font-size:2.25rem; letter-spacing:-.05em; }
    .cc-human-chart__main small { display:block; margin-top:9px; color:#8994a2; font-size:.64rem; }
    .cc-human-dimensions { display:grid; gap:12px; align-content:start; }
    .cc-human-dimension > div:first-child { display:flex; justify-content:space-between; gap:14px; color:#5d7285; font-size:.72rem; }
    .cc-human-dimension strong { color:#274c66; }
    .cc-human-dimension__track { height:7px; margin-top:6px; overflow:hidden; border-radius:999px; background:#e9f1f5; }
    .cc-human-dimension__fill { display:block; height:100%; border-radius:inherit; background:#2563eb; }
    .cc-human-dimension__fill--life{background:#22a06b}.cc-human-dimension__fill--memory{background:#c28b2c}
    .cc-idhm-history { grid-column:1/-1; margin-top:6px; padding-top:12px; border-top:1px solid rgba(35,84,116,.07); }
    .cc-idhm-history__head,.cc-idhm-history__values { display:flex; justify-content:space-between; gap:16px; color:#708599; font-size:.67rem; }
    .cc-idhm-history svg { width:100%; height:104px; margin-top:5px; overflow:visible; }
    .cc-idhm-history path { fill:none; stroke:#2157d9; stroke-width:2.2; filter:drop-shadow(0 5px 9px rgba(33,87,217,.16)); }
    .cc-idhm-history circle { fill:#fff; stroke:#2157d9; stroke-width:2; }
    .cc-municipality-cross { margin-top:18px; padding:26px; border:1px solid rgba(35,84,116,.08); border-radius:30px; background:rgba(250,253,255,.62); }
    .cc-municipality-cross__head { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:30px; align-items:end; }
    .cc-municipality-cross__head h4 { max-width:18ch; margin:0; color:var(--cc-ink); font-size:clamp(1.8rem,3vw,3.15rem); line-height:1; letter-spacing:-.045em; }
    .cc-municipality-cross__head > p { margin:0; color:var(--cc-muted); font-size:.85rem; line-height:1.65; }
    .cc-municipality-cross__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px; }
    .cc-cross-card { position:relative; min-height:270px; padding:20px; border:1px solid rgba(34,83,113,.08); border-radius:22px; background:rgba(255,255,255,.72); box-shadow:0 14px 40px rgba(31,76,106,.045); }
    .cc-cross-card::before { content:""; position:absolute; inset:0 0 auto; height:3px; border-radius:22px 22px 0 0; background:#0ea5c6; opacity:.6; }
    .cc-cross-card--economy::before{background:#e58b2a}.cc-cross-card--structure::before{background:#2563eb}.cc-cross-card--human::before{background:#2157d9}
    .cc-cross-card > small { color:#74899b; font-size:.64rem; font-weight:820; letter-spacing:.08em; text-transform:uppercase; }
    .cc-cross-card h5 { margin:10px 0 16px; color:var(--cc-ink); font-size:1.15rem; line-height:1.18; }
    .cc-cross-card > p { margin:16px 0 0; color:#64798b; font-size:.72rem; line-height:1.55; }
    .cc-cross-card__pairs { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .cc-cross-card__pairs div { padding:10px; border-radius:14px; background:#f6fafc; }
    .cc-cross-card__pairs span,.cc-cross-card__pairs small { display:block; color:#7d8f9e; font-size:.59rem; }
    .cc-cross-card__pairs strong { display:block; margin:5px 0 3px; color:#284e68; font-size:.94rem; }
    .cc-cross-card__number { display:inline-grid; margin:0 10px 8px 0; padding:10px 12px; border-radius:14px; background:#f4f8fc; }
    .cc-cross-card__number strong { color:#24516e; font-size:1.45rem; }
    .cc-cross-card__number span { color:#7c8e9d; font-size:.6rem; }
    .cc-cross-card__number--secondary { background:#f6fbf9; }
    .cc-municipality-crie { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:28px; align-items:start; margin-top:18px; padding:26px; border:1px solid rgba(35,84,116,.08); border-radius:30px; background:radial-gradient(circle at 92% 20%,rgba(14,165,198,.075),transparent 28%),rgba(255,255,255,.65); }
    .cc-municipality-crie h4 { max-width:17ch; margin:0; color:var(--cc-ink); font-size:clamp(1.6rem,2.6vw,2.6rem); line-height:1; letter-spacing:-.04em; }
    .cc-municipality-crie header > p:last-child { color:var(--cc-muted); font-size:.75rem; line-height:1.5; }
    .cc-municipality-crie__signals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
    .cc-municipality-signal { min-height:108px; padding:15px; border:1px solid rgba(31,84,115,.07); border-radius:18px; background:rgba(255,255,255,.75); }
    .cc-municipality-signal i { display:block; width:7px; height:7px; margin-bottom:16px; border-radius:50%; background:#2563eb; box-shadow:0 0 0 5px rgba(37,99,235,.06); }
    .cc-municipality-signal--connection i{background:#0ea5c6}.cc-municipality-signal--action i{background:#ea6b21}.cc-municipality-signal--research i{background:#0d9f9a}.cc-municipality-signal--imagination i{background:#2157d9}
    .cc-municipality-signal strong { display:block; color:var(--cc-ink); font-size:1.5rem; line-height:1; }
    .cc-municipality-signal span { display:block; margin-top:7px; color:#657c8f; font-size:.66rem; line-height:1.35; }
    .cc-municipality-panel__foot { display:flex; justify-content:space-between; gap:28px; align-items:flex-end; margin-top:22px; padding-top:22px; border-top:1px solid rgba(35,84,116,.075); }
    .cc-municipality-panel__foot p { max-width:72ch; margin:0; color:#7a8c9c; font-size:.68rem; line-height:1.55; }
    .cc-municipality-error { max-width:760px; margin:20px auto 0; padding:22px; border:1px solid rgba(13,159,154,.09); border-radius:22px; background:#fffafd; }
    .cc-municipality-error strong { color:var(--cc-ink); }
    .cc-municipality-error p { margin:7px 0 0; color:var(--cc-muted); }
}

@layer cc.art {
    .cc-municipality-lens__atmosphere { position:absolute; inset:-15%; z-index:-1; pointer-events:none; background:radial-gradient(circle at 50% 36%,rgba(255,255,255,.9),transparent 28%),radial-gradient(circle at 18% 52%,rgba(14,165,198,.08),transparent 22%),radial-gradient(circle at 82% 62%,rgba(33,87,217,.045),transparent 23%); filter:blur(20px); }
}

@layer cc.motion {
    @media (prefers-reduced-motion:no-preference) {
        .cc-municipality-search__field { transition:border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease; }
        .cc-municipality-search__field:focus-within { transform:translateY(-2px); border-color:rgba(14,165,198,.24); box-shadow:0 30px 86px rgba(30,93,125,.14),0 0 0 5px rgba(14,165,198,.035); }
        .cc-municipality-kpi,.cc-municipality-card,.cc-cross-card,.cc-municipality-signal { transition:transform 240ms ease,box-shadow 240ms ease; }
        .cc-municipality-kpi:hover,.cc-municipality-card:hover,.cc-cross-card:hover,.cc-municipality-signal:hover { transform:translateY(-3px); box-shadow:0 24px 64px rgba(31,78,109,.08); }
    }
}

@layer cc.responsive {
    @media (max-width:1040px) {
        .cc-municipality-lens__intro,.cc-municipality-cross__head,.cc-municipality-crie { grid-template-columns:1fr; }
        .cc-municipality-lens__intro h2 { max-width:16ch; }
        .cc-municipality-kpis { grid-template-columns:1fr 1fr; }
        .cc-municipality-grid { grid-template-columns:1fr; }
        .cc-municipality-cross__grid { grid-template-columns:1fr; }
        .cc-municipality-crie__signals { grid-template-columns:repeat(3,1fr); }
    }
    @media (max-width:680px) {
        .cc-municipality-lens { padding-block:76px 88px; }
        .cc-municipality-lens__intro h2 { font-size:clamp(2.5rem,13vw,4.1rem); }
        .cc-municipality-search__field { grid-template-columns:auto minmax(0,1fr); padding-right:16px; }
        .cc-municipality-search__clear { grid-column:1/-1; justify-self:start; margin-left:30px; }
        .cc-municipality-empty { grid-template-columns:1fr; text-align:center; }
        .cc-municipality-empty__field { margin:auto; }
        .cc-municipality-panel { padding:20px; border-radius:30px; }
        .cc-municipality-panel__head { display:block; }
        .cc-municipality-panel__context { margin-top:18px; }
        .cc-municipality-kpis { grid-template-columns:1fr; }
        .cc-municipality-kpi { min-height:128px; }
        .cc-human-chart { grid-template-columns:1fr; }
        .cc-human-chart__main { display:grid; grid-template-columns:1fr auto; align-items:end; }
        .cc-idhm-history { grid-column:auto; }
        .cc-municipality-crie__signals { grid-template-columns:1fr 1fr; }
        .cc-municipality-panel__foot { display:block; }
        .cc-municipality-panel__foot a { margin-top:18px; }
    }
    @media (max-width:420px) {
        .cc-municipality-crie__signals,.cc-cross-card__pairs { grid-template-columns:1fr; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion:reduce) {
        .cc-municipality-search__field,.cc-municipality-kpi,.cc-municipality-card,.cc-cross-card,.cc-municipality-signal { transition:none !important; transform:none !important; }
    }
    @media (forced-colors:active) {
        .cc-municipality-panel,.cc-municipality-search__field,.cc-municipality-card,.cc-cross-card,.cc-municipality-kpi,.cc-municipality-signal { border:1px solid CanvasText; background:Canvas; box-shadow:none; }
        .cc-municipality-lens__atmosphere,.cc-municipality-panel::before { display:none; }
    }
}


/* ==========================================================
   HOME.FINAL.1 | Proveniência, cor semântica e fechamento metodológico
   ========================================================== */
@layer cc.foundation {
    .cc-data-source {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        max-width: 100%;
        color: #55758a;
        font-size: .61rem;
        line-height: 1.3;
        text-decoration: none;
        overflow-wrap: anywhere;
    }
    a.cc-data-source:hover,
    a.cc-data-source:focus-visible { color: #087fa0; text-decoration: underline; text-underline-offset: 3px; }
}

@layer cc.sections {
    /* Final chromatic orchestration. Stronger color, still light and semantic. */
    .cc-hero {
        background:
            radial-gradient(980px 680px at 79% 42%, rgba(5,184,214,.19), transparent 63%),
            radial-gradient(760px 520px at 18% 18%, rgba(37,99,235,.105), transparent 66%),
            radial-gradient(620px 420px at 51% 82%, rgba(24,168,104,.075), transparent 69%),
            linear-gradient(180deg,#fbfeff 0%,#eef9ff 58%,#f9fdff 100%);
    }
    .cc-definition {
        background:
            radial-gradient(720px 480px at 15% 40%, rgba(18,185,203,.085), transparent 68%),
            radial-gradient(620px 420px at 86% 29%, rgba(59,103,246,.07), transparent 70%),
            linear-gradient(180deg,#fff,#f4fbff 68%,#f9fdff);
    }
    .cc-cycle-section {
        background:
            radial-gradient(760px 520px at 22% 46%, rgba(37,99,235,.075), transparent 69%),
            radial-gradient(680px 480px at 78% 42%, rgba(33,87,217,.07), transparent 70%),
            radial-gradient(640px 420px at 54% 82%, rgba(34,160,107,.065), transparent 72%),
            linear-gradient(180deg,#f8fcff,#edf9ff 50%,#f9fdff);
    }
    .cc-atlas-section {
        background:
            radial-gradient(820px 520px at 18% 42%, rgba(14,165,198,.105), transparent 70%),
            radial-gradient(720px 460px at 82% 66%, rgba(34,160,107,.085), transparent 72%),
            linear-gradient(180deg,#f9fdff,#eefaf8 52%,#fbfdff);
    }
    .cc-territorial-mind {
        background:
            radial-gradient(720px 460px at 18% 30%, rgba(33,87,217,.08), transparent 70%),
            radial-gradient(620px 420px at 80% 30%, rgba(14,165,198,.075), transparent 72%),
            radial-gradient(620px 420px at 52% 82%, rgba(194,139,44,.065), transparent 72%),
            linear-gradient(180deg,#fbfdff,#f8f7ff 48%,#fbfdff);
    }
    .cc-realization-section {
        background:
            radial-gradient(660px 420px at 22% 28%, rgba(33,87,217,.075), transparent 68%),
            radial-gradient(680px 440px at 53% 50%, rgba(13,159,154,.055), transparent 70%),
            radial-gradient(720px 480px at 84% 62%, rgba(234,107,33,.085), transparent 70%),
            linear-gradient(180deg,#fbfdff,#fff9f7 55%,#fbfdff);
    }
    .cc-continuity-section {
        background:
            radial-gradient(660px 430px at 16% 48%, rgba(194,139,44,.095), transparent 70%),
            radial-gradient(650px 430px at 52% 52%, rgba(34,160,107,.07), transparent 72%),
            radial-gradient(680px 440px at 84% 42%, rgba(37,99,235,.075), transparent 72%),
            linear-gradient(180deg,#fbfdff,#f8fcf9 55%,#fbfdff);
    }
    .cc-proof-section {
        background:
            radial-gradient(780px 480px at 22% 38%, rgba(37,99,235,.08), transparent 69%),
            radial-gradient(680px 440px at 82% 62%, rgba(14,165,198,.08), transparent 72%),
            linear-gradient(180deg,#fbfdff,#edf8fd 64%,#f8fcff);
    }
    .cc-gravity {
        background:
            radial-gradient(940px 590px at 16% 48%, rgba(14,165,198,.18), transparent 63%),
            radial-gradient(780px 540px at 82% 33%, rgba(37,99,235,.12), transparent 66%),
            radial-gradient(620px 390px at 48% 82%, rgba(34,160,107,.075), transparent 70%),
            linear-gradient(180deg,#f8fcff,#e9f7fd 54%,#f9fdff);
    }
    .cc-final {
        background:
            radial-gradient(780px 470px at 42% 20%, rgba(14,165,198,.135), transparent 65%),
            radial-gradient(620px 380px at 64% 56%, rgba(37,99,235,.075), transparent 70%),
            radial-gradient(520px 320px at 48% 78%, rgba(34,160,107,.06), transparent 72%),
            linear-gradient(180deg,#fbfdff,#f4fbff);
    }

    .cc-municipality-lens {
        background:
            radial-gradient(880px 520px at 10% 20%, rgba(14,165,198,.13), transparent 66%),
            radial-gradient(760px 500px at 88% 28%, rgba(33,87,217,.09), transparent 67%),
            radial-gradient(720px 460px at 75% 82%, rgba(229,139,42,.075), transparent 69%),
            radial-gradient(700px 460px at 22% 80%, rgba(34,160,107,.07), transparent 70%),
            linear-gradient(180deg,#fbfdff 0%,#eef9ff 52%,#fbfdff 100%);
    }
    .cc-municipality-panel {
        box-shadow:
            0 42px 120px rgba(22,74,108,.12),
            0 0 0 1px rgba(255,255,255,.84) inset,
            0 0 100px rgba(14,165,198,.045) inset;
    }
    .cc-municipality-kpi::after {
        content:"";
        position:absolute;
        width:100px;
        height:100px;
        right:-36px;
        top:-42px;
        border-radius:50%;
        background:color-mix(in srgb, var(--cc-kpi-tone,#2563eb) 14%, transparent);
        filter:blur(4px);
        pointer-events:none;
    }
    .cc-municipality-kpi .cc-data-source { margin-top: 7px; }
    .cc-chart-source { margin-top: 11px; }
    .cc-chart-source:empty { display:none; }

    .cc-analytic-badge {
        display:inline-flex;
        align-items:center;
        min-height:24px;
        margin-bottom:9px;
        padding:4px 8px;
        border:1px solid rgba(31,91,122,.09);
        border-radius:999px;
        color:#486d83;
        background:rgba(240,249,253,.78);
        font-size:.56rem;
        line-height:1;
        font-weight:850;
        letter-spacing:.07em;
        text-transform:uppercase;
    }
    .cc-analytic-badge--proxy { color:#315f9f; background:rgba(244,243,255,.82); border-color:rgba(33,87,217,.10); }

    .cc-municipality-methodology {
        display:grid;
        grid-template-columns:minmax(0,1.15fr) minmax(0,1.5fr);
        gap:24px;
        align-items:center;
        margin-top:18px;
        padding:20px 22px;
        border:1px solid rgba(35,84,116,.075);
        border-radius:24px;
        background:linear-gradient(110deg,rgba(246,252,255,.88),rgba(251,249,255,.76));
    }
    .cc-municipality-methodology__levels { display:flex; flex-wrap:wrap; gap:7px; }
    .cc-method-level { padding:7px 9px; border:1px solid rgba(40,78,104,.08); border-radius:999px; color:#8a99a6; background:rgba(255,255,255,.66); font-size:.58rem; font-weight:820; letter-spacing:.05em; text-transform:uppercase; }
    .cc-method-level--active { color:#19718b; border-color:rgba(14,165,198,.16); background:rgba(229,249,253,.78); box-shadow:0 5px 18px rgba(14,165,198,.05); }
    .cc-municipality-methodology p { margin:0; color:#677f91; font-size:.7rem; line-height:1.55; }

    .cc-municipality-sources {
        margin-top:14px;
        border:1px solid rgba(35,84,116,.08);
        border-radius:22px;
        background:rgba(255,255,255,.68);
        overflow:hidden;
    }
    .cc-municipality-sources summary { padding:16px 18px; color:#315f78; font-size:.72rem; font-weight:820; cursor:pointer; list-style-position:inside; }
    .cc-municipality-sources__body { padding:0 18px 18px; }
    .cc-source-table { display:grid; gap:7px; }
    .cc-source-row { display:grid; grid-template-columns:minmax(130px,.8fr) 80px minmax(180px,1.4fr) minmax(100px,.65fr); gap:10px; align-items:center; padding:9px 10px; border-radius:12px; background:rgba(246,250,252,.68); color:#647b8d; font-size:.63rem; }
    .cc-source-row strong { color:#2d536c; }
    .cc-source-row a { color:#16809e; text-decoration:none; }
    .cc-source-row a:hover,.cc-source-row a:focus-visible { text-decoration:underline; }
    .cc-source-row code { overflow:hidden; color:#8495a3; font-size:.56rem; text-overflow:ellipsis; white-space:nowrap; }
    .cc-source-note { margin:13px 0 0; color:#7a8f9f; font-size:.63rem; line-height:1.55; }
}

@layer cc.art {
    .cc-municipality-lens__atmosphere {
        background:
            radial-gradient(circle at 46% 31%,rgba(255,255,255,.92),transparent 25%),
            radial-gradient(circle at 13% 48%,rgba(14,165,198,.14),transparent 23%),
            radial-gradient(circle at 84% 38%,rgba(33,87,217,.09),transparent 24%),
            radial-gradient(circle at 75% 82%,rgba(229,139,42,.075),transparent 22%),
            radial-gradient(circle at 22% 82%,rgba(34,160,107,.075),transparent 22%);
        filter:blur(24px);
    }
}

@layer cc.responsive {
    @media (max-width:900px) {
        .cc-municipality-methodology { grid-template-columns:1fr; }
        .cc-source-row { grid-template-columns:1fr 70px; }
        .cc-source-row a,.cc-source-row > span:nth-child(3),.cc-source-row code { grid-column:1/-1; }
    }
}

@layer cc.accessibility {
    @media (forced-colors:active) {
        .cc-municipality-methodology,.cc-municipality-sources,.cc-source-row { border:1px solid CanvasText; background:Canvas; box-shadow:none; }
        .cc-method-level { border:1px solid CanvasText; background:Canvas; color:CanvasText; }
    }
}

@layer cc.sections {
    .cc-municipality-signal small { display:block; margin-top:9px; color:#92a1ad; font-size:.55rem; line-height:1.25; }
}


/* ==========================================================
   HOME.R4 | QA, Mobile, Performance e Homologação Final
   Hardening de layout + identidade azul/verde + segurança responsiva.
   ========================================================== */
@layer cc.tokens {
    :root {
        /* Identidade principal: azul -> ciano -> verde. */
        --cc-knowledge: #2157d9;
        --cc-connection: #0ea5c6;
        --cc-imagination: #2f6fd2;
        --cc-research: #0d9f9a;
        --cc-action: #18a868;
        --cc-transformation: #2ebd8f;
        --cc-life: #22a06b;
        --cc-memory: #2c8d77;
        --cc-brand-blue: #2157d9;
        --cc-brand-cyan: #0ea5c6;
        --cc-brand-green: #18a868;
    }
}

@layer cc.foundation {
    html { scroll-padding-top: 92px; }
    body.cc-site { overflow-x: hidden; }
}

@layer cc.layout {
    .cc-section { scroll-margin-top: 92px; }
    .cc-container, .cc-section-heading, .cc-section-heading > *, .cc-home * { min-width: 0; }
}

@layer cc.components {
    .cc-shell {
        isolation: isolate;
        background: rgba(250,253,255,.965);
        box-shadow: 0 10px 34px rgba(29,72,105,.065);
    }
    .cc-shell__login { min-height: 44px; display:inline-flex; align-items:center; justify-content:center; }
    .cc-shell__nav a { min-height:44px; display:inline-flex; align-items:center; }
}

@layer cc.sections {
    /* ------------------------------------------------------------------
       Identidade cromática final. Sem rosa/magenta como estrutura visual.
       ------------------------------------------------------------------ */
    .cc-cycle-section {
        background:
            radial-gradient(760px 520px at 22% 46%, rgba(33,87,217,.085), transparent 69%),
            radial-gradient(680px 480px at 78% 42%, rgba(14,165,198,.085), transparent 70%),
            radial-gradient(640px 420px at 54% 82%, rgba(24,168,104,.075), transparent 72%),
            linear-gradient(180deg,#f8fcff,#edf9ff 50%,#f8fcff);
    }
    .cc-territorial-mind {
        background:
            radial-gradient(720px 460px at 18% 30%, rgba(33,87,217,.085), transparent 70%),
            radial-gradient(620px 420px at 80% 30%, rgba(14,165,198,.085), transparent 72%),
            radial-gradient(620px 420px at 52% 82%, rgba(24,168,104,.07), transparent 72%),
            linear-gradient(180deg,#fbfdff,#f1fbff 48%,#f8fcff);
    }
    .cc-realization-section {
        background:
            radial-gradient(660px 420px at 22% 28%, rgba(33,87,217,.08), transparent 68%),
            radial-gradient(680px 440px at 53% 50%, rgba(14,165,198,.075), transparent 70%),
            radial-gradient(720px 480px at 84% 62%, rgba(24,168,104,.09), transparent 70%),
            linear-gradient(180deg,#fbfdff,#f2fcf8 55%,#fbfdff);
    }
    .cc-realization-map {
        background:
            radial-gradient(circle at 10% 51%, rgba(14,165,198,.11), transparent 23%),
            radial-gradient(circle at 51% 24%, rgba(33,87,217,.085), transparent 24%),
            radial-gradient(circle at 52% 76%, rgba(13,159,154,.075), transparent 23%),
            radial-gradient(circle at 91% 51%, rgba(24,168,104,.085), transparent 25%),
            rgba(255,255,255,.78);
    }
    .cc-realization__node--coordination {
        background: var(--cc-knowledge);
        box-shadow:0 0 0 8px rgba(33,87,217,.07),0 0 30px rgba(33,87,217,.14);
    }
    .cc-realization__node--research {
        background: var(--cc-research);
        box-shadow:0 0 0 8px rgba(13,159,154,.07),0 0 30px rgba(13,159,154,.14);
    }
    .cc-realization__node--outcome {
        background: var(--cc-action);
        box-shadow:0 0 0 8px rgba(24,168,104,.07),0 0 30px rgba(24,168,104,.14);
    }
    .cc-realization__manifestation--coordination { --cc-real-tone: rgba(33,87,217,.18); }
    .cc-realization__manifestation--research { --cc-real-tone: rgba(13,159,154,.18); }
    .cc-realization__manifestation--outcome { --cc-real-tone: rgba(24,168,104,.18); }
    .cc-realization__manifestation--coordination .cc-realization__module { color:#315fc4; }
    .cc-realization__manifestation--research .cc-realization__module { color:#087f82; }
    .cc-realization__manifestation--outcome .cc-realization__module { color:#14825b; }

    .cc-continuity-section {
        background:
            radial-gradient(660px 430px at 16% 48%, rgba(24,168,104,.085), transparent 70%),
            radial-gradient(650px 430px at 52% 52%, rgba(14,165,198,.075), transparent 72%),
            radial-gradient(680px 440px at 84% 42%, rgba(33,87,217,.085), transparent 72%),
            linear-gradient(180deg,#fbfdff,#f3fcf9 55%,#fbfdff);
    }
    .cc-continuity__atmosphere {
        background:
            radial-gradient(circle at 17% 73%, rgba(24,168,104,.065), transparent 18%),
            radial-gradient(circle at 31% 51%, rgba(18,170,145,.08), transparent 24%),
            radial-gradient(circle at 56% 69%, rgba(14,165,198,.075), transparent 25%),
            radial-gradient(circle at 72% 35%, rgba(22,139,210,.075), transparent 23%),
            radial-gradient(circle at 91% 13%, rgba(33,87,217,.09), transparent 23%);
    }
    .cc-continuity__origin-node {
        background: var(--cc-life);
        box-shadow:0 0 0 8px rgba(34,160,107,.065),0 0 26px rgba(34,160,107,.18);
    }

    .cc-municipality-lens {
        background:
            radial-gradient(880px 520px at 10% 20%, rgba(14,165,198,.145), transparent 66%),
            radial-gradient(760px 500px at 88% 28%, rgba(33,87,217,.105), transparent 67%),
            radial-gradient(720px 460px at 75% 82%, rgba(24,168,104,.095), transparent 69%),
            radial-gradient(700px 460px at 22% 80%, rgba(18,170,145,.075), transparent 70%),
            linear-gradient(180deg,#fbfdff 0%,#ecfaff 52%,#f8fdfb 100%);
    }
    .cc-municipality-kpi--population { --cc-kpi-tone:#0ea5c6; }
    .cc-municipality-kpi--economy { --cc-kpi-tone:#2157d9; }
    .cc-municipality-kpi--income { --cc-kpi-tone:#168bd2; }
    .cc-municipality-kpi--human { --cc-kpi-tone:#18a868; }
    .cc-municipality-card--human {
        background:radial-gradient(circle at 90% 4%,rgba(24,168,104,.08),transparent 30%),rgba(255,255,255,.70);
    }
    .cc-municipality-card--human .cc-municipality-card__node {
        background:#18a868;
        box-shadow:0 0 0 6px rgba(24,168,104,.07);
    }
    .cc-sector-bar__part--life { background:#18a868; }
    .cc-sector-bar__part--knowledge { background:#2157d9; }
    .cc-sector-bar__part--connection { background:#0ea5c6; }
    .cc-sector-bar__part--memory { background:#12aa91; }
    .cc-sector-legend__dot--life { background:#18a868; }
    .cc-sector-legend__dot--knowledge { background:#2157d9; }
    .cc-sector-legend__dot--connection { background:#0ea5c6; }
    .cc-sector-legend__dot--memory { background:#12aa91; }
    .cc-human-chart__main {
        border-color:rgba(24,168,104,.10);
        background:rgba(245,253,250,.74);
    }
    .cc-human-dimension__fill--life { background:#18a868; }
    .cc-human-dimension__fill--memory { background:#0ea5c6; }
    .cc-idhm-history path { stroke:#2157d9; filter:drop-shadow(0 5px 9px rgba(33,87,217,.15)); }
    .cc-idhm-history circle { stroke:#2157d9; }
    .cc-cross-card--economy::before { background:#2157d9; }
    .cc-cross-card--structure::before { background:#0ea5c6; }
    .cc-cross-card--human::before { background:#18a868; }
    .cc-municipality-signal--connection i { background:#0ea5c6; }
    .cc-municipality-signal--action i { background:#18a868; }
    .cc-municipality-signal--research i { background:#0d9f9a; }
    .cc-municipality-signal--imagination i { background:#2157d9; }
    .cc-municipality-error { border-color:rgba(14,165,198,.12); background:#f8fdff; }

    .cc-gravity__capability--coordinate i { background:#2157d9; }
    .cc-gravity-world__building--forum i {
        background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(33,87,217,.28));
        box-shadow:0 0 18px rgba(33,87,217,.15);
    }
    .cc-gravity-world__building--works i {
        background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(24,168,104,.30));
        box-shadow:0 0 18px rgba(24,168,104,.16);
    }
}

@layer cc.art {
    .cc-thread--realization { --cc-thread-color: rgba(14,165,198,.23); }
    .cc-thread--territorial-mind { --cc-thread-color: rgba(33,87,217,.17); }
    .cc-thread--continuity { --cc-thread-color: rgba(24,168,104,.18); }
    .cc-territorial-mind__field::before {
        background:radial-gradient(circle,rgba(33,87,217,.09),rgba(14,165,198,.04) 45%,transparent 72%);
    }
    .cc-territorial-mind__field::after {
        background:radial-gradient(circle,rgba(24,168,104,.09),rgba(18,170,145,.04) 45%,transparent 72%);
    }
    .cc-municipality-lens__atmosphere {
        background:
            radial-gradient(circle at 46% 31%,rgba(255,255,255,.92),transparent 25%),
            radial-gradient(circle at 13% 48%,rgba(14,165,198,.15),transparent 23%),
            radial-gradient(circle at 84% 38%,rgba(33,87,217,.11),transparent 24%),
            radial-gradient(circle at 75% 82%,rgba(24,168,104,.09),transparent 22%),
            radial-gradient(circle at 22% 82%,rgba(18,170,145,.08),transparent 22%);
    }
}

@layer cc.responsive {
    /* ---------------------------------------------------------------
       1600px: remove posicionamento absoluto das áreas com texto vivo.
       A composição continua sofisticada, mas passa a ser governada por Grid.
       --------------------------------------------------------------- */
    @media (max-width: 1600px) {
        .cc-circuit__phases {
            position:relative;
            inset:auto;
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            gap:14px;
            margin:0 0 24px;
            pointer-events:auto;
        }
        .cc-circuit__phase,
        .cc-circuit__phase--formation,
        .cc-circuit__phase--mobilization,
        .cc-circuit__phase--return {
            position:relative;
            inset:auto;
            width:auto;
            min-height:88px;
            padding:14px 16px 14px 18px;
            border-left:2px solid rgba(14,165,198,.22);
            border-radius:0 16px 16px 0;
            background:linear-gradient(90deg,rgba(255,255,255,.70),rgba(255,255,255,.18));
        }
        .cc-circuit__phase--formation { border-left-color:rgba(33,87,217,.28); }
        .cc-circuit__phase--mobilization { border-left-color:rgba(14,165,198,.28); }
        .cc-circuit__phase--return { border-left-color:rgba(24,168,104,.28); }
        .cc-circuit__stage { margin-top:0; }

        .cc-realization-map {
            min-height:0;
            display:grid;
            grid-template-columns:repeat(12,minmax(0,1fr));
            gap:18px;
            padding:34px;
            overflow:hidden;
        }
        .cc-realization-map__svg { display:none; }
        .cc-realization__origin,
        .cc-realization__connector,
        .cc-realization__cards,
        .cc-realization__manifestation,
        .cc-realization__manifestation--coordination,
        .cc-realization__manifestation--research,
        .cc-realization__manifestation--outcome {
            position:relative;
            inset:auto;
            left:auto;
            right:auto;
            top:auto;
            bottom:auto;
            width:100%;
            transform:none;
        }
        .cc-realization__origin { grid-column:1 / span 3; align-self:center; padding:18px 12px 18px 42px; }
        .cc-realization__connector { grid-column:4 / span 3; align-self:center; padding:18px 12px 18px 42px; }
        .cc-realization__cards {
            grid-column:1 / -1;
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            gap:16px;
        }
        .cc-realization__manifestation {
            grid-column:auto;
            margin:0;
            padding:25px 22px 23px 42px;
            border-radius:26px;
        }
        .cc-realization__manifestation--coordination,
        .cc-realization__manifestation--research,
        .cc-realization__manifestation--outcome { grid-column:auto; }
        .cc-realization__origin .cc-realization__node,
        .cc-realization__connector .cc-realization__node,
        .cc-realization__manifestation .cc-realization__node { left:9px; top:31px; }
        .cc-realization__closing {
            position:relative;
            grid-column:1 / -1;
            left:auto;
            right:auto;
            bottom:auto;
            margin:6px 0 0;
        }

        .cc-continuity {
            min-height:0;
            display:grid;
            grid-template-columns:1fr;
            gap:24px;
            padding:34px;
            overflow:hidden;
        }
        .cc-continuity__path { display:none; }
        .cc-continuity__origin,
        .cc-continuity__return,
        .cc-continuity__stage,
        .cc-continuity__stage--alexandria,
        .cc-continuity__stage--learning,
        .cc-continuity__stage--passport {
            position:relative;
            inset:auto;
            left:auto;
            right:auto;
            top:auto;
            bottom:auto;
            width:100%;
        }
        .cc-continuity__origin {
            max-width:62ch;
            margin:0;
            padding:4px 0;
        }
        .cc-continuity__stages {
            position:relative;
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            gap:18px;
        }
        .cc-continuity__stage article { height:100%; }
        .cc-continuity__return {
            max-width:860px;
            margin:0 auto;
            padding:20px 22px;
            border:1px solid rgba(33,87,217,.10);
            border-radius:22px;
            background:linear-gradient(105deg,rgba(255,255,255,.90),rgba(239,250,255,.74),rgba(240,252,247,.76));
            box-shadow:0 14px 40px rgba(29,72,105,.06);
        }

        .cc-territorial-mind__field {
            min-height:0;
            display:grid;
            grid-template-columns:1fr;
            gap:28px;
            padding:34px;
        }
        .cc-territorial-mind__paths { display:none; }
        .cc-territorial-mind__core {
            position:relative;
            left:auto;
            top:auto;
            translate:none;
            width:min(270px,70vw);
            min-height:min(270px,70vw);
            margin:0 auto;
        }
        .cc-territorial-mind__stages {
            position:relative;
            display:grid;
            grid-template-columns:repeat(2,minmax(0,1fr));
            gap:18px;
        }
        .cc-territorial-mind__stage,
        .cc-territorial-mind__stage--visions,
        .cc-territorial-mind__stage--agendas,
        .cc-territorial-mind__stage--memory,
        .cc-territorial-mind__stage--horizon {
            position:relative;
            inset:auto;
            width:100%;
        }
        .cc-territorial-mind__stage article { height:100%; }
    }

    @media (max-width: 1100px) {
        .cc-realization__origin { grid-column:1 / span 6; }
        .cc-realization__connector { grid-column:7 / span 6; }
        .cc-realization__cards { grid-template-columns:1fr; }
        .cc-continuity__stages { grid-template-columns:1fr; }
        .cc-territorial-mind__stages { grid-template-columns:1fr; }
        .cc-circuit__phases { grid-template-columns:1fr; }
    }

    @media (max-width: 760px) {
        :root { --cc-section-space: clamp(68px,19vw,104px); }
        .cc-shell { backdrop-filter:blur(12px); }
        .cc-shell__inner { gap:12px; }
        .cc-shell__login { min-width:72px; }
        .cc-realization-map,
        .cc-continuity,
        .cc-territorial-mind__field { padding:24px 18px; border-radius:28px; }
        .cc-realization__origin,
        .cc-realization__connector { grid-column:1 / -1; }
        .cc-realization__toggle { grid-template-columns:1fr; }
        .cc-realization__toggle-meta { justify-self:start; }
        .cc-continuity__return { margin:0; }
        .cc-source-row { overflow-wrap:anywhere; }

        /* Mobile: efeitos ambientais caros deixam de competir com leitura e bateria. */
        .cc-realization-map::after,
        .cc-territorial-mind__field::before,
        .cc-territorial-mind__field::after,
        .cc-continuity::after { animation:none !important; }
        .cc-realization__manifestation,
        .cc-continuity__stage article,
        .cc-territorial-mind__stage article,
        .cc-proof-story,
        .cc-municipality-card,
        .cc-municipality-kpi { backdrop-filter:none; }
    }

    @media (max-width: 430px) {
        .cc-shell__inner { min-height:60px; }
        .cc-brand__wording small { letter-spacing:.08em; }
        .cc-section h2 { overflow-wrap:normal; word-break:normal; }
        .cc-municipality-panel,
        .cc-proof-live { border-radius:24px; }
        .cc-municipality-search__field { min-height:52px; }
    }
}

@layer cc.motion {
    @media (max-width:760px) and (prefers-reduced-motion:no-preference) {
        .cc-realization__manifestation.cc-is-open,
        .cc-territorial-mind__path--light,
        .cc-continuity__stage-node,
        .cc-continuity__return-node { animation:none; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-circuit__pulse { display:none !important; }
    }
    @media (forced-colors: active) {
        .cc-realization-map,
        .cc-continuity,
        .cc-territorial-mind__field { background:Canvas; border:1px solid CanvasText; box-shadow:none; }
    }
}

/* HOME.R4 QA FIX | Layouts de fluxo sempre seguros, inclusive 1920px. */
@layer cc.sections {
    .cc-realization-map {
        min-height:0;
        display:grid;
        grid-template-columns:repeat(12,minmax(0,1fr));
        gap:18px;
        padding:clamp(30px,3vw,46px);
        overflow:hidden;
    }
    .cc-realization-map__svg { display:none; }
    .cc-realization__origin,
    .cc-realization__connector,
    .cc-realization__cards,
    .cc-realization__manifestation,
    .cc-realization__manifestation--coordination,
    .cc-realization__manifestation--research,
    .cc-realization__manifestation--outcome {
        position:relative;
        inset:auto;
        left:auto;
        right:auto;
        top:auto;
        bottom:auto;
        width:100%;
        transform:none;
    }
    .cc-realization__origin { grid-column:2 / span 4; align-self:center; padding:18px 12px 18px 42px; }
    .cc-realization__connector { grid-column:7 / span 4; align-self:center; padding:18px 12px 18px 42px; }
    .cc-realization__cards {
        position:relative;
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
        margin-top:8px;
    }
    .cc-realization__cards::before {
        content:"";
        position:absolute;
        z-index:0;
        left:8%;
        right:8%;
        top:-14px;
        height:2px;
        border-radius:999px;
        background:linear-gradient(90deg,rgba(33,87,217,.18),rgba(14,165,198,.25),rgba(24,168,104,.18));
        box-shadow:0 0 20px rgba(14,165,198,.10);
        pointer-events:none;
    }
    .cc-realization__manifestation { grid-column:auto; margin:0; padding:25px 22px 23px 42px; }
    .cc-realization__manifestation--coordination,
    .cc-realization__manifestation--research,
    .cc-realization__manifestation--outcome { grid-column:auto; }
    .cc-realization__origin .cc-realization__node,
    .cc-realization__connector .cc-realization__node,
    .cc-realization__manifestation .cc-realization__node { left:9px; top:31px; }
    .cc-realization__closing {
        position:relative;
        grid-column:1 / -1;
        left:auto;
        right:auto;
        bottom:auto;
        margin:8px 0 0;
    }

    .cc-continuity {
        min-height:0;
        display:grid;
        grid-template-columns:1fr;
        gap:24px;
        padding:clamp(30px,3vw,46px);
        overflow:hidden;
    }
    .cc-continuity__path { display:none; }
    .cc-continuity__origin,
    .cc-continuity__return,
    .cc-continuity__stage,
    .cc-continuity__stage--alexandria,
    .cc-continuity__stage--learning,
    .cc-continuity__stage--passport {
        position:relative;
        inset:auto;
        left:auto;
        right:auto;
        top:auto;
        bottom:auto;
        width:100%;
    }
    .cc-continuity__origin { max-width:62ch; margin:0; padding:4px 0; }
    .cc-continuity__stages {
        position:relative;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
    }
    .cc-continuity__stages::before {
        content:"";
        position:absolute;
        z-index:0;
        left:7%;
        right:7%;
        top:-12px;
        height:2px;
        border-radius:999px;
        background:linear-gradient(90deg,rgba(24,168,104,.20),rgba(14,165,198,.24),rgba(33,87,217,.20));
        box-shadow:0 0 20px rgba(14,165,198,.09);
        pointer-events:none;
    }
    .cc-continuity__stage { z-index:1; }
    .cc-continuity__stage article { height:100%; }
    .cc-continuity__return {
        max-width:900px;
        margin:0 auto;
        padding:20px 22px;
        border:1px solid rgba(33,87,217,.10);
        border-radius:22px;
        background:linear-gradient(105deg,rgba(255,255,255,.92),rgba(239,250,255,.78),rgba(240,252,247,.78));
        box-shadow:0 14px 40px rgba(29,72,105,.06);
    }
}

@layer cc.responsive {
    @media (max-width:1100px) {
        .cc-realization__origin { grid-column:1 / span 6; }
        .cc-realization__connector { grid-column:7 / span 6; }
        .cc-realization__cards,
        .cc-continuity__stages { grid-template-columns:1fr; }
        .cc-realization__cards::before,
        .cc-continuity__stages::before { display:none; }
    }
    @media (max-width:760px) {
        .cc-realization__origin,
        .cc-realization__connector { grid-column:1 / -1; }
        .cc-realization-map,
        .cc-continuity { padding:24px 18px; }
    }
}

/* HOME.R4B | Homologação final: combobox, contraste e estado de carregamento. */
@layer cc.components {
    .cc-municipality-search__results button[aria-selected="true"] {
        background:linear-gradient(90deg,rgba(14,165,198,.10),rgba(24,168,104,.07));
        box-shadow:inset 3px 0 0 #0ea5c6;
    }
    .cc-municipality-panel[aria-busy="true"] {
        cursor:progress;
    }
    .cc-municipality-panel[aria-busy="true"]::after {
        content:"";
        position:absolute;
        z-index:12;
        top:18px;
        right:18px;
        width:18px;
        height:18px;
        border:2px solid rgba(14,165,198,.18);
        border-top-color:#0ea5c6;
        border-radius:50%;
        animation:cc-r4b-spin .75s linear infinite;
    }
}

@layer cc.motion {
    @keyframes cc-r4b-spin { to { transform:rotate(360deg); } }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-municipality-panel[aria-busy="true"]::after { animation:none; }
    }
    @media (prefers-contrast: more) {
        .cc-municipality-search__results button[aria-selected="true"] {
            outline:2px solid currentColor;
            outline-offset:-2px;
            box-shadow:none;
        }
        .cc-municipality-kpi,
        .cc-municipality-card,
        .cc-cross-card,
        .cc-proof-story,
        .cc-realization__manifestation,
        .cc-continuity__stage article {
            border-color:rgba(11,54,78,.34);
        }
    }
    @media (forced-colors: active) {
        .cc-municipality-search__results button[aria-selected="true"] {
            outline:2px solid Highlight;
            background:Canvas;
            color:CanvasText;
        }
        .cc-municipality-panel[aria-busy="true"]::after {
            border-color:CanvasText;
        }
    }
}


/* ==========================================================
   HOME.R4B.1 | Ajustes visuais finais de composição
   - Hero: H1 contido no seu campo editorial
   - Circuito: Mobilização afastada do nó Capacidade em desktop amplo
   - Realização: módulos/títulos sem colisão e cards fechados compactos
   ========================================================== */
@layer cc.sections {
    .cc-hero__grid {
        grid-template-columns: minmax(0,5.45fr) minmax(500px,6.55fr);
        gap: clamp(38px,4.6vw,72px);
    }
    .cc-hero__copy {
        min-width: 0;
        max-width: 100%;
        container-type: inline-size;
        position: relative;
        z-index: 2;
    }
    .cc-hero h1 {
        max-width: 100%;
        font-size: clamp(3.25rem,13cqw,5.65rem);
        line-height: .92;
        letter-spacing: -.064em;
        text-wrap: balance;
    }

    /* Em desktop muito amplo as fases voltam ao campo orgânico.
       Mobilização não deve disputar o mesmo eixo do nó Capacidade. */
    .cc-circuit__phase--mobilization {
        left: 81%;
        right: auto;
        top: 27%;
        width: min(220px,18vw);
    }

    .cc-realization__cards {
        align-items: start;
    }
    .cc-realization__manifestation {
        align-self: start;
    }
    .cc-realization__toggle {
        display: grid;
        grid-template-columns: minmax(0,1fr);
        grid-template-areas:
            "module"
            "headline"
            "meta";
        gap: 10px;
        align-items: start;
    }
    .cc-realization__module {
        grid-area: module;
        position: static;
        width: auto;
        max-width: 100%;
        margin: 0;
        padding: 0;
        color: #52718a;
        font-size: .64rem;
        line-height: 1.28;
        letter-spacing: .105em;
        overflow-wrap: normal;
        word-break: normal;
        text-wrap: balance;
    }
    .cc-realization__headline {
        grid-area: headline;
        gap: 9px;
        width: 100%;
    }
    .cc-realization__toggle-meta {
        grid-area: meta;
        justify-self: start;
        margin-top: 2px;
    }
    .cc-realization__node {
        z-index: 3;
    }
}

@layer cc.responsive {
    @media (max-width: 1600px) {
        /* R4 já converte as fases para Grid neste breakpoint.
           Neutraliza as coordenadas do desktop amplo explicitamente. */
        .cc-circuit__phase--mobilization {
            left: auto;
            right: auto;
            top: auto;
            width: auto;
        }
    }

    @media (max-width: 1250px) and (min-width: 1051px) {
        .cc-hero__grid {
            grid-template-columns: minmax(0,5.65fr) minmax(455px,6.35fr);
            gap: clamp(30px,3.5vw,52px);
        }
        .cc-hero h1 {
            font-size: clamp(3.2rem,13.25cqw,4.95rem);
        }
    }

    @media (max-width: 1050px) {
        .cc-hero__grid { grid-template-columns: 1fr; }
        .cc-hero h1 {
            max-width: 780px;
            font-size: clamp(3.35rem,10vw,5.7rem);
        }
    }

    @media (max-width: 680px) {
        .cc-hero h1 {
            max-width: 100%;
            font-size: clamp(3rem,15.5vw,4.65rem);
            line-height: .92;
            letter-spacing: -.06em;
        }
        .cc-realization__module {
            font-size: .61rem;
            letter-spacing: .09em;
        }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-realization__manifestation { transform:none !important; }
    }
}


/* ==========================================================
   HOME.VIS.1B | Física simbólica do Capital Cognitivo
   Hero: campo gravitacional cognitivo
   CrieGravity: cosmologia espacial do conhecimento
   Identidade: azul -> ciano -> verde
   ========================================================== */
@layer cc.tokens {
    :root {
        --cc-physics-blue: #2563eb;
        --cc-physics-cyan: #0ea5c6;
        --cc-physics-green: #22a06b;
        --cc-physics-white: #f8fdff;
    }
}

@layer cc.art {
    [data-cc-physics-field] {
        --cc-physics-x: 0px;
        --cc-physics-y: 0px;
    }

    /* ---------- HERO | Campo Cognitivo Primário ---------- */
    .cc-field {
        overflow: hidden;
        isolation: isolate;
        border: 1px solid rgba(51,108,142,.10);
        border-radius: clamp(34px,4vw,58px);
        background:
            radial-gradient(circle at 44% 43%, rgba(255,255,255,.98) 0 9%, rgba(210,245,250,.52) 31%, transparent 59%),
            radial-gradient(circle at 79% 78%, rgba(34,160,107,.065), transparent 29%),
            linear-gradient(180deg,rgba(255,255,255,.88),rgba(243,251,255,.82));
        box-shadow:
            0 38px 100px rgba(31,83,111,.12),
            0 14px 42px rgba(37,99,235,.045),
            inset 0 1px 0 rgba(255,255,255,.98),
            inset 0 -32px 80px rgba(14,165,198,.028);
    }
    .cc-field::before {
        content:"";
        position:absolute;
        inset:-18%;
        z-index:0;
        pointer-events:none;
        background:
            radial-gradient(circle at 30% 28%,rgba(37,99,235,.07),transparent 25%),
            radial-gradient(circle at 67% 38%,rgba(14,165,198,.09),transparent 28%),
            radial-gradient(circle at 48% 74%,rgba(34,160,107,.055),transparent 30%);
        filter:blur(36px);
    }
    .cc-field::after {
        content:"";
        position:absolute;
        inset:0;
        z-index:8;
        pointer-events:none;
        border-radius:inherit;
        box-shadow:inset 0 0 90px rgba(255,255,255,.62);
    }
    .cc-field__aurora { opacity:.72; filter:blur(15px); }
    .cc-field__cosmos {
        position:absolute;
        inset:0;
        z-index:1;
        pointer-events:none;
        transform:translate3d(var(--cc-physics-x),var(--cc-physics-y),0);
        transition:transform .45s cubic-bezier(.2,.7,.2,1);
        will-change:transform;
    }
    .cc-field__physics { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
    .cc-field__gravity-well { opacity:.74; }
    .cc-field__orbit {
        fill:none;
        stroke:rgba(60,151,201,.14);
        stroke-width:1.15;
        stroke-dasharray:4 12;
        vector-effect:non-scaling-stroke;
        transform-box:fill-box;
        transform-origin:center;
    }
    .cc-field__orbit--b { stroke:rgba(37,99,235,.10); }
    .cc-field__orbit--c { stroke:rgba(34,160,107,.08); }
    .cc-field__flow {
        fill:none;
        stroke-width:2.35;
        stroke-linecap:round;
        opacity:.58;
        vector-effect:non-scaling-stroke;
        filter:drop-shadow(0 0 5px rgba(14,165,198,.18));
        stroke-dasharray:12 9;
    }
    .cc-field__traveler { filter:drop-shadow(0 0 7px currentColor); }
    .cc-field__traveler--blue { fill:#5c94ff; color:#5c94ff; }
    .cc-field__traveler--cyan { fill:#46d2e9; color:#46d2e9; }
    .cc-field__traveler--green { fill:#4fca91; color:#4fca91; }
    .cc-field__core-light--halo { fill:rgba(107,198,255,.18); filter:blur(5px); }
    .cc-field__core-light--star { fill:#f8fdff; filter:drop-shadow(0 0 10px #6bc6ff); }
    .cc-field__star {
        position:absolute;
        width:4px;
        height:4px;
        border-radius:50%;
        background:#fff;
        box-shadow:0 0 0 4px rgba(130,212,242,.035),0 0 14px rgba(92,181,227,.48);
        opacity:.5;
    }
    .cc-field__star--1{left:9%;top:13%}.cc-field__star--2{left:31%;top:9%}.cc-field__star--3{left:63%;top:14%}.cc-field__star--4{left:88%;top:35%}.cc-field__star--5{left:73%;top:68%}.cc-field__star--6{left:38%;top:81%}.cc-field__star--7{left:12%;top:59%}
    .cc-field__link { display:none; }
    .cc-field__brand { z-index:6; }
    .cc-node {
        z-index:6;
        padding:8px 11px;
        border:1px solid rgba(46,104,137,.08);
        border-radius:999px;
        background:rgba(255,255,255,.72);
        box-shadow:0 9px 25px rgba(29,75,101,.06),inset 0 1px 0 rgba(255,255,255,.94);
        backdrop-filter:blur(10px);
    }
    .cc-node i { position:relative; }
    .cc-node i::after {
        content:"";
        position:absolute;
        inset:-8px;
        border:1px solid rgba(14,165,198,.12);
        border-radius:50%;
        opacity:.58;
    }
    .cc-node--core {
        background:rgba(255,255,255,.88);
        box-shadow:0 15px 36px rgba(37,99,235,.11),inset 0 1px 0 rgba(255,255,255,.98);
    }
    .cc-node--impact i { background:var(--cc-physics-green); box-shadow:0 0 0 9px rgba(34,160,107,.08),0 10px 28px rgba(34,160,107,.15); }

    /* ---------- CRIEGRAVITY | Cosmologia Espacial ---------- */
    .cc-gravity-world {
        background:
            radial-gradient(circle at 50% 59%,rgba(255,255,255,.99) 0 7%,rgba(199,239,249,.48) 25%,transparent 54%),
            radial-gradient(circle at 70% 22%,rgba(37,99,235,.055),transparent 25%),
            radial-gradient(circle at 21% 74%,rgba(34,160,107,.075),transparent 26%),
            linear-gradient(180deg,rgba(255,255,255,.94),rgba(236,249,252,.86));
        box-shadow:
            0 52px 130px rgba(31,83,111,.16),
            0 18px 55px rgba(37,99,235,.055),
            inset 0 1px 0 rgba(255,255,255,.98),
            inset 0 -42px 100px rgba(14,165,198,.04);
    }
    .cc-gravity-world__cosmos {
        position:absolute;
        inset:0;
        z-index:3;
        pointer-events:none;
        transform:translate3d(var(--cc-physics-x),var(--cc-physics-y),0);
        transition:transform .55s cubic-bezier(.2,.7,.2,1);
        will-change:transform;
    }
    .cc-gravity-world__physics { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
    .cc-gravity-world__solar-field { opacity:.82; }
    .cc-gravity-world__orbit {
        fill:none;
        stroke:rgba(39,128,166,.13);
        stroke-width:1.15;
        stroke-dasharray:5 13;
        vector-effect:non-scaling-stroke;
        transform-box:fill-box;
        transform-origin:center;
    }
    .cc-gravity-world__orbit--b { stroke:rgba(37,99,235,.095); }
    .cc-gravity-world__orbit--c { stroke:rgba(34,160,107,.075); }
    .cc-gravity-world__ray {
        fill:none;
        stroke-width:2.4;
        stroke-linecap:round;
        opacity:.55;
        vector-effect:non-scaling-stroke;
        stroke-dasharray:12 10;
        filter:drop-shadow(0 0 6px rgba(14,165,198,.18));
    }
    .cc-gravity-world__traveler { filter:drop-shadow(0 0 8px currentColor); }
    .cc-gravity-world__traveler--blue { fill:#5f98ff; color:#5f98ff; }
    .cc-gravity-world__traveler--cyan { fill:#47d1e5; color:#47d1e5; }
    .cc-gravity-world__traveler--green { fill:#4ec98f; color:#4ec98f; }
    .cc-gravity-world__star {
        position:absolute;
        width:4px;
        height:4px;
        border-radius:50%;
        background:#fff;
        box-shadow:0 0 14px rgba(105,195,232,.56);
        opacity:.48;
    }
    .cc-gravity-world__star--1{left:10%;top:11%}.cc-gravity-world__star--2{left:24%;top:19%}.cc-gravity-world__star--3{left:42%;top:8%}.cc-gravity-world__star--4{left:63%;top:15%}.cc-gravity-world__star--5{left:83%;top:13%}.cc-gravity-world__star--6{left:91%;top:45%}.cc-gravity-world__star--7{left:67%;top:74%}.cc-gravity-world__star--8{left:33%;top:67%}
    .cc-gravity-world__routes { opacity:.24; }
    .cc-gravity-world__center { z-index:7; }
    .cc-gravity-world__center-halo {
        inset:-42px;
        border:1px solid rgba(14,165,198,.13);
        background:
            radial-gradient(circle,rgba(255,255,255,.98) 0 16%,rgba(102,209,232,.14) 34%,rgba(37,99,235,.07) 51%,transparent 72%);
        box-shadow:0 0 74px rgba(14,165,198,.19),0 0 120px rgba(37,99,235,.07);
    }
    .cc-gravity-world__center-core {
        width:34px;
        height:34px;
        background:radial-gradient(circle at 36% 28%,#fff 0 10%,#8ce3ee 23%,#367de4 61%,#143e9e 100%);
        box-shadow:0 0 0 14px rgba(37,99,235,.055),0 0 45px rgba(14,165,198,.34),0 20px 50px rgba(37,99,235,.18),inset 0 1px 4px rgba(255,255,255,.9);
    }
    .cc-gravity-world__district { z-index:6; }
    .cc-gravity-world__building {
        filter:drop-shadow(0 24px 28px rgba(31,79,104,.12)) drop-shadow(0 0 15px rgba(14,165,198,.06));
    }
    .cc-gravity-world__building i { background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(14,165,198,.23)); box-shadow:0 0 20px rgba(14,165,198,.16); }
    .cc-gravity-world__building--lab i { background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(32,180,190,.26)); box-shadow:0 0 20px rgba(14,165,198,.17); }
    .cc-gravity-world__building--forum i { background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(37,99,235,.25)); box-shadow:0 0 20px rgba(37,99,235,.15); }
    .cc-gravity-world__building--works i { background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(34,160,107,.29)); box-shadow:0 0 21px rgba(34,160,107,.18); }
    .cc-gravity__capability--investigate i { background:#0ea5c6; }
    .cc-gravity__capability--realize i { background:#22a06b; }
}

@layer cc.motion {
    @media (prefers-reduced-motion:no-preference) {
        .cc-field__orbit--a { animation:cc-physics-orbit 34s linear infinite; }
        .cc-field__orbit--b { animation:cc-physics-orbit-reverse 48s linear infinite; }
        .cc-field__orbit--c { animation:cc-physics-orbit 66s linear infinite; }
        .cc-field__flow { animation:cc-physics-flow 18s linear infinite; }
        .cc-field__gravity-well { animation:cc-physics-pulse 8s ease-in-out infinite alternate; }
        .cc-field__core-light--halo { animation:cc-physics-core-halo 5.8s ease-in-out infinite alternate; }
        .cc-field__core-light--star { animation:cc-physics-star-pulse 4.4s ease-in-out infinite alternate; }
        .cc-field__star:nth-child(2n) { animation:cc-physics-twinkle 7s ease-in-out infinite alternate; }
        .cc-field__star:nth-child(2n+1) { animation:cc-physics-twinkle 9s ease-in-out -2s infinite alternate; }
        .cc-node i::after { animation:cc-physics-node-ring 7s ease-in-out infinite; }

        .cc-gravity-world__orbit--a { animation:cc-physics-orbit 42s linear infinite; }
        .cc-gravity-world__orbit--b { animation:cc-physics-orbit-reverse 57s linear infinite; }
        .cc-gravity-world__orbit--c { animation:cc-physics-orbit 75s linear infinite; }
        .cc-gravity-world__ray { animation:cc-physics-flow 21s linear infinite; }
        .cc-gravity-world__solar-field { animation:cc-physics-pulse 8.5s ease-in-out infinite alternate; }
        .cc-gravity-world__star:nth-child(2n) { animation:cc-physics-twinkle 8s ease-in-out infinite alternate; }
        .cc-gravity-world__star:nth-child(2n+1) { animation:cc-physics-twinkle 10s ease-in-out -3s infinite alternate; }

        @keyframes cc-physics-flow { to { stroke-dashoffset:-210; } }
        @keyframes cc-physics-orbit { to { transform:rotate(360deg); } }
        @keyframes cc-physics-orbit-reverse { to { transform:rotate(-360deg); } }
        @keyframes cc-physics-pulse { from { opacity:.58; transform:scale(.97); } to { opacity:.92; transform:scale(1.035); } }
        @keyframes cc-physics-core-halo { from { opacity:.38; transform:scale(.9); } to { opacity:.8; transform:scale(1.15); } }
        @keyframes cc-physics-star-pulse { from { opacity:.72; transform:scale(.86); } to { opacity:1; transform:scale(1.25); } }
        @keyframes cc-physics-twinkle { from { opacity:.20; transform:scale(.72); } to { opacity:.88; transform:scale(1.36); } }
        @keyframes cc-physics-node-ring { 0%,100% { transform:scale(.72); opacity:0; } 35% { opacity:.5; } 70% { transform:scale(1.35); opacity:0; } }
    }
}

@layer cc.responsive {
    @media (max-width:1050px) {
        .cc-field { min-height:540px; aspect-ratio:1.14; }
    }
    @media (max-width:680px) {
        .cc-field { min-height:430px; border-radius:30px; }
        .cc-field__brand { transform:scale(.88); transform-origin:left top; }
        .cc-node { padding:6px 8px; font-size:.68rem; }
        .cc-node i { width:10px; height:10px; }
        .cc-node--core { left:42%; top:46%; }
        .cc-node--person { left:9%; top:27%; }
        .cc-node--organization { right:3%; top:24%; }
        .cc-node--territory { left:10%; bottom:13%; }
        .cc-node--impact { right:4%; bottom:15%; }
        .cc-gravity-world__cosmos { opacity:.82; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion:reduce) {
        .cc-field__cosmos,
        .cc-gravity-world__cosmos { transform:none !important; transition:none !important; }
        .cc-field__orbit,
        .cc-field__flow,
        .cc-field__gravity-well,
        .cc-field__core-light,
        .cc-field__star,
        .cc-node i::after,
        .cc-gravity-world__orbit,
        .cc-gravity-world__ray,
        .cc-gravity-world__solar-field,
        .cc-gravity-world__star { animation:none !important; }
        .cc-field__traveler,
        .cc-gravity-world__traveler { display:none; }
    }
}


/* ==========================================================
   HOME.VIS.1C0 | Massas cognitivas, ressonância e retroalimentação
   A física permanece em SVG/CSS. As imagens entram apenas como matéria.
   ========================================================== */
@layer cc.art {
    .cc-field { --cc-mass-shift-x: var(--cc-physics-x, 0px); --cc-mass-shift-y: var(--cc-physics-y, 0px); }
    .cc-field__feedback {
        fill:none;
        stroke:url(#ccHeroFlowGreen);
        stroke-width:2.2;
        stroke-linecap:round;
        stroke-dasharray:6 10;
        vector-effect:non-scaling-stroke;
        opacity:.28;
        filter:drop-shadow(0 0 8px rgba(34,160,107,.18));
    }
    .cc-field__traveler--feedback { fill:#74ddb2; color:#74ddb2; filter:drop-shadow(0 0 10px rgba(34,160,107,.62)); }
    .cc-field__resonance {
        fill:none;
        stroke:#75d8eb;
        stroke-width:1.4;
        opacity:0;
        transform-box:fill-box;
        transform-origin:center;
        vector-effect:non-scaling-stroke;
        filter:drop-shadow(0 0 8px rgba(14,165,198,.28));
    }
    .cc-field__resonance--territory,
    .cc-field__resonance--realization { stroke:#5fd29b; filter:drop-shadow(0 0 8px rgba(34,160,107,.28)); }
    .cc-field__resonance--core { stroke:#78a8ff; }

    .cc-node { z-index:5; overflow:visible; }
    .cc-node__mass {
        position:absolute;
        z-index:-1;
        left:50%;
        top:50%;
        width:74px;
        height:74px;
        border-radius:50%;
        pointer-events:none;
        transform:translate(calc(-50% + var(--cc-mass-shift-x)), calc(-50% + var(--cc-mass-shift-y)));
        transform-origin:center;
        opacity:.96;
    }
    .cc-node--core .cc-node__mass { width:118px; height:118px; }
    .cc-node__mass img {
        display:block;
        width:100%;
        height:100%;
        object-fit:contain;
        filter:drop-shadow(0 14px 24px rgba(28,75,111,.15)) drop-shadow(0 0 20px rgba(14,165,198,.10));
        transform:scale(1.12);
    }
    .cc-node__mass--image::after {
        content:"";
        position:absolute;
        inset:18%;
        z-index:-1;
        border-radius:50%;
        background:radial-gradient(circle,rgba(255,255,255,.88),rgba(14,165,198,.11) 38%,transparent 72%);
        filter:blur(9px);
    }
    .cc-node__mass--fallback {
        background:
            radial-gradient(circle at 37% 33%,rgba(255,255,255,.98) 0 6%,rgba(126,217,241,.74) 9%,rgba(37,99,235,.33) 26%,rgba(14,165,198,.12) 46%,transparent 68%);
        box-shadow:0 0 24px rgba(14,165,198,.09);
    }
    .cc-node__mass--fallback::before,
    .cc-node__mass--fallback::after {
        content:"";
        position:absolute;
        inset:18%;
        border:1px solid rgba(86,179,220,.24);
        border-radius:50%;
        transform:rotate(-24deg) scaleX(1.45);
    }
    .cc-node__mass--fallback::after { inset:27%; transform:rotate(38deg) scaleX(1.7); border-color:rgba(34,160,107,.20); }
    .cc-node__mass--territory.cc-node__mass--fallback {
        background:radial-gradient(ellipse at 42% 42%,rgba(255,255,255,.95),rgba(81,205,154,.40) 20%,rgba(14,165,198,.14) 45%,transparent 70%);
    }
    .cc-node__mass--realization.cc-node__mass--fallback {
        background:radial-gradient(circle at 42% 38%,rgba(255,255,255,.95),rgba(73,202,139,.48) 20%,rgba(14,165,198,.12) 48%,transparent 72%);
    }
    .cc-node.cc-is-resonating .cc-node__mass {
        filter:drop-shadow(0 0 18px rgba(14,165,198,.26));
    }
    .cc-node--territory.cc-is-resonating .cc-node__mass,
    .cc-node--impact.cc-is-resonating .cc-node__mass { filter:drop-shadow(0 0 18px rgba(34,160,107,.28)); }
    .cc-node.cc-is-resonating i { box-shadow:0 0 0 11px rgba(14,165,198,.13),0 0 32px rgba(14,165,198,.28); }
    .cc-node--territory.cc-is-resonating i,
    .cc-node--impact.cc-is-resonating i { box-shadow:0 0 0 11px rgba(34,160,107,.13),0 0 32px rgba(34,160,107,.28); }
}

@layer cc.motion {
    @media (prefers-reduced-motion:no-preference) {
        .cc-field__feedback { animation:cc-physics-flow 22s linear infinite reverse; }
        .cc-field__resonance--person { animation:cc-mass-resonance 7.6s ease-out infinite; }
        .cc-field__resonance--organization { animation:cc-mass-resonance 9.1s 2.8s ease-out infinite; }
        .cc-field__resonance--territory { animation:cc-mass-resonance-green 10.4s 4.7s ease-out infinite; }
        .cc-field__resonance--realization { animation:cc-mass-resonance-green 8.8s 1.9s ease-out infinite; }
        .cc-field__resonance--core { animation:cc-mass-core-resonance 5.6s ease-out infinite; }
        .cc-node__mass { animation:cc-mass-float 8s ease-in-out infinite alternate; }
        .cc-node--organization .cc-node__mass { animation-delay:-1.8s; animation-duration:9.5s; }
        .cc-node--territory .cc-node__mass { animation-delay:-3.1s; animation-duration:10.4s; }
        .cc-node--impact .cc-node__mass { animation-delay:-4.6s; animation-duration:8.7s; }
        .cc-node--core .cc-node__mass { animation-duration:6.5s; }
        .cc-node.cc-is-resonating .cc-node__mass { animation:cc-mass-hit .78s cubic-bezier(.22,.85,.28,1), cc-mass-float 8s ease-in-out .78s infinite alternate; }
        @keyframes cc-mass-resonance { 0%,72%,100%{opacity:0;transform:scale(.65)} 78%{opacity:.72} 93%{opacity:0;transform:scale(2.2)} }
        @keyframes cc-mass-resonance-green { 0%,68%,100%{opacity:0;transform:scale(.65)} 76%{opacity:.72} 93%{opacity:0;transform:scale(2.25)} }
        @keyframes cc-mass-core-resonance { 0%,62%,100%{opacity:0;transform:scale(.72)} 70%{opacity:.56} 94%{opacity:0;transform:scale(1.9)} }
        @keyframes cc-mass-float { from{margin-top:-1px} to{margin-top:3px} }
        @keyframes cc-mass-hit { 0%{scale:1} 38%{scale:1.12} 100%{scale:1} }
    }
}

@layer cc.responsive {
    @media (max-width:1050px) {
        .cc-node__mass { width:62px; height:62px; opacity:.88; }
        .cc-node--core .cc-node__mass { width:98px; height:98px; }
    }
    @media (max-width:680px) {
        .cc-node__mass { width:46px; height:46px; opacity:.72; }
        .cc-node--core .cc-node__mass { width:72px; height:72px; }
        .cc-node__mass img { transform:scale(1.04); }
        .cc-field__feedback { opacity:.16; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion:reduce) {
        .cc-field__feedback,
        .cc-field__resonance,
        .cc-node__mass { animation:none !important; }
        .cc-node__mass { transform:translate(-50%,-50%) !important; }
    }
}


/* ==========================================================
   HOME.VIS.1C1 | CrieGravity como sistema orbital institucional
   Campo gravitacional, energia entre polos, retorno e horizonte vivo
   ========================================================== */
@layer cc.components {
    .cc-gravity-world {
        --cc-gravity-blue:#2563eb;
        --cc-gravity-cyan:#0ea5c6;
        --cc-gravity-green:#22a06b;
    }

    .cc-gravity-world__physics { overflow:visible; }

    .cc-gravity-world__lattice,
    .cc-gravity-world__feedback-system {
        pointer-events:none;
    }

    .cc-gravity-world__network,
    .cc-gravity-world__feedback {
        fill:none;
        vector-effect:non-scaling-stroke;
        stroke-linecap:round;
        filter:drop-shadow(0 0 7px rgba(14,165,198,.13));
    }

    .cc-gravity-world__network {
        stroke-width:1.35;
        stroke-dasharray:3 11;
        opacity:.24;
    }

    .cc-gravity-world__feedback {
        stroke-width:2;
        stroke-dasharray:4 9;
        opacity:.34;
        filter:drop-shadow(0 0 8px rgba(34,160,107,.17));
    }

    .cc-gravity-world__traveler--lattice { opacity:.82; }
    .cc-gravity-world__traveler--feedback {
        opacity:.96;
        filter:drop-shadow(0 0 11px currentColor);
    }

    .cc-gravity-world__horizon-signals {
        position:absolute;
        z-index:2;
        inset:0;
        overflow:hidden;
        pointer-events:none;
        mask-image:linear-gradient(180deg,transparent 27%,#000 50%,transparent 78%);
    }

    .cc-gravity-world__horizon-signals span {
        position:absolute;
        left:50%;
        top:55%;
        width:26%;
        height:1px;
        border-radius:999px;
        background:linear-gradient(90deg,transparent,rgba(14,165,198,.30),rgba(37,99,235,.16),transparent);
        transform-origin:left center;
        opacity:.35;
        box-shadow:0 0 14px rgba(14,165,198,.12);
    }
    .cc-gravity-world__horizon-signals span:nth-child(1){transform:rotate(-21deg) scaleX(.84)}
    .cc-gravity-world__horizon-signals span:nth-child(2){transform:rotate(-10deg) scaleX(1.05)}
    .cc-gravity-world__horizon-signals span:nth-child(3){transform:rotate(1deg) scaleX(1.18)}
    .cc-gravity-world__horizon-signals span:nth-child(4){transform:rotate(12deg) scaleX(1.01)}
    .cc-gravity-world__horizon-signals span:nth-child(5){transform:rotate(24deg) scaleX(.82)}

    .cc-gravity-world__resonance {
        position:absolute;
        z-index:-1;
        left:50%;
        top:46%;
        width:86px;
        height:86px;
        border:1px solid rgba(14,165,198,.22);
        border-radius:50%;
        opacity:0;
        transform:translate(-50%,-50%) scale(.64);
        box-shadow:0 0 22px rgba(14,165,198,.10);
        pointer-events:none;
    }

    .cc-gravity-world__district--realize .cc-gravity-world__resonance,
    .cc-gravity-world__district--regenerate .cc-gravity-world__resonance {
        border-color:rgba(34,160,107,.24);
        box-shadow:0 0 24px rgba(34,160,107,.11);
    }

    .cc-gravity-world__center .cc-gravity-world__resonance {
        z-index:0;
        left:50%;
        top:50%;
        width:138px;
        height:138px;
        border-color:rgba(37,99,235,.22);
        box-shadow:0 0 35px rgba(14,165,198,.13);
    }

    .cc-gravity-world__district.cc-is-resonating .cc-gravity-world__building {
        filter:drop-shadow(0 25px 30px rgba(31,79,104,.14)) drop-shadow(0 0 22px rgba(14,165,198,.20));
    }
    .cc-gravity-world__district--realize.cc-is-resonating .cc-gravity-world__building,
    .cc-gravity-world__district--regenerate.cc-is-resonating .cc-gravity-world__building {
        filter:drop-shadow(0 25px 30px rgba(31,79,104,.14)) drop-shadow(0 0 24px rgba(34,160,107,.22));
    }

    .cc-gravity-world__center.cc-is-resonating .cc-gravity-world__center-core {
        box-shadow:0 0 0 18px rgba(37,99,235,.06),0 0 58px rgba(14,165,198,.42),0 24px 58px rgba(37,99,235,.19),inset 0 1px 4px rgba(255,255,255,.94);
    }

    /* Garantia cromática canônica desta cosmologia: azul, ciano, teal e verde. */
    .cc-gravity-world__building--lab i {
        background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(14,165,198,.30));
        box-shadow:0 0 20px rgba(14,165,198,.18);
    }
    .cc-gravity-world__building--works i {
        background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(34,160,107,.31));
        box-shadow:0 0 22px rgba(34,160,107,.20);
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion:no-preference) {
        .cc-gravity-world__network { animation:cc-gravity-lattice-flow 27s linear infinite; }
        .cc-gravity-world__feedback { animation:cc-gravity-feedback-flow 18s linear infinite reverse; }
        .cc-gravity-world__network--investigate-coordinate,
        .cc-gravity-world__network--realize-regenerate { animation-delay:-8s; }
        .cc-gravity-world__network--coordinate-realize,
        .cc-gravity-world__network--regenerate-learn { animation-delay:-15s; }
        .cc-gravity-world__horizon-signals span { animation:cc-gravity-horizon-pulse 9s ease-in-out infinite alternate; }
        .cc-gravity-world__horizon-signals span:nth-child(2){animation-delay:-2s}
        .cc-gravity-world__horizon-signals span:nth-child(3){animation-delay:-4.5s}
        .cc-gravity-world__horizon-signals span:nth-child(4){animation-delay:-6s}
        .cc-gravity-world__horizon-signals span:nth-child(5){animation-delay:-7.4s}
        .cc-gravity-world__district.cc-is-resonating .cc-gravity-world__resonance,
        .cc-gravity-world__center.cc-is-resonating .cc-gravity-world__resonance {
            animation:cc-gravity-resonance-hit .92s cubic-bezier(.2,.7,.2,1);
        }
        .cc-gravity-world__district.cc-is-resonating .cc-gravity-world__building {
            animation:cc-gravity-building-response .92s cubic-bezier(.2,.75,.2,1);
        }
        @keyframes cc-gravity-lattice-flow { to { stroke-dashoffset:-196; } }
        @keyframes cc-gravity-feedback-flow { to { stroke-dashoffset:-170; } }
        @keyframes cc-gravity-horizon-pulse {
            from { opacity:.12; filter:blur(.2px); }
            to { opacity:.46; filter:blur(0); }
        }
        @keyframes cc-gravity-resonance-hit {
            0% { opacity:0; transform:translate(-50%,-50%) scale(.62); }
            22% { opacity:.68; }
            100% { opacity:0; transform:translate(-50%,-50%) scale(2.08); }
        }
        @keyframes cc-gravity-building-response {
            0%,100% { transform:translateY(0) scale(1); }
            38% { transform:translateY(-4px) scale(1.025); }
        }
    }
}

@layer cc.responsive {
    @media (max-width:820px) {
        .cc-gravity-world__network { opacity:.17; stroke-width:1.1; }
        .cc-gravity-world__feedback { opacity:.24; stroke-width:1.5; }
        .cc-gravity-world__horizon-signals { opacity:.74; }
        .cc-gravity-world__resonance { width:68px; height:68px; }
    }
    @media (max-width:560px) {
        .cc-gravity-world__network { opacity:.11; }
        .cc-gravity-world__feedback { opacity:.18; }
        .cc-gravity-world__traveler--lattice { display:none; }
        .cc-gravity-world__horizon-signals { opacity:.54; }
        .cc-gravity-world__resonance { width:54px; height:54px; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion:reduce) {
        .cc-gravity-world__network,
        .cc-gravity-world__feedback,
        .cc-gravity-world__horizon-signals span,
        .cc-gravity-world__resonance,
        .cc-gravity-world__building { animation:none !important; }
        .cc-gravity-world__traveler--lattice,
        .cc-gravity-world__traveler--feedback { display:none; }
    }
}

/* ==========================================================
   HOME.VIS.1C2 | Profundidade gravitacional, densidade e memória do campo
   Memória = permanência de trajetória, nunca ranking ou valor humano.
   ========================================================== */
@layer cc.art {
    .cc-field__memory-system,
    .cc-gravity-world__memory-system {
        pointer-events:none;
    }

    .cc-field__memory-orbit,
    .cc-field__memory-trace,
    .cc-gravity-world__density-band,
    .cc-gravity-world__memory-trace {
        fill:none;
        vector-effect:non-scaling-stroke;
        stroke-linecap:round;
    }

    .cc-field__memory-orbit {
        stroke:rgba(14,165,198,.16);
        stroke-width:.85;
        stroke-dasharray:1 12;
        opacity:.42;
        filter:drop-shadow(0 0 5px rgba(14,165,198,.08));
    }
    .cc-field__memory-orbit--b {
        stroke:rgba(34,160,107,.11);
        opacity:.31;
        stroke-dasharray:1 16;
    }
    .cc-field__memory-trace {
        stroke-width:.82;
        stroke-dasharray:1 13;
        opacity:.23;
        filter:drop-shadow(0 0 5px rgba(14,165,198,.07));
    }
    .cc-field__memory-trace--c,
    .cc-field__memory-trace--d { opacity:.27; }
    .cc-field__memory-dust {
        fill:#dff8ff;
        opacity:.52;
        filter:drop-shadow(0 0 6px rgba(14,165,198,.28));
    }
    .cc-field__memory-dust--c,
    .cc-field__memory-dust--d {
        fill:#dffbed;
        filter:drop-shadow(0 0 6px rgba(34,160,107,.25));
    }

    /* O afterglow marca que uma interação deixou lastro no campo. */
    .cc-node.cc-has-memory i {
        box-shadow:0 0 0 7px rgba(14,165,198,.07),0 0 20px rgba(14,165,198,.10);
    }
    .cc-node--territory.cc-has-memory i,
    .cc-node--impact.cc-has-memory i {
        box-shadow:0 0 0 7px rgba(34,160,107,.07),0 0 20px rgba(34,160,107,.10);
    }
    .cc-node.cc-has-memory .cc-node__mass {
        filter:drop-shadow(0 0 15px rgba(14,165,198,.13));
    }
    .cc-node--territory.cc-has-memory .cc-node__mass,
    .cc-node--impact.cc-has-memory .cc-node__mass {
        filter:drop-shadow(0 0 15px rgba(34,160,107,.14));
    }

    .cc-gravity-world__density-band {
        stroke:rgba(37,99,235,.10);
        stroke-width:.85;
        stroke-dasharray:2 16;
        opacity:.42;
        filter:drop-shadow(0 0 7px rgba(14,165,198,.06));
    }
    .cc-gravity-world__density-band--b {
        stroke:rgba(14,165,198,.09);
        stroke-dasharray:1 21;
        opacity:.31;
    }
    .cc-gravity-world__memory-trace {
        stroke-width:.88;
        stroke-dasharray:1 14;
        opacity:.19;
        filter:drop-shadow(0 0 5px rgba(14,165,198,.06));
    }
    .cc-gravity-world__memory-trace--realize,
    .cc-gravity-world__memory-trace--regenerate { opacity:.24; }
    .cc-gravity-world__memory-dust {
        fill:#e7fbff;
        opacity:.48;
        filter:drop-shadow(0 0 7px rgba(14,165,198,.26));
    }
    .cc-gravity-world__memory-dust--4,
    .cc-gravity-world__memory-dust--5 {
        fill:#e5fbed;
        filter:drop-shadow(0 0 7px rgba(34,160,107,.24));
    }

    .cc-gravity-world__memory-halo {
        position:absolute;
        z-index:-2;
        left:50%;
        top:46%;
        width:74px;
        height:74px;
        border-radius:50%;
        background:radial-gradient(circle,rgba(255,255,255,.38),rgba(14,165,198,.10) 34%,rgba(37,99,235,.035) 58%,transparent 74%);
        filter:blur(5px);
        opacity:0;
        transform:translate(-50%,-50%) scale(.86);
        transition:opacity 1.8s ease,transform 2.2s ease,filter 2.2s ease;
        pointer-events:none;
    }
    .cc-gravity-world__district--realize .cc-gravity-world__memory-halo,
    .cc-gravity-world__district--regenerate .cc-gravity-world__memory-halo {
        background:radial-gradient(circle,rgba(255,255,255,.38),rgba(34,160,107,.11) 34%,rgba(14,165,198,.035) 58%,transparent 74%);
    }
    .cc-gravity-world__center .cc-gravity-world__memory-halo {
        top:50%;
        width:126px;
        height:126px;
        background:radial-gradient(circle,rgba(255,255,255,.42),rgba(14,165,198,.12) 30%,rgba(37,99,235,.045) 58%,transparent 76%);
    }
    .cc-gravity-world__district.cc-has-memory .cc-gravity-world__memory-halo,
    .cc-gravity-world__center.cc-has-memory .cc-gravity-world__memory-halo {
        opacity:.42;
        transform:translate(-50%,-50%) scale(1.22);
        filter:blur(7px);
    }
    .cc-gravity-world__district.cc-has-memory .cc-gravity-world__building {
        filter:drop-shadow(0 24px 30px rgba(31,79,104,.11)) drop-shadow(0 0 15px rgba(14,165,198,.10));
    }
    .cc-gravity-world__district--realize.cc-has-memory .cc-gravity-world__building,
    .cc-gravity-world__district--regenerate.cc-has-memory .cc-gravity-world__building {
        filter:drop-shadow(0 24px 30px rgba(31,79,104,.11)) drop-shadow(0 0 16px rgba(34,160,107,.11));
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion:no-preference) {
        .cc-field__memory-orbit--a { animation:cc-memory-orbit-drift 34s linear infinite; }
        .cc-field__memory-orbit--b { animation:cc-memory-orbit-drift 46s linear infinite reverse; }
        .cc-field__memory-trace { animation:cc-memory-trace-breathe 13s ease-in-out infinite alternate; }
        .cc-field__memory-trace--b { animation-delay:-4s; }
        .cc-field__memory-trace--c { animation-delay:-7s; }
        .cc-field__memory-trace--d { animation-delay:-10s; }
        .cc-field__memory-dust { animation:cc-memory-dust 9s ease-in-out infinite alternate; }
        .cc-field__memory-dust--b { animation-delay:-2.4s; }
        .cc-field__memory-dust--c { animation-delay:-5.1s; }
        .cc-field__memory-dust--d { animation-delay:-7.3s; }

        .cc-gravity-world__density-band--a { animation:cc-density-drift 38s linear infinite; }
        .cc-gravity-world__density-band--b { animation:cc-density-drift 54s linear infinite reverse; }
        .cc-gravity-world__memory-trace { animation:cc-gravity-memory-breathe 16s ease-in-out infinite alternate; }
        .cc-gravity-world__memory-trace--investigate { animation-delay:-3.5s; }
        .cc-gravity-world__memory-trace--coordinate { animation-delay:-7s; }
        .cc-gravity-world__memory-trace--realize { animation-delay:-10.5s; }
        .cc-gravity-world__memory-trace--regenerate { animation-delay:-13s; }
        .cc-gravity-world__memory-dust { animation:cc-memory-dust 10s ease-in-out infinite alternate; }

        @keyframes cc-memory-orbit-drift { to { stroke-dashoffset:-240; } }
        @keyframes cc-density-drift { to { stroke-dashoffset:-280; } }
        @keyframes cc-memory-trace-breathe {
            from { opacity:.12; }
            to { opacity:.29; }
        }
        @keyframes cc-gravity-memory-breathe {
            from { opacity:.10; }
            to { opacity:.25; }
        }
        @keyframes cc-memory-dust {
            from { opacity:.25; transform:scale(.78); }
            to { opacity:.66; transform:scale(1.28); }
        }
    }
}

@layer cc.responsive {
    @media (max-width:820px) {
        .cc-field__memory-orbit--b,
        .cc-gravity-world__density-band--b { opacity:.18; }
        .cc-field__memory-trace,
        .cc-gravity-world__memory-trace { opacity:.13; }
        .cc-gravity-world__memory-halo { width:60px; height:60px; }
        .cc-gravity-world__center .cc-gravity-world__memory-halo { width:104px; height:104px; }
    }
    @media (max-width:560px) {
        .cc-field__memory-orbit--b,
        .cc-gravity-world__density-band--b,
        .cc-field__memory-dust,
        .cc-gravity-world__memory-dust { display:none; }
        .cc-field__memory-trace,
        .cc-gravity-world__memory-trace { opacity:.08; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion:reduce) {
        .cc-field__memory-orbit,
        .cc-field__memory-trace,
        .cc-field__memory-dust,
        .cc-gravity-world__density-band,
        .cc-gravity-world__memory-trace,
        .cc-gravity-world__memory-dust,
        .cc-gravity-world__memory-halo { animation:none !important; transition:none !important; }
        .cc-gravity-world__memory-halo { opacity:.18; transform:translate(-50%,-50%) scale(1); }
    }
}

/* ==========================================================
   HOME.VIS.1C3A | Massas cognitivas reais + limpeza do campo
   Corrige o contrato de assets para:
   assets/public/img/home_capital_cognitivo/
   Código = física. Imagem = matéria.
   ========================================================== */
@layer cc.art {
    /* A cena deixa de parecer um diagrama tracejado. O fluxo ativo vira luz contínua. */
    .cc-field__flow {
        stroke-width: 1.9;
        stroke-dasharray: none;
        opacity: .34;
        filter: drop-shadow(0 0 7px rgba(14,165,198,.16));
    }
    .cc-field__feedback {
        stroke-width: 1.75;
        stroke-dasharray: 2 11;
        opacity: .16;
    }
    .cc-field__orbit { opacity: .62; }
    .cc-field__memory-orbit { opacity: .16; }
    .cc-field__memory-trace { opacity: .10; }
    .cc-field__memory-trace--c,
    .cc-field__memory-trace--d { opacity: .12; }
    .cc-field__traveler { opacity: .82; }

    /* O wrapper do label continua semântico e independente da matéria. */
    .cc-node__label {
        position: relative;
        z-index: 3;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        white-space: nowrap;
    }

    /* Quando a imagem real existe, a cápsula não cobre a escultura. */
    .cc-node.cc-node--has-image {
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }
    .cc-node.cc-node--has-image .cc-node__label {
        padding: 7px 10px 7px 8px;
        border: 1px solid rgba(46,104,137,.09);
        border-radius: 999px;
        color: #39546d;
        background: rgba(255,255,255,.84);
        box-shadow: 0 9px 24px rgba(29,75,101,.075), inset 0 1px 0 rgba(255,255,255,.96);
        backdrop-filter: blur(12px);
    }
    .cc-node--core.cc-node--has-image .cc-node__label {
        color: #183859;
        background: rgba(255,255,255,.91);
        box-shadow: 0 14px 34px rgba(37,99,235,.105), inset 0 1px 0 rgba(255,255,255,.98);
    }

    /* Imagens finais: maiores, sem recorte circular, com espaço para a forma respirar. */
    .cc-node__mass--image {
        width: 132px;
        height: 132px;
        border-radius: 0;
        opacity: 1;
        z-index: -1;
    }
    .cc-node--core .cc-node__mass--image {
        width: 190px;
        height: 190px;
    }
    .cc-node__mass--image picture,
    .cc-node__mass--image img {
        display: block;
        width: 100%;
        height: 100%;
    }
    .cc-node__mass--image img {
        object-fit: contain;
        transform: scale(1);
        filter:
            drop-shadow(0 18px 26px rgba(28,75,111,.13))
            drop-shadow(0 0 24px rgba(14,165,198,.11));
    }
    .cc-node__mass--image::after {
        inset: 25%;
        background: radial-gradient(circle,rgba(255,255,255,.74),rgba(14,165,198,.08) 40%,transparent 74%);
        filter: blur(13px);
    }

    /* O label passa a orbitar a massa em vez de cobrir o seu centro. */
    .cc-node--person.cc-node--has-image .cc-node__label { transform: translate(42px, 36px); }
    .cc-node--organization.cc-node--has-image .cc-node__label { transform: translate(44px, 34px); }
    .cc-node--territory.cc-node--has-image .cc-node__label { transform: translate(42px, 38px); }
    .cc-node--impact.cc-node--has-image .cc-node__label { transform: translate(43px, 38px); }
    .cc-node--core.cc-node--has-image .cc-node__label { transform: translate(0, 72px); }

    /* A matéria real recebe ressonância, sem deformar o label HTML. */
    .cc-node.cc-node--has-image.cc-is-resonating .cc-node__mass--image img {
        filter:
            drop-shadow(0 20px 28px rgba(28,75,111,.14))
            drop-shadow(0 0 34px rgba(14,165,198,.24));
    }
    .cc-node--territory.cc-node--has-image.cc-is-resonating .cc-node__mass--image img,
    .cc-node--impact.cc-node--has-image.cc-is-resonating .cc-node__mass--image img {
        filter:
            drop-shadow(0 20px 28px rgba(28,75,111,.13))
            drop-shadow(0 0 34px rgba(34,160,107,.24));
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion:no-preference) {
        /* Fluxos sólidos não precisam mais de dashoffset. A vida vem dos travelers. */
        .cc-field__flow { animation: none; }
        .cc-node.cc-node--has-image .cc-node__mass--image {
            animation: cc-mass-float 9.5s ease-in-out infinite alternate;
        }
        .cc-node--organization.cc-node--has-image .cc-node__mass--image { animation-delay: -2.1s; }
        .cc-node--territory.cc-node--has-image .cc-node__mass--image { animation-delay: -4.2s; }
        .cc-node--impact.cc-node--has-image .cc-node__mass--image { animation-delay: -6.1s; }
        .cc-node--core.cc-node--has-image .cc-node__mass--image { animation-duration: 7.4s; }
    }
}

@layer cc.responsive {
    @media (max-width:1050px) {
        .cc-node__mass--image { width:108px; height:108px; opacity:.98; }
        .cc-node--core .cc-node__mass--image { width:156px; height:156px; }
        .cc-node--person.cc-node--has-image .cc-node__label,
        .cc-node--organization.cc-node--has-image .cc-node__label,
        .cc-node--territory.cc-node--has-image .cc-node__label,
        .cc-node--impact.cc-node--has-image .cc-node__label { transform:translate(34px,30px); }
        .cc-node--core.cc-node--has-image .cc-node__label { transform:translate(0,58px); }
    }
    @media (max-width:680px) {
        .cc-node__mass--image { width:82px; height:82px; opacity:.96; }
        .cc-node--core .cc-node__mass--image { width:112px; height:112px; }
        .cc-node__mass--image img { transform:scale(1); }
        .cc-node--person.cc-node--has-image .cc-node__label,
        .cc-node--organization.cc-node--has-image .cc-node__label,
        .cc-node--territory.cc-node--has-image .cc-node__label,
        .cc-node--impact.cc-node--has-image .cc-node__label { transform:translate(24px,24px); }
        .cc-node--core.cc-node--has-image .cc-node__label { transform:translate(0,45px); }
        .cc-field__memory-orbit--b,
        .cc-field__memory-trace--b,
        .cc-field__memory-trace--d { display:none; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion:reduce) {
        .cc-node.cc-node--has-image .cc-node__mass--image { animation:none !important; }
    }
}

/* ==========================================================
   HOME.VIS.1C3B | Orbes independentes + composição gravitacional
   O corpo cognitivo, seus satélites e o label são elementos distintos.
   ========================================================== */
@layer cc.components {
    .cc-field--orb-system .cc-node {
        --cc-orb-color: 14,165,198;
        --cc-label-x: 58px;
        --cc-label-y: 34px;
        --cc-leader-w: 34px;
        --cc-leader-angle: 28deg;
        width: 0;
        height: 0;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        overflow: visible;
    }
    .cc-field--orb-system .cc-node--knowledge,
    .cc-field--orb-system .cc-node--core { --cc-orb-color: 37,99,235; --cc-label-x: -54px; --cc-label-y: 102px; --cc-leader-w: 42px; --cc-leader-angle: 90deg; }
    .cc-field--orb-system .cc-node--person { --cc-orb-color: 14,165,198; --cc-label-x: 58px; --cc-label-y: 24px; --cc-leader-w: 34px; --cc-leader-angle: 23deg; }
    .cc-field--orb-system .cc-node--organization { --cc-orb-color: 14,165,198; --cc-label-x: -136px; --cc-label-y: 24px; --cc-leader-w: 38px; --cc-leader-angle: 157deg; }
    .cc-field--orb-system .cc-node--territory { --cc-orb-color: 34,160,107; --cc-label-x: 56px; --cc-label-y: -56px; --cc-leader-w: 38px; --cc-leader-angle: -42deg; }
    .cc-field--orb-system .cc-node--impact { --cc-orb-color: 34,160,107; --cc-label-x: -126px; --cc-label-y: -56px; --cc-leader-w: 38px; --cc-leader-angle: 222deg; }

    /* Matéria no centro do ponto gravitacional. */
    .cc-field--orb-system .cc-node__mass {
        left: 0;
        top: 0;
        z-index: 2;
    }
    .cc-field--orb-system .cc-node__mass--fallback {
        width: 62px;
        height: 62px;
        opacity: .88;
        background:
            radial-gradient(circle at 37% 31%,rgba(255,255,255,.98) 0 7%,rgba(var(--cc-orb-color),.62) 13%,rgba(var(--cc-orb-color),.22) 34%,rgba(var(--cc-orb-color),.06) 52%,transparent 72%);
        box-shadow:
            0 18px 34px rgba(23,67,96,.10),
            0 0 30px rgba(var(--cc-orb-color),.13);
    }
    .cc-field--orb-system .cc-node--core .cc-node__mass--fallback { width: 92px; height: 92px; }
    .cc-field--orb-system .cc-node__mass--fallback::before,
    .cc-field--orb-system .cc-node__mass--fallback::after { display:none; }

    /* Satélites são corpos próprios, não anéis grudados na massa. */
    .cc-node__satellites {
        position:absolute;
        left:0;
        top:0;
        z-index:1;
        width:1px;
        height:1px;
        pointer-events:none;
        transform-origin:0 0;
    }
    .cc-node__satellite {
        position:absolute;
        left:0;
        top:0;
        display:block;
        width:9px;
        height:9px;
        border-radius:50%;
        background:radial-gradient(circle at 34% 28%,#fff 0 18%,rgba(var(--cc-orb-color),.92) 26%,rgba(var(--cc-orb-color),.52) 58%,rgba(var(--cc-orb-color),.16) 100%);
        border:1px solid rgba(255,255,255,.76);
        box-shadow:
            0 0 0 4px rgba(var(--cc-orb-color),.045),
            0 0 16px rgba(var(--cc-orb-color),.34);
        transform-origin:0 0;
    }
    .cc-node__satellite--a { transform:rotate(18deg) translateX(48px); }
    .cc-node__satellite--b { width:6px; height:6px; opacity:.72; transform:rotate(146deg) translateX(39px); }
    .cc-node__satellite--c { width:5px; height:5px; opacity:.54; transform:rotate(258deg) translateX(55px); }
    .cc-node--core .cc-node__satellite--a { transform:rotate(24deg) translateX(78px); }
    .cc-node--core .cc-node__satellite--b { transform:rotate(151deg) translateX(66px); }
    .cc-node--core .cc-node__satellite--c { transform:rotate(278deg) translateX(88px); }

    /* Label separado da matéria, conectado apenas por uma linha gravitacional fina. */
    .cc-field--orb-system .cc-node__label {
        position:absolute;
        left:0;
        top:0;
        z-index:5;
        transform:translate(var(--cc-label-x),var(--cc-label-y));
        padding:7px 11px 7px 8px;
        border:1px solid rgba(46,104,137,.085);
        border-radius:999px;
        background:rgba(255,255,255,.82);
        box-shadow:0 9px 24px rgba(29,75,101,.06),inset 0 1px 0 rgba(255,255,255,.96);
        backdrop-filter:blur(12px);
    }
    .cc-field--orb-system .cc-node__label i {
        width:11px;
        height:11px;
        background:rgb(var(--cc-orb-color));
        box-shadow:0 0 0 5px rgba(var(--cc-orb-color),.07),0 0 16px rgba(var(--cc-orb-color),.18);
    }
    .cc-field--orb-system .cc-node--core .cc-node__label i { width:16px; height:16px; }
    .cc-field--orb-system .cc-node__label i::after { display:none; }

    .cc-node__leader {
        position:absolute;
        left:0;
        top:0;
        z-index:3;
        width:var(--cc-leader-w);
        height:1px;
        transform-origin:0 50%;
        transform:rotate(var(--cc-leader-angle));
        background:linear-gradient(90deg,rgba(var(--cc-orb-color),.34),rgba(var(--cc-orb-color),.06));
        box-shadow:0 0 7px rgba(var(--cc-orb-color),.10);
        pointer-events:none;
    }

    /* Quando as cinco esculturas existem, a arte assume o protagonismo. */
    .cc-field--masses-ready .cc-field__gravity-well { opacity:.60; }
    .cc-field--masses-ready .cc-field__orbit { opacity:.13; }
    .cc-field--masses-ready .cc-field__orbit--c { opacity:.07; }
    .cc-field--masses-ready .cc-field__memory-orbit { opacity:.045; }
    .cc-field--masses-ready .cc-field__memory-trace { opacity:.025; }
    .cc-field--masses-ready .cc-field__flow { opacity:.20; stroke-width:1.35; }
    .cc-field--masses-ready .cc-field__feedback { opacity:.08; }
    .cc-field--masses-ready .cc-node__mass--image { z-index:2; }
    .cc-field--masses-ready .cc-node__mass--image::after { opacity:.40; }
    .cc-field--masses-ready .cc-node__label { background:rgba(255,255,255,.76); }

    /* As esculturas reais continuam separadas do sistema de satélites. */
    .cc-field--orb-system .cc-node__mass--image {
        left:0;
        top:0;
        width:132px;
        height:132px;
        z-index:2;
    }
    .cc-field--orb-system .cc-node--core .cc-node__mass--image { width:190px; height:190px; }
    .cc-field--orb-system .cc-node.cc-node--has-image .cc-node__label { transform:translate(var(--cc-label-x),var(--cc-label-y)); }
    .cc-field--orb-system .cc-node--person.cc-node--has-image { --cc-label-x:78px; --cc-label-y:42px; --cc-leader-w:62px; --cc-leader-angle:29deg; }
    .cc-field--orb-system .cc-node--organization.cc-node--has-image { --cc-label-x:-164px; --cc-label-y:42px; --cc-leader-w:62px; --cc-leader-angle:151deg; }
    .cc-field--orb-system .cc-node--territory.cc-node--has-image { --cc-label-x:78px; --cc-label-y:-70px; --cc-leader-w:68px; --cc-leader-angle:-42deg; }
    .cc-field--orb-system .cc-node--impact.cc-node--has-image { --cc-label-x:-154px; --cc-label-y:-70px; --cc-leader-w:68px; --cc-leader-angle:222deg; }
    .cc-field--orb-system .cc-node--core.cc-node--has-image { --cc-label-x:-54px; --cc-label-y:114px; --cc-leader-w:86px; --cc-leader-angle:90deg; }
}

@layer cc.motion {
    @media (prefers-reduced-motion:no-preference) {
        .cc-node__satellites { animation:cc-satellite-system-spin 21s linear infinite; }
        .cc-node--organization .cc-node__satellites { animation-duration:27s; animation-direction:reverse; }
        .cc-node--territory .cc-node__satellites { animation-duration:31s; }
        .cc-node--impact .cc-node__satellites { animation-duration:24s; animation-direction:reverse; }
        .cc-node--core .cc-node__satellites { animation-duration:18s; }
        .cc-node__satellite { animation:cc-satellite-breathe 5.8s ease-in-out infinite alternate; }
        .cc-node__satellite--b { animation-delay:-2.1s; }
        .cc-node__satellite--c { animation-delay:-3.7s; }
        @keyframes cc-satellite-system-spin { to { transform:rotate(360deg); } }
        @keyframes cc-satellite-breathe { from { filter:brightness(.94); } to { filter:brightness(1.14); } }
    }
}

@layer cc.responsive {
    @media (max-width:1050px) {
        .cc-field--orb-system .cc-node--person { --cc-label-x:58px; --cc-label-y:34px; }
        .cc-field--orb-system .cc-node--organization { --cc-label-x:-132px; --cc-label-y:34px; }
        .cc-field--orb-system .cc-node--territory { --cc-label-x:58px; --cc-label-y:-52px; }
        .cc-field--orb-system .cc-node--impact { --cc-label-x:-124px; --cc-label-y:-52px; }
        .cc-field--orb-system .cc-node--core { --cc-label-x:-50px; --cc-label-y:86px; }
        .cc-node__satellite--a { transform:rotate(18deg) translateX(40px); }
        .cc-node__satellite--b { transform:rotate(146deg) translateX(32px); }
        .cc-node__satellite--c { transform:rotate(258deg) translateX(45px); }
    }
    @media (max-width:680px) {
        .cc-node__satellite--b,
        .cc-node__satellite--c { display:none; }
        .cc-node__satellite--a { width:6px; height:6px; transform:rotate(18deg) translateX(30px); }
        .cc-field--orb-system .cc-node--person,
        .cc-field--orb-system .cc-node--territory { --cc-label-x:36px; }
        .cc-field--orb-system .cc-node--organization,
        .cc-field--orb-system .cc-node--impact { --cc-label-x:-96px; }
        .cc-field--orb-system .cc-node--person,
        .cc-field--orb-system .cc-node--organization { --cc-label-y:24px; }
        .cc-field--orb-system .cc-node--territory,
        .cc-field--orb-system .cc-node--impact { --cc-label-y:-38px; }
        .cc-field--orb-system .cc-node--core { --cc-label-x:-42px; --cc-label-y:64px; }
        .cc-node__leader { opacity:.48; width:24px; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion:reduce) {
        .cc-node__satellites,
        .cc-node__satellite { animation:none !important; }
    }
}

/* ==========================================================
   HOME.VIS.1C4 | Matéria arquitetônica do CrieGravity
   Código = campo e energia. WebP = matéria. HTML = significado.
   ========================================================== */
@layer cc.art {
    .cc-gravity-world__architecture {
        --cc-arch-size: 158px;
        --cc-arch-glow: rgba(14,165,198,.18);
        position: relative;
        left: 50%;
        display: block;
        width: var(--cc-arch-size);
        aspect-ratio: 512 / 341;
        margin: 0;
        transform: translateX(-50%);
        pointer-events: none;
        isolation: isolate;
    }

    .cc-gravity-world__architecture::before {
        content: "";
        position: absolute;
        z-index: 0;
        left: 12%;
        right: 12%;
        bottom: 1%;
        height: 34%;
        border-radius: 50%;
        background: radial-gradient(ellipse at center, var(--cc-arch-glow), rgba(255,255,255,.18) 42%, transparent 74%);
        filter: blur(10px);
        opacity: .74;
        transform: translateY(8px) scaleX(.92);
    }

    .cc-gravity-world__architecture::after {
        content: "";
        position: absolute;
        z-index: 3;
        top: 4%;
        bottom: 4%;
        left: -28%;
        width: 34%;
        border-radius: 50%;
        background: linear-gradient(90deg, transparent, rgba(255,255,255,.78), rgba(126,224,242,.34), transparent);
        filter: blur(3px);
        opacity: 0;
        transform: skewX(-18deg);
        pointer-events: none;
    }

    .cc-gravity-world__architecture img {
        position: relative;
        z-index: 2;
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        opacity: .98;
        filter:
            saturate(1.13)
            contrast(1.035)
            drop-shadow(0 16px 17px rgba(36,89,115,.11))
            drop-shadow(0 0 13px var(--cc-arch-glow));
        transform-origin: 50% 72%;
        will-change: transform, filter;
    }

    .cc-gravity-world__district--learn .cc-gravity-world__architecture {
        --cc-arch-size: 154px;
        --cc-arch-glow: rgba(14,165,198,.18);
    }
    .cc-gravity-world__district--investigate .cc-gravity-world__architecture {
        --cc-arch-size: 148px;
        --cc-arch-glow: rgba(13,159,154,.19);
    }
    .cc-gravity-world__district--coordinate .cc-gravity-world__architecture {
        --cc-arch-size: 160px;
        --cc-arch-glow: rgba(37,99,235,.16);
    }
    .cc-gravity-world__district--realize .cc-gravity-world__architecture {
        --cc-arch-size: 156px;
        --cc-arch-glow: rgba(34,160,107,.20);
    }
    .cc-gravity-world__district--regenerate .cc-gravity-world__architecture {
        --cc-arch-size: 164px;
        --cc-arch-glow: rgba(34,160,107,.22);
    }

    .cc-gravity-world--architecture-ready .cc-gravity-world__district small,
    .cc-gravity-world--architecture-partial .cc-gravity-world__district:has(.cc-gravity-world__architecture) small {
        position: relative;
        z-index: 5;
        margin-top: 0;
        border-color: rgba(35,91,120,.09);
        background: rgba(255,255,255,.82);
        box-shadow: 0 9px 24px rgba(33,82,108,.06), inset 0 1px 0 rgba(255,255,255,.94);
        backdrop-filter: blur(10px);
    }

    /* Com todas as arquiteturas presentes, a matéria assume protagonismo
       e o desenho técnico do campo recua um nível. */
    .cc-gravity-world--architecture-ready .cc-gravity-world__orbit {
        opacity: .27;
    }
    .cc-gravity-world--architecture-ready .cc-gravity-world__ray {
        opacity: .48;
        stroke-width: 1.35;
    }
    .cc-gravity-world--architecture-ready .cc-gravity-world__network {
        opacity: .13;
        stroke-width: 1.05;
    }
    .cc-gravity-world--architecture-ready .cc-gravity-world__feedback {
        opacity: .24;
        stroke-width: 1.35;
    }
    .cc-gravity-world--architecture-ready .cc-gravity-world__memory-trace {
        opacity: .11;
    }
    .cc-gravity-world--architecture-ready .cc-gravity-world__density-band {
        opacity: .20;
    }
    .cc-gravity-world--architecture-ready .cc-gravity-world__routes {
        opacity: .16;
    }

    .cc-gravity-world__district.cc-is-resonating .cc-gravity-world__architecture::before {
        opacity: 1;
        filter: blur(13px);
    }
    .cc-gravity-world__district.cc-has-memory .cc-gravity-world__architecture::before {
        opacity: .88;
    }

    .cc-gravity-world__district--realize.cc-is-resonating .cc-gravity-world__architecture img,
    .cc-gravity-world__district--regenerate.cc-is-resonating .cc-gravity-world__architecture img,
    .cc-gravity-world__district--realize.cc-has-memory .cc-gravity-world__architecture img,
    .cc-gravity-world__district--regenerate.cc-has-memory .cc-gravity-world__architecture img {
        filter:
            saturate(1.16)
            contrast(1.04)
            drop-shadow(0 18px 20px rgba(31,93,82,.11))
            drop-shadow(0 0 16px rgba(34,160,107,.18));
    }
}

@layer cc.motion {
    @media (prefers-reduced-motion: no-preference) {
        .cc-gravity-world--architecture-ready .cc-gravity-world__architecture img {
            animation: cc-gravity-architecture-float 8.8s ease-in-out infinite alternate;
        }
        .cc-gravity-world--architecture-ready .cc-gravity-world__district--investigate .cc-gravity-world__architecture img { animation-delay: -1.8s; }
        .cc-gravity-world--architecture-ready .cc-gravity-world__district--coordinate .cc-gravity-world__architecture img { animation-delay: -3.4s; }
        .cc-gravity-world--architecture-ready .cc-gravity-world__district--realize .cc-gravity-world__architecture img { animation-delay: -5.2s; }
        .cc-gravity-world--architecture-ready .cc-gravity-world__district--regenerate .cc-gravity-world__architecture img { animation-delay: -6.7s; }

        .cc-gravity-world__district.cc-is-resonating .cc-gravity-world__architecture img {
            animation: cc-gravity-architecture-hit 920ms cubic-bezier(.2,.8,.2,1) both;
        }
        .cc-gravity-world__district.cc-is-resonating .cc-gravity-world__architecture::after {
            animation: cc-gravity-architecture-energy-sweep 980ms cubic-bezier(.2,.7,.2,1) both;
        }

        @keyframes cc-gravity-architecture-float {
            from { transform: translate3d(0,1px,0) scale(.995); }
            to { transform: translate3d(0,-3px,0) scale(1.008); }
        }
        @keyframes cc-gravity-architecture-hit {
            0% { transform: translate3d(0,0,0) scale(1); }
            38% { transform: translate3d(0,-5px,0) scale(1.035); }
            100% { transform: translate3d(0,-1px,0) scale(1.008); }
        }
        @keyframes cc-gravity-architecture-energy-sweep {
            0% { left: -34%; opacity: 0; }
            24% { opacity: .74; }
            72% { opacity: .42; }
            100% { left: 104%; opacity: 0; }
        }
    }
}

@layer cc.responsive {
    @media (max-width: 820px) {
        .cc-gravity-world__architecture { --cc-arch-size: 128px; }
        .cc-gravity-world__district--learn .cc-gravity-world__architecture { --cc-arch-size: 126px; }
        .cc-gravity-world__district--investigate .cc-gravity-world__architecture { --cc-arch-size: 120px; }
        .cc-gravity-world__district--coordinate .cc-gravity-world__architecture { --cc-arch-size: 130px; }
        .cc-gravity-world__district--realize .cc-gravity-world__architecture { --cc-arch-size: 126px; }
        .cc-gravity-world__district--regenerate .cc-gravity-world__architecture { --cc-arch-size: 134px; }
    }
    @media (max-width: 560px) {
        .cc-gravity-world__architecture { --cc-arch-size: 92px; }
        .cc-gravity-world__district--learn .cc-gravity-world__architecture { --cc-arch-size: 90px; }
        .cc-gravity-world__district--investigate .cc-gravity-world__architecture { --cc-arch-size: 86px; }
        .cc-gravity-world__district--coordinate .cc-gravity-world__architecture { --cc-arch-size: 94px; }
        .cc-gravity-world__district--realize .cc-gravity-world__architecture { --cc-arch-size: 90px; }
        .cc-gravity-world__district--regenerate .cc-gravity-world__architecture { --cc-arch-size: 98px; }
        .cc-gravity-world--architecture-ready .cc-gravity-world__network,
        .cc-gravity-world--architecture-ready .cc-gravity-world__density-band--b { display: none; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-gravity-world__architecture img,
        .cc-gravity-world__architecture::after { animation: none !important; }
        .cc-gravity-world__architecture::after { display: none; }
    }
}

/* ==========================================================
   HOME.R4D.1 | Homologação pós-publicação do Hero
   Corrige a cascata entre 1C3A e 1C3B: label, líder e matéria
   voltam a ser elementos independentes em todos os breakpoints.
   ========================================================== */
@layer cc.art {
    .cc-field--orb-system .cc-node__label {
        position: absolute;
        left: 0;
        top: 0;
        z-index: 7;
        display: inline-flex;
        width: max-content;
        min-width: max-content;
        max-width: none;
        align-items: center;
        gap: 8px;
        white-space: nowrap;
        transform: translate(var(--cc-label-x), var(--cc-label-y));
        padding: 7px 11px 7px 8px;
        border: 1px solid rgba(46,104,137,.09);
        border-radius: 999px;
        color: #39546d;
        background: rgba(255,255,255,.84);
        box-shadow: 0 9px 24px rgba(29,75,101,.065), inset 0 1px 0 rgba(255,255,255,.97);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .cc-field--orb-system .cc-node.cc-node--has-image .cc-node__label {
        position: absolute;
        transform: translate(var(--cc-label-x), var(--cc-label-y));
    }

    .cc-field--orb-system .cc-node__label b {
        display: block;
        line-height: 1;
    }

    .cc-field--orb-system .cc-node__label i {
        flex: 0 0 auto;
        display: block;
        width: 11px;
        height: 11px;
        border-radius: 50%;
        background: rgb(var(--cc-orb-color));
        box-shadow: 0 0 0 5px rgba(var(--cc-orb-color),.07), 0 0 16px rgba(var(--cc-orb-color),.18);
    }

    .cc-field--orb-system .cc-node--core .cc-node__label i {
        width: 16px;
        height: 16px;
    }

    .cc-field--orb-system .cc-node__leader {
        display: block;
        z-index: 4;
        opacity: .56;
    }

    /* Os polos da direita rotulam para dentro do campo. */
    .cc-field--orb-system .cc-node--person.cc-node--has-image {
        --cc-label-x: 72px;
        --cc-label-y: 28px;
        --cc-leader-w: 58px;
        --cc-leader-angle: 24deg;
    }
    .cc-field--orb-system .cc-node--organization.cc-node--has-image {
        --cc-label-x: -174px;
        --cc-label-y: 28px;
        --cc-leader-w: 72px;
        --cc-leader-angle: 158deg;
    }
    .cc-field--orb-system .cc-node--territory.cc-node--has-image {
        --cc-label-x: 72px;
        --cc-label-y: 34px;
        --cc-leader-w: 62px;
        --cc-leader-angle: 29deg;
    }
    .cc-field--orb-system .cc-node--impact.cc-node--has-image {
        --cc-label-x: -164px;
        --cc-label-y: 34px;
        --cc-leader-w: 68px;
        --cc-leader-angle: 151deg;
    }
    .cc-field--orb-system .cc-node--core.cc-node--has-image {
        --cc-label-x: -64px;
        --cc-label-y: 114px;
        --cc-leader-w: 86px;
        --cc-leader-angle: 90deg;
    }

    /* O núcleo recebe um pouco mais de espaço para a escultura respirar. */
    .cc-field--orb-system .cc-node--core .cc-node__label {
        color: #183859;
        background: rgba(255,255,255,.92);
        box-shadow: 0 13px 32px rgba(37,99,235,.10), inset 0 1px 0 rgba(255,255,255,.98);
    }
}

@layer cc.responsive {
    /*
     * Esta regra é intencionalmente posterior às antigas transforms de 1C3A.
     * A posição volta a ser governada pelas variáveis semânticas de cada polo.
     */
    @media (max-width: 1050px) {
        .cc-field--orb-system .cc-node.cc-node--has-image .cc-node__label {
            position: absolute;
            transform: translate(var(--cc-label-x), var(--cc-label-y));
        }
        .cc-field--orb-system .cc-node--person.cc-node--has-image {
            --cc-label-x: 60px;
            --cc-label-y: 26px;
            --cc-leader-w: 48px;
        }
        .cc-field--orb-system .cc-node--organization.cc-node--has-image {
            --cc-label-x: -146px;
            --cc-label-y: 26px;
            --cc-leader-w: 56px;
        }
        .cc-field--orb-system .cc-node--territory.cc-node--has-image {
            --cc-label-x: 60px;
            --cc-label-y: 28px;
            --cc-leader-w: 50px;
        }
        .cc-field--orb-system .cc-node--impact.cc-node--has-image {
            --cc-label-x: -140px;
            --cc-label-y: 28px;
            --cc-leader-w: 54px;
        }
        .cc-field--orb-system .cc-node--core.cc-node--has-image {
            --cc-label-x: -58px;
            --cc-label-y: 92px;
            --cc-leader-w: 68px;
        }
    }

    @media (max-width: 680px) {
        .cc-field--orb-system .cc-node.cc-node--has-image .cc-node__label {
            transform: translate(var(--cc-label-x), var(--cc-label-y));
            padding: 6px 9px 6px 7px;
            gap: 6px;
            font-size: .66rem;
        }
        .cc-field--orb-system .cc-node--person.cc-node--has-image {
            --cc-label-x: 40px;
            --cc-label-y: 19px;
        }
        .cc-field--orb-system .cc-node--organization.cc-node--has-image {
            --cc-label-x: -108px;
            --cc-label-y: 19px;
        }
        .cc-field--orb-system .cc-node--territory.cc-node--has-image {
            --cc-label-x: 40px;
            --cc-label-y: 20px;
        }
        .cc-field--orb-system .cc-node--impact.cc-node--has-image {
            --cc-label-x: -104px;
            --cc-label-y: 20px;
        }
        .cc-field--orb-system .cc-node--core.cc-node--has-image {
            --cc-label-x: -48px;
            --cc-label-y: 68px;
        }
        .cc-field--orb-system .cc-node__leader {
            opacity: .36;
        }
    }
}


/* ==========================================================
   HOME.VIS.2C | Entidades reais do Campo Cognitivo
   Verdade visual: a imagem define a entidade; o código define
   relações, ressonância, memória e movimento do campo.
   ========================================================== */
@layer cc.art {
    .cc-field--semantic-entities {
        --cc-entity-blue: 37,99,235;
        --cc-entity-cyan: 14,165,198;
        --cc-entity-green: 34,160,107;
    }

    /* Com as cinco entidades presentes, a matéria real assume o primeiro plano. */
    .cc-field--entities-ready .cc-field__gravity-well { opacity: .42; }
    .cc-field--entities-ready .cc-field__orbit { opacity: .055; stroke-width: .75; }
    .cc-field--entities-ready .cc-field__orbit--b { opacity: .035; }
    .cc-field--entities-ready .cc-field__orbit--c { opacity: 0; }
    .cc-field--entities-ready .cc-field__memory-orbit { opacity: .024; }
    .cc-field--entities-ready .cc-field__memory-trace { opacity: .018; }
    .cc-field--entities-ready .cc-field__memory-dust { opacity: .24; }
    .cc-field--entities-ready .cc-field__core-light { opacity: .16; }
    .cc-field--entities-ready .cc-field__feedback { opacity: .05; }
    .cc-field--entities-ready .cc-field__traveler { opacity: .34; }
    .cc-field--entities-ready .cc-field__traveler--feedback { opacity: .20; }

    /* Relação estável, discreta. A rota ganha presença apenas quando está ativa. */
    .cc-field--entities-ready .cc-field__flow {
        opacity: .13;
        stroke-width: 1.15;
        transition: opacity .36s ease, stroke-width .36s ease, filter .36s ease;
    }
    .cc-field--entities-ready [data-cc-causal-path].cc-is-causal-active {
        opacity: .54;
        stroke-width: 2;
        filter: drop-shadow(0 0 7px rgba(14,165,198,.26));
    }
    .cc-field--entities-ready .cc-field__flow--c.cc-is-causal-active,
    .cc-field--entities-ready .cc-field__flow--d.cc-is-causal-active {
        filter: drop-shadow(0 0 7px rgba(34,160,107,.23));
    }

    /* Entidade real: sem anel próprio, sem satélites, sem casca artificial. */
    .cc-field--semantic-entities .cc-node__entity {
        --cc-entity-size: 168px;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 4;
        display: block;
        width: var(--cc-entity-size);
        height: var(--cc-entity-size);
        transform: translate(-50%, -50%);
        transform-origin: 50% 54%;
        pointer-events: none;
        isolation: isolate;
    }
    .cc-field--semantic-entities .cc-node__entity::before {
        content: '';
        position: absolute;
        left: 50%;
        top: 58%;
        z-index: -1;
        width: 72%;
        height: 54%;
        border-radius: 50%;
        transform: translate(-50%, -50%);
        background: radial-gradient(circle, rgba(var(--cc-orb-color),.11), rgba(var(--cc-orb-color),.035) 48%, transparent 74%);
        filter: blur(13px);
        opacity: .56;
        transition: opacity .45s ease, transform .45s ease;
    }
    .cc-field--semantic-entities .cc-node__entity picture,
    .cc-field--semantic-entities .cc-node__entity img {
        display: block;
        width: 100%;
        height: 100%;
    }
    .cc-field--semantic-entities .cc-node__entity img {
        object-fit: contain;
        transform: translate3d(0,0,0) scale(1);
        filter:
            drop-shadow(0 16px 24px rgba(24,67,94,.10))
            drop-shadow(0 5px 12px rgba(var(--cc-orb-color),.07));
        transition: transform .68s cubic-bezier(.22,.78,.22,1), filter .68s ease, opacity .42s ease;
    }

    .cc-field--semantic-entities .cc-node--core .cc-node__entity { --cc-entity-size: 228px; }
    .cc-field--semantic-entities .cc-node--person .cc-node__entity { --cc-entity-size: 168px; }
    .cc-field--semantic-entities .cc-node--organization .cc-node__entity { --cc-entity-size: 190px; }
    .cc-field--semantic-entities .cc-node--territory .cc-node__entity { --cc-entity-size: 192px; }
    .cc-field--semantic-entities .cc-node--impact .cc-node__entity { --cc-entity-size: 162px; }

    /* Fallback mínimo caso algum asset seja removido do servidor. */
    .cc-field--semantic-entities .cc-node__entity--fallback {
        width: 72px;
        height: 72px;
        border-radius: 50%;
        background: radial-gradient(circle at 36% 31%, #fff 0 8%, rgba(var(--cc-orb-color),.54) 16%, rgba(var(--cc-orb-color),.13) 46%, transparent 72%);
        box-shadow: 0 14px 32px rgba(var(--cc-orb-color),.10);
    }
    .cc-field--semantic-entities .cc-node--core .cc-node__entity--fallback { width: 96px; height: 96px; }

    /* O label identifica. A imagem explica. Sem leader line atravessando a matéria. */
    .cc-field--semantic-entities .cc-node__leader { display: none; }
    .cc-field--semantic-entities .cc-node__label {
        z-index: 7;
        padding: 7px 11px 7px 9px;
        gap: 7px;
        border-color: rgba(54,98,126,.07);
        color: #304d68;
        background: rgba(255,255,255,.88);
        box-shadow: 0 8px 22px rgba(27,63,87,.055), inset 0 1px 0 rgba(255,255,255,.98);
    }
    .cc-field--semantic-entities .cc-node__label i,
    .cc-field--semantic-entities .cc-node--core .cc-node__label i {
        width: 6px;
        height: 6px;
        box-shadow: none;
    }

    .cc-field--semantic-entities .cc-node--person { --cc-label-x: 92px; --cc-label-y: 20px; }
    .cc-field--semantic-entities .cc-node--organization { --cc-label-x: -198px; --cc-label-y: 18px; }
    .cc-field--semantic-entities .cc-node--territory { --cc-label-x: 100px; --cc-label-y: 48px; }
    .cc-field--semantic-entities .cc-node--impact { --cc-label-x: -174px; --cc-label-y: 46px; }
    .cc-field--semantic-entities .cc-node--core { --cc-label-x: -61px; --cc-label-y: 132px; }

    .cc-field--semantic-entities .cc-node.cc-node--has-entity .cc-node__label {
        transform: translate(var(--cc-label-x), var(--cc-label-y));
    }

    /* Física específica: a entidade responde, mas nunca gira ou se deforma. */
    .cc-field--semantic-entities .cc-node.cc-is-emitting .cc-node__entity::before,
    .cc-field--semantic-entities .cc-node.cc-is-receiving .cc-node__entity::before {
        opacity: .78;
        transform: translate(-50%, -50%) scale(1.12);
    }
    .cc-field--semantic-entities .cc-node.cc-is-resonating .cc-node__entity img {
        filter:
            drop-shadow(0 17px 26px rgba(24,67,94,.11))
            drop-shadow(0 0 17px rgba(var(--cc-orb-color),.17));
    }
    .cc-field--semantic-entities .cc-node--person.cc-is-resonating .cc-node__entity img {
        transform: translate3d(0,-4px,0) scale(1.018);
    }
    .cc-field--semantic-entities .cc-node--core.cc-is-resonating .cc-node__entity img {
        transform: translate3d(0,-2px,0) scale(1.025);
    }
    .cc-field--semantic-entities .cc-node--organization.cc-is-resonating .cc-node__entity img {
        transform: translate3d(0,-3px,0) scale(1.016);
    }
    .cc-field--semantic-entities .cc-node--territory.cc-is-resonating .cc-node__entity img {
        transform: translate3d(0,-2px,0) scale(1.014);
    }
    .cc-field--semantic-entities .cc-node--impact.cc-is-resonating .cc-node__entity img {
        transform: translate3d(3px,-2px,0) scale(1.018);
    }

    /* Memória = afterglow. Não significa qualidade, poder ou ranking. */
    .cc-field--semantic-entities .cc-node.cc-has-memory .cc-node__entity::before {
        opacity: .68;
    }
    .cc-field--semantic-entities .cc-node.cc-has-memory .cc-node__entity img {
        filter:
            drop-shadow(0 16px 24px rgba(24,67,94,.10))
            drop-shadow(0 0 13px rgba(var(--cc-orb-color),.12));
    }
}

@layer cc.responsive {
    @media (max-width: 1050px) {
        .cc-field--semantic-entities .cc-node--core .cc-node__entity { --cc-entity-size: 190px; }
        .cc-field--semantic-entities .cc-node--person .cc-node__entity { --cc-entity-size: 142px; }
        .cc-field--semantic-entities .cc-node--organization .cc-node__entity { --cc-entity-size: 160px; }
        .cc-field--semantic-entities .cc-node--territory .cc-node__entity { --cc-entity-size: 164px; }
        .cc-field--semantic-entities .cc-node--impact .cc-node__entity { --cc-entity-size: 144px; }

        .cc-field--semantic-entities .cc-node--person { --cc-label-x: 76px; --cc-label-y: 17px; }
        .cc-field--semantic-entities .cc-node--organization { --cc-label-x: -166px; --cc-label-y: 16px; }
        .cc-field--semantic-entities .cc-node--territory { --cc-label-x: 82px; --cc-label-y: 39px; }
        .cc-field--semantic-entities .cc-node--impact { --cc-label-x: -150px; --cc-label-y: 38px; }
        .cc-field--semantic-entities .cc-node--core { --cc-label-x: -58px; --cc-label-y: 108px; }
    }

    @media (max-width: 680px) {
        .cc-field--semantic-entities .cc-node--core .cc-node__entity { --cc-entity-size: 136px; }
        .cc-field--semantic-entities .cc-node--person .cc-node__entity { --cc-entity-size: 100px; }
        .cc-field--semantic-entities .cc-node--organization .cc-node__entity { --cc-entity-size: 110px; }
        .cc-field--semantic-entities .cc-node--territory .cc-node__entity { --cc-entity-size: 114px; }
        .cc-field--semantic-entities .cc-node--impact .cc-node__entity { --cc-entity-size: 98px; }

        .cc-field--semantic-entities .cc-node__label {
            padding: 5px 8px 5px 7px;
            gap: 5px;
            font-size: .64rem;
        }
        .cc-field--semantic-entities .cc-node--person { --cc-label-x: 52px; --cc-label-y: 12px; }
        .cc-field--semantic-entities .cc-node--organization { --cc-label-x: -116px; --cc-label-y: 10px; }
        .cc-field--semantic-entities .cc-node--territory { --cc-label-x: 56px; --cc-label-y: 28px; }
        .cc-field--semantic-entities .cc-node--impact { --cc-label-x: -108px; --cc-label-y: 26px; }
        .cc-field--semantic-entities .cc-node--core { --cc-label-x: -48px; --cc-label-y: 78px; }

        .cc-field--entities-ready .cc-field__memory-system,
        .cc-field--entities-ready .cc-field__orbit--b,
        .cc-field--entities-ready .cc-field__traveler--feedback { display: none; }
    }
}

@layer cc.accessibility {
    @media (prefers-reduced-motion: reduce) {
        .cc-field--semantic-entities .cc-node__entity img,
        .cc-field--semantic-entities .cc-node__entity::before,
        .cc-field--entities-ready .cc-field__flow {
            transition: none !important;
        }
    }
}


/* ==========================================================
   HOME.VIS.2C2 | Card "Potencial em movimento"
   Centralização no topo do campo cognitivo
   Motivo: liberar a entidade Pessoa no quadrante superior esquerdo.
   ========================================================== */
@layer cc.responsive {
    .cc-field__brand {
        left: 50%;
        right: auto;
        top: 24px;
        width: min(320px, calc(100% - 56px));
        max-width: 320px;
        transform: translateX(-50%);
        transform-origin: center top;
        justify-content: flex-start;
    }

    .cc-field__brand-copy {
        min-width: 0;
        justify-content: center;
    }

    .js .cc-field__brand {
        animation: none;
    }

    @media (max-width: 680px) {
        .cc-field__brand {
            left: 50%;
            top: 16px;
            width: min(270px, calc(100% - 32px));
            max-width: 270px;
            transform: translateX(-50%);
            transform-origin: center top;
        }
    }
}
