/* Le Compagnie · pagina pubblica. Classi isolate con prefisso co-. */
:root {
    --co-ink: #071c35;
    --co-navy: #0b2748;
    --co-blue: #246bfd;
    --co-cyan: #12b8d8;
    --co-teal: #0fa889;
    --co-gold: #f0bd48;
    --co-coral: #ef6d5b;
    --co-paper: #f5f8fd;
    --co-line: rgba(11, 39, 72, .11);
    --co-shadow: 0 22px 70px rgba(7, 28, 53, .13);
}

.co-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 .85rem;
    color: var(--co-blue);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.co-kicker .icn { width: 1rem; height: 1rem; }

.co-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 78% 18%, rgba(18, 184, 216, .32), transparent 31%),
        radial-gradient(circle at 15% 85%, rgba(240, 189, 72, .18), transparent 34%),
        linear-gradient(135deg, #07192e 0%, #0a315b 56%, #075f71 100%);
}
.co-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .22;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, #000, transparent 90%);
}
.co-aurora { position: absolute; border-radius: 50%; filter: blur(4px); pointer-events: none; }
.co-aurora--one { width: 28rem; height: 28rem; top: -15rem; right: 10%; background: rgba(36,107,253,.28); box-shadow: 0 0 100px rgba(36,107,253,.35); }
.co-aurora--two { width: 22rem; height: 22rem; left: -9rem; bottom: -13rem; background: rgba(240,189,72,.18); box-shadow: 0 0 90px rgba(240,189,72,.25); }
.co-hero-in {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(330px, .78fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
    min-height: 570px;
    padding-top: clamp(4.5rem, 8vw, 7.5rem);
    padding-bottom: clamp(4rem, 7vw, 6.5rem);
}
.co-hero .co-kicker { color: #7ceaf3; }
.co-hero-copy h1 { margin: 0; max-width: 800px; font-size: clamp(3.2rem, 6.5vw, 6.5rem); line-height: .91; letter-spacing: -.065em; font-weight: 900; }
.co-hero-copy h1 strong { display: inline-block; color: #fff2b9; text-shadow: 0 0 30px rgba(240,189,72,.25); }
.co-hero-copy > p:not(.co-kicker) { max-width: 720px; margin: 1.55rem 0 0; color: rgba(255,255,255,.79); font-size: clamp(1.02rem, 1.6vw, 1.26rem); line-height: 1.7; }
.co-hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.co-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 48px;
    padding: .78rem 1.2rem;
    border: 0;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.co-btn .icn { width: 1.05rem; height: 1.05rem; }
.co-btn:hover { transform: translateY(-2px); }
.co-btn--light { color: var(--co-ink); background: #fff; box-shadow: 0 14px 35px rgba(0,0,0,.16); }
.co-btn--light:hover { color: var(--co-ink); box-shadow: 0 18px 42px rgba(0,0,0,.22); }
.co-btn--glow { color: #fff; background: linear-gradient(135deg, #1f73ff, #0dc5ba); box-shadow: 0 14px 38px rgba(20,136,238,.38), 0 0 0 1px rgba(255,255,255,.2) inset; }
.co-btn--glow:hover { color: #fff; box-shadow: 0 18px 46px rgba(20,136,238,.5), 0 0 22px rgba(13,197,186,.25); }
.co-btn--dark { color: #fff; background: var(--co-ink); }
.co-btn--dark:hover { color: #fff; box-shadow: 0 12px 30px rgba(7,28,53,.24); }
.co-btn--outline { color: var(--co-ink); border: 1px solid rgba(7,28,53,.18); background: #fff; }
.co-btn--outline:hover { color: var(--co-blue); border-color: rgba(36,107,253,.4); box-shadow: 0 12px 28px rgba(7,28,53,.09); }

.co-hero-orbit { position: relative; width: min(430px, 100%); aspect-ratio: 1; margin: auto; }
.co-hero-orbit::before, .co-hero-orbit::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); }
.co-hero-orbit::before { inset: 7%; }
.co-hero-orbit::after { inset: 22%; border-style: dashed; animation: co-orbit-spin 28s linear infinite; }
.co-orbit-core {
    position: absolute;
    inset: 27%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
    backdrop-filter: blur(18px);
    box-shadow: 0 30px 70px rgba(0,0,0,.25), 0 0 50px rgba(18,184,216,.12) inset;
}
.co-orbit-core > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: #072743; background: #fff2b9; }
.co-orbit-core .icn { width: 1.25rem; height: 1.25rem; }
.co-orbit-core b { margin-top: .45rem; font-size: clamp(2.6rem, 5vw, 4.5rem); line-height: 1; }
.co-orbit-core small { margin-top: .35rem; color: rgba(255,255,255,.72); font-weight: 700; }
.co-orbit-stat {
    position: absolute;
    z-index: 3;
    min-width: 125px;
    padding: .85rem 1rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 18px;
    background: rgba(4,22,39,.56);
    backdrop-filter: blur(15px);
    box-shadow: 0 18px 35px rgba(0,0,0,.18);
}
.co-orbit-stat b { display: block; font-size: 1.45rem; }
.co-orbit-stat span { color: rgba(255,255,255,.68); font-size: .78rem; }
.co-orbit-stat--a { top: 7%; left: 1%; }
.co-orbit-stat--b { top: 21%; right: -2%; }
.co-orbit-stat--c { bottom: 8%; left: 9%; }
.co-hero-strip {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid rgba(255,255,255,.14);
    background: rgba(3,18,34,.42);
    backdrop-filter: blur(14px);
}
.co-hero-strip div { padding: 1.2rem 1rem; text-align: center; border-right: 1px solid rgba(255,255,255,.1); }
.co-hero-strip div:last-child { border-right: 0; }
.co-hero-strip b { display: block; color: #fff; font-size: 1.55rem; }
.co-hero-strip span { color: rgba(255,255,255,.62); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.co-personal-wrap {
    position: relative;
    z-index: 1;
    margin-top: 0;
    padding-top: clamp(1.25rem, 3vw, 2.25rem);
    background: #fff;
}
.co-personal { overflow: hidden; border: 1px solid rgba(36,107,253,.15); border-radius: 28px; background: #fff; box-shadow: var(--co-shadow); }
.co-personal-head { display: flex; justify-content: space-between; gap: 2rem; align-items: center; padding: 2rem 2.2rem 1.5rem; background: linear-gradient(120deg, rgba(36,107,253,.08), rgba(15,168,137,.08), rgba(240,189,72,.09)); }
.co-personal-head h2 { margin: 0; color: var(--co-ink); font-size: clamp(1.7rem, 3vw, 2.7rem); letter-spacing: -.04em; }
.co-personal-head p:not(.co-kicker) { margin: .55rem 0 0; color: #52657a; }
.co-personal-municipalities { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .75rem; margin-top: .85rem; }
.co-personal-municipalities > span { color: #52657a; font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.co-personal-municipalities > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.co-personal-municipalities a { display: inline-flex; align-items: center; gap: .25rem; padding: .42rem .65rem; border: 1px solid rgba(36,107,253,.18); border-radius: 999px; background: rgba(255,255,255,.78); color: #31506f; font-size: .78rem; font-weight: 850; line-height: 1; text-decoration: none; }
.co-personal-municipalities a small { color: #72849a; font-size: .68rem; font-weight: 800; }
.co-personal-municipalities a.is-active { border-color: rgba(36,107,253,.55); background: #246bfd; color: #fff; box-shadow: 0 8px 18px rgba(36,107,253,.18); }
.co-personal-municipalities a.is-active small { color: rgba(255,255,255,.78); }
.co-personal-grid { display: grid; grid-template-columns: 1.05fr 1.2fr 1.2fr; gap: 1rem; padding: 1.35rem; }
.co-personal-grid > div { min-width: 0; border: 1px solid var(--co-line); border-radius: 20px; padding: 1.3rem; }
.co-personal-main { color: #fff; background: linear-gradient(140deg, var(--co-ink), #144a77); }
.co-personal-number b { display: block; color: #fff2b9; font-size: clamp(2.8rem, 5vw, 4.3rem); line-height: 1; }
.co-personal-number span { display: block; margin-top: .35rem; color: rgba(255,255,255,.7); font-weight: 800; }
.co-personal-metrics { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.2rem; }
.co-personal-metrics span { padding: .48rem .68rem; border-radius: 999px; background: rgba(255,255,255,.1); color: rgba(255,255,255,.75); font-size: .78rem; }
.co-personal-metrics b { color: #fff; }
.co-personal-ranks { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; background: #f9fbff; }
.co-personal-ranks > div { padding: .8rem; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(7,28,53,.06); }
.co-personal-ranks small, .co-personal-ranks span { display: block; color: #718096; font-size: .72rem; }
.co-personal-ranks b { display: block; margin: .2rem 0; color: var(--co-blue); font-size: 1.8rem; }
.co-personal-impact { display: flex; flex-direction: column; gap: .75rem; }
.co-personal-impact > div { display: grid; grid-template-columns: 1fr auto; gap: .35rem .8rem; align-items: center; }
.co-personal-impact > div span { color: #62748a; font-size: .78rem; font-weight: 800; }
.co-personal-impact > div b { color: var(--co-ink); }
.co-personal-impact progress { grid-column: 1 / -1; width: 100%; height: 8px; border: 0; border-radius: 999px; overflow: hidden; background: #e7edf6; }
.co-personal-impact progress::-webkit-progress-bar { background: #e7edf6; }
.co-personal-impact progress::-webkit-progress-value { background: linear-gradient(90deg, var(--co-blue), var(--co-teal)); }
.co-personal-impact progress::-moz-progress-bar { background: linear-gradient(90deg, var(--co-blue), var(--co-teal)); }
.co-personal-impact > a { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; color: var(--co-blue); font-weight: 900; text-decoration: none; }
.co-personal-impact .icn { width: 1rem; height: 1rem; }
.co-personal-impact--empty h3 { margin: 0; color: var(--co-ink); }
.co-personal-impact--empty p { color: #68798e; font-size: .88rem; }

.co-section { padding: clamp(4.2rem, 7vw, 7rem) 0; }
.co-section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.co-section-head h2 { margin: 0; color: var(--co-ink); font-size: clamp(2.15rem, 4vw, 4rem); line-height: 1; letter-spacing: -.055em; }
.co-section-head p:not(.co-kicker) { max-width: 760px; margin: .8rem 0 0; color: #64748b; line-height: 1.65; }

.co-network { background: linear-gradient(#fff, #f1f7fd); }
.co-legend { display: flex; flex-wrap: wrap; gap: .65rem; }
.co-legend span { display: inline-flex; align-items: center; gap: .35rem; color: #61748a; font-size: .75rem; font-weight: 800; }
.co-legend i { width: 18px; height: 10px; border-radius: 999px; }
.co-legend .l1 { background: #c9e6f6; }.co-legend .l2 { background: #3eb0a5; }.co-legend .l3 { background: #ec7957; }
.co-map-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, .75fr); gap: 1.15rem; }
.co-map-card, .co-territory-list { overflow: hidden; border: 1px solid var(--co-line); border-radius: 26px; background: #fff; box-shadow: 0 18px 55px rgba(7,28,53,.09); }
.co-map { min-height: 590px; background: #dfeaf5; }
.co-map-fallback { padding: 1rem; color: #7b4a13; background: #fff3d4; }
.co-map-tooltip { min-width: 190px; }
.co-map-tooltip strong { display: block; color: var(--co-ink); font-size: .92rem; }
.co-map-tooltip span { display: block; margin-top: .25rem; color: #5e7084; font-size: .74rem; }
.co-territory-list { align-self: stretch; }
.co-territory-list-head { display: flex; justify-content: space-between; padding: 1rem 1.1rem; color: #fff; background: var(--co-ink); }
.co-territory-list-head span { font-weight: 900; }.co-territory-list-head b { color: #fff2b9; }
.co-territory-row { display: grid; grid-template-columns: 30px 44px 1fr auto; gap: .7rem; align-items: center; min-height: 66px; padding: .65rem .9rem; color: inherit; text-decoration: none; border-bottom: 1px solid var(--co-line); transition: background .16s ease, transform .16s ease; }
.co-territory-row:last-child { border-bottom: 0; }
.co-territory-row:hover { color: inherit; background: #f4f8ff; transform: translateX(3px); }
.co-territory-rank { color: #9aa8b8; font-weight: 900; }
.co-territory-emblem { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #edf4fb; }
.co-territory-emblem img { max-width: 30px; max-height: 34px; }
.co-territory-emblem .icn { width: 1.1rem; color: var(--co-blue); }
.co-territory-name b, .co-territory-name small { display: block; }
.co-territory-name b { color: var(--co-ink); }.co-territory-name small { color: #78899b; font-size: .7rem; }
.co-territory-score { text-align: right; }.co-territory-score b, .co-territory-score small { display: block; }.co-territory-score b { color: var(--co-teal); font-size: 1.1rem; }.co-territory-score small { color: #8a98a8; font-size: .65rem; }

.co-data-section { color: #fff; background: linear-gradient(145deg, #06182d, #0d3155 68%, #0b5363); }
.co-data-section .co-section-head h2 { color: #fff; }.co-data-section .co-kicker { color: #76e9ed; }
.co-chart-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1rem; }
.co-chart-card { min-width: 0; padding: 1.25rem; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: rgba(255,255,255,.07); backdrop-filter: blur(12px); box-shadow: 0 20px 50px rgba(0,0,0,.16); }
.co-chart-card--wide:last-child { grid-column: 1 / -1; }
.co-chart-card header span { color: #7ceaf3; font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.co-chart-card h3 { margin: .35rem 0 0; color: #fff; font-size: 1.35rem; }
.co-chart-box { position: relative; height: 330px; margin-top: 1rem; }
.co-chart-box--rank { height: 420px; }.co-chart-box--territory { height: 360px; }

.co-ranking { background: #f5f8fd; }
.co-podium { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; align-items: end; margin-bottom: 1.4rem; }
.co-podium-card { position: relative; overflow: hidden; display: block; min-height: 240px; padding: 1.5rem; border-radius: 26px; color: #fff; text-decoration: none; box-shadow: var(--co-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.co-podium-card:hover { color: #fff; transform: translateY(-6px); box-shadow: 0 28px 80px rgba(7,28,53,.2); }
.co-podium-card--1 { min-height: 280px; order: 2; background: linear-gradient(145deg, #8a5b05, #efb934 58%, #fff0a5); color: #301d00; }
.co-podium-card--1:hover { color: #301d00; }
.co-podium-card--2 { order: 1; background: linear-gradient(145deg, #253f5c, #6f8da8); }
.co-podium-card--3 { order: 3; background: linear-gradient(145deg, #6a361b, #c77b4a); }
.co-medal { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; font-size: 1.25rem; font-weight: 900; background: rgba(255,255,255,.25); }
.co-podium-card small { display: block; margin-top: 1.35rem; opacity: .78; }
.co-podium-card h3 { margin: .35rem 0 .7rem; font-size: clamp(1.45rem, 2.6vw, 2.25rem); line-height: 1.05; }
.co-podium-card > b { display: block; font-size: 2rem; }.co-podium-card > b em { font-size: .7rem; font-style: normal; text-transform: uppercase; letter-spacing: .09em; }
.co-podium-card > div { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }
.co-podium-card > div span { padding: .38rem .55rem; border-radius: 999px; font-size: .7rem; background: rgba(255,255,255,.17); }
.co-podium-card--1 > div span { background: rgba(48,29,0,.1); }
.co-table-wrap { overflow-x: auto; border: 1px solid var(--co-line); border-radius: 24px; background: #fff; box-shadow: 0 18px 50px rgba(7,28,53,.08); }
.co-table { width: 100%; min-width: 820px; border-collapse: collapse; }
.co-table th { padding: .9rem 1rem; color: #78899c; font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; background: #edf3fa; }
.co-table td { padding: .95rem 1rem; border-top: 1px solid var(--co-line); color: #52657a; }
.co-table td:nth-child(4) b { color: var(--co-blue); }
.co-table td strong, .co-table td small { display: block; }.co-table td strong { color: var(--co-ink); }.co-table td small { margin-top: .15rem; color: #8795a5; font-size: .7rem; }
.co-table td:last-child a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: var(--co-blue); }
.co-table td:last-child .icn { width: 1rem; }
.co-table tr.is-mine td { background: #fff9df; }.co-table tr.is-mine td:first-child { box-shadow: 4px 0 0 var(--co-gold) inset; }

.co-stories { background: #fff; }
.co-contribution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.co-contribution-card { position: relative; overflow: hidden; min-width: 0; padding: 1.25rem; border: 1px solid var(--co-line); border-radius: 22px; background: #fff; box-shadow: 0 14px 38px rgba(7,28,53,.07); transition: transform .18s ease, box-shadow .18s ease; }
.co-contribution-card::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--co-blue), var(--co-teal), var(--co-gold)); }
.co-contribution-card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(7,28,53,.12); }
.co-contribution-top { display: flex; justify-content: space-between; gap: .5rem; color: var(--co-blue); font-size: .67rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.co-contribution-top i { display: inline-flex; align-items: center; gap: .25rem; color: var(--co-coral); font-style: normal; }.co-contribution-top .icn { width: .85rem; }
.co-contribution-card h3 { margin: 1rem 0 .35rem; color: #728197; font-size: .82rem; font-weight: 800; }
.co-contribution-card > p { margin: 0; color: var(--co-ink); font-size: 1.35rem; font-weight: 900; line-height: 1.2; }
.co-contribution-meta { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.2rem; }
.co-contribution-meta a, .co-contribution-meta span { display: inline-flex; align-items: center; gap: .25rem; padding: .36rem .52rem; border-radius: 999px; color: #5e7084; text-decoration: none; font-size: .68rem; background: #f0f5fa; }
.co-contribution-meta a:hover { color: var(--co-blue); }.co-contribution-meta .icn { width: .75rem; }

.co-sound-section { color: #fff; background: linear-gradient(135deg, #092341, #113e65); }
.co-sound-section .co-section-head h2 { color: #fff; }.co-sound-section .co-kicker { color: #76e9ed; }
.co-audio-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.co-audio-card { min-width: 0; padding: 1.15rem; border: 1px solid rgba(255,255,255,.13); border-radius: 22px; background: rgba(255,255,255,.07); box-shadow: 0 20px 40px rgba(0,0,0,.13); }
.co-wave { display: flex; align-items: center; gap: 3px; height: 30px; }
.co-wave i { width: 3px; height: 8px; border-radius: 4px; background: #64e4e6; animation: co-wave 1.3s ease-in-out infinite; }.co-wave i:nth-child(2),.co-wave i:nth-child(6){animation-delay:.15s}.co-wave i:nth-child(3),.co-wave i:nth-child(5){animation-delay:.3s}.co-wave i:nth-child(4){animation-delay:.45s}
.co-audio-card > span { color: #7ceaf3; font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.co-audio-card h3 { margin: .6rem 0 .25rem; color: #fff; font-size: 1.25rem; }.co-audio-card > p { min-height: 2.6em; color: rgba(255,255,255,.57); font-size: .78rem; }
.co-audio-card audio { width: 100%; height: 38px; margin-top: .6rem; }
.co-audio-card > div:last-child { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem; margin-top: .8rem; }.co-audio-card a { color: #d7f9fb; font-size: .68rem; text-decoration: none; }

.co-books { background: linear-gradient(180deg, #f7f1e4, #f4f8fd); }
.co-book-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.co-book-card { display: grid; grid-template-columns: 180px 1fr; min-width: 0; overflow: hidden; border: 1px solid rgba(80,55,17,.12); border-radius: 24px; background: #fff; box-shadow: 0 18px 48px rgba(72,48,15,.1); }
.co-book-cover { position: relative; display: flex; flex-direction: column; min-height: 260px; padding: 1.25rem; color: #fff5d0; background: linear-gradient(150deg, #092b4d, #0f6a78); box-shadow: -16px 0 28px rgba(0,0,0,.15) inset; }
.co-book-cover::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(255,245,208,.34); pointer-events: none; }
.co-book-cover span { font-size: .58rem; font-weight: 900; letter-spacing: .14em; }.co-book-cover > b { margin-top: 2rem; font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.05; }.co-book-cover strong { margin-top: auto; font-size: .9rem; }.co-book-cover i { margin-top: .35rem; color: rgba(255,255,255,.6); font-size: .65rem; font-style: normal; }
.co-book-copy { display: flex; flex-direction: column; padding: 1.4rem; }.co-book-copy small { color: #a47b2f; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }.co-book-copy h3 { margin: .5rem 0; color: var(--co-ink); font-size: 1.45rem; }.co-book-copy p { color: #697b8f; }.co-book-copy > div { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: auto; }.co-book-copy a { padding: .55rem .7rem; border-radius: 10px; color: var(--co-blue); font-size: .75rem; font-weight: 900; text-decoration: none; background: #edf4ff; }
.co-empty { padding: 1.2rem; border: 1px dashed rgba(7,28,53,.2); border-radius: 16px; color: #6c7f92; background: rgba(255,255,255,.65); }

.co-final { padding: 4rem 0; color: #fff; background: linear-gradient(110deg, #071c35, #134a73, #0b7c79); }
.co-final .app-shell { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }.co-final .co-kicker { color: #7ceaf3; }.co-final h2 { max-width: 850px; margin: 0; font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1; letter-spacing: -.05em; }

@keyframes co-orbit-spin { to { transform: rotate(360deg); } }
@keyframes co-wave { 0%,100%{height:7px;opacity:.55}50%{height:27px;opacity:1} }

@media (max-width: 1199.98px) {
    .co-hero-in { grid-template-columns: 1fr .7fr; }
    .co-personal-grid { grid-template-columns: 1fr 1fr; }
    .co-personal-impact { grid-column: 1 / -1; }
    .co-map-layout { grid-template-columns: 1fr; }
    .co-map { min-height: 520px; }
    .co-territory-list { display: grid; grid-template-columns: repeat(2, 1fr); }
    .co-territory-list-head { grid-column: 1 / -1; }
    .co-territory-row:nth-child(even) { border-left: 1px solid var(--co-line); }
    .co-contribution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .co-audio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
    .co-hero-in { grid-template-columns: 1fr; min-height: auto; }
    .co-hero-copy { text-align: center; }.co-hero-copy > p { margin-left: auto !important; margin-right: auto !important; }.co-hero-actions { justify-content: center; }
    .co-hero-orbit { width: min(390px, 86vw); }
    .co-personal-head, .co-section-head, .co-final .app-shell { align-items: flex-start; flex-direction: column; }
    .co-personal-grid { grid-template-columns: 1fr; }.co-personal-impact { grid-column: auto; }
    .co-chart-grid { grid-template-columns: 1fr; }.co-chart-card--wide:last-child { grid-column: auto; }
    .co-podium { grid-template-columns: 1fr; }.co-podium-card--1,.co-podium-card--2,.co-podium-card--3 { order: initial; min-height: 220px; }
    .co-book-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .co-hero-in { padding-top: 3.5rem; padding-bottom: 3rem; }
    .co-hero-copy h1 { font-size: clamp(2.7rem, 14vw, 4.2rem); }
    .co-hero-copy > p:not(.co-kicker) { font-size: .98rem; }
    .co-hero-actions .co-btn { width: 100%; }
    .co-hero-orbit { width: min(330px, 92vw); }
    .co-orbit-stat { min-width: 108px; padding: .65rem .75rem; }.co-orbit-stat b { font-size: 1.1rem; }.co-orbit-stat span { font-size: .65rem; }
    .co-hero-strip { grid-template-columns: repeat(2, 1fr); }.co-hero-strip div { border-bottom: 1px solid rgba(255,255,255,.1); }.co-hero-strip div:last-child { grid-column: 1 / -1; }
    .co-personal-wrap { margin-top: 0; padding-top: 1rem; }.co-personal { border-radius: 20px; }.co-personal-head { padding: 1.3rem; }.co-personal-grid { padding: .75rem; }.co-personal-ranks { grid-template-columns: 1fr; }
    .co-section { padding: 3.6rem 0; }.co-section-head h2 { font-size: clamp(2rem, 10vw, 3rem); }
    .co-legend { width: 100%; }
    .co-map { min-height: 430px; }
    .co-territory-list { display: block; }.co-territory-row:nth-child(even) { border-left: 0; }
    .co-territory-row { grid-template-columns: 26px 38px minmax(0, 1fr) auto; padding: .62rem .7rem; }.co-territory-emblem { width: 36px; height: 36px; }.co-territory-name small { white-space: normal; }
    .co-chart-card { padding: .9rem; border-radius: 18px; }.co-chart-box, .co-chart-box--territory { height: 310px; }.co-chart-box--rank { height: 410px; }
    .co-podium-card { border-radius: 20px; }
    .co-contribution-grid, .co-audio-grid { grid-template-columns: 1fr; }
    .co-book-card { grid-template-columns: 125px 1fr; }.co-book-cover { min-height: 235px; padding: .8rem; }.co-book-cover > b { font-size: 1.05rem; }.co-book-copy { padding: 1rem; }.co-book-copy h3 { font-size: 1.1rem; }
    .co-final .co-btn { width: 100%; }
}

@media (max-width: 419.98px) {
    .co-orbit-stat--a { top: 0; left: -2%; }.co-orbit-stat--b { top: 18%; right: -3%; }.co-orbit-stat--c { bottom: 2%; left: 4%; }
    .co-territory-row { grid-template-columns: 24px 34px minmax(0, 1fr); }.co-territory-score { grid-column: 3; text-align: left; display: flex; gap: .3rem; align-items: baseline; }
    .co-book-card { grid-template-columns: 1fr; }.co-book-cover { min-height: 210px; }.co-book-cover > b { font-size: 1.35rem; }
}

@media (prefers-reduced-motion: reduce) {
    .co-hero-orbit::after, .co-wave i { animation: none !important; }
    .co-btn, .co-podium-card, .co-contribution-card, .co-territory-row { transition: none !important; }
}
