/* =====================================================
   OCC AI Суфлёр — общая дизайн-система (v2, синий акцент)
   Подключается на всех страницах сайта.
   ===================================================== */

/* ============ TOKENS ============ */
:root{
  --bg:#0B0D10;
  --surface:#14171C;
  --surface-2:#191D24;
  --border:#262B33;
  --divider:#1D2129;
  --text:#E7E9ED;
  --text-muted:#8B93A3;
  --text-faint:#5B6472;
  --accent:#3DB8FF;
  --accent-2:#2F80ED;
  --accent-dim:rgba(61,184,255,.12);
  --accent-line:rgba(61,184,255,.35);
  --client-bar:#5B6472;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:14px;
  --radius-full:999px;
  --space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;
  --space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;
  --font-display:'Space Grotesk',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:19px;
  --text-xl:26px;--text-2xl:40px;--text-3xl:56px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);color:var(--text);
  font-family:var(--font-body);
  font-size:var(--text-base);line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(var(--divider) 1px,transparent 1px),
    linear-gradient(90deg,var(--divider) 1px,transparent 1px);
  background-size:64px 64px;
  opacity:.35;
  mask-image:radial-gradient(ellipse 80% 50% at 50% 0%,#000 40%,transparent 90%);
}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;position:relative;z-index:1;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-0.01em;font-weight:600;}
img{max-width:100%;display:block;}
.mono{font-family:var(--font-mono);}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}}

/* ============ TOPBAR ============ */
.topbar{position:sticky;top:0;z-index:50;background:rgba(11,13,16,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:64px;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text);}
.brand-mark{width:8px;height:8px;border-radius:2px;background:var(--accent);flex-shrink:0;}
.nav-links{display:flex;gap:28px;}
.nav-links a{font-size:13.5px;color:var(--text-muted);transition:color .15s;}
.nav-links a:hover,.nav-links a.current{color:var(--text);}
.topbar-actions{display:flex;align-items:center;gap:10px;}
.nav-toggle{display:none;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;font-size:18px;flex-shrink:0;padding:0;line-height:1;}
.nav-toggle:hover{border-color:var(--text-faint);}
@media (max-width:860px){
  .nav-toggle{display:inline-flex;}
  .nav-links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:0;background:rgba(11,13,16,.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:6px 0;z-index:60;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 24px;font-size:15px;border-bottom:1px solid var(--divider);}
  .nav-links a:last-child{border-bottom:none;}
  .topbar-actions .btn-ghost{display:none;}
  .brand{font-size:12px;white-space:nowrap;}
  .topbar a[href="https://occ-group.ru/"]{white-space:nowrap;font-size:9px;padding-left:2px;}
  .topbar-inner{gap:10px;}
}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;padding:11px 20px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all .15s;font-family:var(--font-body);white-space:nowrap;}
.btn-primary{background:var(--accent);color:#0B0D10;}
.btn-primary:hover{background:#6BCBFF;}
.btn-ghost{background:transparent;border-color:var(--border);color:var(--text);}
.btn-ghost:hover{border-color:var(--text-faint);}
.btn-lg{padding:14px 26px;font-size:14.5px;}

/* ============ BREADCRUMB ============ */
.breadcrumb{font-size:12px;color:var(--text-faint);margin-bottom:18px;}
.breadcrumb a{color:var(--text-faint);}
.breadcrumb a:hover{color:var(--text-muted);}

/* ============ PAGE HERO (non-landing pages) ============ */
.page-hero{padding:56px 0 48px;border-bottom:1px solid var(--border);}
.kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.06em;color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-dim);padding:6px 12px;border-radius:var(--radius-full);margin-bottom:20px;}
.kicker-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse-dot 2s ease-in-out infinite;}
@keyframes pulse-dot{0%,100%{opacity:1;}50%{opacity:.35;}}
.page-hero h1{font-size:var(--text-2xl);line-height:1.12;letter-spacing:-0.02em;margin-bottom:16px;}
.page-hero .lead{font-size:15.5px;color:var(--text-muted);max-width:64ch;line-height:1.6;}

/* ============ SECTION SCAFFOLDING ============ */
section{padding:var(--space-16) 0;}
.divider{border:none;border-top:1px solid var(--border);margin:0;}
.section-head{max-width:640px;margin-bottom:var(--space-10);}
.section-eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.section-title{font-size:var(--text-2xl);margin-bottom:12px;}
.section-lead{color:var(--text-muted);font-size:15px;line-height:1.6;}

/* ============ GENERIC CARD GRID ============ */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
@media (max-width:860px){.card-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.card-grid{grid-template-columns:1fr;}}
.info-card{background:var(--surface);padding:26px 22px;transition:background .2s ease;}
.info-card:hover{background:var(--surface-2);}
.info-card h3{font-family:var(--font-body);font-size:14.5px;font-weight:700;margin-bottom:8px;}
.info-card p{font-size:13px;color:var(--text-muted);line-height:1.55;}

/* ============ NUMBERED LIST / PIPELINE ============ */
.pipeline{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.pipe-step{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:20px 22px;border-bottom:1px solid var(--border);align-items:start;transition:background .35s ease;}
.pipe-step:last-child{border-bottom:none;}
.pipe-step.active{background:var(--accent-dim);}
.pipe-step.active .pipe-num{color:var(--accent);}
.pipe-num{font-family:var(--font-mono);font-size:13px;color:var(--accent);padding-top:2px;}
.pipe-step h3{font-family:var(--font-body);font-size:14.5px;font-weight:700;margin-bottom:4px;}
.pipe-step p{font-size:13px;color:var(--text-muted);}

/* ============ GENERIC PANEL LIST (accordion / faq rows / table rows) ============ */
.panel-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.panel-row{background:var(--surface);padding:18px 22px;transition:background .2s ease;}
.panel-row:hover{background:var(--surface-2);}
.panel-row h3{font-family:var(--font-body);font-size:14px;font-weight:700;margin-bottom:6px;}
.panel-row p{font-size:13px;color:var(--text-muted);}

/* ============ ACCORDION (FAQ items) ============ */
.faq-toc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-10)}
.faq-toc a{font-size:12px;font-weight:600;padding:8px 14px;border-radius:var(--radius-full);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}
.faq-toc a:hover{color:var(--text);border-color:var(--accent-line)}
.faq-category{font-size:var(--text-lg);font-weight:700;font-family:var(--font-display);letter-spacing:-0.01em;margin:var(--space-10) 0 var(--space-4);scroll-margin-top:90px}
.faq-list{display:flex;flex-direction:column;gap:10px}
details.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden;transition:border-color .2s ease}
details.faq-item:hover{border-color:var(--text-faint)}
details.faq-item summary{cursor:pointer;list-style:none;padding:16px 20px;font-size:var(--text-sm);font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:12px}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary::after{content:"+";font-size:18px;font-weight:400;color:var(--text-faint);flex-shrink:0}
details.faq-item[open] summary::after{content:"–";color:var(--accent);}
details.faq-item summary:hover{color:var(--accent)}
details.faq-item .faq-answer{padding:0 20px 18px;color:var(--text-muted);font-size:13px}
details.faq-item .faq-answer p{margin:0}

/* ============ MODE-STYLE CARDS (3-up feature cards) ============ */
.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:860px){.mode-grid{grid-template-columns:1fr;}}
.mode-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;position:relative;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.mode-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.mode-card:hover{transform:translateY(-4px);border-color:var(--accent-line);box-shadow:0 20px 40px -24px rgba(61,184,255,.25);}
.mode-card:hover::before{transform:scaleX(1);}
.mode-tag{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);letter-spacing:.05em;margin-bottom:10px;}
.mode-card h3{font-size:16.5px;margin-bottom:14px;}
.mode-card ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.mode-card li{font-size:13px;color:var(--text-muted);padding-left:16px;position:relative;}
.mode-card li::before{content:"—";position:absolute;left:0;color:var(--text-faint);}

/* ============ METRICS PANEL ============ */
.metrics-panel{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.metrics-panel-head{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:var(--surface-2);border-bottom:1px solid var(--border);}
.metrics-panel-head span{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);letter-spacing:.05em;}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);}
@media (max-width:760px){.metrics-grid{grid-template-columns:repeat(2,1fr);}}
.metric{padding:26px 22px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .2s ease;}
.metric:hover{background:var(--surface-2);}
.metric:nth-child(4n){border-right:none;}
@media (max-width:760px){.metric:nth-child(2n){border-right:none;}}
.metric-val{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--accent);margin-bottom:6px;letter-spacing:-0.01em;opacity:0;transform:scale(.9);transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1);}
.metric-val.in{opacity:1;transform:scale(1);}
.metric-label{font-size:12.5px;color:var(--text-muted);line-height:1.4;}

/* ============ TEASER BAND / CTA BAND ============ */
.teaser-band{border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--surface);transition:border-color .25s ease;}
.teaser-band:hover{border-color:var(--accent-line);}
.teaser-band h3{font-size:18px;margin-bottom:6px;}
.teaser-band p{font-size:13.5px;color:var(--text-muted);max-width:52ch;}
.cta-band{border:1px solid var(--accent-line);background:var(--accent-dim);border-radius:var(--radius-lg);padding:44px;text-align:center;}
.cta-band h2{font-size:var(--text-xl);margin-bottom:10px;}
.cta-band p{color:var(--text-muted);font-size:14.5px;margin-bottom:26px;}

/* ============ TABLES (pricing / requisites / offer) ============ */
.data-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--divider);vertical-align:top;}
.data-table th{color:var(--text-faint);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;background:var(--surface-2);}
.data-table tr:last-child td{border-bottom:none;}
.data-table td:first-child{color:var(--text-muted);}
.data-table td:last-child{color:var(--text);}
.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);}
.table-scroll table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:760px;background:var(--surface);}
.table-scroll th,.table-scroll td{padding:12px 14px;border-bottom:1px solid var(--divider);text-align:left;}
.table-scroll th{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);}
.table-scroll .yes{color:var(--accent);font-weight:700;}
.table-scroll .no{color:var(--text-faint);}
.table-scroll .na{color:var(--text-muted);font-size:11.5px;}
.table-note{font-size:12px;color:var(--text-faint);margin-top:14px;line-height:1.5;}

/* ============ LONG-FORM DOCUMENT TEXT (offer / policy) ============ */
.doc-text h3{font-size:var(--text-base);font-weight:800;font-family:var(--font-display);margin:var(--space-8) 0 var(--space-3);letter-spacing:-0.01em}
.doc-text h3:first-child{margin-top:0}
.doc-text h4{font-size:var(--text-sm);font-weight:700;margin:var(--space-5) 0 var(--space-2)}
.doc-text p{color:var(--text-muted);font-size:13.5px;margin-bottom:12px}
.doc-text ul{margin:0 0 12px;padding-left:20px;color:var(--text-muted);font-size:13.5px}
.doc-text li{margin-bottom:6px}
.doc-text .doc-meta{color:var(--text-faint);font-size:12px;margin-bottom:var(--space-6)}
.doc-flag{background:rgba(61,184,255,.1);border:1px solid var(--accent-line);color:var(--accent);border-radius:var(--radius-lg);padding:14px 18px;font-size:12.5px;font-weight:600;margin-bottom:var(--space-6)}

/* ============ CONTACT CARDS ============ */
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media (max-width:760px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;transition:border-color .2s ease;}
.contact-card:hover{border-color:var(--accent-line);}
.contact-card .city{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:.05em;margin-bottom:10px;}
.contact-card p{font-size:13px;color:var(--text-muted);margin-bottom:4px;}
.contact-card a{color:var(--text);}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--border);padding:var(--space-10) 0 var(--space-8);}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px;margin-bottom:var(--space-8);}
@media (max-width:860px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
.footer-col h5{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:14px;}
.footer-col a,.footer-col p{display:block;font-size:13px;color:var(--text-muted);margin-bottom:9px;}
.footer-col a:hover{color:var(--text);}
.footer-bottom{border-top:1px solid var(--border);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--text-faint);font-family:var(--font-mono);}

/* ============ MOTION: reveal on scroll ============ */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}
