/* brand add-ons */
:root{
--co-indigo:#5f6ddf;
--co-mint:#16cec3;
--co-ink:#0b2a4a; /* на всякий случай */
}

/* Ровная «рейка»: всегда по центру контейнера */
.pipeline-grid{
position: relative;
padding-top: 30px;
}
.pipeline-grid::before{
content:"";
position:absolute;
left:50%;
transform:translateX(-50%);
top: 8px;
width:min(980px, 88%);
height:4px;
border-radius:4px;
background:linear-gradient(90deg, #b7dcff 0%, #9ad9ff 60%, #b7dcff 100%);
box-shadow:0 0 0 1px rgba(10,103,204,.08) inset;
}

/* Стеклянные карточки с аккуратной тенью */
.step-card{
position:relative;
border-radius:18px;
border:1px solid rgba(4,36,84,.06);
background:rgba(255,255,255,.78);
box-shadow:0 10px 24px rgba(7,59,129,.10);
transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
overflow:visible;
}
@supports (backdrop-filter: blur(8px)){
.step-card{ backdrop-filter: blur(8px) saturate(120%); }
}
.step-card:hover{
transform:translateY(-3px);
box-shadow:0 16px 36px rgba(7,59,129,.16);
border-color:rgba(4,36,84,.12);
}

/* Пин-иконка строго по центру карточки + коннектор к рейке */
.step-icon{
position:absolute;
top:-20px;
left:50%;
transform:translateX(-50%);
width:48px;height:48px;
display:grid;place-items:center;
color:#fff;font-size:20px;
border-radius:16px;
box-shadow:0 10px 18px rgba(10,103,204,.28), inset 0 1px 0 rgba(255,255,255,.45);
border:1px solid rgba(255,255,255,.5);
transition:transform .18s ease, filter .18s ease;
}
.step-card:hover .step-icon{ transform:translateX(-50%) scale(1.04); }

/* Небольшой «штифт» к рейке */
.step-icon::before{
content:"";
position:absolute;
top:-12px; left:50%; transform:translateX(-50%);
width:2px; height:12px; border-radius:2px;
background:linear-gradient(180deg,#9ad9ff,#5ec2ff);
opacity:.8;
}
/* Светлое колечко вокруг штифта */
.step-icon::after{
content:"";
position:absolute;
top:-16px; left:50%; transform:translateX(-50%);
width:12px; height:12px; border-radius:50%;
background:#fff;
box-shadow:0 0 0 5px rgba(13,84,184,.18);
}

/* Состояния: градиенты пина + цвет значения */
.step-card.is-private .step-icon{
background:linear-gradient(135deg, #5ec2ff, #2f86e5 55%, #0a67cc);
}
.step-card.is-private .step-value{ color:#0a67cc; }

.step-card.is-planned .step-icon{
background:linear-gradient(135deg, var(--co-mint), #209cff);
}
.step-card.is-planned .step-value{ color:#209cff; }

.step-card.is-request .step-icon{
background:linear-gradient(135deg, #a18cd1, var(--co-indigo));
}
.step-card.is-request .step-value{ color:var(--co-indigo); }

/* Типографика шага */
.step-eyebrow{ font-size:.82rem; color:#63708a; margin-top:.25rem; }
.step-value { font-weight:800; letter-spacing:.2px; margin:.25rem 0; }
.step-note { font-size:.82rem; color:#6f7e96; }

/* Фокус по табу (a11y): подсветка карточки */
.step-card:focus-within{ outline:2px solid #9ad9ff; outline-offset:3px; border-color:#9ad9ff66; }

/* Адаптив: на мобилках убираем рейку, пин ближе к краю — читабельнее */
@media (max-width: 991.98px){
.pipeline-grid::before{ display:none; }
.step-icon{ left: 43%; transform:none; }
.step-icon::before,.step-icon::after{ display:none; }
}

/* Уважение к reduced motion */
@media (prefers-reduced-motion: reduce){
.step-card, .step-icon{ transition:none !important; }
}
/**/
/* круглый градиентный бейдж */
.icon-badge{
width:30px;
height:30px;
border-radius:50%;
display:inline-flex;
align-items:center;
justify-content:center;
background:linear-gradient(180deg,#0a67cc 0%,#0db7ed 100%);
box-shadow:0 1px 2px rgba(0,0,0,.12), inset 0 0 0 1px rgba(255,255,255,.18);
flex:0 0 22px; /* фиксированный размер, не сжимать */
}

/* белая иконка внутри */
.icon-badge svg{
display:block;
width:18px;
height:18px;
fill:#fff;
}

/* чуть крупнее на xl, если хочешь */
@media (min-width:1200px){
.icon-badge{ width:28px; height:28px; }
.icon-badge svg{ width:18px; height:18px; }
}
.heading-bar{display:flex;align-items:center;gap:.6rem;padding-left:.75rem;position:relative}
.heading-bar::before{
content:"";position:absolute;left:0;top:.1rem;bottom:.1rem;width:3px;border-radius:3px;
background:linear-gradient(180deg,#5ec2ff,#0a67cc)
}
.dot-badge{
width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
background:#0a67cc12;border:1px solid #0a67cc2e
}
.dot-badge svg{width:32px;height:32px;fill:#0a67cc}


/* ===== Return Drivers & Exit Paths — isolated styles ===== */
#return-drivers {
    --rd-bg: #ffffff;
    --rd-ink: #0b2a4a;
    --rd-muted: #5e6b82;
    --rd-brd: #e6eef8;
    --rd-shadow: 0 10px 24px rgba(7, 59, 129, .08);
    --rd-shadow-hover: 0 16px 36px rgba(7, 59, 129, .14);
    --rd-grad-blue: linear-gradient(90deg, #0a67cc, #0db7ed);
    --rd-grad-violet: linear-gradient(90deg, #7c3aed, #0ea5e9);
}

/* Section heading eyebrow stays as is; we only style the cards and lists inside */
#return-drivers .card {
    position: relative;
    border: 1px solid var(--rd-brd);
    border-radius: 16px;
    /* локально, не трогаем .card глобально */
    background: var(--rd-bg);
    box-shadow: var(--rd-shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    overflow: hidden;
    /* для верхней плашки */
}

/* Тонкая «лента» сверху карточки */
#return-drivers .card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    height: 4px;
    width: 100%;
    background: var(--rd-grad-blue);
    opacity: .95;
}

/* Акценты через data-атрибут (без доп. классов) */
#return-drivers .card[data-accent="violet"]::before {
    background: var(--rd-grad-violet);
}

/* Hover/focus (доступность) */
#return-drivers .card:hover {
    transform: translateY(-2px);
    box-shadow: var(--rd-shadow-hover);
    border-color: #d7e6fb;
}

#return-drivers .card:focus-within {
    outline: 2px solid #9ad9ff;
    outline-offset: 3px;
}

/* Заголовки внутри карточек */
#return-drivers .card h3 {
    color: var(--rd-ink);
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .5rem;
}

/* Списки: убираем стандартные точки и рисуем аккуратные маркеры через SVG-маску */
#return-drivers ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

#return-drivers li {
    position: relative;
    padding-left: 1.5rem;
    color: var(--rd-ink);
    font-size: .95rem;
    line-height: 1.55;
}

#return-drivers li+li {
    margin-top: .35rem;
}

#return-drivers li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .35rem;
    width: 1rem;
    height: 1rem;
    border-radius: 8px;
    background: #eaf4ff;
    border: 1px solid #cfe4ff;
    /* чек как маска — ОДНОСТРОЧНЫЙ data:URI, без переносов */
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23000' d='M6.3 11.2 3.6 8.5a.9.9 0 0 1 1.3-1.3l1.7 1.7L11 4.5a.9.9 0 1 1 1.3 1.3L7.6 10.6a.9.9 0 0 1-1.3 0z'/></svg>") center/12px 12px no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23000' d='M6.3 11.2 3.6 8.5a.9.9 0 0 1 1.3-1.3l1.7 1.7L11 4.5a.9.9 0 1 1 1.3 1.3L7.6 10.6a.9.9 0 0 1-1.3 0z'/></svg>") center/12px 12px no-repeat;
    background-image: var(--rd-grad-blue);
}

/* Мелкая подпись/цвет */
#return-drivers .small {
    color: var(--rd-muted);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    #return-drivers .card {
        transition: none !important;
    }
}

/* Тёмная схема (мягко) */
@media (prefers-color-scheme: dark) {
    #return-drivers {
        --rd-bg: #0f172a;
        --rd-ink: #e6eef8;
        --rd-muted: #9fb0c8;
        --rd-brd: #1e293b;
        --rd-shadow: none;
        --rd-shadow-hover: none;
    }

    #return-drivers .card {
        border-color: var(--rd-brd);
    }

    #return-drivers li::before {
        background: #0b1220;
        border-color: #1e293b;
    }
}

/* ===== Risks & Mitigations — scoped, no Bootstrap overrides ===== */
#risks {
    --ink: #0b2a4a;
    --muted: #5e6b82;
    --panel: #fff;
    --line: #e6eef8;
    --row: #f8fbff;
    --shadow: 0 10px 24px rgba(7, 59, 129, .08);
    --grad-blue: linear-gradient(90deg, #0a67cc, #0db7ed);
    --grad-violet: linear-gradient(90deg, #7c3aed, #0ea5e9);
    --grad-amber: linear-gradient(90deg, #f59e0b, #f39b18);
    --pill-high: rgba(244, 63, 94, .10);
    --pill-high-brd: rgba(244, 63, 94, .35);
    --pill-med: rgba(245, 158, 11, .12);
    --pill-med-brd: rgba(245, 158, 11, .38);
    --pill-low: rgba(16, 185, 129, .12);
    --pill-low-brd: rgba(16, 185, 129, .35);
}

#risks .risk-panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: var(--shadow);
    padding: .25rem;
    overflow: hidden;
}

#risks .risk-scroll {
    overflow-x: auto;
    border-radius: 14px;
}

#risks .risk-ledger {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--ink);
    font-size: .95rem;
}

#risks .risk-ledger thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    text-align: center;
    font-weight: 700;
    letter-spacing: .02em;
    background: #f1f6ff;
    padding: .8rem .9rem;
    border-bottom: 1px solid #dbe7fb;
    background-image: var(--grad-blue);
    background-repeat: no-repeat;
    background-size: 100% 3px;
    background-position: bottom left;
}

#risks .risk-ledger thead th:nth-child(2) {
    background-image: var(--grad-violet);
    background-size: 100% 2px;
}

#risks .risk-ledger td {
    padding: .9rem .9rem;
    border-top: 1px solid var(--line);
    vertical-align: top;
}

#risks .risk-ledger tbody tr:nth-child(even) td {
    background: var(--row);
}

#risks .risk-ledger tbody tr:hover td {
    background: linear-gradient(0deg, rgba(9, 132, 227, .05), rgba(9, 132, 227, .05));
}

#risks .risk-ledger tbody td.risk {
    position: relative;
    width: 32%;
}

#risks .risk-ledger tbody tr[data-accent] td.risk::before {
    content: "";
    position: absolute;
    left: -1px;
    top: -1px;
    bottom: -1px;
    width: 4px;
    border-radius: 3px 0 0 3px;
    opacity: .95;
    background: var(--grad-blue);
}

#risks .risk-ledger tbody tr[data-accent="violet"] td.risk::before {
    background: var(--grad-violet);
}

#risks .risk-ledger tbody tr[data-accent="amber"] td.risk::before {
    background: var(--grad-amber);
}

#risks .risk-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    height: 24px;
    padding: 0 .5rem;
    margin-right: .45rem;
    font: 800 .7rem/1 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
    letter-spacing: .3px;
    text-transform: uppercase;
    white-space: nowrap;
    color: #164d88;
    background: #eef6ff;
    border: 1px solid rgba(10, 103, 204, .25);
    border-radius: 999px;
}

#risks .risk-ledger td.mitigation {
    color: #35506f;
}

#risks .risk-ledger td.impact {
    text-align: center;
    white-space: nowrap;
}

#risks .pill {
    display: inline-block;
    padding: .38rem .65rem;
    border-radius: 999px;
    border: 1px solid #cfe4ff;
    background: rgba(10, 103, 204, .08);
    font-weight: 700;
    line-height: 1;
}

#risks .pill[data-level="high"] {
    background: var(--pill-high);
    border-color: var(--pill-high-brd);
    color: #a40f28;
}

#risks .pill[data-level="medium"] {
    background: var(--pill-med);
    border-color: var(--pill-med-brd);
    color: #8a5805;
}

#risks .pill[data-level="low"] {
    background: var(--pill-low);
    border-color: var(--pill-low-brd);
    color: #0a6a52;
}

@media (prefers-color-scheme: dark) {
    #risks {
        --ink: #e6eef8;
        --panel: #0f172a;
        --line: #1e293b;
        --row: #0c1324;
        --shadow: none;
    }

    #risks .risk-panel {
        border-color: var(--line);
    }

    #risks .risk-ledger thead th {
        background: #0b1220;
        border-bottom-color: #1e293b;
    }

    #risks .risk-ledger tbody tr:hover td {
        background: #111a2d;
    }
}

/* ===== Team & Contact — scoped, conflict-free ===== */
#contact {
    --c-ink: #0b2a4a;
    --c-muted: #5e6b82;
    --c-brd: #e6eef8;
    --c-panel: #ffffff;
    --c-shadow: 0 10px 24px rgba(7, 59, 129, .08);
    --c-shadow-lg: 0 16px 36px rgba(7, 59, 129, .14);
    --grad-indigo: linear-gradient(90deg, #0a67cc, #0db7ed);
    --grad-teal: linear-gradient(90deg, #16cec3, #209cff);
    --grad-violet: linear-gradient(90deg, #7c3aed, #0ea5e9);
}

/* Секция: очень лёгкий фон, чтобы оторвать блок */
#contact .container {
    position: relative;
    border-radius: 16px;
    padding: 2rem 1rem;
}

/* Карточки (локально, не трогаем Bootstrap глобально) */
#contact .card {
    position: relative;
    border: 1px solid var(--c-brd);
    background: var(--c-panel);
    border-radius: 16px;
    box-shadow: var(--c-shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    overflow: hidden;
}

/* Тонкая верхняя «лента» */
#contact .card::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 4px;
    background: var(--grad-indigo);
    opacity: .95;
}

/* Вертикальная «нить» слева внутри */
#contact .card::after {
    content: "";
    position: absolute;
    left: -1px;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--grad-indigo);
    opacity: .9;
    border-radius: 3px;
}

/* Раскраска по data-accent */
#contact .card[data-accent="teal"]::before,
#contact .card[data-accent="teal"]::after {
    background: var(--grad-teal);
}

#contact .card[data-accent="indigo"]::before,
#contact .card[data-accent="indigo"]::after {
    background: var(--grad-indigo);
}

#contact .card[data-accent="violet"]::before,
#contact .card[data-accent="violet"]::after {
    background: var(--grad-violet);
}

#contact .card:hover {
    transform: translateY(-2px);
    box-shadow: var(--c-shadow-lg);
    border-color: #d7e6fb;
}

#contact .card:focus-within {
    outline: 2px solid #9ad9ff;
    outline-offset: 3px;
}

/* Типографика */
#contact h3.h5 {
    color: var(--c-ink);
}

#contact p {
    color: var(--c-ink);
}

#contact .small.text-muted {
    color: var(--c-muted) !important;
}

/* Кастомные чек-маркеры у списка */
#contact .card ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

#contact .card li {
    position: relative;
    padding-left: 1.6rem;
    color: var(--c-ink);
}

#contact .card li+li {
    margin-top: .35rem;
}

#contact .card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .25rem;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 10px;
    background: #eaf4ff;
    border: 1px solid #cfe4ff;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23000' d='M6.3 11.2 3.6 8.5a.9.9 0 0 1 1.3-1.3l1.7 1.7L11 4.5a.9.9 0 1 1 1.3 1.3L7.6 10.6a.9.9 0 0 1-1.3 0z'/></svg>") center/12px 12px no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23000' d='M6.3 11.2 3.6 8.5a.9.9 0 0 1 1.3-1.3l1.7 1.7L11 4.5a.9.9 0 1 1 1.3 1.3L7.6 10.6a.9.9 0 0 1-1.3 0z'/></svg>") center/12px 12px no-repeat;
    background-image: var(--grad-indigo);
}

/* Маркеры синхронизируем с акцентом карточки */
#contact .card[data-accent="teal"] li::before {
    background-image: var(--grad-teal);
}

#contact .card[data-accent="violet"] li::before {
    background-image: var(--grad-violet);
}

/* CTA-кнопка (только внутри секции) */
#contact .contact-cta {
    font-size: 14px;
    position: relative;
    box-shadow: 0 2px 0 rgba(255, 255, 255, .5) inset, 0 10px 18px rgba(7, 59, 129, .18);
    border: 1px solid rgba(255, 255, 255, .55) !important;
    padding: .6rem 1rem;
}

#contact .contact-cta::after {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 999px;
    z-index: -1;
    background: linear-gradient(90deg, #a7d4ff, #d0e9ff);
    opacity: .65;
    filter: saturate(120%);
    transition: opacity .2s ease;
}

#contact .contact-cta:hover::after {
    opacity: .95;
}

#contact .contact-cta:focus-visible {
    box-shadow: 0 0 0 3px var(--ring), 0 0 0 5px #fff;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    #contact .card {
        transition: none !important;
    }

    #contact .contact-cta::after {
        transition: none !important;
    }
}

/* Dark scheme (мягко) */
@media (prefers-color-scheme: dark) {
    #contact {
        --c-ink: #e6eef8;
        --c-muted: #9fb0c8;
        --c-panel: #0f172a;
        --c-brd: #1e293b;
        --c-shadow: none;
        --c-shadow-lg: none;
    }

    #contact .container {
        background:
            repeating-linear-gradient(135deg, #0f172a, #0f172a 14px, #0b1220 14px, #0b1220 28px);
    }

    #contact .card {
        border-color: var(--c-brd);
    }

    #contact .contact-cta::after {
        background: linear-gradient(90deg, #2a4a76, #1e3a5f);
    }
}


/* ===== Why-us: rail + feature cards ===== */
.feature-rail{
position:relative;
padding:.75rem;
border-radius:18px;
background:linear-gradient(180deg,#ecf6ff 0%, #f5f9ff 100%);
border:1px solid rgba(10,103,204,.08);
box-shadow:inset 0 0 0 1px rgba(255,255,255,.35), 0 10px 24px rgba(7,59,129,.06);
}
@media (min-width:992px){ .feature-rail{ padding:1rem 1.25rem; } }

.feature-card{
border-radius:16px;
border:1px solid rgba(4,36,84,.08);
background:rgba(255,255,255,.95);
box-shadow:0 10px 24px rgba(7,59,129,.10);
transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.feature-card:hover{
transform:translateY(-2px);
box-shadow:0 16px 36px rgba(7,59,129,.16);
border-color:rgba(4,36,84,.14);
}
.feature-card:focus-within{ outline:2px solid #9ad9ff; outline-offset:3px; }

.feature-badge{
width:40px;height:40px;border-radius:50%;
display:grid;place-items:center;flex:0 0 40px;
color:#fff;
background:linear-gradient(180deg,#0a67cc 0%,#0db7ed 100%);
border:1px solid rgba(255,255,255,.55);
box-shadow:0 6px 14px rgba(10,103,204,.28), inset 0 1px 0 rgba(255,255,255,.45);
transition:transform .18s ease;
}
.feature-card:hover .feature-badge{ transform:scale(1.04); }
.feature-badge .bi{ font-size:1.1rem; line-height:1; }

.feature-title{ margin-bottom:.25rem; }
.feature-text{ margin-bottom:0; font-size:.9rem; color:#5e6b82; }

@media (prefers-reduced-motion:reduce){
.feature-card,.feature-badge{ transition:none !important; }
}


/* ===== Data Room CTA — same expressive style as contact, but scoped ===== */
#dataroom .contact-cta{
    font-size: 14px;
    position: relative;
    box-shadow: 0 2px 0 rgba(255, 255, 255, .5) inset, 0 10px 18px rgba(7, 59, 129, .18);
    border: 1px solid rgba(255, 255, 255, .55) !important;
    padding: .6rem 1rem;
}

/* ambient glow */
#dataroom .contact-cta::after{
  content:"";
  position: absolute; inset: auto 6% -12px 6%;
  height: 22px; border-radius: 999px; z-index: -1;
  background: radial-gradient(60% 80% at 50% 50%, #9fd4ff66, transparent 70%);
  filter: blur(8px);
  opacity: .75;
  transition: opacity .2s ease;
}

/* sheen */
#dataroom .contact-cta::before{
  content:"";
  position: absolute; inset: 2px;
  border-radius: 999px;
  background: linear-gradient(to right, transparent 0%, rgba(255,255,255,.55) 45%, transparent 65%);
  mix-blend-mode: screen;
  transform: translateX(-120%);
  transition: transform .6s ease;
  pointer-events: none;
}

/* icon nudge */
#dataroom .contact-cta svg{ margin-right:.4rem; transform: translateY(-1px); transition: transform .18s ease; }


#dataroom .contact-cta:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px var(--cta-ring), 0 0 0 6px #fff;
  background-image:
    linear-gradient(var(--bs-primary), var(--bs-primary)),
    var(--cta-grad-focus);
}

/* compact on small screens */
@media (max-width: 420px){
  #dataroom .contact-cta{ padding: .8rem 1rem; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  #dataroom .contact-cta,
  #dataroom .contact-cta::before,
  #dataroom .contact-cta::after,
  #dataroom .contact-cta svg{ transition: none !important; }
}

/* dark scheme */
@media (prefers-color-scheme: dark){
  #dataroom .contact-cta{
    background-image:
      linear-gradient(#1b3a6a, #1b3a6a),
      var(--cta-grad);
    box-shadow: none;
  }
  #dataroom .contact-cta::after{
    background: radial-gradient(60% 80% at 50% 50%, #2a4a7666, transparent 70%);
    opacity: .9;
  }
}



/* Доступность + reduced motion */
@media (prefers-reduced-motion: reduce) {
    #next-gen .card {
        transition: none !important;
    }
}

/* Dark scheme */
@media (prefers-color-scheme: dark) {
    #next-gen {
        --ng-ink: #e6eef8;
        --ng-muted: #9fb0c8;
        --ng-panel: #0f172a;
        --ng-brd: #1e293b;
        --ng-shadow: none;
        --ng-shadow-lg: none;
    }

    #next-gen .container {
        background: repeating-linear-gradient(180deg, #0f172a 0 12px, #0b1220 12px 24px);
    }

    #next-gen .card {
        border-color: var(--ng-brd);
    }

    #next-gen .card h3::after {
        background: linear-gradient(90deg, #1f3b63, #14243d);
    }

    #next-gen .card li::before {
        border-color: #1e293b;
    }
}


/* ===== Fundraising — Rack/Datacenter IT style (scoped) ===== */
#fundraising {
    --ink: #0b2a4a;
    --muted: #5e6b82;
    --panel: #fff;
    --brd: #e6eef8;
    --shadow: 0 10px 24px rgba(7, 59, 129, .08);
    --shadow-lg: 0 16px 36px rgba(7, 59, 129, .16);
    --grid: #f0f6ff;
    --trace: #e7f0ff;
    --indigo: #0a67cc;
    --teal: #16cec3;
}

/* мягкая инженерная подложка контейнера — blueprint grid (новый паттерн) */
#fundraising .container {
    position: relative;
    border-radius: 16px;
    padding: 2rem 1rem;
    background:
        linear-gradient(#0000 31px, var(--grid) 32px) 0 0/100% 32px,
        linear-gradient(90deg, #0000 31px, var(--grid) 32px) 0 0/32px 100%;
}

/* Карточки как 1U модули */
#fundraising .card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--brd);
    border-radius: 14px;
    background: var(--panel);
    box-shadow: var(--shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* Внутренняя тонкая рамка + PCB-трассы (ненавязчиво) */
#fundraising .card::before {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 10px;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(13, 84, 184, .10);
    background:
        linear-gradient(120deg, var(--trace) 0 2px, transparent 3px) 0 0/26px 18px,
        linear-gradient(300deg, var(--trace) 0 2px, transparent 3px) 0 0/22px 16px;
    opacity: .6;
}

/* Верхняя «ручка шасси» */
#fundraising .ru-handle {
    position: absolute;
    left: 14px;
    right: 14px;
    top: 10px;
    height: 10px;
    border-radius: 6px;
    background: linear-gradient(180deg, #eef5ff, #ffffff);
    box-shadow: 0 0 0 1px #dbe7fb inset, 0 6px 12px rgba(7, 59, 129, .06);
}

/* Левая колонка статус-LED (цвет зависит от data-status) */
#fundraising .ru-leds {
    position: absolute;
    left: -1px;
    top: 0;
    bottom: 0;
    width: 8px;
    background: linear-gradient(180deg, #cfe1ff, #e8f1ff);
}

#fundraising [data-status="draft"] .ru-leds {
    background: linear-gradient(180deg, #ffd9a8, #ffe8c7);
    /* amber-ish */
}

#fundraising [data-status="planned"] .ru-leds {
    background: linear-gradient(180deg, #bff3ee, #d9fbf7);
    /* teal-ish */
}

/* Заголовок в моно-стилистике */
#fundraising .mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", "Courier New", monospace;
    font-weight: 800;
    letter-spacing: .2px;
    color: var(--ink);
}

#fundraising .tag.chip {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 .5rem;
    font: 700 .7rem/1 ui-monospace, "SFMono-Regular", monospace;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #7a4a00;
    background: #fff7e8;
    border: 1px solid #f3d6a8;
    border-radius: 6px;
}

#fundraising [data-status="planned"] .tag {
    color: #0c5b4f;
    background: #e9fbf5;
    border-color: #bfe9e6;
}

/* Списки: квадратные micro-LED буллеты */
#fundraising .card ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

#fundraising .card li {
    position: relative;
    padding-left: 1.55rem;
    line-height: 1.58;
    color: var(--ink);
}

#fundraising .card li+li {
    margin-top: .42rem;
}

#fundraising .card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .35rem;
    width: 1rem;
    height: 1rem;
    border-radius: 3px;
    background: #eef6ff;
    border: 1px solid #cfe4ff;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><rect x='1.5' y='1.5' width='9' height='9' rx='1.5' ry='1.5' fill='%23000'/><path d='M4 6.2 5.5 7.7 8.2 5' stroke='%23000' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px 12px no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><rect x='1.5' y='1.5' width='9' height='9' rx='1.5' ry='1.5' fill='%23000'/><path d='M4 6.2 5.5 7.7 8.2 5' stroke='%23000' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px 12px no-repeat;
    background-image: linear-gradient(180deg, #9fd0ff, #5fb7ff);
}

#fundraising [data-accent="teal"] li::before {
    background-image: linear-gradient(180deg, #8ff1e9, #34c8ff);
    border-color: #bfe9e6;
}

/* Hover/focus анимации (минимум движения) */
#fundraising .card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
    border-color: #d7e6fb;
}

#fundraising .card:focus-within {
    outline: 2px solid #9ad9ff;
    outline-offset: 3px;
}

/* Типографика */
#fundraising .card h3 {
    color: var(--ink);
}

#fundraising .card .small,
#fundraising .card .text-muted {
    color: var(--muted) !important;
}

/* a11y + reduced motion */
@media (prefers-reduced-motion: reduce) {
    #fundraising .card {
        transition: none !important;
    }
}

/* Dark scheme */
@media (prefers-color-scheme: dark) {
    #fundraising {
        --ink: #e6eef8;
        --muted: #9fb0c8;
        --panel: #0f172a;
        --brd: #1e293b;
        --shadow: none;
        --shadow-lg: none;
        --grid: #112238;
        --trace: #132840;
    }

    #fundraising .container {
        background:
            linear-gradient(#0000 31px, var(--grid) 32px) 0 0/100% 32px,
            linear-gradient(90deg, #0000 31px, var(--grid) 32px) 0 0/32px 100%;
    }

    #fundraising .card {
        border-color: var(--brd);
    }

    #fundraising .ru-leds {
        background: linear-gradient(180deg, #1a3454, #0f1c2e);
    }

    #fundraising [data-status="draft"] .ru-leds {
        background: linear-gradient(180deg, #3b2a0c, #4a3210);
    }

    #fundraising [data-status="planned"] .ru-leds {
        background: linear-gradient(180deg, #0f3a35, #0d2f2b);
    }

}


/* ===== NEXT-GEN (unique style, no reuse of ribbons/threads) ===== */
#next-gen {
    --ink: #0b2a4a;
    --muted: #5e6b82;
    --panel: #fff;
    --brd: #e6eef8;
    --shadow: 0 10px 24px rgba(7, 59, 129, .08);
    --shadow-lg: 0 16px 36px rgba(7, 59, 129, .16);
    --g-indigo: #0a67cc;
    --g-teal: #16cec3;
    --g-amber: #f59e0b;
}

/* Dot-grid background inside container (new vs. stripes used elsewhere) */
#next-gen .container {
    position: relative;
    border-radius: 16px;
    padding: 2rem 1rem;
    background:
        radial-gradient(circle at 8px 8px, #eaf2ff 2px, transparent 3px) 0 0/22px 22px,
        radial-gradient(circle at 19px 19px, #f2f6ff 2px, transparent 3px) 0 0/22px 22px;
}

/* Card: inner glow frame + RIGHT accent spine + cut top-right corner */
#next-gen .card {
    position: relative;
    overflow: hidden;
    background: var(--panel);
    border: 1px solid var(--brd);
    border-radius: 16px;
    box-shadow: var(--shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}

/* subtle inner frame (not used before) */
#next-gen .card:focus-within {
    outline: 2px solid #9ad9ff;
    outline-offset: 3px;
}

#next-gen .card::before {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 12px;
    box-shadow: inset 0 0 0 1px rgba(13, 84, 184, .10), inset 0 18px 28px rgba(7, 59, 129, .06);
    pointer-events: none;
}

/* right accent spine */
#next-gen .card::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -1px;
    width: 6px;
    background: linear-gradient(180deg, #bfe0ff, #d6ecff);
}

/* corner notch (cut on top-right) */
#next-gen .card>.notch {
    /* helper pseudo-element via extra element using CSS only */
    position: absolute;
    top: 0;
    right: 0;
    width: 36px;
    height: 36px;
    pointer-events: none;
    background:
        conic-gradient(from 225deg, transparent 0 90deg, rgba(10, 103, 204, .10) 90deg 100%);
    -webkit-mask: conic-gradient(from 225deg, #0000 0 90deg, #000 90deg 100%);
    mask: conic-gradient(from 225deg, #0000 0 90deg, #000 90deg 100%);
}

/* per-card accents (change spine + notch tint) */
#next-gen .card[data-accent="indigo"]::after {
    background: linear-gradient(180deg, #bcd9ff, #6fb6ff);
}

#next-gen .card[data-accent="teal"]::after {
    background: linear-gradient(180deg, #bff3ee, #57d5ff);
}

#next-gen .card[data-accent="amber"]::after {
    background: linear-gradient(180deg, #ffe6b0, #ffc36a);
}

#next-gen .card[data-accent="indigo"]>.notch {
    background:
        conic-gradient(from 225deg, transparent 0 90deg, rgba(10, 103, 204, .12) 90deg 100%);
}

#next-gen .card[data-accent="teal"]>.notch {
    background:
        conic-gradient(from 225deg, transparent 0 90deg, rgba(22, 206, 195, .12) 90deg 100%);
}

#next-gen .card[data-accent="amber"]>.notch {
    background:
        conic-gradient(from 225deg, transparent 0 90deg, rgba(245, 158, 11, .14) 90deg 100%);
}

#next-gen .card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg);
    border-color: #d7e6fb;
    filter: saturate(1.02);
}

/* Heading: hairline rule only under text width */
#next-gen .card h3 {
    color: var(--ink);
    margin-bottom: .5rem;
    display: inline-block;
    position: relative;
}

#next-gen .card h3::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 2px;
    background: linear-gradient(90deg, #dbe8ff, #cfe1ff);
}

/* List with NEW “checker” bullets (tiny square with inner check) */
#next-gen .card ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

#next-gen .card li {
    position: relative;
    padding-left: 1.5rem;
    color: var(--ink);
    line-height: 1.58;
}

#next-gen .card li+li {
    margin-top: .4rem;
}

#next-gen .card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .3rem;
    width: 1rem;
    height: 1rem;
    border-radius: 3px;
    background: #eef6ff;
    border: 1px solid #cfe4ff;
    /* inner check as mask (square, not a circle) */
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23000' d='M6.2 11.3 3.8 8.9a1 1 0 1 1 1.4-1.4l1.3 1.3L10.9 4a1 1 0 0 1 1.4 1.4L7.5 10.2a1 1 0 0 1-1.3 0z'/></svg>") center/12px 12px no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23000' d='M6.2 11.3 3.8 8.9a1 1 0 1 1 1.4-1.4l1.3 1.3L10.9 4a1 1 0 0 1 1.4 1.4L7.5 10.2a1 1 0 0 1-1.3 0z'/></svg>") center/12px 12px no-repeat;
    background-image: linear-gradient(180deg, #9fd0ff, #5fb7ff);
}

#next-gen .card[data-accent="teal"] li::before {
    background-image: linear-gradient(180deg, #8ff1e9, #34c8ff);
    border-color: #bfe9e6;
}

#next-gen .card[data-accent="amber"] li::before {
    background-image: linear-gradient(180deg, #ffd48a, #ffb64d);
    border-color: #ffe0ab;
}

/* Dark scheme (unique tuning) */
@media (prefers-color-scheme: dark) {
    #next-gen {
        --ink: #e6eef8;
        --muted: #9fb0c8;
        --panel: #0f172a;
        --brd: #1e293b;
        --shadow: none;
        --shadow-lg: none;
    }

    #next-gen .container {
        background:
            radial-gradient(circle at 8px 8px, #0b1220 2px, transparent 3px) 0 0/22px 22px,
            radial-gradient(circle at 19px 19px, #111a2d 2px, transparent 3px) 0 0/22px 22px;
    }

    #next-gen .card {
        border-color: var(--brd);
    }

    #next-gen .card h3::after {
        background: linear-gradient(90deg, #21406b, #162a47);
    }

    #next-gen .card li::before {
        border-color: #1e293b;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    #next-gen .card {
        transition: none !important;
    }
}


/* ===== Data Room — Dossier Folder (unique) ===== */
#dataroom {
    --ink: #0b2a4a;
    --muted: #5e6b82;
    --folder: #ffffff;
    --edge: #e6eef8;
    --grid: #edf3ff;
    --accent: #0a67cc;
    --accent-2: #0db7ed;
    --shadow: 0 10px 24px rgba(7, 59, 129, .08);
}

/* Центральная «папка» */
#dataroom .dr-folder {
    position: relative;
    max-width: 860px;
    margin-inline: auto;
    background: var(--folder);
    border: 1px solid var(--edge);
    border-radius: 14px 14px 16px 16px;
    box-shadow: var(--shadow);
    overflow: hidden;
    isolation: isolate;
}

/* Внутренняя blueprint-сетка (новый паттерн) */
#dataroom .dr-body {
    position: relative;
    padding: 1.35rem 1.25rem 1.4rem;
    color: var(--ink);
}

#dataroom .dr-body::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(#0000 31px, var(--grid) 32px) 0 0/100% 32px,
        linear-gradient(90deg, #0000 31px, var(--grid) 32px) 0 0/32px 100%;
    opacity: .8;
    pointer-events: none;
}

/* Верхняя линия «склейки» папки (не лента) */
#dataroom .dr-body::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 6px;
    background: linear-gradient(90deg, #cfe1ff, #e7efff);
    opacity: .7;
}

/* Вкладка папки (tab) — уникальная форма */
#dataroom .dr-tab {
    position: absolute;
    top: -1px;
    left: 0;
    height: 34px;
    min-width: 130px;
    padding: 0 .85rem;
    display: flex;
    align-items: center;
    gap: .4rem;
    font: 700 .8rem/1 system-ui, -apple-system, "Segoe UI", Roboto, Arial;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #18497f;
    background: linear-gradient(180deg, #f7fbff, #eef6ff);
    border: 1px solid var(--edge);
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    box-shadow: 0 8px 14px rgba(7, 59, 129, .06);
}

#dataroom .dr-tab::after {
    /* маленькая цветная метка на вкладке */
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: linear-gradient(180deg, var(--accent), var(--accent-2));
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .6) inset;
}

/* Лид-подзаголовок */
#dataroom .dr-lead {
    color: var(--ink);
}

/* Чек-лист: «скобочные» маркеры — квадратные, без кружков и чипов */
#dataroom .dr-checks {
    list-style: none;
    padding-left: 0;
    margin: 0 auto;
}

#dataroom .dr-checks li {
    position: relative;
    padding-left: 1.55rem;
    line-height: 1.58;
    color: var(--ink);
}

#dataroom .dr-checks li+li {
    margin-top: .42rem;
}

#dataroom .dr-checks li::before {
    /* [ ] c галкой внутри — новый маркер */
    content: "";
    position: absolute;
    left: 0;
    top: .28rem;
    width: 1.02rem;
    height: 1.02rem;
    border-radius: 3px;
    background: #eef6ff;
    border: 1px solid #cfe4ff;
    -webkit-mask:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23000' d='M2 3.5A1.5 1.5 0 0 1 3.5 2h9A1.5 1.5 0 0 1 14 3.5v9A1.5 1.5 0 0 1 12.5 14h-9A1.5 1.5 0 0 1 2 12.5v-9Z'/><path fill='%23000' d='M6.3 10.8 5.2 9.7a.9.9 0 1 1 1.3-1.3l.5.5 2-2a.9.9 0 1 1 1.3 1.3L7 11.1a.9.9 0 0 1-1.3 0z'/></svg>") center/12px 12px no-repeat;
    mask:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23000' d='M2 3.5A1.5 1.5 0 0 1 3.5 2h9A1.5 1.5 0 0 1 14 3.5v9A1.5 1.5 0 0 1 12.5 14h-9A1.5 1.5 0 0 1 2 12.5v-9Z'/><path fill='%23000' d='M6.3 10.8 5.2 9.7a.9.9 0 1 1 1.3-1.3l.5.5 2-2a.9.9 0 1 1 1.3 1.3L7 11.1a.9.9 0 0 1-1.3 0z'/></svg>") center/12px 12px no-repeat;
    background-image: linear-gradient(180deg, #9fd0ff, #5fb7ff);
}



/* Dark scheme */
@media (prefers-color-scheme: dark) {
    #dataroom {
        --ink: #e6eef8;
        --muted: #9fb0c8;
        --folder: #0f172a;
        --edge: #1e293b;
        --grid: #12243b;
        --shadow: none;
    }

    #dataroom .dr-folder {
        border-color: var(--edge);
    }

    #dataroom .dr-tab {
        background: linear-gradient(180deg, #0e1a2a, #0b1220);
        color: #cfe0ff;
        border-color: var(--edge);
    }

    #dataroom .dr-body::after {
        background: linear-gradient(90deg, #1d3050, #0f1c2e);
    }

}

/* ===== Unique styles for Market & Why Now (no reuse of old badges) ===== */
#market .market-deck .market-card{
position: relative;
border: 1px solid #e6eef8;
border-radius: 16px;
background: #fff;
box-shadow: 0 6px 18px rgba(9,40,86,.08);
}

#market .market-card__topbar{
position:absolute; left:0; right:0; top:0;
height:4px; border-radius:16px 16px 0 0;
background: #dbe7f7;
}

/* Header row */
#market .market-card__title{
display:flex; align-items:center; gap:.6rem; margin-bottom:.25rem;
}
#market .market-card__flag{
width:30px; height:30px; border-radius:10px;
display:grid; place-items:center; color:#fff;
}

/* Lists */
#market .market-list{ list-style:none; padding-left:0; margin:0; }
#market .market-list li{
display:flex; gap:.5rem; align-items:flex-start;
padding:.42rem .35rem; border-radius:8px;
}
#market .market-list li i{ opacity:.9; margin-top:.15rem; }

/* Variants (different accent for each card) */
#market .market-card.is-trends .market-card__topbar{
background: linear-gradient(90deg,#0a67cc, #0db7ed);
}
#market .market-card.is-trends .market-card__flag{
background: linear-gradient(135deg,#0a67cc, #0db7ed);
}

#market .market-card.is-why .market-card__topbar{
background: linear-gradient(90deg,#7c3aed, #0ea5e9);
}
#market .market-card.is-why .market-card__flag{
background: linear-gradient(135deg,#7c3aed, #0ea5e9);
}

/* Hover/focus (subtle, no motion for a11y) */
@media (prefers-reduced-motion: no-preference){
#market .market-card{ transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
#market .market-card:hover{
transform: translateY(-2px);
box-shadow: 0 12px 28px rgba(9,40,86,.12);
}
}
#market .market-list li:hover{ background:#f5f9ff; }

/* Dark scheme guard (если используешь data-bs-theme="dark") */
@media (prefers-color-scheme: dark){
#market .market-deck .market-card{ background:#0f172a; border-color:#1e293b; box-shadow:none; }
#market .market-list li:hover{ background:#0b1220; }
}
/* === Moat block (scoped, no reuse of old styles) === */
#moat{--moat-accent:#1e90ff;--moat-ink:#0b2a4a;--moat-muted:#6b7a90;--moat-ok:#22a06b}
#moat .moat-heading{display:flex;align-items:center;gap:.75rem;justify-content:center;margin-bottom:.25rem}
#moat .moat-heading .shield{width:26px;height:26px;color:var(--moat-accent)}

/* comparison table */
#moat .table-responsive.moat-scroll{overflow-x:auto}
#moat .moat-table{border-collapse:separate;border-spacing:0;border: solid 1px #edf5ff}
#moat .moat-table th,#moat .moat-table td{vertical-align:middle;border:0}
#moat .moat-table thead
th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--moat-muted);padding:.75rem
.75rem;background:#f8fbff;white-space:nowrap}
#moat .moat-table tbody td{padding:.75rem;border-top:1px solid #e9eef7}
#moat .moat-table tbody tr:hover{background:#fbfdff}
#moat .moat-table .is-primary{position:relative;background:linear-gradient(180deg,#f2f8ff,#e9f3ff);color:#113a66}
#moat .moat-table td.primary-col{background-color: #f8fbff;font-weight:600}
#moat .moat-table .cap-col{position:sticky;left:0;background:#fff;z-index:2;border-right:1px solid
#e9eef7;max-width:280px}
#moat .moat-table td .bi-check-circle-fill{color:var(--moat-ok)}
#moat .moat-table td .bi-dash-lg{color:#b9c5d6}
#moat .badge-note{font-weight:600;background:#fff4e6;color:#8a5a00;border:1px solid #f3d2a1}
#moat .badge-muted{background:#eef2f7;color:#5a6a80;border:1px solid #dde5f0}

/* mobile stacking (no horizontal scroll needed) */
@media (max-width:767.98px){
#moat .moat-table thead{display:none}
#moat .moat-table,#moat .moat-table tbody,#moat .moat-table tr,#moat .moat-table td{display:block;width:100%}
#moat .moat-table tr{border:1px solid #e9eef7;border-radius:12px;padding:.5rem
.75rem;margin-bottom:.75rem;background:#fff}
#moat .moat-table td{border:0;padding:.4rem 0}
#moat .moat-table td[data-label]::before{content:attr(data-label) " — ";font-weight:600;color:#607289}
#moat .moat-table .cap-col{position:static;background:transparent;border:0;font-weight:700;padding:.35rem 0}
#moat .moat-table td.primary-col{background:transparent}
}

/* moat tiles */
#moat .moat-tiles .moat-tile{border:1px solid
#e9eef7;border-radius:16px;padding:1rem;background:#fff;position:relative;overflow:hidden}
#moat .moat-tiles .moat-tile::after{content:"";position:absolute;inset:0;background:
radial-gradient(circle at 20px 20px,rgba(30,144,255,.06) 0 2px,transparent 3px) 0 0/22px
22px;opacity:.5;pointer-events:none}
#moat .moat-tiles
#moat .moat-tiles h3{margin:.5rem 0 .25rem}
#moat .moat-tiles p{margin:0;color:#5e6b82}
/* === Moat assets: минимализм без чипов/кружков === */
#moat .moat-assets .asset-card{
--accent:#1e90ff;
position:relative;background:#fff;border:1px solid #e9eef7;border-radius:14px;
padding:1rem 1rem 1rem 1rem;box-shadow:0 6px 18px rgba(13,70,160,.06);
transition:transform .16s ease, box-shadow .16s ease;
}
#moat .moat-assets .asset-card::before{
content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:14px 14px 0 0;
background:linear-gradient(90deg,var(--accent),#bfe4ff,var(--accent));
}
#moat .moat-assets .asset-card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(13,70,160,.12); }

#moat .asset-kicker{
display:inline-flex;align-items:center;gap:.4rem;
font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
color:#3d5b7a;background:#f3f8ff;border:1px solid #e1ecfb;border-radius:999px;
padding:.2rem .55rem;margin-bottom:.5rem;
}
#moat .asset-kicker .bi{ font-size:.9rem;line-height:1; }

#moat .asset-title{ margin:.1rem 0 .25rem; }
#moat .asset-text{ margin:0;color:#5e6b82;font-size:.9rem; }

/* цветовые вариации (по желанию на карточку) */
#moat .asset-blue{ --accent:#1e90ff; }
#moat .asset-teal{ --accent:#1aa7a5; }
#moat .asset-indigo{ --accent:#5162d9; }

/* мобильная мелочь */
@media (max-width: 575.98px){
#moat .moat-assets .asset-card{ padding:0.9rem 0.95rem; }
}
/* ===== GTM (distinct look; no circles/rails) ===== */
.gtm-pillars .gtm-tile{
border:1px solid rgba(4,36,84,.10);
border-radius:14px;
background:#fff;
padding:1.1rem 1.1rem 1rem;
box-shadow:0 6px 16px rgba(7,59,129,.08);
transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.gtm-pillars .gtm-tile:hover{
transform:translateY(-2px);
box-shadow:0 12px 28px rgba(7,59,129,.14);
border-color:rgba(4,36,84,.18);
}

.gtm-head{
display:flex;align-items:center;gap:.6rem;
margin-bottom:.35rem;
}
.gtm-stepno{
display:inline-flex;align-items:center;justify-content:center;
width:34px;height:28px;
border-radius:6px;
font:700 12px/1 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans";
letter-spacing:.4px;
color:#0a67cc; background:linear-gradient(180deg,#e9f4ff, #f7fbff);
box-shadow:inset 0 0 0 1px rgba(10,103,204,.28);
}

.gtm-kpis{display:flex;flex-wrap:wrap;gap:.4rem}
.kpi-chip{
display:inline-flex;align-items:center;gap:.35rem;
font-size:.72rem; line-height:1;
padding:.35rem .5rem;
border-radius:999px;
background:#f3f7fb;
color:#35506f;
border:1px dashed rgba(4,36,84,.22);
}

.gtm-action{
display:flex; gap:.5rem; align-items:baseline;
padding-top:.5rem; margin-top:.5rem;
border-top:1px solid rgba(4,36,84,.08);
font-size:.82rem; color:#3e5270;
}
.gtm-action .action-label{
font-weight:700; font-size:.72rem; text-transform:uppercase; letter-spacing:.4px;
color:#0a67cc;
}

/* a11y + mobile */
@media (prefers-reduced-motion:reduce){
.gtm-pillars .gtm-tile{transition:none!important}
}



/* ===== Milestones (distinct, no circles/rails) ===== */
.mls-grid .mls-card{
position:relative;
border:1px solid rgba(4,36,84,.10);
border-radius:14px;
background:#fff;
padding:1rem 1rem 0.9rem;
box-shadow:0 6px 16px rgba(7,59,129,.08);
transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.mls-grid .mls-card:hover{
transform:translateY(-2px);
box-shadow:0 12px 28px rgba(7,59,129,.14);
border-color:rgba(4,36,84,.18);
}

.mls-ribbon{
position:absolute; top:0.6rem; right:0.6rem;
padding:.25rem .45rem;
font-weight:700; font-size:.7rem; letter-spacing:.3px;
background:linear-gradient(180deg,#eef6ff,#ffffff);
color:#0a67cc; border:1px solid rgba(10,103,204,.28);
border-radius:6px;
}

.mls-title{ margin:0 0 .15rem 0; }
.mls-sub{ margin:0 0 .6rem 0; color:#506481; }

.mls-block{ margin-bottom:.6rem; }
.mls-block-h{
font-size:.72rem; font-weight:800; letter-spacing:.32px; text-transform:uppercase;
color:#35506f; margin-bottom:.25rem;
}

.mls-kpis{ display:flex; flex-wrap:wrap; gap:.4rem; }
.mls-chip{
display:inline-flex; align-items:center;
font-size:.72rem; line-height:1;
padding:.33rem .5rem; border-radius:999px;
background:#f3f7fb; color:#2f4b6c;
border:1px dashed rgba(4,36,84,.22);
}

/* progress */
.mls-progress{
position:relative; margin:.6rem 0 0.2rem 0; padding-top:.2rem;
border-top:1px solid rgba(4,36,84,.08);
height:24px;
}
.mls-progress .mls-bar{
--p:0%;
position:absolute; left:0; top:8px; height:8px; width:100%;
background:linear-gradient(180deg,#f0f6fc,#f8fbff);
border:1px solid rgba(4,36,84,.10); border-radius:999px;
overflow:hidden;
}
.mls-progress .mls-bar::after{
content:""; position:absolute; left:0; top:-1px; bottom:-1px;
width:var(--p);
background:linear-gradient(90deg,#0a67cc,#0db7ed);
border-radius:999px;
}
.mls-pct{
position:absolute; right:.25rem; bottom:-.05rem;
font-size:.7rem; color:#47648a; font-weight:700;
}

/* a11y & reduced motion */
@media (prefers-reduced-motion:reduce){
.mls-grid .mls-card{ transition:none!important; }
}
/* ===== TAM/SAM/SOM: scoped facelift (no HTML changes) ===== */
#tam { --ink:#0b2a4a; --muted:#6b7b93; --line:#e6eef7; --tam:#0a67cc; --sam:#16a67a; --som:#7a5cff; --bg:#fff; }
@media (prefers-color-scheme: dark){
#tam { --ink:#e8f1ff; --muted:#9cb2cc; --line:#27394d; --bg:#0d1826; }
}
#tam .container { max-width: 1120px; }
#tam .table-responsive{ border:1px solid var(--line); border-radius:14px; background:linear-gradient(180deg,#fbfdff,
#ffffff); box-shadow:0 10px 24px rgba(7,59,129,.06); }
@media (prefers-color-scheme: dark){
#tam .table-responsive{ background:linear-gradient(180deg,#0f1c2c,#0b1421); box-shadow:0 10px 24px rgba(0,0,0,.45); }
}
#tam table.table { margin:0; color:var(--ink); }
#tam thead tr { background:linear-gradient(180deg,#f2f7fd,#e9f2fc); }
@media (prefers-color-scheme: dark){
#tam thead tr{ background:linear-gradient(180deg,#12253a,#142940); }
}
#tam thead th{
font-weight:800; color:#476286; border-bottom:1px solid var(--line)!important; letter-spacing:.2px;
padding-top:.8rem; padding-bottom:.8rem;
}
#tam tbody td{ border-color:var(--line)!important; vertical-align:top; padding:.9rem .85rem; color:var(--ink); }
#tam tbody tr:hover{ background:linear-gradient(180deg,#f9fbff,#f6f9ff); }
@media (prefers-color-scheme: dark){
#tam tbody tr:hover{ background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.02)); }
}

/* 1) Чипы в первом столбце (TAM/SAM/SOM) — без изменения HTML */
#tam tbody td:first-child{
width:110px; white-space:nowrap;
}
#tam tbody td:first-child { font-weight:800; }
#tam tbody tr:nth-child(1) td:first-child::before,
#tam tbody tr:nth-child(2) td:first-child::before,
#tam tbody tr:nth-child(3) td:first-child::before{
content: attr(data-chip);
content: counter(row); /* безопасный фолбэк не нужен, оставляем attr */
}
#tam tbody tr:nth-child(1) td:first-child::before,
#tam tbody tr:nth-child(2) td:first-child::before,
#tam tbody tr:nth-child(3) td:first-child::before { content: ""; }

#tam tbody tr:nth-child(1) td:first-child span,
#tam tbody tr:nth-child(2) td:first-child span,
#tam tbody tr:nth-child(3) td:first-child span{ display:none; }

/* создаём чип поверх текста ячейки */
#tam tbody tr td:first-child{
position:relative; padding-left:3.25rem;
}
#tam tbody tr td:first-child::after{
content: attr(data-scope);
position:absolute; left:.85rem; top:50%; transform:translateY(-50%);
display:inline-flex; align-items:center; justify-content:center;
height:28px; min-width:56px; padding:0 .6rem; border-radius:999px;
font-size:.78rem; font-weight:800; letter-spacing:.3px; text-transform:uppercase;
background:#eef6ff; border:1px solid rgba(10,103,204,.25); color:#164d88;
}
#tam tbody tr:nth-child(2) td:first-child::after{
background:#e9fbf5; border-color:rgba(22,166,122,.28); color:#0f5a46;
}
#tam tbody tr:nth-child(3) td:first-child::after{
background:#f1edff; border-color:rgba(122,92,255,.3); color:#4f43b5;
}

/* подкрашиваем левый бордер строки по типу */
#tam tbody tr{ border-left:4px solid transparent; }
#tam tbody tr:nth-child(1){ border-left-color:var(--tam); }
#tam tbody tr:nth-child(2){ border-left-color:var(--sam); }
#tam tbody tr:nth-child(3){ border-left-color:var(--som); }

/* 2) Третий столбец оформляем как "assumption" блок */
#tam tbody td:nth-child(3){
background:linear-gradient(180deg,#fdfefe,#f8fbff);
border-left:1px dashed var(--line)!important;
color:#3d5775;
}
@media (prefers-color-scheme: dark){
#tam tbody td:nth-child(3){
background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.02));
color:#9db0c7;
}
}
#tam tbody td:nth-child(3)::before{
content:"Assumption";
display:inline-block; margin-bottom:.35rem;
font-size:.7rem; font-weight:800; letter-spacing:.3px; text-transform:uppercase;
color:#486683; opacity:.9;
}

/* 3) Микро-типографика во втором столбце */
#tam tbody td:nth-child(2){
color:#274c6d; font-weight:600;
}
@media (prefers-color-scheme: dark){
#tam tbody td:nth-child(2){ color:#cfe3fb; }
}

/* 4) Мобильное поведение: компактнее и без горизонтального скролла */
@media (max-width: 576.98px){
#tam thead{ display:none; }
#tam table.table, #tam tbody, #tam tr, #tam td{ display:block; width:100%; }
#tam tbody tr{ border:1px solid var(--line); border-radius:12px; padding:.6rem; margin-bottom:.6rem; }
#tam tbody td{ border:0!important; padding:.35rem 0!important; }
#tam tbody td:first-child{ padding-left:3.25rem!important; margin-bottom:.25rem; }
#tam tbody td:nth-child(2)::before{ content:"Definition"; display:block; font:800 .7rem/1.1 system-ui; color:#567497;
text-transform:uppercase; letter-spacing:.3px; margin-bottom:.15rem; }
#tam tbody td:nth-child(3){ margin-top:.25rem; padding-top:.5rem!important; }
}

/* 5) Печать: убираем тени, оставляем контрасты */
@media print{
#tam .table-responsive{ box-shadow:none; border-color:#bbb; }
#tam tbody tr{ break-inside:avoid; }
}
/* ===== Unit Economics (scoped, no HTML changes) ===== */
#unit-economics{ --ink:#0b2a4a; --muted:#6b7b93; --line:#e6eef7; --bg:#ffffff;
--k1:#0a67cc; --k2:#16a67a; --k3:#7a5cff; --k4:#f39b18;
}
@media (prefers-color-scheme:dark){
#unit-economics{ --ink:#e7f0ff; --muted:#9cb2cc; --line:#27394d; --bg:#0e1a29; }
}

/* контейнер чуть шире таблиц */
#unit-economics .container{ max-width:1120px; }

/* карточки превращаем в metric-tiles (без изменения классов) */
#unit-economics .card{
position:relative;
border:1px solid var(--line);
background:
radial-gradient(140% 80% at 0% 0%, rgba(10,103,204,.06), transparent 40%) no-repeat,
var(--bg);
border-radius:16px;
box-shadow:
0 1px 0 rgba(255,255,255,.6) inset,
0 10px 24px rgba(7,59,129,.08);
transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
overflow:hidden;
}

/* акцентная верхняя полоска через градиент-маску */
#unit-economics .card::before{
content:"";
position:absolute; inset:0 0 auto 0; height:4px;
background:linear-gradient(90deg,var(--k1),var(--k2),var(--k3),var(--k4));
opacity:.9;
}

/* индивидуальный цветовой ключ каждой карточке */
#unit-economics .col:nth-child(1) .card::before{ background:linear-gradient(90deg,var(--k1),#5ec2ff);}
#unit-economics .col:nth-child(2) .card::before{ background:linear-gradient(90deg,var(--k2),#39d3a0);}
#unit-economics .col:nth-child(3) .card::before{ background:linear-gradient(90deg,var(--k3),#b19aff);}
#unit-economics .col:nth-child(4) .card::before{ background:linear-gradient(90deg,var(--k4),#ffd38a);}

/* разные пиктограммы на карточках */
#unit-economics .col:nth-child(1) .card::after{
background:
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24'
    fill='none' stroke='%230a67cc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>
    <path d='M4 14l6-6 4 4 6-6' />
</svg>") center/20px no-repeat,
currentColor;
}
#unit-economics .col:nth-child(2) .card::after{
background:
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24'
    fill='none' stroke='%2316a67a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>
    <path d='M3 12h13' />
    <path d='M13 5l7 7-7 7' />
</svg>") center/20px no-repeat,
currentColor;
}
#unit-economics .col:nth-child(3) .card::after{
background:
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24'
    fill='none' stroke='%237a5cff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>
    <path d='M3 3v18h18' />
    <path d='M7 15l4-4 3 3 5-5' />
</svg>") center/20px no-repeat,
currentColor;
}
#unit-economics .col:nth-child(4) .card::after{
background:
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24'
    fill='none' stroke='%23f39b18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>
    <path d='M12 20V10' />
    <path d='M8 20v-6' />
    <path d='M16 20v-3' />
    <path d='M3 20h18M3 4h18' />
</svg>") center/20px no-repeat,
currentColor;
}

/* hover/focus */
#unit-economics .card:hover{ transform:translateY(-2px); box-shadow:0 16px 36px rgba(7,59,129,.14); }
#unit-economics .card:focus-within{ outline:2px solid #9ad9ff; outline-offset:3px; }

/* типографика */
#unit-economics .card .text-muted.small{
color:var(--muted)!important; text-transform:uppercase; letter-spacing:.25px; font-weight:800;
}
#unit-economics .card .fs-5.fw-bold{
color:var(--ink);
margin-top:.15rem; margin-bottom:.35rem;
}

/* микро-прогресс-бар под значением (имитируем цифры без изменения HTML) */
#unit-economics .card .fs-5.fw-bold{ position:relative; padding-bottom:.4rem; }
#unit-economics .card .fs-5.fw-bold::after{
content:""; position:absolute; left:0; right:0; bottom:0; height:6px; border-radius:999px;
background:linear-gradient(90deg, rgba(10,103,204,.18), rgba(10,103,204,.08));
overflow:hidden;
}
#unit-economics .col:nth-child(1) .fs-5.fw-bold::after{ background:
linear-gradient(90deg, var(--k1) 0 86%, transparent 86%); }
#unit-economics .col:nth-child(2) .fs-5.fw-bold::after{ background:
linear-gradient(90deg, var(--k2) 0 72%, transparent 72%); }
#unit-economics .col:nth-child(3) .fs-5.fw-bold::after{ background:
linear-gradient(90deg, var(--k3) 0 80%, transparent 80%); }
#unit-economics .col:nth-child(4) .fs-5.fw-bold::after{ background:
linear-gradient(90deg, var(--k4) 0 64%, transparent 64%); }

/* подпись-подсказка: мягче и читабельн ее */
#unit-economics .card .small.text-muted{ color:var(--muted)!important; }

/* адаптив: делаем плитки компактнее на мобильных */
@media (max-width:575.98px) {
#unit-economics .card { padding:1rem!important; border-radius:14px; }
#unit-economics .card::after { width:32px; height:32px; right:10px; top:10px; border-radius:9px; }
#unit-economics .fs-5.fw-bold { font-size:1.05rem!important; }
}

/* печать: контрасты и без теней */
@media print{
#unit-economics .card { box-shadow:none; background:#fff; }
#unit-economics .card::after { display:none; }
}


