:root {
  --company-ink: #102038;
  --company-muted: #52657b;
  --company-blue: #176fd1;
  --company-blue-dark: #0e4f99;
  --company-line: #dbe5ef;
  --company-soft: #f3f7fb;
  --company-green: #16856a;
}

.company-body { margin: 0; color: var(--company-ink); background: #fff; font-family: Geist, Arial, sans-serif; }
.company-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.company-hero { overflow: hidden; padding: 70px 0 74px; background: radial-gradient(circle at 82% 18%, rgba(49, 137, 226, .16), transparent 28%), linear-gradient(145deg, #f7fbff 0%, #edf5fd 100%); }
.company-hero-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr); gap: 58px; align-items: center; }
.company-crumbs { display: flex; gap: 9px; margin-bottom: 28px; color: #728298; font-size: 14px; }
.company-crumbs a { color: #3377bf; text-decoration: none; }
.company-kicker { margin: 0 0 12px; color: var(--company-blue); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.company-kicker-spaced { margin-top: 36px; }
.company-hero h1 { max-width: 760px; margin: 0; font-size: clamp(38px, 5vw, 62px); line-height: 1.02; letter-spacing: -.045em; }
.company-lead { max-width: 760px; margin: 24px 0 0; color: var(--company-muted); font-size: 19px; line-height: 1.67; }
.company-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.company-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border: 1px solid transparent; border-radius: 10px; font-size: 14px; font-weight: 700; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.company-btn:hover { transform: translateY(-1px); }
.company-btn-primary { color: #fff; background: var(--company-blue); box-shadow: 0 10px 25px rgba(23, 111, 209, .2); }
.company-btn-secondary { color: #164e87; border-color: #b9d1e9; background: rgba(255, 255, 255, .72); }
.company-btn-light { color: #164f8c; background: #fff; box-shadow: 0 10px 28px rgba(6, 42, 82, .16); }

.company-interface { overflow: hidden; margin: 0; border: 1px solid rgba(149, 181, 214, .6); border-radius: 18px; background: #fff; box-shadow: 0 30px 70px rgba(25, 64, 105, .18); }
.company-interface-bar { display: flex; align-items: center; gap: 7px; height: 43px; padding: 0 15px; border-bottom: 1px solid #dbe6f0; background: #f8fafc; }
.company-interface-bar span { width: 8px; height: 8px; border-radius: 50%; background: #bdd0e2; }
.company-interface-bar b { margin-left: 8px; color: #63768b; font: 600 11px/1 JetBrains Mono, monospace; letter-spacing: .04em; }
.company-interface-body { display: grid; grid-template-columns: 155px minmax(0, 1fr); min-height: 385px; }
.company-filter-panel { display: flex; flex-direction: column; gap: 11px; padding: 20px 16px; border-right: 1px solid #e2eaf2; background: #f7fafc; }
.company-filter-panel strong { margin-top: 4px; color: #52677e; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.company-filter-panel label, .company-filter-panel span { padding: 9px 10px; border: 1px solid #dbe5ef; border-radius: 7px; color: #53677d; background: #fff; font-size: 11px; }
.company-filter-panel label { display: flex; justify-content: space-between; }
.company-filter-panel i { color: #173f69; font-style: normal; font-weight: 700; }
.company-chart-panel { min-width: 0; padding: 18px 19px; }
.company-chart-tabs { display: flex; gap: 9px; color: #74869a; font-size: 11px; }
.company-chart-tabs b, .company-chart-tabs span { padding: 6px 8px; border-radius: 5px; background: #f0f4f8; }
.company-chart-tabs b { color: #fff; background: var(--company-blue); }
.company-chart-panel svg { display: block; width: 100%; height: 265px; }
.company-grid { fill: none; stroke: #dfe8f1; stroke-width: 1; }
.company-curve { fill: none; stroke-width: 4; stroke-linecap: round; }
.company-curve-a { stroke: #1b75d0; }
.company-curve-b { stroke: #68a6df; stroke-width: 2.5; }
.company-system { fill: none; stroke: var(--company-green); stroke-width: 3; stroke-dasharray: 8 6; }
.company-point-ring { fill: rgba(255, 255, 255, .85); stroke: #e54b4b; stroke-width: 3; }
.company-point { fill: #e54b4b; }
.company-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.company-metrics span { padding: 9px; border-radius: 7px; color: #6d7e91; background: #f3f7fa; font-size: 10px; }
.company-metrics b { display: block; color: #163b62; font-size: 13px; }
.company-interface figcaption { padding: 13px 18px; border-top: 1px solid #e3ebf2; color: #718297; background: #fafcfd; font-size: 12px; }

.company-section { padding: 78px 0; }
.company-section-soft { background: var(--company-soft); }
.company-section h2 { max-width: 790px; margin: 0; font-size: clamp(30px, 4vw, 44px); line-height: 1.12; letter-spacing: -.035em; }
.company-two-col { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.company-rich-text { color: #3f536a; font-size: 17px; line-height: 1.75; }
.company-rich-text p { margin: 0 0 18px; }
.company-section-lead { max-width: 800px; margin: 16px 0 0; color: var(--company-muted); line-height: 1.65; }
.company-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 35px; }
.company-card { min-height: 210px; padding: 24px; border: 1px solid var(--company-line); border-radius: 15px; background: #fff; }
.company-card > span { color: #4e8dcc; font: 600 12px/1 JetBrains Mono, monospace; }
.company-card h3 { margin: 24px 0 10px; font-size: 20px; }
.company-card p { margin: 0; color: var(--company-muted); line-height: 1.6; }
.company-tool-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.company-workflow { overflow: hidden; margin: 0; border: 1px solid var(--company-line); border-radius: 17px; background: #112b48; box-shadow: 0 20px 45px rgba(15, 49, 83, .17); }
.company-workflow-head { padding: 17px 22px; border-bottom: 1px solid rgba(255, 255, 255, .12); color: #a9c9e8; font: 600 12px/1 JetBrains Mono, monospace; letter-spacing: .05em; text-transform: uppercase; }
.company-workflow ol { margin: 0; padding: 12px 22px 23px; list-style: none; }
.company-workflow li { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 17px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); color: #d6e5f3; }
.company-workflow li:last-child { border-bottom: 0; }
.company-workflow li > b { color: #5aa2e7; font: 600 13px/1.5 JetBrains Mono, monospace; }
.company-workflow strong { display: block; margin-bottom: 5px; color: #fff; font-size: 16px; }
.company-workflow span { color: #9db2c6; line-height: 1.45; }
.company-check-list { margin: 26px 0 0; padding: 0; list-style: none; }
.company-check-list li { position: relative; margin: 0; padding: 0 0 19px 31px; color: #455a70; line-height: 1.62; }
.company-check-list li::before { position: absolute; top: 5px; left: 0; width: 17px; height: 17px; border-radius: 50%; color: #fff; background: var(--company-green); content: "✓"; font-size: 11px; font-weight: 700; line-height: 17px; text-align: center; }
.company-check-list strong { color: var(--company-ink); }
.company-final-cta { padding: 56px 0; color: #fff; background: linear-gradient(135deg, #0f4e8e, #1775ce); }
.company-final-cta .company-kicker { color: #b9dcff; }
.company-final-inner { display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.company-final-inner h2 { max-width: 760px; }

.company-contact-hero { padding-bottom: 64px; }
.company-contact-hero h1 { max-width: none; }
.company-request-note { max-width: 780px; margin-top: 34px; padding: 20px 22px; border: 1px solid rgba(121, 166, 211, .45); border-radius: 13px; background: rgba(255, 255, 255, .7); }
.company-request-note span { display: block; margin-bottom: 6px; color: #6e8196; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.company-request-note strong { font-size: 20px; }
.company-request-note p { margin: 8px 0 0; color: var(--company-muted); line-height: 1.55; }
.company-contact-section { padding-top: 58px; }
.company-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.company-contact-card { display: flex; flex-direction: column; min-height: 310px; padding: 27px; border: 1px solid var(--company-line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px rgba(34, 68, 105, .07); }
.company-contact-card-primary { border-color: #8fbae6; box-shadow: 0 16px 36px rgba(24, 104, 187, .13); }
.company-direction { color: var(--company-blue); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.company-contact-card h2 { margin: 19px 0 10px; font-size: 24px; }
.company-contact-card p { min-height: 70px; margin: 0 0 17px; color: var(--company-muted); line-height: 1.55; }
.company-contact-card a { margin: 4px 0; color: #1768b8; font-weight: 650; text-decoration: none; }
.company-contact-card address { margin-top: auto; padding-top: 18px; color: #5c6f83; font-size: 14px; font-style: normal; line-height: 1.5; }
.company-requisites { display: grid; gap: 12px; margin-top: 31px; }
.company-requisites details { overflow: hidden; border: 1px solid var(--company-line); border-radius: 13px; background: #fff; }
.company-requisites summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 19px 22px; cursor: pointer; list-style: none; }
.company-requisites summary::-webkit-details-marker { display: none; }
.company-requisites summary span { display: flex; flex-direction: column; gap: 3px; }
.company-requisites summary b { font-size: 18px; }
.company-requisites summary small { color: #718195; }
.company-requisites summary i { color: #3976b6; font-size: 13px; font-style: normal; }
.company-requisites details[open] summary { border-bottom: 1px solid var(--company-line); }
.company-requisites details[open] summary i { font-size: 0; }
.company-requisites details[open] summary i::after { content: "Скрыть реквизиты"; font-size: 13px; }
.company-requisites dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 12px 22px 23px; }
.company-requisites dl div { padding: 13px 16px 13px 0; border-bottom: 1px solid #edf1f5; }
.company-requisites dt { margin-bottom: 5px; color: #718195; font-size: 12px; }
.company-requisites dd { margin: 0; color: #263b51; line-height: 1.5; overflow-wrap: anywhere; }
.company-contact-bottom { padding: 56px 0; }
.company-geography { border-top: 1px solid var(--company-line); }
.company-geography-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 54px; align-items: center; }
.company-map { overflow: hidden; min-height: 390px; border: 1px solid var(--company-line); border-radius: 17px; background: #edf3f8; box-shadow: 0 18px 40px rgba(34, 68, 105, .1); }
.company-map a { position: relative; display: block; min-height: 390px; color: #fff; text-decoration: none; }
.company-map img { display: block; width: 100%; height: 390px; object-fit: cover; }
.company-map span { position: absolute; right: 18px; bottom: 18px; left: 18px; padding: 14px 16px; border-radius: 11px; background: rgba(10, 36, 64, .88); font-weight: 700; backdrop-filter: blur(5px); }
.company-map small { display: block; margin-top: 4px; color: #c7def4; font-weight: 500; }

body.company-body.theme-dark {
  --company-ink: var(--fg-strong);
  --company-muted: var(--muted);
  --company-line: var(--border);
  --company-soft: var(--bg-2);
  background: linear-gradient(160deg, var(--bg-1) 0%, var(--bg-2) 55%, var(--bg-3) 100%) fixed;
  color: var(--fg);
}
body.company-body.theme-dark .company-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(54, 132, 220, .14), transparent 28%),
    linear-gradient(145deg, var(--bg-2) 0%, var(--bg-1) 100%);
}
body.company-body.theme-dark .company-interface,
body.company-body.theme-dark .company-card,
body.company-body.theme-dark .company-contact-card,
body.company-body.theme-dark .company-requisites details {
  border-color: var(--border);
  background: var(--card);
  box-shadow: var(--shadow-card);
}
body.company-body.theme-dark .company-interface-bar,
body.company-body.theme-dark .company-filter-panel,
body.company-body.theme-dark .company-interface figcaption {
  border-color: var(--border);
  background: var(--card-soft);
}
body.company-body.theme-dark .company-filter-panel label,
body.company-body.theme-dark .company-filter-panel span {
  border-color: var(--border);
  background: var(--card);
  color: var(--company-muted);
}
body.company-body.theme-dark .company-chart-tabs b,
body.company-body.theme-dark .company-chart-tabs span,
body.company-body.theme-dark .company-metrics span {
  background: var(--card-soft);
  color: var(--company-muted);
}
body.company-body.theme-dark .company-chart-tabs b {
  background: var(--company-blue);
  color: #fff;
}
body.company-body.theme-dark .company-grid { stroke: var(--border); }
body.company-body.theme-dark .company-point-ring { fill: var(--card); }
body.company-body.theme-dark .company-metrics b,
body.company-body.theme-dark .company-filter-panel i,
body.company-body.theme-dark .company-check-list strong,
body.company-body.theme-dark .company-requisites dd { color: var(--company-ink); }
body.company-body.theme-dark .company-rich-text,
body.company-body.theme-dark .company-check-list li,
body.company-body.theme-dark .company-contact-card address,
body.company-body.theme-dark .company-requisites dt,
body.company-body.theme-dark .company-requisites summary small { color: var(--company-muted); }
body.company-body.theme-dark .company-request-note {
  border-color: var(--border);
  background: rgba(21, 33, 52, .78);
}
body.company-body.theme-dark .company-requisites details[open] summary,
body.company-body.theme-dark .company-requisites dl div { border-color: var(--border-soft); }
body.company-body.theme-dark .company-map { border-color: var(--border); background: var(--card-soft); }

@media (max-width: 1020px) {
  .company-hero-grid { grid-template-columns: 1fr; }
  .company-interface { max-width: 760px; }
  .company-card-grid, .company-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .company-shell { width: min(100% - 28px, 1180px); }
  .company-hero { padding: 44px 0 50px; }
  .company-two-col, .company-tool-layout, .company-geography-grid { grid-template-columns: 1fr; gap: 34px; }
  .company-section { padding: 56px 0; }
  .company-card-grid, .company-contact-grid { grid-template-columns: 1fr; }
  .company-contact-card { min-height: 0; }
  .company-contact-card p { min-height: 0; }
  .company-contact-card address { margin-top: 14px; }
  .company-final-inner { align-items: flex-start; flex-direction: column; }
  .company-requisites dl { grid-template-columns: 1fr; }
}
@media (max-width: 590px) {
  .company-hero h1 { font-size: 38px; }
  .company-lead { font-size: 17px; }
  .company-interface-body { grid-template-columns: 105px minmax(0, 1fr); min-height: 330px; }
  .company-filter-panel { padding: 14px 9px; }
  .company-filter-panel label, .company-filter-panel span { padding: 7px 6px; font-size: 9px; }
  .company-chart-panel { padding: 13px 8px; }
  .company-chart-panel svg { height: 230px; }
  .company-metrics span { padding: 6px; }
  .company-actions { align-items: stretch; flex-direction: column; }
  .company-btn { width: 100%; }
  .company-requisites summary { align-items: flex-start; flex-direction: column; }
}
