:root {
    --cnc-blue-980: #06283d;
    --cnc-blue-950: #0a3650;
    --cnc-blue-800: #0d6685;
    --cnc-blue-650: #1594b3;
    --cnc-blue: #35B7C0;
    --cnc-blue-500: #35B7C0;
    --cnc-blue-300: #a6e2ec;
    --cnc-blue-160: #d9f3f7;
    --cnc-blue-080: #effbfc;
    --cnc-green: #68cdb5;
    --cnc-white: #ffffff;
    --cnc-ink: #082f45;
    --cnc-muted: rgba(8, 47, 69, .58);
    --cnc-line: rgba(11, 86, 111, .16);
    --cnc-glass: rgba(249, 254, 255, .62);
    --cnc-glass-strong: rgba(250, 254, 255, .84);
    --cnc-shadow: 0 24px 80px rgba(3, 52, 77, .15);
    --cnc-radius: 28px;
    --cnc-fast: 180ms cubic-bezier(.2,.8,.2,1);
    --cnc-slow: 520ms cubic-bezier(.16,1,.3,1);
}

html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
html, body { margin: 0; min-height: 100%; }
body.cnc-os-shell {
    overflow: hidden;
    background: var(--cnc-blue-080);
    color: var(--cnc-ink);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif;
}
body.cnc-os-shell #wpadminbar { z-index: 9999; }
body.cnc-os-shell .cnc-os,
body.cnc-os-shell .cnc-private-page { min-height: 100vh; }
body.admin-bar.cnc-os-shell .cnc-os,
body.admin-bar.cnc-os-shell .cnc-private-page { min-height: calc(100vh - 32px); height: calc(100vh - 32px); }
body.cnc-os-no-scroll { overflow: hidden !important; }
button, input, a { font: inherit; }
button { color: inherit; }
.screen-reader-text {
    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;
}

.cnc-os {
    position: relative;
    width: 100%;
    height: var(--cnc-os-visual-height, 100vh);
    min-height: 620px;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 78% 10%, rgba(255,255,255,.98) 0 5%, rgba(255,255,255,0) 29%),
        radial-gradient(circle at 14% 24%, rgba(103,205,181,.18), rgba(103,205,181,0) 29%),
        linear-gradient(155deg, #f9ffff 0%, #e5f7fa 36%, #caedf3 68%, #eefbfc 100%);
}
body.admin-bar .cnc-os { height: calc(100vh - 32px); }
@supports (height: 100svh) {
    .cnc-os { height: 100svh; }
    body.admin-bar .cnc-os { height: calc(100svh - 32px); }
}
@supports (height: 100dvh) {
    .cnc-os { height: 100dvh; }
    body.admin-bar .cnc-os { height: calc(100dvh - 32px); }
}

.cnc-os__ambient {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(to bottom, transparent 62%, rgba(62,163,190,.12) 76%, rgba(16,111,146,.22) 100%),
        radial-gradient(ellipse at 50% 92%, rgba(255,255,255,.84) 0 10%, rgba(255,255,255,0) 44%);
}
.cnc-os__ambient::before,
.cnc-os__ambient::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 46vw;
    height: 24vh;
    opacity: .22;
    filter: blur(12px);
    background: linear-gradient(135deg, transparent 35%, rgba(18,110,137,.22));
    clip-path: polygon(0 100%, 18% 62%, 31% 74%, 49% 38%, 66% 70%, 100% 42%, 100% 100%);
}
.cnc-os__ambient::before { left: -8vw; }
.cnc-os__ambient::after { right: -8vw; transform: scaleX(-1); }

.cnc-os__topbar {
    position: absolute;
    z-index: 70;
    inset: 0 0 auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: clamp(18px, 3vw, 38px) clamp(22px, 4vw, 64px);
    pointer-events: none;
}
.cnc-os__topbar > * { pointer-events: auto; }

.cnc-os__brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--cnc-blue-950);
    cursor: pointer;
    transition: transform var(--cnc-fast), opacity var(--cnc-fast);
}
.cnc-os__brand:hover { transform: translateY(-1px); }
.cnc-os__brand-logo {
    width: clamp(40px, 4vw, 58px);
    height: clamp(50px, 5vw, 72px);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.cnc-os__brand-logo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 10px 22px rgba(4, 48, 71, .12));
}
.cnc-os__brand-word {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(24px, 2.5vw, 38px);
    line-height: 1;
    letter-spacing: .04em;
}
.cnc-os__brand-question {
    margin-left: -5px;
    color: var(--cnc-blue-800);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    opacity: .72;
}
.cnc-os__brand i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cnc-green);
    box-shadow: 0 0 0 6px rgba(104,205,181,.15);
}

.cnc-smart-menu {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    min-height: 48px;
    border-radius: 999px;
}
.cnc-smart-menu.is-open {
    padding-left: 8px;
    background: rgba(255,255,255,.42);
    border: 1px solid rgba(255,255,255,.70);
    backdrop-filter: blur(22px) saturate(1.15);
    box-shadow: 0 14px 44px rgba(4,59,85,.11);
}
.cnc-smart-menu__trigger {
    width: 48px;
    height: 48px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 5px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.72);
    background: rgba(255,255,255,.38);
    backdrop-filter: blur(20px);
    cursor: pointer;
    transition: background var(--cnc-fast), transform var(--cnc-fast);
}
.cnc-smart-menu__trigger:hover { background: rgba(255,255,255,.74); transform: scale(1.04); }
.cnc-smart-menu__trigger span { width: 18px; height: 1px; background: var(--cnc-blue-950); transition: transform var(--cnc-fast), opacity var(--cnc-fast); }
.cnc-smart-menu.is-open .cnc-smart-menu__trigger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.cnc-smart-menu.is-open .cnc-smart-menu__trigger span:nth-child(2) { opacity: 0; }
.cnc-smart-menu.is-open .cnc-smart-menu__trigger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.cnc-smart-menu__rail {
    display: flex;
    align-items: center;
    gap: 2px;
    max-width: min(66vw, 670px);
    overflow-x: auto;
    scrollbar-width: none;
    animation: cnc-rail-open var(--cnc-slow) both;
}
.cnc-smart-menu__rail[hidden] { display: none !important; }
.cnc-smart-menu__rail::-webkit-scrollbar { display: none; }
.cnc-smart-menu__rail button {
    min-height: 40px;
    padding: 0 16px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--cnc-blue-950);
    font-size: 11px;
    letter-spacing: .13em;
    cursor: pointer;
    white-space: nowrap;
    transition: background var(--cnc-fast);
}
.cnc-smart-menu__private { display: none; }
.cnc-smart-menu__rail button:hover,
.cnc-smart-menu__rail button[aria-expanded="true"] { background: rgba(255,255,255,.74); }
@keyframes cnc-rail-open { from { opacity: 0; max-width: 0; } to { opacity: 1; max-width: min(66vw, 670px); } }

.cnc-os__stage { position: absolute; inset: 0; display: grid; place-items: center; }
.cnc-globe {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 420px;
    display: grid;
    place-items: center;
    touch-action: none;
}
.cnc-globe__canvas {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    cursor: grab;
    outline: none;
    filter: drop-shadow(0 28px 36px rgba(5,76,105,.14));
}
.cnc-globe__canvas:focus-visible { box-shadow: inset 0 0 0 2px rgba(21,148,179,.48); }
.cnc-globe.is-dragging .cnc-globe__canvas { cursor: grabbing; }
.cnc-globe__status {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    color: rgba(8,47,69,.55);
    font-size: 10px;
    letter-spacing: .25em;
}
.cnc-globe__status[hidden] { display: none; }

.cnc-globe__markers { position: absolute; z-index: 20; inset: 0; pointer-events: none; }
.cnc-globe-marker {
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    pointer-events: auto;
    cursor: pointer;
}
.cnc-globe-marker[hidden] { display: none !important; }
.cnc-globe-marker span {
    display: block;
    width: 12px;
    height: 12px;
    margin: 6px;
    border-radius: 50%;
    background: var(--cnc-blue-800);
    border: 3px solid rgba(255,255,255,.94);
    box-shadow: 0 0 0 4px rgba(21,148,179,.18), 0 8px 18px rgba(4,52,77,.26);
}
.cnc-globe-marker[data-layer="impact"] span { background: var(--cnc-green); }
.cnc-globe-marker[data-layer="coffee"] span { background: #c6a77f; }

.cnc-globe-card {
    position: absolute;
    z-index: 80;
    isolation: isolate;
    right: clamp(22px, 5vw, 72px);
    top: 50%;
    width: min(320px, calc(100vw - 44px));
    transform: translateY(-50%);
    padding: 28px 30px;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 24px;
    background: var(--cnc-glass-strong);
    backdrop-filter: blur(26px) saturate(1.15);
    box-shadow: var(--cnc-shadow);
    animation: cnc-card-open var(--cnc-slow) both;
}
.cnc-globe-card[hidden] { display: none !important; }
.cnc-globe-card > button[data-cnc-globe-card-close] {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.54);
    cursor: pointer;
}
.cnc-globe-card p { margin: 0 0 18px; color: var(--cnc-blue-800); font-size: 9px; letter-spacing: .24em; }
.cnc-globe-card h2 { margin: 0 0 10px; font-family: Georgia, serif; font-size: clamp(18px, 1.8vw, 25px); font-weight: 400; line-height: 1.12; overflow-wrap:anywhere; }
.cnc-globe-card span { display: block; color: var(--cnc-muted); font-size: 13px; }
.cnc-globe-card a { display: inline-flex; margin-top: 22px; color: var(--cnc-blue-800); font-size: 11px; letter-spacing: .14em; text-decoration: none; }
@keyframes cnc-card-open { from { opacity: 0; transform: translate(18px,-50%); } to { opacity: 1; transform: translate(0,-50%); } }

.cnc-workspace {
    position: fixed;
    z-index: 90;
    top: clamp(84px, 12vh, 128px);
    right: clamp(20px, 4vw, 60px);
    width: min(380px, calc(100vw - 40px));
    max-height: calc(100vh - 160px);
    overflow: hidden auto;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: var(--cnc-radius);
    background: var(--cnc-glass-strong);
    backdrop-filter: blur(30px) saturate(1.15);
    box-shadow: var(--cnc-shadow);
    opacity: 0;
    transform: translateX(34px) scale(.98);
    transition: opacity var(--cnc-slow), transform var(--cnc-slow);
}
.cnc-workspace[hidden] { display: none !important; }
.cnc-workspace.is-open { opacity: 1; transform: translateX(0) scale(1); }
.cnc-workspace__header {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px 14px;
    border-bottom: 1px solid var(--cnc-line);
    background: rgba(250,254,255,.72);
    backdrop-filter: blur(20px);
}
.cnc-workspace__header p { margin: 0; font-size: 10px; letter-spacing: .22em; }
.cnc-workspace__header button { width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,.62); cursor: pointer; }
.cnc-workspace__view { padding: 26px; }
.cnc-workspace__view[hidden] { display: none !important; }
.cnc-workspace h1 { margin: 0; font-family: Georgia, serif; font-size: 72px; font-weight: 400; }
.cnc-kicker { margin: 0 0 14px; color: var(--cnc-blue-800); font-size: 9px; letter-spacing: .24em; }
.cnc-copy { color: var(--cnc-muted); letter-spacing: .13em; font-size: 11px; }

.cnc-workspace input[type="search"] {
    width: 100%;
    height: 54px;
    padding: 0 18px;
    border: 1px solid var(--cnc-line);
    border-radius: 14px;
    outline: 0;
    background: rgba(255,255,255,.64);
    color: var(--cnc-ink);
}
.cnc-workspace input[type="search"]:focus { border-color: rgba(21,148,179,.46); box-shadow: 0 0 0 4px rgba(21,148,179,.08); }
.cnc-search-results { display: grid; gap: 6px; margin-top: 12px; }
.cnc-search-result {
    display: grid;
    gap: 4px;
    width: 100%;
    padding: 13px 15px;
    text-align: left;
    border: 1px solid transparent;
    border-radius: 15px;
    background: rgba(255,255,255,.38);
    cursor: pointer;
}
.cnc-search-result:hover { border-color: var(--cnc-line); background: rgba(255,255,255,.76); }
.cnc-search-result strong { font-size: 13px; font-weight: 600; }
.cnc-search-result span, .cnc-search-empty { color: var(--cnc-muted); font-size: 10px; }

.cnc-toggle-list { display: grid; gap: 8px; }
.cnc-toggle-list label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 0 14px 0 16px;
    border: 1px solid var(--cnc-line);
    border-radius: 15px;
    background: rgba(255,255,255,.36);
    cursor: pointer;
    font-size: 11px;
    letter-spacing: .12em;
}
.cnc-toggle-list input { appearance: none; order: 2; width: 34px; height: 19px; border-radius: 999px; background: rgba(8,47,69,.15); position: relative; transition: background var(--cnc-fast); }
.cnc-toggle-list input::after { content:""; position:absolute; width:15px; height:15px; top:2px; left:2px; border-radius:50%; background:white; box-shadow:0 2px 6px rgba(6,40,61,.18); transition: transform var(--cnc-fast); }
.cnc-toggle-list input:checked { background: var(--cnc-blue-650); }
.cnc-toggle-list input:checked::after { transform: translateX(15px); }

.cnc-app-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.cnc-app-grid a {
    min-height: 78px;
    display: flex;
    align-items: flex-end;
    padding: 15px;
    border: 1px solid var(--cnc-line);
    border-radius: 18px;
    color: var(--cnc-blue-950);
    background: rgba(255,255,255,.38);
    text-decoration: none;
    font-size: 10px;
    letter-spacing: .13em;
    transition: transform var(--cnc-fast), background var(--cnc-fast);
}
.cnc-app-grid a:hover { transform: translateY(-2px); background: rgba(255,255,255,.78); }

.cnc-os__private-trigger {
    position: absolute;
    z-index: 68;
    top: clamp(112px, 10.4vw, 138px);
    left: clamp(20px, 3vw, 46px);
    bottom: auto;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    pointer-events: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: transform var(--cnc-fast), opacity var(--cnc-fast);
}
.cnc-os__private-trigger:hover { transform: scale(1.04); opacity: .78; }
.cnc-os__private-trigger span { font-size: 14px; line-height: 1; color: var(--cnc-blue-950); }
.cnc-os__private-trigger--center { position: static; width: 78px; height: 78px; }
.cnc-os__hint { position: absolute; z-index: 20; left: 50%; bottom: 24px; transform: translateX(-50%); font-size: 9px; letter-spacing: .28em; color: rgba(13,47,67,.42); pointer-events: none; }

.cnc-private-dialog { position: fixed; z-index: 9998; inset: 0; display: grid; place-items: center; padding: 20px; }
.cnc-private-dialog[hidden] { display: none !important; }
.cnc-private-dialog__backdrop { position: absolute; inset: 0; background: rgba(3,33,50,.30); backdrop-filter: blur(14px); }
.cnc-private-dialog__card {
    position: relative;
    z-index: 1;
    width: min(360px, 100%);
    padding: 34px;
    border: 1px solid rgba(255,255,255,.80);
    border-radius: 28px;
    background: rgba(249,254,255,.92);
    box-shadow: 0 34px 110px rgba(3,38,57,.28);
    animation: cnc-dialog-open var(--cnc-slow) both;
}
@keyframes cnc-dialog-open { from { opacity:0; transform: translateY(18px) scale(.97); } to { opacity:1; transform:none; } }
.cnc-private-dialog__close { position:absolute; top:13px; right:13px; width:34px; height:34px; border:0; border-radius:50%; background:rgba(255,255,255,.66); cursor:pointer; }
.cnc-private-dialog__card h2 { margin:0 0 24px; font-family:Georgia,serif; font-weight:400; font-size:48px; }
.cnc-private-dialog form { display:grid; gap:10px; }
.cnc-private-dialog input { width:100%; height:54px; padding:0 16px; border:1px solid var(--cnc-line); border-radius:16px; background:white; text-align:center; letter-spacing:.28em; outline:0; }
.cnc-button { min-height:50px; display:grid; place-items:center; padding:0 20px; border:0; border-radius:16px; background:var(--cnc-blue-950); color:white; text-decoration:none; letter-spacing:.14em; cursor:pointer; }
.cnc-form-message { min-height:18px; margin:4px 0 0; color:#a53636; font-size:11px; }

/* PRIVATE */
.cnc-private-page {
    width:100%;
    height:100vh;
    overflow:auto;
    background:
        radial-gradient(circle at 84% 4%, rgba(255,255,255,.96), transparent 32%),
        linear-gradient(145deg,#f8ffff,#dff4f7 56%,#c5e9f0);
    color:var(--cnc-ink);
}
.cnc-private-page__locked { min-height:100%; display:grid; place-items:center; }
.cnc-private-page__header {
    position:sticky;
    top:0;
    z-index:20;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    min-height:72px;
    padding:0 clamp(20px,4vw,60px);
    border-bottom:1px solid rgba(255,255,255,.72);
    background:rgba(248,254,255,.66);
    backdrop-filter:blur(26px);
}
.cnc-private-page__header p { margin:0; font-size:9px; letter-spacing:.28em; }
.cnc-private-page__header a,.cnc-private-page__header button { color:var(--cnc-blue-950); background:transparent; border:0; text-decoration:none; cursor:pointer; font-size:11px; letter-spacing:.14em; }
.cnc-private-page__header button { justify-self:end; }
.cnc-private-page__main { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:clamp(28px,5vw,72px) 0 60px; display:grid; gap:18px; }
.cnc-private-hero { display:grid; grid-template-columns:minmax(250px,.9fr) 1.4fr; gap:18px; min-height:340px; }
.cnc-private-hero > div { padding:clamp(28px,4vw,54px); border:1px solid rgba(255,255,255,.80); border-radius:30px; background:rgba(255,255,255,.56); box-shadow:0 24px 70px rgba(4,55,79,.08); }
.cnc-private-hero h1 { margin:0; font-family:Georgia,serif; font-weight:400; font-size:clamp(64px,9vw,126px); line-height:.83; letter-spacing:-.04em; }
.cnc-private-next { display:grid; align-content:start; gap:8px; }
.cnc-private-next article { display:grid; grid-template-columns:90px 1fr; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--cnc-line); }
.cnc-private-next time { color:var(--cnc-blue-800); font-size:10px; letter-spacing:.10em; }
.cnc-private-next strong { font-size:13px; font-weight:500; }
.cnc-private-next > p { color:var(--cnc-muted); letter-spacing:.15em; font-size:11px; }
.cnc-private-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.cnc-private-metrics article { min-height:120px; display:grid; place-content:center; text-align:center; border:1px solid rgba(255,255,255,.76); border-radius:22px; background:rgba(255,255,255,.47); }
.cnc-private-metrics strong { font-family:Georgia,serif; font-size:44px; font-weight:400; }
.cnc-private-metrics span { color:var(--cnc-muted); font-size:9px; letter-spacing:.18em; }
.cnc-private-apps { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.cnc-private-apps a { min-height:150px; display:grid; align-content:end; gap:8px; padding:24px; border:1px solid rgba(255,255,255,.76); border-radius:24px; color:var(--cnc-ink); background:rgba(255,255,255,.48); text-decoration:none; transition:transform var(--cnc-fast),background var(--cnc-fast); }
.cnc-private-apps a:hover { transform:translateY(-3px); background:rgba(255,255,255,.82); }
.cnc-private-apps span { color:var(--cnc-blue-800); font-size:8px; letter-spacing:.18em; }
.cnc-private-apps strong { font-family:Georgia,serif; font-size:25px; font-weight:400; }

@media (max-width: 782px) {
    body.admin-bar.cnc-os-shell .cnc-os,
    body.admin-bar.cnc-os-shell .cnc-private-page { min-height: calc(100vh - 46px); height: calc(100vh - 46px); }
    @supports (height: 100svh) {
        body.admin-bar.cnc-os-shell .cnc-os,
        body.admin-bar.cnc-os-shell .cnc-private-page { min-height: calc(100svh - 46px); height: calc(100svh - 46px); }
    }
    @supports (height: 100dvh) {
        body.admin-bar.cnc-os-shell .cnc-os,
        body.admin-bar.cnc-os-shell .cnc-private-page { min-height: calc(100dvh - 46px); height: calc(100dvh - 46px); }
    }
}
@media (max-width: 760px) {
    .cnc-os { min-height:0; }
    .cnc-os__topbar { padding: max(20px, calc(env(safe-area-inset-top, 0px) + 12px)) 18px 18px; }
    .cnc-os__brand > span:first-child { font-size:28px; }
    .cnc-smart-menu.is-open { max-width:calc(100vw - 100px); }
    .cnc-smart-menu__rail { max-width:calc(100vw - 154px); }
    .cnc-smart-menu__rail button { padding:0 12px; font-size:9px; }
    .cnc-globe-card { top:auto; bottom:76px; right:18px; left:18px; width:auto; transform:none; padding:22px 24px; }
    @keyframes cnc-card-open { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
    .cnc-workspace { top:auto; bottom:18px; right:18px; left:18px; width:auto; max-height:min(70vh,560px); transform:translateY(34px) scale(.98); }
    .cnc-workspace.is-open { transform:none; }
    .cnc-os__hint {
        bottom:max(24px, calc(env(safe-area-inset-bottom, 0px) + 18px));
        font-size:8px;
    }
    .cnc-smart-menu__private { display: block; }
    .cnc-os__private-trigger--floating {
        position: fixed;
        top: max(102px, calc(env(safe-area-inset-top, 0px) + 86px));
        left: 18px;
        width: 22px;
        height: 22px;
        display: grid;
        z-index: 68;
    }
    .cnc-os__private-trigger--floating span { font-size: 13px; line-height: 1; }
    .cnc-private-hero { grid-template-columns:1fr; min-height:0; }
    .cnc-private-hero h1 { font-size:72px; }
    .cnc-private-metrics { grid-template-columns:repeat(2,1fr); }
    .cnc-private-apps { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 440px) {
    .cnc-smart-menu__rail button { padding:0 9px; }
    .cnc-app-grid { grid-template-columns:1fr 1fr; }
    .cnc-private-page__main { width:calc(100% - 24px); }
    .cnc-private-apps { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* v0.4 database + app registry */
.cnc-toggle-list label > span { flex: 1; }
.cnc-toggle-list label > small { order: 1; min-width: 28px; margin-right: 8px; color: var(--cnc-muted); font-size: 9px; text-align: right; }
.cnc-toggle-list input { order: 2; flex: 0 0 auto; }
.cnc-app-grid > span {
    min-height: 78px;
    display: flex;
    align-items: flex-end;
    padding: 15px;
    border: 1px solid rgba(11,86,111,.08);
    border-radius: 18px;
    color: rgba(8,47,69,.40);
    background: rgba(255,255,255,.20);
    font-size: 10px;
    letter-spacing: .13em;
}
.cnc-app-grid > span::after { content: ""; width: 5px; height: 5px; margin: 0 0 3px auto; border-radius: 50%; background: rgba(8,47,69,.20); }
.cnc-app-grid > span.is-active::after,.cnc-app-grid > span.is-beta::after { background: var(--cnc-green); }
.cnc-private-page__header-actions { justify-self: end; display: flex; align-items: center; gap: 18px; }
.cnc-private-page__header-actions a,.cnc-private-page__header-actions button { justify-self: auto; }
.cnc-private-next article > div { display: grid; gap: 4px; }
.cnc-private-next article span { color: var(--cnc-muted); font-size: 10px; }
.cnc-private-metrics { grid-template-columns: repeat(6, 1fr); }
.cnc-private-console {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.80);
    border-radius: 28px;
    background: rgba(255,255,255,.52);
    box-shadow: 0 24px 70px rgba(4,55,79,.08);
}
.cnc-private-console__bar {
    position: sticky;
    top: 72px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--cnc-line);
    background: rgba(249,254,255,.86);
    backdrop-filter: blur(24px);
}
.cnc-private-console__bar nav { display: flex; gap: 3px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.cnc-private-console__bar nav::-webkit-scrollbar { display: none; }
.cnc-private-console__bar button {
    min-height: 38px;
    padding: 0 14px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--cnc-muted);
    font-size: 9px;
    letter-spacing: .14em;
    white-space: nowrap;
    cursor: pointer;
}
.cnc-private-console__bar button.is-active { background: var(--cnc-blue-950); color: white; }
.cnc-private-console__bar label { flex: 0 0 min(220px, 24vw); }
.cnc-private-console__bar input {
    width: 100%;
    height: 38px;
    padding: 0 14px;
    border: 1px solid var(--cnc-line);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--cnc-ink);
    outline: 0;
    font-size: 10px;
    letter-spacing: .12em;
}
.cnc-private-console__panel[hidden] { display: none !important; }
.cnc-private-table-wrap { overflow: auto; max-height: 62vh; }
.cnc-private-table { width: 100%; min-width: 940px; border-collapse: collapse; }
.cnc-private-table th,.cnc-private-table td { padding: 14px 16px; border-bottom: 1px solid var(--cnc-line); text-align: left; vertical-align: top; }
.cnc-private-table th { position: sticky; top: 0; z-index: 2; background: rgba(241,250,252,.96); color: var(--cnc-muted); font-size: 8px; font-weight: 600; letter-spacing: .16em; }
.cnc-private-table td { font-size: 11px; }
.cnc-private-table td strong { display: block; font-weight: 600; }
.cnc-private-table td small,.cnc-private-table td a { display: block; margin-top: 4px; color: var(--cnc-muted); font-size: 9px; text-decoration: none; }
.cnc-private-table tr[hidden] { display: none; }
.cnc-private-app-registry { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 18px; }
.cnc-private-app-registry article { min-height: 140px; display: grid; align-content: end; gap: 7px; padding: 20px; border: 1px solid var(--cnc-line); border-radius: 20px; background: rgba(255,255,255,.46); }
.cnc-private-app-registry span,.cnc-private-app-registry small { color: var(--cnc-muted); font-size: 8px; letter-spacing: .14em; }
.cnc-private-app-registry strong { font-family: Georgia, serif; font-size: 22px; font-weight: 400; }
.cnc-private-app-registry a { color: var(--cnc-blue-800); font-size: 9px; letter-spacing: .14em; text-decoration: none; }

@media (max-width: 980px) {
    .cnc-private-metrics { grid-template-columns: repeat(3,1fr); }
    .cnc-private-app-registry { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .cnc-private-console__bar { top: 72px; display: grid; gap: 10px; }
    .cnc-private-console__bar label { width: 100%; }
    .cnc-private-console__bar nav { width: 100%; }
    .cnc-private-table-wrap { max-height: 58vh; }
}
@media (max-width: 480px) {
    .cnc-private-metrics { grid-template-columns: repeat(2,1fr); }
    .cnc-private-app-registry { grid-template-columns: 1fr; }
}


/* v0.6.7 — CNCとは / one-screen editorial glass */
.cnc-workspace.is-brand {
    top: 50%;
    left: 50%;
    right: auto;
    width: min(1100px, calc(100vw - 72px));
    height: min(720px, calc(var(--cnc-os-visual-height, 100vh) - 112px));
    max-height: none;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    background: rgba(247, 253, 255, .72);
    border-color: rgba(255, 255, 255, .90);
    box-shadow: 0 36px 120px rgba(3, 52, 77, .20);
    transform: translate(-50%, calc(-50% + 28px)) scale(.985);
}
.cnc-workspace.is-brand.is-open { transform: translate(-50%, -50%) scale(1); }
.cnc-workspace.is-brand .cnc-workspace__header {
    position: relative;
    min-height: 54px;
    padding: 10px 16px 9px 24px;
    background: rgba(249, 254, 255, .58);
}
.cnc-workspace__view--about {
    min-height: 0;
    padding: 0;
    overflow: hidden;
}
.cnc-about {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: clamp(14px, 2.2vh, 22px);
    padding: clamp(20px, 2.5vw, 34px) clamp(22px, 3.2vw, 42px) clamp(18px, 2.3vw, 30px);
    overflow: hidden;
}
.cnc-about__hero {
    display: grid;
    grid-template-columns: minmax(380px, .95fr) minmax(360px, 1.05fr);
    gap: clamp(24px, 4vw, 58px);
    align-items: center;
    padding-bottom: clamp(14px, 2vh, 20px);
    border-bottom: 1px solid var(--cnc-line);
}
.cnc-about__identity {
    min-width: 0;
    display: grid;
    grid-template-columns: clamp(88px, 9vw, 122px) minmax(0, 1fr);
    gap: clamp(16px, 2.4vw, 28px);
    align-items: center;
}
.cnc-about__logo {
    width: 100%;
    max-height: 148px;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 18px 34px rgba(4, 52, 77, .14));
}
.cnc-about__identity-copy { min-width: 0; }
.cnc-about__identity-copy .cnc-kicker { margin-bottom: 8px; }
.cnc-about__identity-copy h1 {
    margin: 0;
    font-family: Georgia, "Yu Mincho", serif;
    font-size: clamp(28px, 3.4vw, 47px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.025em;
}
.cnc-about__tagline {
    margin: 11px 0 0;
    color: var(--cnc-blue-800);
    font-size: 8px;
    letter-spacing: .19em;
}
.cnc-about__intro { display: grid; gap: 10px; }
.cnc-about__lead {
    margin: 0;
    font-family: Georgia, "Yu Mincho", serif;
    font-size: clamp(18px, 2vw, 27px);
    line-height: 1.52;
    letter-spacing: .01em;
}
.cnc-about__statement {
    margin: 0;
    color: rgba(8,47,69,.66);
    font-size: 12px;
    line-height: 1.78;
}
.cnc-about__body {
    min-height: 0;
    display: grid;
    grid-template-columns: 1.03fr .97fr;
    gap: clamp(24px, 4vw, 54px);
    align-items: stretch;
    overflow: hidden;
}
.cnc-about__section {
    min-height: 0;
    display: grid;
    align-content: start;
}
.cnc-about__section h2 {
    margin: 0 0 12px;
    font-family: Georgia, "Yu Mincho", serif;
    font-size: clamp(18px, 1.8vw, 24px);
    font-weight: 400;
}
.cnc-about__eyebrow {
    margin: 0 0 5px;
    color: var(--cnc-blue-800);
    font-size: 7px;
    letter-spacing: .24em;
}
.cnc-about__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.cnc-about__actions article {
    min-height: 84px;
    display: grid;
    align-content: end;
    gap: 5px;
    padding: 13px 14px;
    border: 1px solid rgba(255,255,255,.76);
    border-radius: 17px;
    background: rgba(255,255,255,.34);
}
.cnc-about__actions strong,
.cnc-about__projects strong {
    color: var(--cnc-blue-800);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .15em;
}
.cnc-about__actions span,
.cnc-about__projects span {
    color: rgba(8,47,69,.72);
    font-size: 10.5px;
    line-height: 1.55;
}
.cnc-about__projects {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
.cnc-about__projects li {
    display: grid;
    grid-template-columns: minmax(128px, .75fr) minmax(0, 1.25fr);
    gap: 12px;
    align-items: baseline;
    padding: 8px 0;
    border-bottom: 1px solid var(--cnc-line);
}
.cnc-about__projects li:first-child { padding-top: 0; }
.cnc-about__footer {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 18px;
    padding-top: 13px;
    border-top: 1px solid var(--cnc-line);
}
.cnc-about__footer p {
    margin: 0;
    color: var(--cnc-muted);
    font-family: Georgia, "Yu Mincho", serif;
    font-size: 11px;
    line-height: 1.55;
}
.cnc-about__footer button {
    min-height: 40px;
    padding: 0 19px;
    border: 1px solid rgba(255,255,255,.80);
    border-radius: 999px;
    background: rgba(255,255,255,.60);
    color: var(--cnc-blue-950);
    font-size: 9px;
    letter-spacing: .14em;
    cursor: pointer;
    transition: transform var(--cnc-fast), background var(--cnc-fast);
}
.cnc-about__footer button:hover { transform: translateY(-1px); background: rgba(255,255,255,.90); }

@media (max-width: 760px) {
    .cnc-os__topbar { inset: max(10px, env(safe-area-inset-top, 0px)) 0 auto 0; padding: 0 14px 0; align-items: flex-start; overflow: visible; }
    .cnc-os__brand { gap: 6px; align-items: center; min-height: 44px; padding-top: 2px; }
    .cnc-os__brand-logo { width: 36px; height: 46px; }
    .cnc-os__brand-word { font-size: 24px; }
    .cnc-os__brand-question { font-size: 11px; }
    .cnc-smart-menu { min-height: 44px; }
    .cnc-smart-menu__trigger { width: 44px; height: 44px; }

    .cnc-workspace.is-brand {
        top: max(12px, env(safe-area-inset-top, 0px));
        right: 10px;
        bottom: max(12px, env(safe-area-inset-bottom, 0px));
        left: 10px;
        width: auto;
        height: auto;
        max-height: calc(var(--cnc-os-visual-height, 100vh) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 24px);
        transform: translateY(16px) scale(.988);
        border-radius: 22px;
    }
    .cnc-workspace.is-brand.is-open { transform: none; }
    .cnc-workspace.is-brand .cnc-workspace__header {
        min-height: 42px;
        padding: 6px 8px 5px 14px;
    }
    .cnc-workspace.is-brand .cnc-workspace__header p { font-size: 8px; }
    .cnc-workspace.is-brand .cnc-workspace__header button { width: 30px; height: 30px; }
    .cnc-workspace__view--about {
        overflow: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
    .cnc-about {
        height: auto;
        min-height: 100%;
        gap: 8px;
        padding: 9px 11px 9px;
        overflow: visible;
    }
    .cnc-about__hero {
        grid-template-columns: 1fr;
        gap: 6px;
        padding-bottom: 7px;
    }
    .cnc-about__identity {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 9px;
    }
    .cnc-about__logo { max-height: 62px; }
    .cnc-about__identity-copy .cnc-kicker { margin-bottom: 2px; font-size: 5.8px; }
    .cnc-about__identity-copy h1 { font-size: clamp(17px, 5.5vw, 22px); line-height: 1; }
    .cnc-about__tagline { margin-top: 4px; font-size: 5.2px; letter-spacing: .12em; }
    .cnc-about__intro {
        grid-template-columns: 1fr 1.12fr;
        gap: 8px;
        align-items: start;
    }
    .cnc-about__lead { font-size: 11px; line-height: 1.34; }
    .cnc-about__statement { font-size: 8px; line-height: 1.42; }
    .cnc-about__body {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .cnc-about__section h2 { margin-bottom: 5px; font-size: 12px; }
    .cnc-about__eyebrow { margin-bottom: 2px; font-size: 5.2px; }
    .cnc-about__actions { gap: 4px; }
    .cnc-about__actions article {
        min-height: 48px;
        gap: 2px;
        padding: 6px;
        border-radius: 10px;
    }
    .cnc-about__actions strong,
    .cnc-about__projects strong { font-size: 5.8px; letter-spacing: .09em; }
    .cnc-about__actions span,
    .cnc-about__projects span { font-size: 7px; line-height: 1.28; }
    .cnc-about__projects li {
        grid-template-columns: 1fr;
        gap: 1px;
        padding: 3px 0;
    }
    .cnc-about__footer {
        grid-template-columns: 1fr auto;
        gap: 7px;
        padding-top: 6px;
    }
    .cnc-about__footer p { font-size: 7px; line-height: 1.28; }
    .cnc-about__footer button { min-height: 32px; padding: 0 10px; font-size: 6.7px; }
}

@media (max-width: 380px) {
    .cnc-about__identity { grid-template-columns: 50px minmax(0, 1fr); }
    .cnc-about__logo { max-height: 62px; }
    .cnc-about__identity-copy h1 { font-size: 17px; }
    .cnc-about__intro { gap: 7px; }
    .cnc-about__lead { font-size: 10.5px; }
    .cnc-about__statement { font-size: 7.6px; }
    .cnc-about__actions span,
    .cnc-about__projects span { font-size: 6.8px; }
}

@media (max-height: 660px) and (max-width: 760px) {
    .cnc-about { gap: 6px; padding-top: 7px; padding-bottom: 7px; }
    .cnc-about__hero { gap: 5px; padding-bottom: 5px; }
    .cnc-about__identity { grid-template-columns: 46px minmax(0, 1fr); }
    .cnc-about__logo { max-height: 56px; }
    .cnc-about__identity-copy h1 { font-size: 16px; }
    .cnc-about__lead { font-size: 9.8px; }
    .cnc-about__statement { font-size: 7.1px; }
    .cnc-about__section h2 { font-size: 11px; margin-bottom: 4px; }
    .cnc-about__actions article { min-height: 46px; padding: 5px 6px; }
    .cnc-about__projects li { padding: 3px 0; }
    .cnc-about__footer { padding-top: 5px; }
}


/* v0.6.16 — CNC overview infographic / official CNC Blue */
.cnc-workspace.is-brand {
    width: min(1120px, calc(100vw - 72px));
    height: min(780px, calc(var(--cnc-os-visual-height, 100vh) - 98px));
}
.cnc-workspace__view--about { overflow: hidden; }
.cnc-overview {
    --cnc-accent: var(--cnc-blue, #35B7C0);
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto auto auto;
    gap: clamp(9px, 1.4vh, 14px);
    padding: clamp(16px, 2vw, 24px) clamp(20px, 3vw, 34px) clamp(12px, 1.6vw, 18px);
    overflow: visible;
    background:
        radial-gradient(circle at 93% 10%, rgba(53,183,192,.13), transparent 27%),
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(233,249,251,.16));
}
.cnc-overview, .cnc-overview *:not(svg):not(path):not(circle):not(rect) { font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; }
.cnc-overview__emphasis { display:inline-block; margin-left:4px; padding:2px 10px; border-radius:999px; background:rgba(53,183,192,.12); color:var(--cnc-blue-950); font-size:1.02em; font-weight:800; letter-spacing:.02em; }
.cnc-overview__hero { display:grid; grid-template-columns:minmax(430px,.95fr) minmax(0,1.05fr); gap:clamp(18px,2.6vw,34px); align-items:center; padding-bottom:10px; border-bottom:1px solid var(--cnc-line); }
.cnc-overview__identity { display:grid; grid-template-columns:clamp(74px,7vw,100px) 1fr; gap:clamp(12px,1.5vw,18px); align-items:center; min-width:0; }
.cnc-overview__logo { width:100%; max-height:118px; object-fit:contain; filter:drop-shadow(0 12px 24px rgba(4,52,77,.13)); }
.cnc-overview__kicker,.cnc-overview__tagline { margin:0; color:var(--cnc-blue-800); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:8.5px; letter-spacing:.16em; font-weight:600; }
.cnc-overview__identity h1 { margin:6px 0 8px; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:clamp(26px,2.5vw,34px); font-weight:700; line-height:1.05; letter-spacing:-.01em; white-space:nowrap; }
.cnc-overview__mission { position:relative; z-index:1; }
.cnc-overview__mission h2 { margin:0 0 10px; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:clamp(16px,1.55vw,22px); font-weight:700; line-height:1.5; }
.cnc-overview__mission p { max-width:520px; margin:0; color:rgba(8,47,69,.72); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:11px; line-height:1.72; font-weight:500; }
.cnc-overview__pillars,.cnc-overview__steps { min-height:0; display:grid; gap:8px; }
.cnc-overview__section-title { display:grid; grid-template-columns:minmax(28px,76px) auto minmax(28px,76px); gap:14px; align-items:center; justify-content:center; }
.cnc-overview__section-title span { height:2px; border-radius:999px; background:linear-gradient(90deg,transparent,var(--cnc-accent)); }
.cnc-overview__section-title span:last-child { background:linear-gradient(90deg,var(--cnc-accent),transparent); }
.cnc-overview__section-title h2 { margin:0; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:clamp(15px,1.35vw,20px); font-weight:700; letter-spacing:.02em; }
.cnc-overview__pillar-grid { min-height:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:stretch; }
.cnc-overview__pillar { position:relative; min-width:0; min-height:168px; display:grid; grid-template-rows:70px auto auto; justify-items:center; align-content:center; padding:8px 12px 12px; border:1px solid rgba(8,47,69,.09); border-radius:18px; background:rgba(255,255,255,.43); text-align:center; box-shadow:0 12px 30px rgba(5,69,91,.04); }
.cnc-overview__pillar>b { position:absolute; top:12px; left:12px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--cnc-blue-950); color:#fff; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:13px; font-weight:700; }
.cnc-overview__pillar svg { width:min(150px,88%); height:66px; overflow:visible; fill:none; stroke:#9bcbd8; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.cnc-overview__pillar svg .soft { fill:rgba(53,183,192,.06); stroke:#c3e2e8; }
.cnc-overview__pillar svg .solid,.cnc-overview__pillar svg .fill { fill:var(--cnc-blue-950); stroke:none; }
.cnc-overview__pillar svg .pale { fill:#5b9db5; }
.cnc-overview__pillar svg .route { stroke:var(--cnc-accent); stroke-dasharray:5 6; }
.cnc-overview__pillar svg .pin { fill:var(--cnc-accent); stroke:none; }
.cnc-overview__pillar svg .white { fill:#fff; stroke:none; }
.cnc-overview__pillar svg .bar { fill:#7fcbd5; stroke:none; }
.cnc-overview__pillar svg .rise { stroke:var(--cnc-accent); stroke-width:3; }
.cnc-overview__pillar h3 { margin:6px 0 4px; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:clamp(14px,1.2vw,18px); line-height:1.38; font-weight:700; }
.cnc-overview__pillar p { margin:0; color:rgba(8,47,69,.72); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:9px; line-height:1.48; font-weight:500; }
.cnc-overview__flow { display:grid; grid-template-columns:minmax(210px,.95fr) 30px minmax(250px,1.15fr) minmax(220px,.9fr); gap:8px; align-items:stretch; }
.cnc-overview__step { min-width:0; display:grid; grid-template-columns:26px 46px 1fr; gap:8px; align-items:center; padding:6px 10px 6px 7px; border:1px solid rgba(8,47,69,.08); border-radius:999px; background:rgba(255,255,255,.51); }
.cnc-overview__step>b { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--cnc-accent); color:#fff; font-size:10px; }
.cnc-overview__step i { position:relative; width:42px; height:42px; display:block; border-radius:50%; background:rgba(53,183,192,.08); }
.cnc-overview__step i:before { content:""; position:absolute; top:7px; left:15px; width:10px; height:10px; border:2px solid var(--cnc-accent); border-radius:50%; }
.cnc-overview__step i:after { content:""; position:absolute; left:10px; bottom:5px; width:20px; height:15px; border:2px solid var(--cnc-accent); border-bottom:0; border-radius:16px 16px 0 0; }
.cnc-overview__step i.is-group:before { left:15px; box-shadow:-10px 5px 0 -3px #fff,-10px 5px 0 -1px var(--cnc-accent),10px 5px 0 -3px #fff,10px 5px 0 -1px var(--cnc-accent); }
.cnc-overview__step strong { display:block; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:10px; line-height:1.38; font-weight:700; }
.cnc-overview__step small { display:block; margin-top:2px; color:rgba(8,47,69,.6); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:7px; font-weight:500; }
.cnc-overview__flow-arrow { align-self:center; position:relative; height:14px; background:var(--cnc-accent); clip-path:polygon(0 28%,65% 28%,65% 0,100% 50%,65% 100%,65% 72%,0 72%); opacity:.85; }
.cnc-overview__service { min-width:0; min-height:72px; display:grid; place-content:center; justify-items:center; gap:2px; padding:8px 16px; border:2px solid #c79a28; border-radius:999px; background:linear-gradient(135deg,#40c1c7,var(--cnc-accent)); color:#fff; text-decoration:none; box-shadow:0 13px 28px rgba(53,183,192,.22),inset 0 0 0 2px rgba(255,255,255,.28); transition:transform var(--cnc-fast),filter var(--cnc-fast); }
.cnc-overview__service:hover { transform:translateY(-2px); filter:saturate(1.08); }
.cnc-overview__service strong { font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:12px; letter-spacing:.02em; font-weight:700; }
.cnc-overview__service strong span { margin-left:6px; font-size:16px; font-weight:300; }
.cnc-overview__service small { font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:8px; letter-spacing:.04em; font-weight:600; }
.cnc-overview__footer { display:flex; justify-content:center; gap:clamp(14px,2vw,28px); padding-top:8px; border-top:1px solid var(--cnc-line); color:var(--cnc-blue-800); }
.cnc-overview__footer span { font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:7px; letter-spacing:.08em; font-weight:700; }

/* Separate REAL SERVICES page */
.cnc-real-page { --cnc-accent:var(--cnc-blue,#35B7C0); position:relative; min-height:100vh; overflow:auto; color:var(--cnc-ink); background:linear-gradient(155deg,#fbffff,#e4f7f9 48%,#c9edf1); }
.cnc-real-page, .cnc-real-page * { font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; }
.cnc-real-page__ambient { position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 82% 8%,rgba(255,255,255,.95),transparent 31%),radial-gradient(circle at 10% 85%,rgba(53,183,192,.16),transparent 28%); }
.cnc-real-page__header { position:relative; z-index:2; min-height:86px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:14px clamp(20px,4vw,62px); border-bottom:1px solid rgba(255,255,255,.75); }
.cnc-real-page__brand { justify-self:start; display:flex; align-items:center; gap:9px; color:var(--cnc-blue-950); text-decoration:none; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:28px; font-weight:700; }
.cnc-real-page__brand img { width:39px; height:50px; object-fit:contain; }
.cnc-real-page__brand i { width:7px; height:7px; border-radius:50%; background:var(--cnc-accent); box-shadow:0 0 0 6px rgba(53,183,192,.14); }
.cnc-real-page__header p { margin:0; display:grid; gap:3px; text-align:center; }
.cnc-real-page__header p span { color:var(--cnc-muted); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:7px; letter-spacing:.18em; font-weight:700; }
.cnc-real-page__header p strong { font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:10px; letter-spacing:.14em; font-weight:700; }
.cnc-real-page__back { justify-self:end; color:var(--cnc-blue-950); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:8px; letter-spacing:.12em; text-decoration:none; font-weight:700; }
.cnc-real-page__main { position:relative; z-index:1; width:min(1180px,calc(100% - 36px)); margin:0 auto; padding:clamp(28px,5vh,52px) 0 54px; display:grid; gap:14px; }
.cnc-real-page__hero { min-height:230px; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(24px,4vw,42px); border:1px solid rgba(255,255,255,.84); border-radius:32px; background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(232,249,250,.48)); box-shadow:0 24px 70px rgba(5,68,91,.08); }
.cnc-real-page__hero p { margin:0 auto auto 0; color:var(--cnc-accent); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:8px; letter-spacing:.16em; font-weight:700; }
.cnc-real-page__hero h1 { margin:0 0 12px; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:clamp(23px,3.15vw,38px); line-height:1.28; font-weight:700; letter-spacing:-.01em; white-space:nowrap; }
.cnc-real-page__hero span { max-width:820px; color:var(--cnc-muted); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:11px; line-height:1.8; font-weight:500; }
.cnc-real-page__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.cnc-real-page__grid article { min-height:185px; display:flex; flex-direction:column; padding:22px; border:1px solid rgba(255,255,255,.84); border-radius:25px; background:rgba(255,255,255,.5); }
.cnc-real-page__grid b { color:var(--cnc-accent); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:26px; font-weight:700; }
.cnc-real-page__grid h2 { margin:auto 0 8px; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:18px; font-weight:700; line-height:1.4; }
.cnc-real-page__grid p { margin:0; color:var(--cnc-muted); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:10px; line-height:1.8; font-weight:500; }
.cnc-real-page__scope { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.cnc-real-page__scope div { min-height:92px; display:grid; align-content:center; gap:7px; padding:18px; border:1px solid rgba(255,255,255,.8); border-radius:19px; background:rgba(255,255,255,.38); }
.cnc-real-page__scope span { color:var(--cnc-accent); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:7px; letter-spacing:.14em; font-weight:700; }
.cnc-real-page__scope strong { font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:10px; font-weight:700; line-height:1.5; }
.cnc-real-page__entry { display:grid; grid-template-columns:1.15fr .95fr; gap:24px; align-items:center; padding:26px 30px; border-radius:26px; background:linear-gradient(135deg,#40c1c7,var(--cnc-accent)); color:#fff; box-shadow:0 20px 44px rgba(53,183,192,.22); }
.cnc-real-page__entry p { margin:0 0 8px; color:rgba(255,255,255,.82); font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:7px; letter-spacing:.14em; font-weight:700; }
.cnc-real-page__entry h2 { margin:0; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:clamp(16px,1.55vw,21px); line-height:1.65; font-weight:700; }
.cnc-real-page__actions { display:flex; gap:8px; }
.cnc-real-page__actions a { min-height:42px; display:grid; place-items:center; padding:0 16px; border:1px solid rgba(255,255,255,.45); border-radius:999px; color:#fff; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; font-size:9px; letter-spacing:.08em; text-decoration:none; white-space:nowrap; font-weight:700; }
.cnc-real-page__actions a.is-primary { border-color:#d7ad3d; background:var(--cnc-accent); }

.cnc-real-page__service-area { display:grid; gap:10px; justify-items:end; }
.cnc-real-page__service-label { color:rgba(255,255,255,.9); font-size:10px; font-weight:700; letter-spacing:.08em; }
.cnc-real-page__service-links { display:grid; grid-template-columns:repeat(4,minmax(92px,1fr)); gap:8px; }
.cnc-real-page__service-links a { min-height:42px; display:grid; place-items:center; padding:0 14px; border-radius:999px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.46); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); color:#fff; text-decoration:none; font-size:12px; font-weight:700; letter-spacing:.03em; white-space:nowrap; transition:transform var(--cnc-fast), background var(--cnc-fast); }
.cnc-real-page__service-links a:hover { transform:translateY(-1px); background:rgba(255,255,255,.24); }

@media (max-width: 760px) {
    .cnc-workspace.is-brand { top:10px; right:8px; bottom:10px; left:8px; height:auto; max-height:calc(var(--cnc-os-visual-height,100vh) - 20px); }
    .cnc-workspace__view--about { overflow:auto; -webkit-overflow-scrolling:touch; }
    .cnc-overview { height:auto; min-height:100%; grid-template-rows:auto auto auto auto; padding:11px; gap:10px; overflow:visible; }
    .cnc-overview__hero { grid-template-columns:1fr; gap:8px; }
    .cnc-overview__identity { grid-template-columns:56px 1fr; gap:10px; }
    .cnc-overview__logo { max-height:68px; }
    .cnc-overview__identity h1 { font-size:24px; margin:4px 0 6px; line-height:1.08; }
    .cnc-overview__kicker,.cnc-overview__tagline { font-size:7px; }
    .cnc-overview__mission { display:grid; grid-template-columns:1fr; gap:8px; }
    .cnc-overview__mission h2 { margin:0; font-size:14px; line-height:1.52; }
    .cnc-overview__mission p { font-size:10px; line-height:1.6; }
    .cnc-overview__section-title h2 { font-size:14px; }
    .cnc-overview__pillar-grid { gap:5px; }
    .cnc-overview__pillar { min-height:140px; grid-template-rows:58px auto auto; padding:7px 4px 9px; border-radius:12px; }
    .cnc-overview__pillar>b { top:7px; left:7px; width:22px; height:22px; font-size:10px; }
    .cnc-overview__pillar svg { height:55px; }
    .cnc-overview__pillar h3 { font-size:11.5px; line-height:1.35; margin:4px 0 3px; }
    .cnc-overview__pillar p { font-size:7.6px; line-height:1.45; }
    .cnc-overview__flow { grid-template-columns:1fr 18px 1.22fr; gap:4px; }
    .cnc-overview__step { grid-template-columns:22px 36px 1fr; gap:4px; padding:5px; border-radius:15px; }
    .cnc-overview__step>b { width:20px; height:20px; font-size:9px; }
    .cnc-overview__step i { width:34px; height:34px; }
    .cnc-overview__step i:before { top:6px; left:12px; width:9px; height:9px; }
    .cnc-overview__step i:after { left:8px; bottom:4px; width:18px; height:14px; }
    .cnc-overview__step i.is-group:before { left:12px; box-shadow:-8px 5px 0 -3px #fff,-8px 5px 0 -1px var(--cnc-accent),8px 5px 0 -3px #fff,8px 5px 0 -1px var(--cnc-accent); }
    .cnc-overview__step strong { font-size:8.5px; line-height:1.4; }
    .cnc-overview__step small { font-size:6.5px; }
    .cnc-overview__service { grid-column:1/4; min-height:44px; padding:5px 12px; }
    .cnc-overview__service strong { font-size:11.5px; }
    .cnc-overview__service small { font-size:7px; }
    .cnc-overview__footer { gap:13px; padding-top:7px; }
    .cnc-overview__footer span { font-size:6.2px; }
    .cnc-real-page__header { grid-template-columns:1fr auto; min-height:72px; padding:10px 16px; }
    .cnc-real-page__header p { display:none; }
    .cnc-real-page__brand img { width:34px; height:43px; }
    .cnc-real-page__main { width:calc(100% - 22px); padding:24px 0 45px; }
    .cnc-real-page__hero { min-height:220px; padding:22px 18px; }
    .cnc-real-page__hero h1 { font-size:22px; white-space:normal; }
    .cnc-real-page__hero span { font-size:10px; }
    .cnc-real-page__grid,.cnc-real-page__scope { grid-template-columns:1fr; }
    .cnc-real-page__grid article { min-height:190px; }
    .cnc-real-page__entry { grid-template-columns:1fr; padding:22px 18px; }
    .cnc-real-page__service-area { justify-items:stretch; }
    .cnc-real-page__service-label { font-size:9px; text-align:left; }
    .cnc-real-page__service-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cnc-real-page__service-links a { min-height:40px; font-size:11px; }
    .cnc-real-page__actions { flex-wrap:wrap; }
}


.cnc-business-page { --cnc-accent:var(--cnc-blue,#35B7C0); position:relative; min-height:100vh; overflow:auto; color:var(--cnc-ink); background:linear-gradient(155deg,#fbffff,#e6f7f9 48%,#cceef2); }
.cnc-business-page, .cnc-business-page * { font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; }
.cnc-business-page__ambient { position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 82% 8%,rgba(255,255,255,.95),transparent 31%),radial-gradient(circle at 10% 85%,rgba(53,183,192,.16),transparent 28%); }
.cnc-business-page__header { position:relative; z-index:2; min-height:86px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:14px clamp(20px,4vw,62px); border-bottom:1px solid rgba(255,255,255,.75); }
.cnc-business-page__brand { justify-self:start; display:flex; align-items:center; gap:9px; color:var(--cnc-blue-950); text-decoration:none; font-size:28px; font-weight:700; }
.cnc-business-page__brand img { width:39px; height:50px; object-fit:contain; }
.cnc-business-page__brand i { width:7px; height:7px; border-radius:50%; background:var(--cnc-accent); box-shadow:0 0 0 6px rgba(53,183,192,.14); }
.cnc-business-page__header p { margin:0; display:grid; gap:3px; text-align:center; }
.cnc-business-page__header p span { color:var(--cnc-muted); font-size:7px; letter-spacing:.18em; font-weight:700; }
.cnc-business-page__header p strong { font-size:10px; letter-spacing:.14em; font-weight:700; }
.cnc-business-page__back { justify-self:end; color:var(--cnc-blue-950); font-size:8px; letter-spacing:.12em; text-decoration:none; font-weight:700; }
.cnc-business-page__main { position:relative; z-index:1; width:min(1180px,calc(100% - 36px)); margin:0 auto; padding:clamp(28px,5vh,52px) 0 54px; display:grid; gap:14px; }
.cnc-business-page__hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:18px; align-items:stretch; }
.cnc-business-page__hero-copy, .cnc-business-page__hero-visual, .cnc-business-page__panel, .cnc-business-page__questions, .cnc-business-page__cta { border:1px solid rgba(255,255,255,.84); border-radius:28px; background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(232,249,250,.52)); box-shadow:0 22px 54px rgba(5,68,91,.07); }
.cnc-business-page__hero-copy { padding:24px 26px; }
.cnc-business-page__hero-copy > p, .cnc-business-page__questions-copy > p, .cnc-business-page__cta p { margin:0 0 10px; color:var(--cnc-accent); font-size:8px; letter-spacing:.16em; font-weight:700; }
.cnc-business-page__hero-copy h1 { margin:0 0 14px; font-size:clamp(24px,3.4vw,42px); line-height:1.2; font-weight:700; letter-spacing:-.01em; }
.cnc-business-page__intro { display:grid; gap:10px; }
.cnc-business-page__intro p { margin:0; color:var(--cnc-muted); font-size:11px; line-height:1.82; font-weight:500; }
.cnc-business-page__hero-visual { margin:0; padding:14px; display:grid; gap:10px; align-content:start; }
.cnc-business-page__hero-visual img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:20px; background:#fff; }
.cnc-business-page__hero-visual figcaption { color:var(--cnc-muted); font-size:10px; line-height:1.65; padding:0 2px; }
.cnc-business-page__body-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.cnc-business-page__panel { padding:22px 22px 20px; }
.cnc-business-page__panel span { display:inline-grid; place-items:center; min-width:32px; height:32px; padding:0 10px; border-radius:999px; color:#fff; background:var(--cnc-accent); font-size:12px; font-weight:700; }
.cnc-business-page__panel h2 { margin:14px 0 10px; font-size:20px; line-height:1.45; font-weight:700; }
.cnc-business-page__panel p { margin:0 0 9px; color:var(--cnc-muted); font-size:10.5px; line-height:1.82; font-weight:500; }
.cnc-business-page__panel blockquote { margin:14px 0 10px; padding:12px 14px; border-left:3px solid #d7ad3d; border-radius:0 14px 14px 0; background:rgba(53,183,192,.08); color:var(--cnc-blue-950); font-size:18px; font-weight:700; }
.cnc-business-page__panel.is-accent { background:linear-gradient(135deg,rgba(64,193,199,.16),rgba(255,255,255,.82)); }
.cnc-business-page__questions { display:grid; grid-template-columns:1.05fr .95fr; gap:16px; padding:22px; }
.cnc-business-page__questions-copy h2 { margin:0 0 12px; font-size:22px; line-height:1.4; font-weight:700; }
.cnc-business-page__questions-copy ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.cnc-business-page__questions-copy li { display:grid; gap:3px; padding:12px 14px; border-radius:18px; background:rgba(255,255,255,.54); border:1px solid rgba(8,47,69,.08); }
.cnc-business-page__questions-copy strong { font-size:13px; font-weight:700; color:var(--cnc-blue-950); }
.cnc-business-page__questions-copy span { color:var(--cnc-muted); font-size:10px; line-height:1.7; }
.cnc-business-page__questions-flow { display:grid; gap:10px; align-content:center; }
.cnc-business-page__questions-flow div { position:relative; display:grid; gap:4px; padding:14px 16px; border-radius:18px; background:rgba(53,183,192,.08); border:1px solid rgba(53,183,192,.18); }
.cnc-business-page__questions-flow div:not(:last-child)::after { content:""; position:absolute; left:50%; bottom:-10px; width:1px; height:10px; background:rgba(53,183,192,.35); }
.cnc-business-page__questions-flow b { font-size:16px; font-weight:700; color:var(--cnc-blue-950); }
.cnc-business-page__questions-flow small { color:var(--cnc-muted); font-size:10px; line-height:1.6; }
.cnc-business-page__cta { display:grid; grid-template-columns:1.1fr auto; gap:18px; align-items:center; padding:24px 26px; background:linear-gradient(135deg,#40c1c7,var(--cnc-accent)); color:#fff; box-shadow:0 20px 44px rgba(53,183,192,.22); }
.cnc-business-page__cta h2 { margin:0; font-size:clamp(16px,1.55vw,21px); line-height:1.72; font-weight:700; }
.cnc-business-page__cta a { min-height:46px; display:grid; place-items:center; padding:0 22px; border-radius:999px; border:1px solid rgba(255,255,255,.48); background:rgba(255,255,255,.16); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); color:#fff; text-decoration:none; font-size:12px; font-weight:700; white-space:nowrap; }
.cnc-business-page__cta a:hover { transform:translateY(-1px); background:rgba(255,255,255,.22); }

@media (max-width: 980px) {
    .cnc-business-page__hero, .cnc-business-page__body-grid, .cnc-business-page__questions, .cnc-business-page__cta { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
    .cnc-business-page__header { grid-template-columns:1fr auto; min-height:72px; padding:10px 16px; }
    .cnc-business-page__header p { display:none; }
    .cnc-business-page__brand img { width:34px; height:43px; }
    .cnc-business-page__main { width:calc(100% - 22px); padding:24px 0 45px; }
    .cnc-business-page__hero-copy, .cnc-business-page__hero-visual, .cnc-business-page__panel, .cnc-business-page__questions, .cnc-business-page__cta { border-radius:24px; }
    .cnc-business-page__hero-copy { padding:20px 18px; }
    .cnc-business-page__hero-copy h1 { font-size:26px; }
    .cnc-business-page__intro p, .cnc-business-page__hero-visual figcaption, .cnc-business-page__panel p, .cnc-business-page__questions-copy span, .cnc-business-page__questions-flow small { font-size:10px; }
    .cnc-business-page__body-grid { grid-template-columns:1fr; }
    .cnc-business-page__panel { padding:18px; }
    .cnc-business-page__panel h2 { font-size:18px; }
    .cnc-business-page__panel blockquote { font-size:16px; }
    .cnc-business-page__questions { padding:18px; }
    .cnc-business-page__questions-copy h2 { font-size:19px; }
    .cnc-business-page__cta { padding:20px 18px; }
    .cnc-business-page__cta h2 { font-size:16px; }
    .cnc-business-page__cta a { min-height:44px; font-size:11px; }
}


.cnc-real-page--essay .cnc-real-page__main--essay { width:min(1080px, calc(100% - 36px)); padding-top:24px; }
.cnc-real-story { display:grid; gap:14px; }
.cnc-real-story__intro,
.cnc-real-story__figure,
.cnc-real-story__body,
.cnc-real-story__cta {
    border:1px solid rgba(255,255,255,.84);
    border-radius:28px;
    background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(232,249,250,.5));
    box-shadow:0 18px 48px rgba(5,68,91,.07);
}
.cnc-real-story__intro { padding:22px 26px; }
.cnc-real-story__eyebrow { margin:0 0 10px; color:var(--cnc-accent); font-size:8px; letter-spacing:.18em; font-weight:700; }
.cnc-real-story__intro h1 { margin:0 0 12px; color:var(--cnc-blue-950); font-size:clamp(24px,3.1vw,40px); line-height:1.28; font-weight:700; }
.cnc-real-story__lead { display:grid; gap:8px; max-width:920px; }
.cnc-real-story__lead p, .cnc-real-story__section p { margin:0; color:rgba(8,47,69,.82); font-size:12px; line-height:1.9; font-weight:500; }
.cnc-real-story__figure { padding:12px; }
.cnc-real-story__figure img { display:block; width:100%; max-height:440px; object-fit:cover; border-radius:20px; }
.cnc-real-story__body { padding:22px 26px; display:grid; gap:20px; }
.cnc-real-story__section { display:grid; gap:10px; }
.cnc-real-story__section + .cnc-real-story__section { padding-top:18px; border-top:1px solid rgba(8,47,69,.08); }
.cnc-real-story__section h2 { margin:0; color:var(--cnc-blue-950); font-size:18px; line-height:1.55; font-weight:700; }
.cnc-real-story__section blockquote { margin:4px 0 0; padding:14px 16px; border-left:3px solid #d7ad3d; border-radius:0 16px 16px 0; background:rgba(53,183,192,.08); color:var(--cnc-blue-950); font-size:15px; line-height:1.75; font-weight:600; }
.cnc-real-story__section blockquote strong { font-size:17px; }
.cnc-real-story__prompts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:4px; }
.cnc-real-story__prompts span { display:grid; place-items:center; min-height:52px; padding:10px 12px; border-radius:999px; background:rgba(53,183,192,.12); border:1px solid rgba(53,183,192,.22); color:var(--cnc-blue-950); font-size:12px; text-align:center; font-weight:700; }
.cnc-real-story__cta { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; padding:22px 26px; background:linear-gradient(135deg,#40c1c7,var(--cnc-accent)); color:#fff; }
.cnc-real-story__cta p { margin:0 0 6px; color:rgba(255,255,255,.82); font-size:8px; letter-spacing:.14em; font-weight:700; }
.cnc-real-story__cta h2 { margin:0; font-size:24px; line-height:1.45; font-weight:700; }
.cnc-real-story__cta a { min-height:44px; display:grid; place-items:center; padding:0 22px; border-radius:999px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.55); color:#fff; text-decoration:none; font-size:12px; font-weight:700; white-space:nowrap; }

@media (max-width: 760px) {
    .cnc-real-page--essay .cnc-real-page__main--essay { width:calc(100% - 22px); padding-top:18px; }
    .cnc-real-story__intro,
    .cnc-real-story__body,
    .cnc-real-story__cta { padding:18px; }
    .cnc-real-story__intro h1 { font-size:24px; }
    .cnc-real-story__lead p, .cnc-real-story__section p { font-size:11px; line-height:1.85; }
    .cnc-real-story__section h2 { font-size:16px; }
    .cnc-real-story__prompts { grid-template-columns:1fr; }
    .cnc-real-story__cta { grid-template-columns:1fr; }
    .cnc-real-story__cta h2 { font-size:20px; }
}


/* REAL SERVICES article layout v0.6.23 */
.cnc-real-page--article .cnc-real-page__main { width:min(1180px, calc(100% - 42px)); gap:18px; }
.cnc-real-article { padding-top:clamp(26px,4.5vh,46px); }
.cnc-real-article__hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:22px; align-items:start; padding:30px; border:1px solid rgba(255,255,255,.84); border-radius:32px; background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(232,249,250,.52)); box-shadow:0 24px 70px rgba(5,68,91,.08); }
.cnc-real-article__hero-copy p:first-child, .cnc-real-article__goal > p:first-child { margin:0 0 8px; color:var(--cnc-accent); font-size:8px; letter-spacing:.16em; font-weight:700; }
.cnc-real-article__hero-copy h1 { margin:0 0 14px; color:var(--cnc-blue-950); font-size:clamp(26px,3vw,40px); line-height:1.24; font-weight:700; }
.cnc-real-article__lead { display:grid; gap:9px; }
.cnc-real-article__lead p, .cnc-real-article__section p, .cnc-real-article__goal p { margin:0; color:rgba(8,47,69,.78); font-size:12px; line-height:1.9; font-weight:500; }
.cnc-real-article__hero-figure { margin:0; }
.cnc-real-article__hero-figure img { display:block; width:100%; height:auto; border-radius:24px; border:1px solid rgba(255,255,255,.9); box-shadow:0 18px 42px rgba(5,68,91,.12); }
.cnc-real-article__section, .cnc-real-article__goal { display:grid; gap:12px; padding:26px 30px; border:1px solid rgba(255,255,255,.82); border-radius:28px; background:rgba(255,255,255,.48); }
.cnc-real-article__section h2, .cnc-real-article__goal h2 { margin:0; color:var(--cnc-blue-950); font-size:clamp(18px,1.7vw,26px); line-height:1.45; font-weight:700; }
.cnc-real-article__section--quote { background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(225,247,248,.62)); }
.cnc-real-article__section blockquote { margin:0; padding:16px 18px; border-left:3px solid #d7ad3d; border-radius:16px; background:rgba(53,183,192,.08); color:var(--cnc-blue-950); font-size:15px; line-height:1.8; font-weight:700; }
.cnc-real-article__strong { color:var(--cnc-blue-950) !important; font-size:18px !important; line-height:1.8 !important; font-weight:700 !important; }
.cnc-real-article__section--columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.cnc-real-article__section--columns > div { display:grid; gap:12px; }
.cnc-real-article__goal-box { padding:16px 18px; border-radius:20px; background:rgba(53,183,192,.12); color:var(--cnc-blue-950); font-size:15px; line-height:1.85; font-weight:700; }
.cnc-real-article__goal-cta { display:inline-grid; justify-self:start; place-items:center; min-height:46px; padding:0 20px; border-radius:999px; background:linear-gradient(135deg,#40c1c7,var(--cnc-accent)); color:#fff; font-size:12px; font-weight:700; letter-spacing:.04em; box-shadow:0 15px 34px rgba(53,183,192,.24); }
@media (max-width: 900px) {
    .cnc-real-article__hero { grid-template-columns:1fr; padding:22px 18px; }
    .cnc-real-article__section, .cnc-real-article__goal { padding:22px 18px; }
    .cnc-real-article__section--columns { grid-template-columns:1fr; }
    .cnc-real-article__hero-copy h1 { font-size:24px; }
    .cnc-real-article__lead p, .cnc-real-article__section p, .cnc-real-article__goal p { font-size:11px; line-height:1.85; }
    .cnc-real-article__strong { font-size:16px !important; }
    .cnc-real-article__section blockquote, .cnc-real-article__goal-box { font-size:13px; }
}


/* REAL SERVICES hub v0.6.24 */
.cnc-service-hub { --cnc-accent:var(--cnc-blue,#35B7C0); position:relative; min-height:100vh; overflow:auto; color:var(--cnc-ink); background:linear-gradient(155deg,#fbffff,#e6f7f9 48%,#cceef2); }
.cnc-service-hub, .cnc-service-hub * { font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; }
.cnc-service-hub__ambient { position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 82% 8%,rgba(255,255,255,.95),transparent 31%),radial-gradient(circle at 10% 85%,rgba(53,183,192,.16),transparent 28%); }
.cnc-service-hub__header { position:relative; z-index:2; min-height:86px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:14px clamp(20px,4vw,62px); border-bottom:1px solid rgba(255,255,255,.75); }
.cnc-service-hub__brand { justify-self:start; display:flex; align-items:center; gap:9px; color:var(--cnc-blue-950); text-decoration:none; font-size:28px; font-weight:700; }
.cnc-service-hub__brand img { width:39px; height:50px; object-fit:contain; }
.cnc-service-hub__brand i { width:7px; height:7px; border-radius:50%; background:var(--cnc-accent); box-shadow:0 0 0 6px rgba(53,183,192,.14); }
.cnc-service-hub__header p { margin:0; display:grid; gap:3px; text-align:center; }
.cnc-service-hub__header p span { color:var(--cnc-muted); font-size:7px; letter-spacing:.18em; font-weight:700; }
.cnc-service-hub__header p strong { font-size:10px; letter-spacing:.14em; font-weight:700; }
.cnc-service-hub__back { justify-self:end; color:var(--cnc-blue-950); font-size:8px; letter-spacing:.12em; text-decoration:none; font-weight:700; }
.cnc-service-hub__main { position:relative; z-index:1; width:min(1180px,calc(100% - 36px)); margin:0 auto; padding:clamp(34px,6vh,68px) 0 56px; display:grid; gap:16px; }
.cnc-service-hub__hero, .cnc-service-hub__message { border:1px solid rgba(255,255,255,.84); border-radius:30px; background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(232,249,250,.52)); box-shadow:0 22px 54px rgba(5,68,91,.07); }
.cnc-service-hub__hero { min-height:220px; display:grid; align-content:end; padding:clamp(28px,4.5vw,52px); }
.cnc-service-hub__hero > p, .cnc-service-hub__message > p { margin:0 0 9px; color:var(--cnc-accent); font-size:8px; letter-spacing:.16em; font-weight:700; }
.cnc-service-hub__hero h1 { margin:0 0 13px; color:var(--cnc-blue-950); font-size:clamp(28px,4vw,48px); line-height:1.25; font-weight:700; letter-spacing:-.01em; }
.cnc-service-hub__hero span { max-width:760px; color:var(--cnc-muted); font-size:12px; line-height:1.8; font-weight:500; }
.cnc-service-hub__cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.cnc-service-hub__card { position:relative; min-height:270px; display:grid; grid-template-rows:auto 62px auto 1fr auto; gap:10px; padding:22px; border:1px solid rgba(255,255,255,.86); border-radius:26px; background:rgba(255,255,255,.58); box-shadow:0 18px 42px rgba(5,68,91,.06); color:var(--cnc-blue-950); text-decoration:none; transition:transform var(--cnc-fast),box-shadow var(--cnc-fast),background var(--cnc-fast); }
.cnc-service-hub__card:hover { transform:translateY(-3px); box-shadow:0 24px 52px rgba(5,68,91,.1); background:rgba(255,255,255,.74); }
.cnc-service-hub__card b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--cnc-blue-950); font-size:12px; }
.cnc-service-hub__icon { width:62px; height:62px; display:grid; place-items:center; border-radius:20px; background:rgba(53,183,192,.1); color:var(--cnc-accent); font-size:30px; font-weight:700; }
.cnc-service-hub__card h2 { margin:0; font-size:23px; line-height:1.35; font-weight:700; }
.cnc-service-hub__card p { margin:0; color:var(--cnc-muted); font-size:10.5px; line-height:1.78; font-weight:500; }
.cnc-service-hub__card > span { align-self:end; padding-top:12px; border-top:1px solid rgba(8,47,69,.08); color:var(--cnc-accent); font-size:9px; letter-spacing:.12em; font-weight:700; }
.cnc-service-hub__card.is-athlete .cnc-service-hub__icon { color:#2d7fc1; background:rgba(45,127,193,.1); }
.cnc-service-hub__card.is-team .cnc-service-hub__icon { color:#4c9b70; background:rgba(76,155,112,.1); }
.cnc-service-hub__card.is-business .cnc-service-hub__icon { color:#c89120; background:rgba(200,145,32,.1); }
.cnc-service-hub__card.is-individual .cnc-service-hub__icon { color:#8b6ab8; background:rgba(139,106,184,.1); }
.cnc-service-hub__message { display:grid; grid-template-columns:1fr 1.4fr; gap:24px; align-items:center; padding:24px 28px; }
.cnc-service-hub__message h2 { margin:0; color:var(--cnc-blue-950); font-size:clamp(18px,1.8vw,25px); line-height:1.45; font-weight:700; }
.cnc-service-hub__message span { color:var(--cnc-muted); font-size:11px; line-height:1.85; font-weight:500; }
@media (max-width: 900px) {
    .cnc-service-hub__cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cnc-service-hub__message { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
    .cnc-service-hub__header { grid-template-columns:1fr auto; min-height:72px; padding:10px 16px; }
    .cnc-service-hub__header p { display:none; }
    .cnc-service-hub__brand img { width:34px; height:43px; }
    .cnc-service-hub__main { width:calc(100% - 22px); padding:24px 0 44px; }
    .cnc-service-hub__hero { min-height:190px; padding:22px 18px; border-radius:24px; }
    .cnc-service-hub__hero h1 { font-size:25px; }
    .cnc-service-hub__hero span { font-size:10px; }
    .cnc-service-hub__cards { grid-template-columns:1fr; }
    .cnc-service-hub__card { min-height:210px; padding:18px; border-radius:22px; }
    .cnc-service-hub__card h2 { font-size:20px; }
    .cnc-service-hub__message { padding:20px 18px; border-radius:24px; }
    .cnc-service-hub__message span { font-size:10px; }
}


.cnc-workspace.is-brand.is-open ~ .cnc-os__private-trigger,
.cnc-os[data-cnc-os-root] .cnc-workspace.is-brand.is-open ~ .cnc-os__private-trigger {
    z-index: 60;
}


/* CNC service role pages v0.6.27 */
.cnc-role-page { --cnc-accent:var(--cnc-blue,#35B7C0); position:relative; min-height:100vh; overflow:auto; color:var(--cnc-ink); background:linear-gradient(155deg,#fbffff,#e6f7f9 48%,#cceef2); }
.cnc-role-page, .cnc-role-page * { font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; }
.cnc-role-page__ambient { position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 82% 8%,rgba(255,255,255,.95),transparent 31%),radial-gradient(circle at 10% 85%,rgba(53,183,192,.16),transparent 28%); }
.cnc-role-page__header { position:relative; z-index:2; min-height:86px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:14px clamp(20px,4vw,62px); border-bottom:1px solid rgba(255,255,255,.75); }
.cnc-role-page__brand { justify-self:start; display:flex; align-items:center; gap:9px; color:var(--cnc-blue-950); text-decoration:none; font-size:28px; font-weight:700; }
.cnc-role-page__brand img { width:39px; height:50px; object-fit:contain; }
.cnc-role-page__brand i { width:7px; height:7px; border-radius:50%; background:var(--cnc-accent); box-shadow:0 0 0 6px rgba(53,183,192,.14); }
.cnc-role-page__header > p { margin:0; display:grid; gap:3px; text-align:center; }
.cnc-role-page__header > p span { color:var(--cnc-muted); font-size:7px; letter-spacing:.18em; font-weight:700; }
.cnc-role-page__header > p strong { font-size:10px; letter-spacing:.14em; font-weight:700; }
.cnc-role-page__back { justify-self:end; color:var(--cnc-blue-950); font-size:8px; letter-spacing:.12em; text-decoration:none; font-weight:700; }
.cnc-role-page__main { position:relative; z-index:1; width:min(1180px,calc(100% - 36px)); margin:0 auto; padding:clamp(28px,5vh,52px) 0 54px; display:grid; gap:14px; }
.cnc-role-page__hero, .cnc-role-page__feature, .cnc-role-page__questions, .cnc-role-page__cta { border:1px solid rgba(255,255,255,.84); border-radius:28px; background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(232,249,250,.52)); box-shadow:0 22px 54px rgba(5,68,91,.07); }
.cnc-role-page__hero { min-height:260px; display:grid; align-content:end; padding:clamp(26px,4.5vw,52px); }
.cnc-role-page__hero > p, .cnc-role-page__questions > p:first-child, .cnc-role-page__cta p { margin:0 0 9px; color:var(--cnc-accent); font-size:8px; letter-spacing:.16em; font-weight:700; }
.cnc-role-page__hero h1 { margin:0 0 15px; color:var(--cnc-blue-950); font-size:clamp(28px,4vw,48px); line-height:1.28; font-weight:700; letter-spacing:-.01em; }
.cnc-role-page__lead { max-width:900px; display:grid; gap:8px; }
.cnc-role-page__lead p { margin:0; color:var(--cnc-muted); font-size:11px; line-height:1.86; font-weight:500; }
.cnc-role-page__features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.cnc-role-page__feature { position:relative; min-height:220px; padding:22px; }
.cnc-role-page__feature b { display:inline-grid; place-items:center; min-width:34px; height:34px; padding:0 10px; border-radius:999px; color:#fff; background:var(--cnc-accent); font-size:12px; font-weight:700; }
.cnc-role-page__feature h2 { margin:14px 0 10px; color:var(--cnc-blue-950); font-size:20px; line-height:1.45; font-weight:700; }
.cnc-role-page__feature p { margin:0 0 9px; color:var(--cnc-muted); font-size:10.5px; line-height:1.82; font-weight:500; }
.cnc-role-page__feature.is-accent { background:linear-gradient(135deg,rgba(64,193,199,.16),rgba(255,255,255,.82)); }
.cnc-role-page__questions { padding:24px 26px; }
.cnc-role-page__questions h2 { margin:0 0 15px; color:var(--cnc-blue-950); font-size:clamp(19px,2vw,27px); line-height:1.5; font-weight:700; }
.cnc-role-page__question-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.cnc-role-page__question-list div { min-height:82px; display:grid; align-content:center; padding:14px 16px; border-radius:18px; background:rgba(255,255,255,.54); border:1px solid rgba(8,47,69,.08); color:var(--cnc-blue-950); font-size:12px; line-height:1.65; font-weight:700; }
.cnc-role-page__message { margin:16px 0 0; color:var(--cnc-muted); font-size:11px; line-height:1.86; font-weight:500; }
.cnc-role-page__cta { display:grid; grid-template-columns:1.1fr auto; gap:18px; align-items:center; padding:24px 26px; background:linear-gradient(135deg,#40c1c7,var(--cnc-accent)); color:#fff; box-shadow:0 20px 44px rgba(53,183,192,.22); }
.cnc-role-page__cta h2 { margin:0; font-size:clamp(16px,1.55vw,21px); line-height:1.72; font-weight:700; }
.cnc-role-page__cta a { min-height:46px; display:grid; grid-auto-flow:column; gap:8px; place-items:center; padding:0 22px; border-radius:999px; border:1px solid rgba(255,255,255,.48); background:rgba(255,255,255,.16); color:#fff; text-decoration:none; font-size:12px; font-weight:700; white-space:nowrap; }
.cnc-role-page__cta a:hover { transform:translateY(-1px); background:rgba(255,255,255,.22); }
.cnc-role-page--athlete .cnc-role-page__feature b { background:#2d7fc1; }
.cnc-role-page--team .cnc-role-page__feature b { background:#4c9b70; }
.cnc-role-page--individual .cnc-role-page__feature b { background:#8b6ab8; }
@media (max-width:900px) {
    .cnc-role-page__features, .cnc-role-page__question-list, .cnc-role-page__cta { grid-template-columns:1fr; }
}
@media (max-width:760px) {
    .cnc-role-page__header { grid-template-columns:1fr auto; min-height:72px; padding:10px 16px; }
    .cnc-role-page__header > p { display:none; }
    .cnc-role-page__brand img { width:34px; height:43px; }
    .cnc-role-page__main { width:calc(100% - 22px); padding:24px 0 45px; }
    .cnc-role-page__hero, .cnc-role-page__feature, .cnc-role-page__questions, .cnc-role-page__cta { border-radius:24px; }
    .cnc-role-page__hero { min-height:230px; padding:22px 18px; }
    .cnc-role-page__hero h1 { font-size:26px; }
    .cnc-role-page__lead p, .cnc-role-page__feature p, .cnc-role-page__message { font-size:10px; }
    .cnc-role-page__features { grid-template-columns:1fr; }
    .cnc-role-page__feature { min-height:190px; padding:18px; }
    .cnc-role-page__feature h2 { font-size:18px; }
    .cnc-role-page__questions { padding:20px 18px; }
    .cnc-role-page__questions h2 { font-size:20px; }
    .cnc-role-page__question-list { grid-template-columns:1fr; }
    .cnc-role-page__question-list div { min-height:68px; font-size:11px; }
    .cnc-role-page__cta { padding:20px 18px; }
    .cnc-role-page__cta h2 { font-size:16px; }
    .cnc-role-page__cta a { min-height:44px; font-size:11px; white-space:normal; text-align:center; }
}

/* CNC Legend Entry v0.6.28 */
.cnc-role-page__cta-links { display:grid; gap:8px; justify-items:stretch; }
.cnc-role-page__cta a.is-secondary { background:rgba(7,52,76,.22); border-color:rgba(255,255,255,.72); }

.cnc-legend-entry { --cnc-accent:var(--cnc-blue,#35B7C0); position:relative; min-height:100vh; overflow:auto; color:var(--cnc-ink); background:linear-gradient(155deg,#fbffff,#e6f7f9 48%,#cceef2); }
.cnc-legend-entry, .cnc-legend-entry * { box-sizing:border-box; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; }
.cnc-legend-entry__ambient { position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at 82% 8%,rgba(255,255,255,.95),transparent 31%),radial-gradient(circle at 10% 85%,rgba(53,183,192,.16),transparent 28%); }
.cnc-legend-entry__header { position:relative; z-index:2; min-height:86px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:14px clamp(20px,4vw,62px); border-bottom:1px solid rgba(255,255,255,.75); }
.cnc-legend-entry__brand { justify-self:start; display:flex; align-items:center; gap:9px; color:var(--cnc-blue-950); text-decoration:none; font-size:28px; font-weight:700; }
.cnc-legend-entry__brand img { width:39px; height:50px; object-fit:contain; }
.cnc-legend-entry__brand i { width:7px; height:7px; border-radius:50%; background:var(--cnc-accent); box-shadow:0 0 0 6px rgba(53,183,192,.14); }
.cnc-legend-entry__header > p { margin:0; display:grid; gap:3px; text-align:center; }
.cnc-legend-entry__header > p span { color:var(--cnc-muted); font-size:7px; letter-spacing:.18em; font-weight:700; }
.cnc-legend-entry__header > p strong { font-size:10px; letter-spacing:.14em; font-weight:700; }
.cnc-legend-entry__back { justify-self:end; color:var(--cnc-blue-950); font-size:8px; letter-spacing:.12em; text-decoration:none; font-weight:700; }
.cnc-legend-entry__main { position:relative; z-index:1; width:min(1180px,calc(100% - 36px)); margin:0 auto; padding:clamp(28px,5vh,52px) 0 60px; display:grid; gap:16px; }
.cnc-legend-entry__hero { min-height:300px; display:grid; align-content:end; padding:clamp(28px,5vw,56px); border:1px solid rgba(255,255,255,.84); border-radius:32px; background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(232,249,250,.52)); box-shadow:0 22px 54px rgba(5,68,91,.07); }
.cnc-legend-entry__hero > p { margin:0 0 9px; color:var(--cnc-accent); font-size:8px; letter-spacing:.16em; font-weight:700; }
.cnc-legend-entry__hero h1 { margin:0 0 16px; color:var(--cnc-blue-950); font-size:clamp(30px,4vw,50px); line-height:1.25; font-weight:700; }
.cnc-legend-entry__hero > div { max-width:900px; display:grid; gap:8px; }
.cnc-legend-entry__hero > div p { margin:0; color:var(--cnc-muted); font-size:11px; line-height:1.86; font-weight:500; }
.cnc-legend-entry__hero strong { color:var(--cnc-blue-950); }
.cnc-legend-entry__notice { padding:24px 28px; border-radius:24px; border:1px solid rgba(255,255,255,.84); background:rgba(255,255,255,.74); color:var(--cnc-blue-950); box-shadow:0 18px 46px rgba(5,68,91,.07); }
.cnc-legend-entry__notice h2 { margin:0 0 10px; font-size:24px; }
.cnc-legend-entry__notice p { margin:0 0 14px; color:var(--cnc-muted); font-size:12px; line-height:1.8; }
.cnc-legend-entry__notice a { color:var(--cnc-blue-950); font-weight:700; }
.cnc-legend-entry__notice.is-error { border-color:rgba(181,67,67,.28); background:rgba(255,244,244,.88); color:#8f3030; }
.cnc-legend-form { display:grid; gap:14px; }
.cnc-legend-form__trap { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(1px,1px,1px,1px) !important; }
.cnc-legend-form__section { display:grid; gap:18px; padding:26px 28px; border:1px solid rgba(255,255,255,.84); border-radius:28px; background:rgba(255,255,255,.60); box-shadow:0 18px 48px rgba(5,68,91,.06); }
.cnc-legend-form__section.is-accent { background:linear-gradient(135deg,rgba(53,183,192,.12),rgba(255,255,255,.76)); }
.cnc-legend-form__section > header { display:flex; align-items:center; gap:12px; padding-bottom:14px; border-bottom:1px solid rgba(8,47,69,.09); }
.cnc-legend-form__section > header > span { min-width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--cnc-accent); color:#fff; font-size:11px; font-weight:700; }
.cnc-legend-form__section > header p { margin:0 0 2px; color:var(--cnc-accent); font-size:7px; letter-spacing:.16em; font-weight:700; }
.cnc-legend-form__section > header h2 { margin:0; color:var(--cnc-blue-950); font-size:clamp(18px,1.8vw,25px); line-height:1.4; }
.cnc-legend-form__guide { margin:-4px 0 0; color:var(--cnc-muted); font-size:10px; line-height:1.7; }
.cnc-legend-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.cnc-legend-form__grid label, .cnc-legend-form__status-grid label, .cnc-legend-form__textarea { display:grid; align-content:start; gap:7px; }
.cnc-legend-form__grid label.is-wide { grid-column:1/-1; }
.cnc-legend-form label > span, .cnc-legend-form legend { color:var(--cnc-blue-950); font-size:11px; line-height:1.55; font-weight:700; }
.cnc-legend-form label > span b, .cnc-legend-form__consent b { color:#b84747; font-size:9px; }
.cnc-legend-form input[type="text"], .cnc-legend-form input[type="email"], .cnc-legend-form input[type="tel"], .cnc-legend-form select, .cnc-legend-form textarea { width:100%; border:1px solid rgba(8,47,69,.15); border-radius:14px; background:rgba(255,255,255,.86); color:var(--cnc-blue-950); outline:none; transition:border-color .18s,box-shadow .18s,background .18s; }
.cnc-legend-form input[type="text"], .cnc-legend-form input[type="email"], .cnc-legend-form input[type="tel"], .cnc-legend-form select { min-height:46px; padding:0 13px; font-size:12px; }
.cnc-legend-form textarea { min-height:92px; padding:12px 13px; resize:vertical; font-size:12px; line-height:1.65; }
.cnc-legend-form input:focus, .cnc-legend-form select:focus, .cnc-legend-form textarea:focus { border-color:rgba(53,183,192,.75); background:#fff; box-shadow:0 0 0 4px rgba(53,183,192,.10); }
.cnc-legend-form__status-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cnc-legend-form__status-grid label { grid-template-columns:minmax(0,1fr) minmax(160px,.55fr); align-items:center; padding:11px 12px; border:1px solid rgba(8,47,69,.08); border-radius:16px; background:rgba(255,255,255,.48); }
.cnc-legend-form__checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.cnc-legend-form__checks.is-compact { grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:2px; }
.cnc-legend-form__checks label, .cnc-legend-form__goal-uses label { min-height:46px; display:flex; align-items:center; gap:9px; padding:9px 11px; border:1px solid rgba(8,47,69,.09); border-radius:14px; background:rgba(255,255,255,.52); cursor:pointer; }
.cnc-legend-form__checks input, .cnc-legend-form__goal-uses input, .cnc-legend-form__choice-grid input, .cnc-legend-form__consent input { width:17px; height:17px; flex:0 0 auto; accent-color:var(--cnc-accent); }
.cnc-legend-form__checks label > span, .cnc-legend-form__goal-uses label > span { font-size:10px; font-weight:600; }
.cnc-legend-form__textarea { margin-top:2px; }
.cnc-legend-form__goal-uses { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.cnc-legend-form__goal-uses h3 { grid-column:1/-1; margin:0 0 2px; color:var(--cnc-blue-950); font-size:14px; }
.cnc-legend-form__choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.cnc-legend-form__choice-grid fieldset { min-width:0; display:grid; gap:8px; margin:0; padding:16px; border:1px solid rgba(8,47,69,.10); border-radius:18px; background:rgba(255,255,255,.52); }
.cnc-legend-form__choice-grid legend { padding:0 6px; }
.cnc-legend-form__choice-grid label { display:flex; align-items:flex-start; gap:9px; padding:10px; border-radius:13px; background:rgba(255,255,255,.56); cursor:pointer; }
.cnc-legend-form__choice-grid label > span { display:grid; gap:2px; color:var(--cnc-muted); font-size:9.5px; font-weight:500; }
.cnc-legend-form__choice-grid label strong { color:var(--cnc-blue-950); font-size:11px; }
.cnc-legend-form__consent { display:grid; gap:9px; padding:14px 16px; border-radius:16px; background:rgba(8,47,69,.04); }
.cnc-legend-form__consent label { display:flex; align-items:flex-start; gap:9px; }
.cnc-legend-form__consent label > span { color:var(--cnc-muted); font-size:10px; font-weight:500; }
.cnc-legend-form__submit { display:grid; justify-items:center; gap:13px; padding:28px; border-radius:28px; background:linear-gradient(135deg,#40c1c7,var(--cnc-accent)); color:#fff; box-shadow:0 20px 44px rgba(53,183,192,.22); text-align:center; }
.cnc-legend-form__submit p { margin:0; color:rgba(255,255,255,.9); font-size:10px; line-height:1.7; }
.cnc-legend-form__submit button { min-height:50px; display:grid; grid-auto-flow:column; gap:10px; place-items:center; padding:0 24px; border:1px solid rgba(255,255,255,.62); border-radius:999px; background:rgba(255,255,255,.16); color:#fff; font-size:12px; font-weight:700; cursor:pointer; }
.cnc-legend-form__submit button:hover { transform:translateY(-1px); background:rgba(255,255,255,.24); }

@media (max-width:900px) {
    .cnc-legend-form__checks { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cnc-legend-form__goal-uses { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
    .cnc-legend-entry__header { grid-template-columns:1fr auto; min-height:72px; padding:10px 16px; }
    .cnc-legend-entry__header > p { display:none; }
    .cnc-legend-entry__brand img { width:34px; height:43px; }
    .cnc-legend-entry__main { width:calc(100% - 22px); padding:24px 0 45px; }
    .cnc-legend-entry__hero { min-height:270px; padding:24px 18px; border-radius:24px; }
    .cnc-legend-entry__hero h1 { font-size:27px; }
    .cnc-legend-entry__hero > div p { font-size:10px; }
    .cnc-legend-form__section { padding:20px 16px; border-radius:24px; }
    .cnc-legend-form__grid, .cnc-legend-form__status-grid, .cnc-legend-form__choice-grid, .cnc-legend-form__checks, .cnc-legend-form__checks.is-compact { grid-template-columns:1fr; }
    .cnc-legend-form__status-grid label { grid-template-columns:1fr; }
    .cnc-legend-form__goal-uses { grid-template-columns:1fr 1fr; }
    .cnc-legend-form__submit { padding:24px 16px; border-radius:24px; }
    .cnc-role-page__cta-links { width:100%; }
}

/* CNC category registration and matching index v0.6.29 */
.cnc-registration-entry [hidden] { display:none !important; }
.cnc-registration-entry .cnc-legend-entry__main { width:min(1180px,calc(100% - 36px)); }
.cnc-registration-progress { position:sticky; top:8px; z-index:12; display:flex; align-items:center; gap:12px; padding:10px 14px; border:1px solid rgba(255,255,255,.84); border-radius:999px; background:rgba(250,255,255,.86); backdrop-filter:blur(18px); box-shadow:0 10px 30px rgba(5,68,91,.08); }
.cnc-registration-progress__bar { flex:1; height:5px; overflow:hidden; border-radius:999px; background:rgba(8,47,69,.09); }
.cnc-registration-progress__bar i { display:block; width:11.111%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#35b7c0,#69cdb7); transition:width .25s ease; }
.cnc-registration-progress p { margin:0; min-width:42px; color:var(--cnc-blue-950); font-size:10px; font-weight:700; text-align:right; }
.cnc-registration-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.cnc-registration-category-grid label { cursor:pointer; }
.cnc-registration-category-grid input { position:absolute; opacity:0; pointer-events:none; }
.cnc-registration-category-grid span { min-height:112px; display:grid; place-content:center; gap:7px; padding:16px; border:1px solid rgba(8,47,69,.10); border-radius:20px; background:rgba(255,255,255,.58); text-align:center; transition:transform .18s,border-color .18s,background .18s,box-shadow .18s; }
.cnc-registration-category-grid b { color:var(--cnc-accent); font-size:7px; letter-spacing:.14em; }
.cnc-registration-category-grid strong { color:var(--cnc-blue-950); font-size:17px; }
.cnc-registration-category-grid input:checked + span { transform:translateY(-2px); border-color:rgba(53,183,192,.72); background:#fff; box-shadow:0 14px 34px rgba(53,183,192,.14); }
.cnc-registration-category-section { display:grid; gap:18px; }
.cnc-registration-category-section > h3,.cnc-registration-form .cnc-legend-form__section > h3 { margin:4px 0 -3px; color:var(--cnc-blue-950); font-size:14px; }
.cnc-registration-form label small { display:block; color:var(--cnc-muted); font-size:9px; line-height:1.55; font-weight:500; }
.cnc-registration-form input[type="date"],.cnc-registration-form input[type="number"],.cnc-registration-form input[type="url"] { width:100%; min-height:46px; padding:0 13px; border:1px solid rgba(8,47,69,.15); border-radius:14px; background:rgba(255,255,255,.86); color:var(--cnc-blue-950); font-size:12px; outline:none; }
.cnc-registration-country-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cnc-registration-country-grid label { display:grid; gap:7px; }
.cnc-registration-repeater { display:grid; gap:10px; padding:16px; border:1px solid rgba(8,47,69,.09); border-radius:20px; background:rgba(255,255,255,.42); }
.cnc-registration-repeater__head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cnc-registration-repeater__head h3 { margin:0; color:var(--cnc-blue-950); font-size:14px; }
.cnc-registration-repeater__head button { min-height:34px; padding:0 13px; border:1px solid rgba(53,183,192,.30); border-radius:999px; background:rgba(53,183,192,.10); color:var(--cnc-blue-950); font-size:10px; font-weight:700; cursor:pointer; }
.cnc-registration-repeat-row { display:grid; grid-template-columns:1fr 1fr 36px; gap:8px; }
.cnc-registration-repeat-row input,.cnc-registration-repeat-row select { min-width:0; min-height:42px; padding:0 11px; border:1px solid rgba(8,47,69,.12); border-radius:12px; background:#fff; }
.cnc-registration-repeat-row button { border:0; border-radius:12px; background:rgba(8,47,69,.06); color:var(--cnc-blue-950); cursor:pointer; }
.cnc-registration-record-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:12px; border:1px solid rgba(8,47,69,.08); border-radius:16px; background:rgba(255,255,255,.58); }
.cnc-registration-record-row input,.cnc-registration-record-row select { min-width:0; min-height:42px; padding:0 10px; border:1px solid rgba(8,47,69,.12); border-radius:11px; background:#fff; font-size:10px; }
.cnc-registration-record-date { display:grid; gap:4px; min-width:0; padding:5px 8px 7px; border:1px solid rgba(8,47,69,.12); border-radius:11px; background:#fff; }
.cnc-registration-record-date span { color:var(--cnc-muted); font-size:8px; font-weight:700; }
.cnc-registration-record-date input { min-height:24px !important; padding:0 !important; border:0 !important; border-radius:0 !important; }
.cnc-registration-record-row > button { min-height:38px; border:0; border-radius:11px; background:rgba(175,62,62,.08); color:#8c3636; font-size:10px; cursor:pointer; }
.cnc-registration-public-consent { display:grid; gap:9px; padding:15px 16px; border:1px solid rgba(215,173,61,.28); border-radius:18px; background:rgba(255,249,229,.55); }
.cnc-registration-public-consent h3 { margin:0; color:var(--cnc-blue-950); font-size:14px; }
.cnc-registration-public-consent p { margin:0; color:var(--cnc-muted); font-size:10px; line-height:1.7; }
.cnc-registration-public-consent label { display:flex; align-items:flex-start; gap:9px; }
.cnc-registration-public-consent input { width:17px;height:17px;accent-color:var(--cnc-accent); }
.cnc-registration-nav { position:sticky; bottom:12px; z-index:13; display:flex; justify-content:flex-end; gap:9px; padding:12px; border:1px solid rgba(255,255,255,.82); border-radius:22px; background:rgba(248,254,255,.88); backdrop-filter:blur(20px); box-shadow:0 18px 48px rgba(5,68,91,.12); }
.cnc-registration-nav button { min-height:46px; padding:0 22px; border:1px solid rgba(53,183,192,.34); border-radius:999px; background:var(--cnc-accent); color:#fff; font-size:11px; font-weight:700; cursor:pointer; }
.cnc-registration-nav button.is-back { margin-right:auto; background:rgba(255,255,255,.74); color:var(--cnc-blue-950); }
.cnc-registration-nav button.is-submit { background:linear-gradient(135deg,#35b7c0,#168ca0); }

/* Public legend directory */
.cnc-legend-directory { position:relative; min-height:100vh; overflow:auto; color:var(--cnc-ink); background:linear-gradient(155deg,#fbffff,#e6f7f9 48%,#cceef2); }
.cnc-legend-directory,.cnc-legend-directory * { box-sizing:border-box; font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif; }
.cnc-legend-directory__main { position:relative; z-index:1; width:min(1280px,calc(100% - 36px)); margin:0 auto; padding:clamp(28px,5vh,52px) 0 60px; display:grid; gap:16px; }
.cnc-legend-directory__hero { display:grid; gap:12px; padding:clamp(28px,5vw,52px); border:1px solid rgba(255,255,255,.84); border-radius:32px; background:rgba(255,255,255,.68); box-shadow:0 22px 54px rgba(5,68,91,.07); }
.cnc-legend-directory__hero > p:first-child { margin:0; color:var(--cnc-accent); font-size:8px; letter-spacing:.16em; font-weight:700; }
.cnc-legend-directory__hero h1 { margin:0; color:var(--cnc-blue-950); font-size:clamp(28px,4vw,48px); line-height:1.25; }
.cnc-legend-directory__hero > p { margin:0; color:var(--cnc-muted); font-size:11px; line-height:1.8; }
.cnc-legend-directory__hero > div { display:flex; flex-wrap:wrap; gap:9px; }
.cnc-legend-directory__hero > div span { display:flex; align-items:baseline; gap:8px; min-height:44px; padding:0 15px; border-radius:999px; background:rgba(53,183,192,.10); color:var(--cnc-blue-950); font-size:10px; }
.cnc-legend-directory__hero > div b { font-size:19px; }
.cnc-legend-directory__table-wrap { overflow:auto; border:1px solid rgba(255,255,255,.84); border-radius:28px; background:rgba(255,255,255,.64); box-shadow:0 18px 48px rgba(5,68,91,.06); }
.cnc-legend-directory__table { width:100%; min-width:980px; border-collapse:collapse; }
.cnc-legend-directory__table th,.cnc-legend-directory__table td { padding:15px 14px; border-bottom:1px solid rgba(8,47,69,.08); text-align:left; vertical-align:top; }
.cnc-legend-directory__table th { position:sticky; top:0; background:rgba(240,251,252,.96); color:var(--cnc-blue-950); font-size:9px; letter-spacing:.08em; }
.cnc-legend-directory__table td { color:var(--cnc-muted); font-size:10px; line-height:1.65; }
.cnc-legend-directory__table td strong { display:block; color:var(--cnc-blue-950); font-size:12px; }
.cnc-legend-directory__table td small { display:block; margin-top:3px; font-size:8px; }
.cnc-legend-directory__table td p { margin:5px 0 0; }
.cnc-legend-directory__table tr.is-private td { background:rgba(8,47,69,.025); }
.cnc-legend-directory__code { color:var(--cnc-accent); font-weight:700; }
.cnc-legend-directory__empty { margin:0; padding:36px; color:var(--cnc-muted); text-align:center; }

@media (max-width:900px) {
    .cnc-registration-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cnc-registration-category-grid label:last-child { grid-column:1/-1; }
    .cnc-registration-record-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
    .cnc-registration-progress { top:4px; }
    .cnc-registration-country-grid,.cnc-registration-record-row,.cnc-registration-repeat-row { grid-template-columns:1fr; }
    .cnc-registration-repeat-row button { min-height:38px; }
    .cnc-registration-nav { bottom:8px; }
    .cnc-registration-nav button { min-height:44px; padding:0 16px; font-size:10px; }
    .cnc-legend-directory__main { width:calc(100% - 22px); padding:24px 0 45px; }
    .cnc-legend-directory__hero { padding:24px 18px; border-radius:24px; }
}
.cnc-registration-legend-link { color:var(--cnc-blue-950); font-weight:700; text-decoration:none; }
.cnc-registration-legend-link:hover { text-decoration:underline; }


/* CNC INDEX registration aggregates on country card v0.6.29 */
.cnc-globe-card { width:min(390px,calc(100vw - 44px)); max-height:min(78vh,720px); overflow:auto; }
.cnc-globe-card__stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:18px; }
.cnc-globe-card__stats[hidden],.cnc-globe-card__people[hidden] { display:none !important; }
.cnc-globe-card__stats > div { min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border:1px solid rgba(255,255,255,.76); border-radius:12px; background:rgba(255,255,255,.42); }
.cnc-globe-card__stats span { color:rgba(8,47,69,.62); font-size:7px; line-height:1.25; letter-spacing:.08em; }
.cnc-globe-card__stats b { color:var(--cnc-blue-950); font-family:Georgia,"Times New Roman",serif; font-size:20px; font-weight:400; }
.cnc-globe-card__people { display:grid; gap:7px; margin-top:14px; padding-top:13px; border-top:1px solid rgba(8,47,69,.10); }
.cnc-globe-card__people > strong { color:var(--cnc-blue-800); font-size:7px; letter-spacing:.14em; }
.cnc-globe-card__people > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:8px; align-items:baseline; }
.cnc-globe-card__people b { overflow:hidden; color:var(--cnc-blue-950); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.cnc-globe-card__people small { overflow:hidden; color:var(--cnc-muted); font-size:8px; line-height:1.35; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:760px) {
    .cnc-globe-card { max-height:min(62vh,560px); }
    .cnc-globe-card__stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .cnc-globe-card__stats > div { min-height:38px; padding:6px 8px; }
    .cnc-globe-card__stats span { font-size:6px; }
    .cnc-globe-card__stats b { font-size:17px; }
}
@media (max-width:420px) {
    .cnc-globe-card__stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


.cnc-registration-availability { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.cnc-registration-availability label { min-height:58px; display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.75fr); gap:10px; align-items:center; padding:9px 11px; border:1px solid rgba(255,255,255,.82); border-radius:14px; background:rgba(255,255,255,.44); }
.cnc-registration-availability span { color:var(--cnc-blue-950); font-size:10px; font-weight:700; }
.cnc-registration-availability select { min-width:0; }
@media (max-width:760px) {
    .cnc-registration-availability { grid-template-columns:1fr; }
    .cnc-registration-availability label { grid-template-columns:minmax(0,1fr) minmax(138px,.9fr); }
}

/* Category registration UX v0.6.30 */
.cnc-registration-progress p { display:grid; gap:1px; }
.cnc-registration-progress p small { display:block; color:var(--cnc-muted); font-size:7px; font-weight:600; white-space:nowrap; }
.cnc-registration-encouragement { display:grid; grid-template-columns:auto 1fr; gap:8px 14px; align-items:center; padding:14px 18px; border:1px solid rgba(53,183,192,.22); border-radius:20px; background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(225,248,249,.76)); box-shadow:0 12px 34px rgba(5,68,91,.07); }
.cnc-registration-encouragement::before { content:"✓"; width:30px; height:30px; display:grid; place-items:center; grid-row:1/3; border-radius:50%; background:rgba(53,183,192,.14); color:var(--cnc-accent); font-size:14px; font-weight:800; }
.cnc-registration-encouragement strong { color:var(--cnc-blue-950); font-size:12px; line-height:1.45; }
.cnc-registration-encouragement span { color:var(--cnc-muted); font-size:10px; line-height:1.65; }
.cnc-registration-form [data-region-container] select[hidden],
.cnc-registration-form [data-region-container] input[hidden] { display:none !important; }
.cnc-registration-country-grid { align-items:start; }
.cnc-country-picker { display:grid; gap:7px; padding:14px; border:1px solid rgba(8,47,69,.09); border-radius:18px; background:rgba(255,255,255,.44); }
.cnc-country-picker > span { color:var(--cnc-blue-950); font-size:10px; font-weight:700; line-height:1.5; }
.cnc-country-picker > div:first-of-type { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.cnc-country-picker button[data-country-add],
.cnc-country-picker button[data-region-add] { min-width:58px; border:1px solid rgba(53,183,192,.32); border-radius:12px; background:rgba(53,183,192,.10); color:var(--cnc-blue-950); font-size:10px; font-weight:700; cursor:pointer; }
.cnc-country-picker small { color:var(--cnc-muted); font-size:8px; line-height:1.5; }
.cnc-picker-tags { min-height:30px; display:flex !important; flex-wrap:wrap; gap:6px; }
.cnc-picker-tag { display:inline-flex; align-items:center; gap:7px; min-height:28px; padding:4px 7px 4px 10px; border-radius:999px; background:rgba(53,183,192,.12); color:var(--cnc-blue-950); font-size:9px; font-weight:700; }
.cnc-picker-tag button { width:20px; height:20px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:rgba(8,47,69,.08); color:var(--cnc-blue-950); cursor:pointer; }
.cnc-registration-optional-toggle { min-height:54px; display:flex; align-items:center; gap:10px; margin:10px 0 0; padding:10px 14px; border:1px solid rgba(53,183,192,.22); border-radius:16px; background:rgba(255,255,255,.56); cursor:pointer; }
.cnc-registration-optional-toggle input { width:18px; height:18px; flex:0 0 auto; accent-color:var(--cnc-accent); }
.cnc-registration-optional-toggle span { color:var(--cnc-blue-950); font-size:11px; font-weight:700; }
.cnc-registration-talk-note { margin:2px 0 0; padding:15px 17px; border-left:3px solid #d7ad3d; border-radius:14px; background:rgba(255,249,229,.58); color:var(--cnc-blue-950); font-size:11px; line-height:1.75; font-weight:700; }
.cnc-registration-form .cnc-registration-category-section { padding-top:2px; }
.cnc-registration-form .cnc-registration-category-section > h3:first-child { margin-top:0; }
.cnc-registration-nav button[data-registration-next] { min-width:170px; }

@media (max-width:760px) {
    .cnc-registration-encouragement { grid-template-columns:auto 1fr; padding:12px 13px; gap:5px 10px; }
    .cnc-registration-encouragement::before { width:26px; height:26px; font-size:12px; }
    .cnc-registration-encouragement strong { font-size:10.5px; }
    .cnc-registration-encouragement span { font-size:9px; }
    .cnc-country-picker > div:first-of-type { grid-template-columns:1fr; }
    .cnc-country-picker button[data-country-add], .cnc-country-picker button[data-region-add] { min-height:38px; }
    .cnc-registration-nav button[data-registration-next] { min-width:0; }
}


/* Coffee producing countries v0.6.31 */
.cnc-globe-marker[data-layer="coffee"][data-status="production"] span{background:#c6a77f;box-shadow:0 0 0 4px rgba(198,167,127,.18),0 7px 16px rgba(88,63,36,.18)}
.cnc-globe-marker[data-layer="coffee"][data-status="active"] span{background:#c6a77f;box-shadow:0 0 0 4px rgba(198,167,127,.18),0 7px 16px rgba(88,63,36,.18)}
.cnc-globe-marker[data-layer="coffee"][data-status="candidate"] span{background:#c6a77f;box-shadow:0 0 0 4px rgba(198,167,127,.18),0 7px 16px rgba(88,63,36,.18)}
.cnc-coffee-page{min-height:100vh;color:var(--cnc-ink);background:linear-gradient(150deg,#fbffff,#e4f7f9 50%,#c9edf1)}
.cnc-coffee-page,.cnc-coffee-page *{font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif}
.cnc-coffee-page__header{min-height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px clamp(18px,4vw,60px);border-bottom:1px solid rgba(255,255,255,.78)}
.cnc-coffee-page__header>a{color:var(--cnc-blue-950);text-decoration:none;font-size:9px;letter-spacing:.12em;font-weight:700}.cnc-coffee-page__header>a:last-child{justify-self:end}.cnc-coffee-page__brand{justify-self:start;display:flex;align-items:center;gap:8px;font-size:26px!important;letter-spacing:.04em!important}.cnc-coffee-page__brand img{width:38px;height:49px;object-fit:contain}.cnc-coffee-page__header p{margin:0;text-align:center;display:grid;gap:3px}.cnc-coffee-page__header p span{font-size:7px;letter-spacing:.18em;color:var(--cnc-muted)}.cnc-coffee-page__header p strong{font-size:10px;letter-spacing:.14em}
.cnc-coffee-page__main{width:min(1160px,calc(100% - 34px));margin:0 auto;padding:clamp(28px,5vw,58px) 0 60px;display:grid;gap:18px}.cnc-coffee-page__hero{padding:clamp(28px,5vw,50px);border:1px solid rgba(255,255,255,.85);border-radius:32px;background:rgba(255,255,255,.55);box-shadow:0 24px 70px rgba(5,68,91,.08)}.cnc-coffee-page__hero>p{margin:0 0 10px;color:#9b7645;font-size:8px;letter-spacing:.18em;font-weight:700}.cnc-coffee-page__hero h1{margin:0 0 12px;font-size:clamp(28px,4vw,48px);line-height:1.2}.cnc-coffee-page__hero>span{color:var(--cnc-muted);font-size:12px;line-height:1.8}.cnc-coffee-page__stats{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;margin-top:24px}.cnc-coffee-page__stats div{padding:17px 18px;border-radius:18px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.84)}.cnc-coffee-page__stats strong{display:block;font-size:29px;color:var(--cnc-blue-950)}.cnc-coffee-page__stats small{font-size:9px;color:var(--cnc-muted)}
.cnc-coffee-page__region{padding:24px;border:1px solid rgba(255,255,255,.82);border-radius:28px;background:rgba(255,255,255,.42)}.cnc-coffee-page__region-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.cnc-coffee-page__region-title h2{margin:0;font-size:20px}.cnc-coffee-page__region-title span{font-size:8px;letter-spacing:.14em;color:var(--cnc-muted)}.cnc-coffee-page__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cnc-coffee-country{display:grid;grid-template-columns:42px 1fr auto;grid-template-areas:"flag name status" "flag type status";gap:3px 10px;align-items:center;min-height:92px;padding:15px;border:1px solid rgba(255,255,255,.86);border-radius:20px;background:rgba(255,255,255,.58);scroll-margin-top:24px}.cnc-coffee-country__flag{grid-area:flag;font-size:28px}.cnc-coffee-country>div:nth-child(2){grid-area:name}.cnc-coffee-country h3{margin:0;font-size:14px}.cnc-coffee-country p{margin:2px 0 0;color:var(--cnc-muted);font-size:9px}.cnc-coffee-country>span{grid-area:status;justify-self:end;padding:5px 8px;border-radius:999px;background:rgba(143,107,63,.10);color:#76552f;font-size:7px;white-space:nowrap}.cnc-coffee-country>small{grid-area:type;color:var(--cnc-muted);font-size:8px}.cnc-coffee-country.is-active>span{background:rgba(214,170,53,.18);color:#7f5c05}.cnc-coffee-country.is-candidate>span{background:rgba(223,145,64,.18);color:#8a4d10}.cnc-coffee-country.is-hidden{opacity:.48}.cnc-coffee-page__note{padding:18px;text-align:center;color:var(--cnc-muted);font-size:10px}
@media(max-width:860px){.cnc-coffee-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.cnc-coffee-page__header{grid-template-columns:1fr auto}.cnc-coffee-page__header p{display:none}.cnc-coffee-page__main{width:calc(100% - 22px);padding-top:22px}.cnc-coffee-page__stats{grid-template-columns:1fr}.cnc-coffee-page__region{padding:18px 14px}.cnc-coffee-page__grid{grid-template-columns:1fr}.cnc-coffee-country{grid-template-columns:38px 1fr auto;padding:13px}.cnc-coffee-page__hero{padding:24px 18px}.cnc-coffee-page__hero h1{font-size:28px}}


/* Globe live context: free weather, local time and news links */
.cnc-globe-card__live { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px; }
.cnc-globe-card__live[hidden], .cnc-globe-card__weather[hidden], .cnc-globe-card__clock[hidden], .cnc-globe-card__news[hidden], .cnc-globe-card__weather-source[hidden] { display:none !important; }
.cnc-globe-card__weather,.cnc-globe-card__clock { min-height:68px; display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid rgba(255,255,255,.78); border-radius:14px; background:rgba(255,255,255,.44); }
.cnc-globe-card__weather-icon { flex:0 0 auto; color:var(--cnc-blue-950) !important; font-size:25px !important; line-height:1; }
.cnc-globe-card__weather div,.cnc-globe-card__clock { min-width:0; }
.cnc-globe-card__weather strong,.cnc-globe-card__clock strong { display:block; color:var(--cnc-blue-950); font-family:Georgia,"Times New Roman",serif; font-size:20px; font-weight:400; line-height:1.05; }
.cnc-globe-card__weather small,.cnc-globe-card__clock small { display:block; margin-top:4px; color:var(--cnc-muted); font-size:7px; letter-spacing:.08em; }
.cnc-globe-card__clock { display:grid; align-content:center; gap:2px; }
.cnc-globe-card__clock span { overflow:hidden; color:var(--cnc-muted); font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.cnc-globe-card__weather-source { grid-column:1/-1; justify-self:end; margin:0 !important; color:rgba(8,47,69,.50) !important; font-size:7px !important; letter-spacing:.04em !important; }
.cnc-globe-card__news { display:grid; gap:0; margin-top:13px; padding-top:7px; border-top:1px solid rgba(8,47,69,.10); }
.cnc-globe-card__news a { display:flex; align-items:center; min-height:31px; margin:0 !important; border-bottom:1px solid rgba(8,47,69,.07); color:var(--cnc-blue-800); font-size:9px; letter-spacing:.04em; }
.cnc-globe-card__news a:last-child { border-bottom:0; }
@media (max-width: 440px) {
    .cnc-globe-card__live { grid-template-columns:1fr 1fr; }
    .cnc-globe-card__weather,.cnc-globe-card__clock { min-height:60px; padding:8px 10px; }
    .cnc-globe-card__weather strong,.cnc-globe-card__clock strong { font-size:18px; }
}


/* CNC Language Panel — inside the authoritative CNC OS globe card. */
.cnc-globe-card .cnc-language-panel {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(8,47,69,.11);
}
.cnc-globe-card .cnc-language-panel[hidden] { display: none !important; }
.cnc-globe-card .cnc-language-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.cnc-globe-card .cnc-language-panel__header div { min-width: 0; }
.cnc-globe-card .cnc-language-panel__header small {
    display: block;
    color: #c09a57;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .20em;
}
.cnc-globe-card .cnc-language-panel__header span {
    display: block;
    margin-top: 3px;
    color: rgba(8,47,69,.55);
    font-size: 8px;
}
.cnc-globe-card .cnc-language-panel__header a {
    flex: 0 0 auto;
    margin: 0 !important;
    color: var(--cnc-blue-800);
    font-size: 7px;
    letter-spacing: .10em;
}
.cnc-globe-card .cnc-language-panel__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 9px;
}
.cnc-globe-card .cnc-language-panel__tab {
    min-height: 27px;
    padding: 5px 9px;
    border: 1px solid rgba(8,79,116,.13);
    border-radius: 999px;
    background: rgba(255,255,255,.58);
    color: rgba(8,47,69,.72);
    font: inherit;
    font-size: 8px;
    font-weight: 700;
    cursor: pointer;
}
.cnc-globe-card .cnc-language-panel__tab.is-active {
    border-color: var(--cnc-blue-800);
    background: var(--cnc-blue-800);
    color: #fff;
    box-shadow: 0 7px 16px rgba(8,79,116,.15);
}
.cnc-globe-card .cnc-language-panel__meta {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-top: 10px;
}
.cnc-globe-card .cnc-language-panel__meta strong {
    color: var(--cnc-blue-950);
    font-size: 13px;
}
.cnc-globe-card .cnc-language-panel__meta span {
    display: inline;
    color: rgba(8,47,69,.50);
    font-size: 9px;
}
.cnc-globe-card .cnc-language-panel__phrases { margin-top: 7px; }
.cnc-globe-card .cnc-language-panel__phrase {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 0;
    border-top: 1px solid rgba(8,47,69,.08);
}
.cnc-globe-card .cnc-language-panel__phrase > div { min-width: 0; }
.cnc-globe-card .cnc-language-panel__phrase strong {
    display: block;
    color: var(--cnc-blue-950);
    font-size: 11px;
    line-height: 1.35;
}
.cnc-globe-card .cnc-language-panel__phrase small {
    display: block;
    margin-top: 2px;
    color: rgba(8,47,69,.50);
    font-size: 8px;
    line-height: 1.35;
}
.cnc-globe-card .cnc-language-panel__speak {
    position: static;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid rgba(8,79,116,.14);
    border-radius: 50%;
    background: rgba(255,255,255,.70);
    font-size: 12px;
    cursor: pointer;
}
.cnc-globe-card .cnc-language-panel__pending {
    margin: 10px 0 0;
    color: rgba(8,47,69,.58);
    font-size: 9px;
    letter-spacing: 0;
}
.cnc-globe-card .cnc-language-panel__actions {
    display: grid;
    gap: 6px;
    margin-top: 10px;
}
.cnc-globe-card .cnc-language-panel__actions a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 33px;
    margin: 0 !important;
    padding: 7px 10px;
    border: 1px solid rgba(8,79,116,.12);
    border-radius: 10px;
    background: rgba(255,255,255,.54);
    color: var(--cnc-blue-800);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .02em;
}
.cnc-globe-card .cnc-language-panel__actions a.is-primary {
    border-color: var(--cnc-blue-800);
    background: var(--cnc-blue-800);
    color: #fff;
}
.cnc-globe-card .cnc-language-panel__actions b { font-size: 11px; }
@media (max-width: 720px) {
    .cnc-globe-card .cnc-language-panel__phrase { padding: 8px 0; }
    .cnc-globe-card .cnc-language-panel__actions { grid-template-columns: 1fr 1fr; }
}

/* v0.6.35: popup/card layer always sits above TEAM/COFFEE markers. */
.cnc-globe-card { pointer-events: auto; }
.cnc-globe-card .cnc-language-panel__phrases[hidden] { display:none !important; }

/* v0.6.36: double-click country map overlay with plotted CNC locations. */
.cnc-globe-card__map {
    display: flex;
    align-items: center;
    width: max-content;
    margin: 10px 0 0 auto;
    padding: 4px 0;
    position: static;
    border: 0;
    background: transparent;
    color: var(--cnc-blue-800);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .16em;
    cursor: pointer;
}
.cnc-globe-card__map[hidden] { display: none !important; }
.cnc-country-map {
    position: absolute;
    z-index: 95;
    inset: clamp(64px, 8vh, 96px) clamp(24px, 5vw, 76px) clamp(28px, 5vh, 58px);
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    gap: 14px;
    padding: clamp(22px, 3vw, 38px);
    border: 1px solid rgba(255,255,255,.86);
    border-radius: clamp(26px, 3vw, 38px);
    background: rgba(238,249,255,.86);
    backdrop-filter: blur(34px) saturate(1.12);
    box-shadow: 0 34px 90px rgba(5,65,91,.22);
    overflow: hidden;
    animation: cnc-country-map-open 360ms cubic-bezier(.2,.75,.2,1) both;
    pointer-events: auto;
}
.cnc-country-map[hidden] { display: none !important; }
.cnc-country-map::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 22% 18%, rgba(255,255,255,.76), transparent 32%),
        linear-gradient(135deg, rgba(39,151,190,.06), transparent 46%, rgba(79,184,146,.06));
}
.cnc-country-map > * { position: relative; z-index: 1; }
.cnc-country-map__close {
    position: absolute;
    z-index: 4;
    top: 16px;
    right: 16px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.88);
    border-radius: 50%;
    background: rgba(255,255,255,.62);
    color: var(--cnc-blue-950);
    font-size: 22px;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(8,47,69,.10);
}
.cnc-country-map__header { padding-right: 58px; }
.cnc-country-map__header p {
    margin: 0 0 7px;
    color: var(--cnc-blue-800);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .25em;
}
.cnc-country-map__header h2 {
    margin: 0;
    color: var(--cnc-blue-950);
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(22px, 2.6vw, 34px);
    font-weight: 400;
    line-height: 1;
}
.cnc-country-map__header span {
    display: block;
    margin-top: 8px;
    color: var(--cnc-muted);
    font-size: 9px;
    letter-spacing: .14em;
}
.cnc-country-map__stage {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(220px,280px);
    gap: clamp(14px, 2vw, 26px);
}
.cnc-country-map__svg {
    width: 100%;
    height: 100%;
    min-height: 320px;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 24px;
    background: rgba(255,255,255,.42);
    overflow: visible;
}
.cnc-country-map [data-cnc-country-map-grid] line {
    stroke: rgba(8,72,102,.07);
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}
.cnc-country-map__land {
    fill: rgba(115,205,232,.62);
    stroke: rgba(7,83,118,.88);
    stroke-width: 2.4;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}
.cnc-country-map__point { cursor: pointer; outline: none; }
.cnc-country-map__point circle:not(.cnc-country-map__point-halo) {
    fill: var(--cnc-blue-800);
    stroke: #fff;
    stroke-width: 3;
    vector-effect: non-scaling-stroke;
}
.cnc-country-map__point-halo {
    fill: rgba(28,111,184,.16);
    stroke: none;
    animation: cnc-country-point-pulse 2.4s ease-in-out infinite;
}
.cnc-country-map__point[data-layer="team"] circle:not(.cnc-country-map__point-halo) { fill: #126f9c; }
.cnc-country-map__point[data-layer="sponsor"] circle:not(.cnc-country-map__point-halo),
.cnc-country-map__point[data-layer="business"] circle:not(.cnc-country-map__point-halo) { fill: #bf9232; }
.cnc-country-map__point[data-layer="coffee"] circle:not(.cnc-country-map__point-halo) { fill: #8f6b3f; }
.cnc-country-map__point[data-layer="jobs"] circle:not(.cnc-country-map__point-halo) { fill: #348b66; }
.cnc-country-map__point[data-layer="player"] circle:not(.cnc-country-map__point-halo),
.cnc-country-map__point[data-layer="legend"] circle:not(.cnc-country-map__point-halo) { fill: #6f64ad; }
.cnc-country-map__point:focus circle:not(.cnc-country-map__point-halo),
.cnc-country-map__point:hover circle:not(.cnc-country-map__point-halo) { stroke-width: 5; }
.cnc-country-map__list {
    min-height: 0;
    overflow: auto;
    padding: 4px 4px 4px 0;
    scrollbar-width: thin;
}
.cnc-country-map__list-title {
    margin: 0 0 8px;
    color: var(--cnc-blue-800);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .20em;
}
.cnc-country-map__place {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 10px;
    padding: 11px 2px;
    border: 0;
    border-bottom: 1px solid rgba(8,47,69,.09);
    background: transparent;
    color: var(--cnc-blue-950);
    text-align: left;
    cursor: pointer;
}
.cnc-country-map__place small {
    grid-column: 1;
    color: var(--cnc-blue-800);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .13em;
}
.cnc-country-map__place strong {
    grid-column: 1;
    overflow: hidden;
    font-size: 11px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cnc-country-map__place span {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    max-width: 100px;
    overflow: hidden;
    color: var(--cnc-muted);
    font-size: 7px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cnc-country-map__place:hover { background: rgba(255,255,255,.40); }
.cnc-country-map__empty,
.cnc-country-map__more {
    margin: 0;
    padding: 14px 2px;
    color: var(--cnc-muted);
    font-size: 9px;
    line-height: 1.7;
}
.cnc-country-map__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: var(--cnc-muted);
    font-size: 8px;
    letter-spacing: .06em;
}
.cnc-country-map__footer strong {
    color: var(--cnc-blue-800);
    font-size: 8px;
    letter-spacing: .18em;
}
.cnc-globe.is-country-map-open .cnc-globe__canvas,
.cnc-globe.is-country-map-open .cnc-globe__markers { filter: blur(2px) saturate(.72); }
@keyframes cnc-country-map-open {
    from { opacity: 0; transform: translateY(16px) scale(.985); }
    to { opacity: 1; transform: none; }
}
@keyframes cnc-country-point-pulse {
    0%,100% { opacity: .32; transform: scale(.9); transform-origin: center; }
    50% { opacity: .10; transform: scale(1.25); transform-origin: center; }
}
@media (max-width: 820px) {
    .cnc-country-map {
        inset: max(70px, calc(env(safe-area-inset-top,0px) + 58px)) 12px max(14px, env(safe-area-inset-bottom,0px));
        padding: 20px 16px 16px;
        border-radius: 26px;
    }
    .cnc-country-map__stage {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(280px,1fr) minmax(0,180px);
    }
    .cnc-country-map__svg { min-height: 280px; }
    .cnc-country-map__list { padding-right: 2px; }
    .cnc-country-map__footer span { display: none; }
    .cnc-country-map__footer { justify-content: flex-end; }
}
@media (prefers-reduced-motion: reduce) {
    .cnc-country-map,
    .cnc-country-map__point-halo { animation: none; }
}
.cnc-country-map,
.cnc-country-map__list { touch-action: pan-y; }

/* v0.6.38: member-only TEAM SUPPORTERS business network. */
.cnc-supporters-trigger {
    position:absolute;
    left:clamp(22px,5vw,82px);
    top:58%;
    z-index:2250;
    display:grid;
    min-width:132px;
    gap:3px;
    padding:12px 16px 11px;
    border:1px solid rgba(255,255,255,.78);
    border-radius:999px;
    background:rgba(239,249,255,.48);
    box-shadow:0 14px 38px rgba(7,47,75,.14);
    color:var(--cnc-blue-950);
    text-align:left;
    backdrop-filter:blur(18px) saturate(1.12);
    -webkit-backdrop-filter:blur(18px) saturate(1.12);
    transform:translateY(-50%);
    cursor:pointer;
}
.cnc-supporters-trigger[hidden] { display:none !important; }
.cnc-supporters-trigger::after {
    content:"";
    position:absolute;
    right:-28px;
    top:50%;
    width:22px;
    height:1px;
    background:linear-gradient(90deg,rgba(12,88,135,.52),rgba(12,88,135,0));
}
.cnc-supporters-trigger span {
    font-family:Georgia,"Times New Roman",serif;
    font-size:15px;
    font-weight:400;
    letter-spacing:.12em;
}
.cnc-supporters-trigger small {
    color:rgba(8,47,69,.54);
    font-size:6px;
    letter-spacing:.18em;
}
.cnc-supporters-trigger b {
    position:absolute;
    right:-7px;
    top:-7px;
    display:grid;
    min-width:24px;
    height:24px;
    place-items:center;
    padding:0 6px;
    border:2px solid rgba(245,252,255,.96);
    border-radius:999px;
    background:var(--cnc-blue-800);
    color:#fff;
    font-size:9px;
    font-weight:600;
}
.cnc-supporters-trigger b[hidden] { display:none !important; }
.cnc-supporters-trigger:hover,
.cnc-supporters-trigger:focus-visible {
    border-color:rgba(255,255,255,.96);
    background:rgba(248,253,255,.74);
    box-shadow:0 18px 46px rgba(7,47,75,.20);
    outline:none;
    transform:translateY(-50%) translateX(3px);
}

.cnc-supporters-panel {
    position:absolute;
    left:clamp(24px,5vw,88px);
    top:50%;
    z-index:2400;
    width:min(460px,calc(100vw - 48px));
    max-height:min(78vh,760px);
    overflow:auto;
    padding:28px;
    border:1px solid rgba(255,255,255,.84);
    border-radius:28px;
    background:linear-gradient(155deg,rgba(248,253,255,.90),rgba(222,243,251,.76));
    box-shadow:0 30px 90px rgba(4,39,63,.26);
    color:var(--cnc-blue-950);
    backdrop-filter:blur(28px) saturate(1.16);
    -webkit-backdrop-filter:blur(28px) saturate(1.16);
    transform:translateY(-50%);
}
.cnc-supporters-panel[hidden] { display:none !important; }
.cnc-supporters-panel__close {
    position:absolute;
    right:16px;
    top:14px;
    width:34px;
    height:34px;
    border:0;
    background:transparent;
    color:rgba(8,47,69,.56);
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
.cnc-supporters-panel__header p {
    margin:0 0 7px;
    color:rgba(8,47,69,.52);
    font-size:7px;
    letter-spacing:.22em;
}
.cnc-supporters-panel__header h2 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(22px,2.4vw,30px);
    font-weight:400;
    letter-spacing:.04em;
    line-height:1;
}
.cnc-supporters-panel__header strong {
    display:block;
    margin-top:12px;
    font-size:13px;
    font-weight:600;
}
.cnc-supporters-panel__header > span {
    display:block;
    margin-top:5px;
    color:rgba(8,47,69,.56);
    font-size:9px;
    letter-spacing:.05em;
}
.cnc-supporters-panel__summary {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:18px 0 14px;
}
.cnc-supporters-panel__summary span {
    padding:6px 9px;
    border:1px solid rgba(8,87,133,.13);
    border-radius:999px;
    background:rgba(255,255,255,.42);
    color:rgba(8,47,69,.64);
    font-size:6px;
    letter-spacing:.10em;
}
.cnc-supporters-panel__list {
    display:grid;
    gap:10px;
}
.cnc-supporter-card {
    padding:15px 16px 14px;
    border:1px solid rgba(255,255,255,.82);
    border-radius:17px;
    background:rgba(255,255,255,.50);
    box-shadow:0 8px 24px rgba(8,47,69,.06);
}
.cnc-supporter-card header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.cnc-supporter-card h3 {
    margin:0;
    font-size:13px;
    line-height:1.35;
}
.cnc-supporter-card header span {
    flex:0 0 auto;
    padding:5px 7px;
    border-radius:999px;
    background:rgba(22,112,160,.10);
    color:var(--cnc-blue-800);
    font-size:6px;
    letter-spacing:.10em;
}
.cnc-supporter-card__location {
    margin:5px 0 0;
    color:rgba(8,47,69,.54);
    font-size:8px;
}
.cnc-supporter-card dl {
    display:grid;
    gap:5px;
    margin:12px 0 0;
}
.cnc-supporter-card dl > div {
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    gap:10px;
}
.cnc-supporter-card dt {
    color:rgba(8,47,69,.46);
    font-size:6px;
    letter-spacing:.08em;
}
.cnc-supporter-card dd {
    margin:0;
    font-size:9px;
    line-height:1.45;
}
.cnc-supporter-card nav {
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:12px;
    padding-top:9px;
    border-top:1px solid rgba(8,47,69,.08);
}
.cnc-supporter-card nav a {
    color:var(--cnc-blue-800);
    font-size:7px;
    letter-spacing:.08em;
    text-decoration:none;
}
.cnc-supporters-panel__empty {
    padding:32px 18px;
    border:1px dashed rgba(8,87,133,.18);
    border-radius:18px;
    background:rgba(255,255,255,.32);
    text-align:center;
}
.cnc-supporters-panel__empty[hidden] { display:none !important; }
.cnc-supporters-panel__empty strong {
    display:block;
    font-size:9px;
    letter-spacing:.14em;
}
.cnc-supporters-panel__empty p {
    margin:9px 0 0;
    color:rgba(8,47,69,.58);
    font-size:9px;
    line-height:1.6;
}
.cnc-supporters-panel__footer {
    display:grid;
    gap:4px;
    margin-top:16px;
    padding-top:13px;
    border-top:1px solid rgba(8,47,69,.10);
}
.cnc-supporters-panel__footer span {
    color:var(--cnc-blue-800);
    font-size:7px;
    letter-spacing:.15em;
}
.cnc-supporters-panel__footer small {
    color:rgba(8,47,69,.52);
    font-size:7px;
    line-height:1.5;
}

@media (max-width: 760px) {
    .cnc-supporters-trigger {
        left:18px;
        top:auto;
        bottom:84px;
        min-width:124px;
        padding:10px 14px;
        transform:none;
    }
    .cnc-supporters-trigger:hover,
    .cnc-supporters-trigger:focus-visible { transform:translateY(-2px); }
    .cnc-supporters-trigger::after { display:none; }
    .cnc-supporters-panel {
        left:14px;
        right:14px;
        top:auto;
        bottom:18px;
        width:auto;
        max-height:min(76vh,680px);
        padding:24px 20px;
        border-radius:24px;
        transform:none;
    }
    .cnc-supporter-card dl > div { grid-template-columns:92px minmax(0,1fr); }
}


/* v0.6.39: country-map accuracy + compact glass typography. */
.cnc-globe-card__map {
    right:auto !important;
    top:auto !important;
    height:auto !important;
    min-height:0;
    border-radius:0 !important;
    background:transparent !important;
}
.cnc-globe-card__map:hover,
.cnc-globe-card__map:focus-visible {
    color:var(--cnc-blue-950);
    outline:none;
}
.cnc-globe-card[data-cnc-globe-card] { padding-top:26px; }
@media (max-width:760px) {
    .cnc-globe-card h2 { font-size:20px; }
    .cnc-country-map__header h2 { font-size:26px; }
    .cnc-supporters-panel__header h2 { font-size:25px; }
}


/* v0.6.40: responsive polish for tablet portrait + mobile SUPPORTERS visibility. */
@media (min-width: 761px) and (max-width: 1100px) and (orientation: portrait) {
    .cnc-os__topbar {
        padding: max(18px, calc(env(safe-area-inset-top, 0px) + 10px)) max(18px, calc(env(safe-area-inset-right, 0px) + 18px)) 18px max(18px, calc(env(safe-area-inset-left, 0px) + 18px));
    }
    .cnc-os__brand { gap: 7px; max-width: 42vw; }
    .cnc-os__brand-logo { width: 42px; height: 54px; }
    .cnc-os__brand-word { font-size: 28px; }
    .cnc-os__brand-question { font-size: 12px; }
    .cnc-smart-menu__trigger { width: 44px; height: 44px; }
    .cnc-smart-menu.is-open { max-width: 54vw; }
    .cnc-smart-menu__rail { max-width: calc(54vw - 52px); }
    .cnc-smart-menu__rail button { padding: 0 10px; font-size: 9px; }
    .cnc-globe-card {
        right: max(16px, env(safe-area-inset-right, 0px));
        width: min(300px, calc(100vw - 36px));
        padding: 24px 22px;
        max-height: min(72vh, 650px);
    }
    .cnc-supporters-trigger {
        left: max(18px, env(safe-area-inset-left, 0px));
        min-width: 118px;
        padding: 10px 13px 9px;
    }
    .cnc-supporters-trigger span { font-size: 13px; letter-spacing: .09em; }
    .cnc-supporters-panel {
        left: max(18px, env(safe-area-inset-left, 0px));
        width: min(400px, calc(100vw - 36px));
        max-height: min(74vh, 700px);
        padding: 24px;
    }
}

@media (max-width: 760px) {
    .cnc-supporters-trigger {
        position: fixed;
        z-index: 2600;
        left: 50%;
        right: auto;
        top: max(96px, calc(env(safe-area-inset-top, 0px) + 78px));
        bottom: auto;
        min-width: 0;
        width: auto;
        max-width: calc(100vw - 36px);
        display:flex;
        align-items:center;
        gap:8px;
        padding:9px 14px;
        transform: translateX(-50%);
        white-space: nowrap;
    }
    .cnc-supporters-trigger span { font-size: 12px; letter-spacing: .09em; }
    .cnc-supporters-trigger small { display:none; }
    .cnc-supporters-trigger b {
        position: static;
        min-width:20px;
        height:20px;
        border-width:1px;
        font-size:8px;
    }
    .cnc-supporters-trigger:hover,
    .cnc-supporters-trigger:focus-visible { transform:translateX(-50%) translateY(-2px); }

    .cnc-supporters-panel {
        position: fixed;
        z-index: 2700;
        left: max(10px, env(safe-area-inset-left, 0px));
        right: max(10px, env(safe-area-inset-right, 0px));
        top: max(78px, calc(env(safe-area-inset-top, 0px) + 58px));
        bottom: max(10px, env(safe-area-inset-bottom, 0px));
        width:auto;
        max-height:none;
        padding:20px 17px 18px;
        border-radius:22px;
        transform:none;
        overscroll-behavior:contain;
    }
    .cnc-supporters-panel__header h2 { font-size:22px; }
    .cnc-supporters-panel__close { right:10px; top:9px; }
}

@media (max-width: 430px) {
    .cnc-os__topbar { padding-left:14px; padding-right:14px; }
    .cnc-os__brand { gap:5px; }
    .cnc-os__brand-logo { width:36px; height:46px; }
    .cnc-os__brand-word { font-size:24px; }
    .cnc-os__brand-question { display:none; }
    .cnc-supporters-trigger { top:max(86px, calc(env(safe-area-inset-top, 0px) + 70px)); }
}

/* ==========================================================
   v0.6.43 ROOT LAYOUT FIX — TOP is a document, not a viewport lock
   ----------------------------------------------------------
   The globe remains a dedicated visual stage. Header, tournament
   participation, progress, and history navigation live in normal
   document flow below/above it, so they cannot overlap the globe.
   Private/platform pages keep their existing fullscreen behavior.
   ========================================================== */
body.cnc-os-shell--top {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    min-height: 100%;
    background: linear-gradient(180deg, #f9ffff 0%, #eef9fb 62%, #ffffff 100%);
}
body.cnc-os-shell--top.cnc-os-no-scroll { overflow: hidden !important; }
body.cnc-os-shell--top .cnc-os-page-frame {
    position: relative;
    width: 100%;
    min-height: 100%;
    overflow: visible;
}
body.cnc-os-shell--top .cnc-os {
    width: 100%;
    height: calc(100vh - 92px);
    min-height: 620px;
    max-height: none;
    overflow: hidden;
}
body.admin-bar.cnc-os-shell--top .cnc-os {
    height: calc(100vh - 124px);
    min-height: 620px;
}
@supports (height: 100svh) {
    body.cnc-os-shell--top .cnc-os { height: calc(100svh - 92px); }
    body.admin-bar.cnc-os-shell--top .cnc-os { height: calc(100svh - 124px); }
}
@supports (height: 100dvh) {
    body.cnc-os-shell--top .cnc-os { height: calc(100dvh - 92px); }
    body.admin-bar.cnc-os-shell--top .cnc-os { height: calc(100dvh - 124px); }
}
body.cnc-os-shell--top .cnc-os-after-globe {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 1px;
    padding: clamp(30px, 5vw, 64px) 0 max(32px, env(safe-area-inset-bottom));
    overflow: visible;
    background:
        radial-gradient(circle at 86% 2%, rgba(215,243,247,.48), transparent 30%),
        linear-gradient(180deg, #f7fcfd 0%, #ffffff 34%, #f7fbfc 100%);
}
body.cnc-gcp-os-active.cnc-os-shell--top .cnc-os__topbar {
    display: none !important;
}

@media (max-width: 782px) {
    body.cnc-os-shell--top .cnc-os {
        height: calc(100vh - 76px);
        min-height: 520px;
    }
    body.admin-bar.cnc-os-shell--top .cnc-os {
        height: calc(100vh - 122px);
        min-height: 520px;
    }
    @supports (height: 100svh) {
        body.cnc-os-shell--top .cnc-os { height: calc(100svh - 76px); }
        body.admin-bar.cnc-os-shell--top .cnc-os { height: calc(100svh - 122px); }
    }
    @supports (height: 100dvh) {
        body.cnc-os-shell--top .cnc-os { height: calc(100dvh - 76px); }
        body.admin-bar.cnc-os-shell--top .cnc-os { height: calc(100dvh - 122px); }
    }
    body.cnc-os-shell--top .cnc-os-after-globe {
        padding: 24px 0 max(24px, env(safe-area-inset-bottom));
    }
}


/* ==========================================================
   v0.6.44 — Globe space + dedicated media zone
   ========================================================== */
body.cnc-os-shell--top .cnc-os {
    min-height:720px;
}
body.cnc-os-shell--top .cnc-globe {
    min-height:720px;
}

/* Images / promotional visuals are not allowed to share the globe stage.
   Older modules are relocated into this normal-flow media zone. */
.cnc-os-media-zone {
    position:relative;
    z-index:2;
    width:min(1360px, calc(100% - 48px));
    margin:clamp(40px,6vw,78px) auto 0;
    padding:clamp(20px,3vw,32px);
    border:1px solid rgba(14,73,99,.10);
    border-radius:26px;
    background:linear-gradient(135deg,#fff,rgba(239,249,251,.92));
    box-shadow:0 18px 52px rgba(14,73,99,.07);
}
.cnc-os-media-zone[hidden] { display:none!important; }
.cnc-os-media-zone__inner {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:16px;
    align-items:stretch;
}
.cnc-os-media-zone__inner > .cnc-os-relocated-media-item {
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    max-width:100%!important;
    width:100%!important;
    height:auto!important;
    z-index:auto!important;
}
.cnc-os-media-zone__inner > .cnc-os-relocated-media-item.is-group {
    grid-column:1/-1;
}
.cnc-os-media-zone img,
.cnc-os-media-zone picture {
    max-width:100%;
    height:auto;
}

@media(max-width:782px){
    body.cnc-os-shell--top .cnc-os,
    body.cnc-os-shell--top .cnc-globe { min-height:600px; }
    .cnc-os-media-zone {
        width:calc(100% - 20px);
        margin-top:34px;
        padding:16px;
        border-radius:22px;
    }
    .cnc-os-media-zone__inner { grid-template-columns:1fr; }
}


/* ==========================================================
   v0.6.45 — Long-LP structure / expanded globe / country map
   ----------------------------------------------------------
   Source-level layout only. No text hiding and no late geometry
   patches for companion modules. The TOP is a normal document;
   the globe is the first visual section and every injected block
   receives a dedicated normal-flow region below it.
   ========================================================== */
body.cnc-os-shell--top .cnc-os {
    height: min(980px, calc(100vh - 18px));
    min-height: 780px;
}
body.admin-bar.cnc-os-shell--top .cnc-os {
    height: min(948px, calc(100vh - 50px));
    min-height: 748px;
}
@supports (height: 100dvh) {
    body.cnc-os-shell--top .cnc-os { height: min(980px, calc(100dvh - 18px)); }
    body.admin-bar.cnc-os-shell--top .cnc-os { height: min(948px, calc(100dvh - 50px)); }
}
body.cnc-os-shell--top .cnc-globe { min-height: inherit; }

body.cnc-os-shell--top .cnc-os-after-globe {
    display: grid;
    gap: clamp(34px, 5.5vw, 82px);
    padding-top: clamp(44px, 6vw, 88px);
}
.cnc-os-after-globe__primary,
.cnc-os-after-globe__content,
.cnc-os-after-globe__navigation {
    position: relative;
    z-index: 2;
    width: 100%;
    min-width: 0;
}
.cnc-os-after-globe__primary:empty,
.cnc-os-after-globe__content:empty,
.cnc-os-after-globe__navigation:empty { display: none; }

/* Media belongs to the LP flow, never to the rotating globe layer. */
.cnc-os-media-zone {
    width: min(1480px, calc(100% - 40px));
    margin: 0 auto;
}

/* COUNTRY MAP uses the available stage instead of a narrow floating window. */
.cnc-country-map {
    inset: clamp(54px, 6vh, 74px) clamp(10px, 1.4vw, 22px) clamp(16px, 2.4vh, 30px);
    gap: 16px;
    padding: clamp(20px, 2.2vw, 34px);
    border-radius: clamp(22px, 2.2vw, 32px);
}
.cnc-country-map__stage {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: clamp(14px, 1.6vw, 24px);
}
.cnc-country-map__svg { min-height: 430px; }
.cnc-country-map__place { min-height: 58px; padding: 12px 8px; }
.cnc-country-map__place strong { font-size: 12px; }
.cnc-country-map__place small,
.cnc-country-map__place span { font-size: 8px; }

/* Long LP navigation: one persistent, compact return control. */
.cnc-os-back-to-top {
    position: fixed;
    z-index: 2400;
    right: max(18px, env(safe-area-inset-right, 0px));
    bottom: max(18px, env(safe-area-inset-bottom, 0px));
    min-width: 58px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.86);
    border-radius: 999px;
    background: rgba(248,254,255,.88);
    color: var(--cnc-blue-950);
    box-shadow: 0 14px 34px rgba(5,65,91,.15);
    backdrop-filter: blur(18px) saturate(1.1);
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .10em;
    transition: transform var(--cnc-fast), background var(--cnc-fast), opacity var(--cnc-fast);
}
.cnc-os-back-to-top[hidden] { display: none !important; }
.cnc-os-back-to-top:hover,
.cnc-os-back-to-top:focus-visible { transform: translateY(-2px); background: #fff; }
.cnc-os-back-to-top b { font-size: 14px; line-height: 1; }

@media (max-width: 820px) {
    body.cnc-os-shell--top .cnc-os,
    body.admin-bar.cnc-os-shell--top .cnc-os {
        height: min(820px, 90vh);
        min-height: 650px;
    }
    @supports (height: 100dvh) {
        body.cnc-os-shell--top .cnc-os,
        body.admin-bar.cnc-os-shell--top .cnc-os { height: min(820px, 90dvh); }
    }
    body.cnc-os-shell--top .cnc-os-after-globe {
        gap: 34px;
        padding-top: 34px;
    }
    .cnc-country-map {
        inset: max(58px, calc(env(safe-area-inset-top,0px) + 48px)) 6px max(8px, env(safe-area-inset-bottom,0px));
        padding: 16px 10px 12px;
        border-radius: 22px;
    }
    .cnc-country-map__stage {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(330px, 1fr) minmax(150px, 220px);
        gap: 10px;
    }
    .cnc-country-map__svg { min-height: 330px; border-radius: 18px; }
    .cnc-country-map__list { padding: 0 4px; }
    .cnc-country-map__place { min-height: 54px; padding: 10px 6px; }
    .cnc-os-media-zone { width: calc(100% - 16px); }
    .cnc-os-back-to-top {
        right: max(10px, env(safe-area-inset-right, 0px));
        bottom: max(10px, env(safe-area-inset-bottom, 0px));
        min-width: 52px;
        height: 40px;
        padding: 0 12px;
    }
}

@media (max-width: 430px) {
    body.cnc-os-shell--top .cnc-os,
    body.admin-bar.cnc-os-shell--top .cnc-os {
        height: min(780px, 88vh);
        min-height: 620px;
    }
    @supports (height: 100dvh) {
        body.cnc-os-shell--top .cnc-os,
        body.admin-bar.cnc-os-shell--top .cnc-os { height: min(780px, 88dvh); }
    }
    .cnc-country-map__header h2 { font-size: clamp(21px, 7vw, 29px); }
    .cnc-country-map__stage { grid-template-rows: minmax(300px, 1fr) minmax(150px, 205px); }
    .cnc-country-map__svg { min-height: 300px; }
}

/* ==========================================================
   v0.6.46 — Fixed brand navigation + companion LP slots
   ========================================================== */
.cnc-workspace.is-wide {
    width: min(820px, calc(100vw - 48px));
}
.cnc-member-hub {
    display: grid;
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}
.cnc-member-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
.cnc-member-actions a,
.cnc-member-actions span {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 16px;
    border: 1px solid rgba(8,47,69,.10);
    border-radius: 18px;
    background: rgba(255,255,255,.52);
    color: var(--cnc-blue-950);
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-align: center;
}
.cnc-member-actions .is-primary {
    background: linear-gradient(135deg, rgba(53,183,192,.16), rgba(255,255,255,.82));
    border-color: rgba(53,183,192,.32);
    font-size: 15px;
}
.cnc-brand-grid,
.cnc-workspace__view--brands .cnc-brand-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 0;
}
.cnc-brand-link {
    min-width: 0;
    min-height: 36px;
    display: flex;
    align-items: baseline;
    gap: .28em;
    padding: 7px 2px 6px;
    border: 0;
    border-bottom: 1px solid rgba(19, 67, 91, .10);
    border-radius: 0;
    background: transparent;
    color: #31576c;
    text-decoration: none;
    text-align: left;
    font-size: clamp(12px, .96vw, 14px);
    font-weight: 560;
    letter-spacing: .01em;
    line-height: 1.4;
    transition: color var(--cnc-fast), border-color var(--cnc-fast), transform var(--cnc-fast);
}
.cnc-brand-link__lead {
    min-width: 0;
    color: #31576c;
}
.cnc-brand-link__name {
    flex: 0 0 auto;
    color: #a47b32;
    font-size: 1.03em;
    font-weight: 850;
    letter-spacing: .045em;
}
.cnc-brand-link__arrow {
    flex: 0 0 auto;
    margin-left: auto;
    color: #66a8ad;
    font-size: .95em;
    opacity: .72;
    transform: translateX(0);
    transition: transform var(--cnc-fast), color var(--cnc-fast), opacity var(--cnc-fast);
}
.cnc-brand-link:hover,
.cnc-brand-link:focus-visible {
    color: #173f57;
    border-bottom-color: rgba(164, 123, 50, .38);
    transform: translateX(2px);
}
.cnc-brand-link:hover .cnc-brand-link__lead,
.cnc-brand-link:focus-visible .cnc-brand-link__lead {
    color: #173f57;
}
.cnc-brand-link:hover .cnc-brand-link__name,
.cnc-brand-link:focus-visible .cnc-brand-link__name {
    color: #8d6828;
}
.cnc-brand-link:hover .cnc-brand-link__arrow,
.cnc-brand-link:focus-visible .cnc-brand-link__arrow {
    color: #a47b32;
    opacity: 1;
    transform: translateX(3px);
}
.cnc-brand-link.is-disabled {
    opacity: .55;
    cursor: default;
}

.cnc-os-coffee-pair,
.cnc-os-icc-progress {
    position: relative;
    z-index: 2;
    width: min(1360px, calc(100% - 40px));
    margin: 0 auto;
}
.cnc-os-coffee-pair[hidden],
.cnc-os-icc-progress[hidden] { display: none !important; }
.cnc-os-coffee-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 2vw, 24px);
    align-items: stretch;
}
.cnc-os-coffee-pair.has-producer-only,
.cnc-os-coffee-pair.has-consumer-only { grid-template-columns: 1fr; }
.cnc-os-coffee-pair__producer,
.cnc-os-coffee-pair__consumer,
.cnc-os-icc-progress {
    min-width: 0;
}
.cnc-os-icc-progress {
    margin-top: 0;
}

@media (max-width: 820px) {
    .cnc-workspace.is-wide {
        width: auto;
        right: 10px;
        left: 10px;
        max-height: min(78vh, 660px);
    }
    .cnc-member-hub { grid-template-columns: 1fr; }
    .cnc-member-actions { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .cnc-member-actions a,
    .cnc-member-actions span { min-height: 54px; padding: 10px 8px; font-size: 11px; }
    .cnc-member-actions .is-primary { font-size: 12px; }
    .cnc-brand-grid,
    .cnc-workspace__view--brands .cnc-brand-grid { grid-template-columns: 1fr; column-gap: 0; }
    .cnc-brand-link { min-height: 34px; padding: 6px 1px 5px; font-size: 12px; }
    .cnc-os-coffee-pair,
    .cnc-os-icc-progress { width: calc(100% - 16px); }
    .cnc-os-coffee-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}

@media (max-width: 430px) {
    .cnc-workspace__view--member,
    .cnc-workspace__view--brands { padding: 16px 12px 18px; }
    .cnc-member-actions { grid-template-columns: 1fr 1fr 1fr; gap: 7px; }
    .cnc-brand-grid,
    .cnc-workspace__view--brands .cnc-brand-grid { grid-template-columns: 1fr; }
    .cnc-brand-link { min-height: 32px; padding: 5px 0 4px; font-size: 11.5px; }
    .cnc-brand-link__name { font-size: 1em; }
    .cnc-os-coffee-pair { grid-template-columns: 1fr 1fr; }
}
