/* Only the main page loads this file. Shared pages keep their existing styles. */
.desktop-nav { gap: 18px; }
.hero h1 { font-size: clamp(48px, 5.2vw, 76px); }
.direction-console { display: grid; gap: 12px; }
.direction-console a { position: relative; display: grid; gap: 12px; padding: 22px; border: 1px solid rgba(255,255,255,.1); background: linear-gradient(115deg,#101f2a,#102b3b); border-radius: 12px; transition: border-color .25s, transform .25s; }
.direction-console a:hover { border-color: var(--accent); transform: translateX(3px); }
.direction-console a > span { color: var(--accent); font-size: 10px; letter-spacing: .12em; font-weight: 700; }
.direction-console strong { color: white; font-size: 27px; line-height: 1.1; letter-spacing: -.025em; }
.direction-console small { color: #9fb0ba; font-size: 11px; line-height: 1.6; max-width: 90%; }
.direction-console b { position: absolute; top: 22px; right: 22px; color: var(--accent); font-size: 24px; }
.unified-directions { padding-bottom: 0; }
.direction-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.direction-card { position: relative; overflow: hidden; padding: 42px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.direction-card::before { content: ''; position: absolute; width: 220px; height: 220px; border: 1px solid rgba(8,110,162,.09); border-radius: 50%; right: -100px; top: -100px; box-shadow: 0 0 0 30px rgba(8,110,162,.03),0 0 0 60px rgba(8,110,162,.02); pointer-events: none; }
.direction-index { color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.direction-card h3 { margin: 35px 0 20px; font-size: clamp(30px,3vw,42px); letter-spacing: -.035em; line-height: 1.08; }
.direction-card p { font-size: 16px; line-height: 1.65; color: var(--muted); }
.direction-card ul { list-style: none; padding: 20px 0; margin: 24px 0; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.6; }
.direction-card li { padding: 6px 0 6px 22px; position: relative; }
.direction-card li::before { content: '↳'; position: absolute; left: 0; color: var(--blue); }
.direction-growth { color: white; background: var(--ink-2); border-color: #18384b; }
.direction-growth .direction-index,.direction-growth li::before { color: var(--accent); }
.direction-growth p { color: #aab9c2; }
.direction-growth ul { border-color: rgba(255,255,255,.14); }
.development { background: var(--ink); color: white; position: relative; overflow: hidden; }
.development::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 100% 0,rgba(23,168,230,.1),transparent 60%); pointer-events: none; }
.development .shell { position: relative; }
.growth-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.growth-card { display: flex; flex-direction: column; position: relative; padding: 36px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(12,24,34,.8); transition: transform .25s,border-color .25s; }
.growth-card:hover { transform: translateY(-5px); border-color: rgba(73,185,232,.65); }
.growth-card > span { color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .11em; }
.growth-card h3 { margin: 32px 0 20px; font-size: clamp(26px,2.5vw,34px); line-height: 1.1; letter-spacing: -.03em; }
.growth-card p { color: #a6b5bf; font-size: 15px; line-height: 1.7; margin: 0 0 25px; }
.growth-card small { color: #d6e4ed; font-size: 12px; line-height: 1.6; border-top: 1px solid rgba(255,255,255,.1); padding-top: 20px; margin-top: auto; }
.pilot-panel { margin-top: 60px; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding: 42px 0; border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.pilot-panel h3 { font-size: clamp(32px,3.3vw,44px); line-height: 1.06; letter-spacing: -.03em; margin: 0 0 24px; }
.pilot-panel p { max-width: 430px; font-size: 16px; color: #a6b5bf; line-height: 1.7; }
.pilot-panel ol { padding: 0; list-style: none; margin: 0; display: grid; gap: 24px; }
.pilot-panel li { display: grid; gap: 10px; }
.pilot-panel b { font-size: 14px; color: var(--accent); }
.pilot-panel li span { font-size: 14px; color: #a6b5bf; line-height: 1.6; }
.growth-cta { display: flex; align-items: center; gap: 40px; justify-content: space-between; padding-top: 42px; }
.growth-cta h3 { font-size: 26px; margin: 0 0 12px; letter-spacing: -.02em; }
.growth-cta p { max-width: 580px; font-size: 14px; line-height: 1.65; color: #a6b5bf; margin: 0; }
.growth-actions { display: flex; gap: 12px; flex-wrap: wrap; flex-shrink: 0; }
@media(min-width:1101px) and (max-width:1350px) { .phone-link { display: none; } .header-inner { gap: 20px; } .desktop-nav { gap: 16px; } }
@media(max-width:900px) { .direction-card { padding: 30px; } .pilot-panel { gap: 32px; } .growth-cta { align-items: flex-start; flex-direction: column; gap: 26px; } }
@media(max-width:640px) { .direction-grid,.growth-grid,.pilot-panel { grid-template-columns: 1fr; } .direction-card,.growth-card { padding: 28px; } .direction-card h3 { margin-top: 24px; } .pilot-panel { padding: 32px 0; margin-top: 36px; gap: 24px; } .direction-console a { padding: 20px; } .direction-console strong { font-size: 25px; } .growth-card h3 { font-size: 29px; } .hero h1 { font-size: clamp(42px,9vw,58px); } }
@media(prefers-reduced-motion:reduce) { .direction-console a,.growth-card { transition: none; } }
@media(max-width:360px) { .section-heading h2 { font-size: 32px; } .section-heading > div { min-width: 0; } }
@media(max-width:1200px) {
  .desktop-nav,.phone-link { display: none; }
  .menu-toggle { display: block; }
  .mobile-nav { padding: 0 24px; background: var(--ink-2); }
  .mobile-nav.is-open { display: grid; }
  .mobile-nav a { padding: 16px 8px; border-top: 1px solid rgba(255,255,255,.08); }
}

.form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.request-status { margin:0; font-size:14px; line-height:1.5; color:white; }
.request-status:empty { display:none; }
.request-status[data-state="error"] { background:#7a2937; padding:12px; border-radius:8px; }
.request-status[data-state="success"] { background:#165d48; padding:12px; border-radius:8px; }
.request-form button:disabled { opacity:.65; cursor:wait; }
/* Final main-page refinements; shared styles and experiments are untouched. */
section[id],footer[id] { scroll-margin-top: 96px; }
:focus-visible { outline: 3px solid var(--electric); outline-offset: 5px; }
.hero { padding-top: 72px; }
.hero-grid { gap: 48px; }
.hero-console { min-height: 0; }
.console-title { padding: 25px 0; }
.hero .hero-lead { font-size: 17px; margin: 26px 0; }
.trust-row { margin-top: 35px; }
.hero h1 { line-height: 1.02; font-size: clamp(48px,4.85vw,70px); }
.desktop-nav { gap: 22px; }
.request-form small { font-size: 12px; line-height: 1.6; color: #e2f0f7; }
.request-form input,.request-form textarea { font-size: 16px; }
.request-form textarea { min-height: 100px; resize: vertical; }
.request-form .button { background: #071f32; min-height: 56px; }
.request-form .button:hover { background: #092c45; }
.download-logo.tehnolab { background: #086ea2; color: white; }
.price { font-variant-numeric: tabular-nums; }
.direction-grid { align-items: stretch; }
.direction-card { display: flex; flex-direction: column; }
.direction-card .button { margin-top: auto; align-self: flex-start; }
.direction-card ul { margin-bottom: 30px; }
.hero-actions .button { min-height: 52px; }
.oneoff-grid article em { line-height: 1.5; }
@media(max-width:760px) {
  .hero { padding-top: 48px; }
  .hero h1 { font-size: clamp(40px,10.3vw,57px); }
  .hero-grid { gap: 32px; }
  .trust-row { margin-top: 30px; }
  section[id],footer[id] { scroll-margin-top: 82px; }
  .cta-box { padding: 48px 24px; }
  .cta-box h2 { font-size: 42px; }
}
@media(max-width:360px) { .console-title h2 { font-size: 25px; } .direction-console strong { font-size: 23px; } .direction-card h3 { font-size: 28px; } }
@media(min-width:761px) and (max-width:1050px) {
  .cta-box { grid-template-columns: 1fr; gap: 32px; padding: 44px; }
  .cta-box h2 { font-size: 48px; }
}

.request-form label span { font-size: 11px; }
.process-list small { font-size: 10px; line-height: 1.5; }
@media (min-width: 761px) and (max-width: 1050px) {
  .process-heading { grid-template-columns: 1fr; gap: 24px; }
  .process-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .process-route { display: none; }
}

@media (max-width: 600px) {
  .bx-livechat-wrapper.bx-livechat-show {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: min(540px, 100dvh) !important;
  }
  .bx-livechat-wrapper .bx-livechat-box {
    width: 100% !important;
    max-width: 100vw !important;
    height: 100% !important;
    box-sizing: border-box;
  }
}

.crm-request { min-width: 0; position: relative; z-index: 1; }
.crm-form-fallback { color: #e2f0f7; font-size: 12px; line-height: 1.6; }
.crm-form-fallback a { text-decoration: underline; }
.selected-plan-note { color: white; font-size: 14px; line-height: 1.5; }
.crm-request .b24-form-wrapper { border-radius: 12px; overflow: hidden; }

.calculator select { width:100%; padding:12px; border:1px solid #bccbd3; border-radius:8px; color:#102331; background:white; font:inherit; }
.price-footnote { font-size:13px; line-height:1.7; }

.tariff-picker { border:0; padding:0; margin:28px 0; min-width:0; display:grid; gap:8px; }
.tariff-picker legend { padding:0; margin-bottom:12px; font-size:12px; font-weight:700; }
.calculator .tariff-option { margin:0; position:relative; display:block; cursor:pointer; }
.tariff-option input { position:absolute; width:1px; height:1px; opacity:0; }
.calculator .tariff-option span { padding:12px 14px; min-height:44px; border:1px solid rgba(8,110,162,.17); border-radius:10px; background:rgba(255,255,255,.55); display:flex; align-items:center; justify-content:space-between; gap:10px; transition:background .2s,border-color .2s; color:#234254; }
.tariff-option b { font-size:14px; font-weight:600; }
.tariff-option i { font-size:14px; font-style:normal; opacity:0; }
.calculator .tariff-option input:checked + span { background:#086ea2; color:white; border-color:#086ea2; box-shadow:0 4px 12px rgba(8,110,162,.14); }
.tariff-option input:checked + span i { opacity:1; }
.calculator .tariff-option:hover span { border-color:#086ea2; }
.tariff-option input:focus-visible + span { outline:3px solid #086ea2; outline-offset:3px; }
