/* Shirshov Web Design — global styles */
*{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{ margin:0; background:oklch(0.083 0.005 152); color:oklch(0.96 0.02 115); color-scheme:dark; }
  @media (pointer:fine){ a,button,[data-cursor],h1,h2,h3,summary{ cursor:none; } }
  ::selection{ background:oklch(0.94 0.24 128); color:oklch(0.09 0.005 150); }
  ::-webkit-scrollbar{ width:0; height:0; }

  /* === Adaptive layout === */
  [data-console-wrap]{ container-type:inline-size; }
  @media (max-width: 1024px){
    [data-hero-bottom]{ grid-template-columns:1fr !important; align-items:stretch !important; }
    [data-about-grid]{ grid-template-columns:1fr !important; }
    [data-sys-body]{ grid-template-columns:1fr !important; }
    [data-sys-body] > div:first-child{ border-right:none !important; border-bottom:1px solid oklch(0.96 0.02 115 / 0.08); }
    [data-svc-grid]{ grid-template-columns:1fr !important; gap:clamp(24px,4vw,40px) !important; }
    [data-svc-detail]{ grid-template-columns:1fr !important; }
    [data-faq-grid]{ grid-template-columns:1fr !important; }
    [data-faq-grid] > div:first-child{ position:static !important; }
    [data-approach-grid] > article{ grid-column:span 3 !important; }
    [data-cases-grid]{ grid-auto-rows:auto !important; }
    [data-cases-grid] > a{ grid-column:span 7 !important; aspect-ratio:5/4 !important; }
    [data-notice-grid] > article{ grid-column:span 3 !important; }
    [data-course-split]{ grid-template-columns:1fr !important; }
    [data-course-split] > div:first-child{ border-right:none !important; border-bottom:1px solid oklch(0.09 0.005 150 / 0.08); }
  }
  @media (max-width: 760px){
    nav#sh-nav{ flex-wrap:wrap !important; gap:10px !important; }
    nav#sh-nav > div{ order:3; width:100%; justify-content:flex-start !important; overflow-x:auto; }
    [data-about-stats]{ grid-template-columns:1fr 1fr !important; }
    [data-approach-grid] > article{ grid-column:span 6 !important; }
    [data-cases-grid] > a{ aspect-ratio:4/4.4 !important; padding:22px !important; }
    [data-notice-grid] > article{ grid-column:span 6 !important; }
    [data-course-metrics]{ grid-template-columns:1fr 1fr !important; }
    [data-course-metrics] > div:nth-child(2n){ border-right:none !important; }
    [data-course-funnel]{ grid-template-columns:1fr 1fr !important; }
    [data-course-features]{ grid-template-columns:1fr 1fr !important; }
    [data-course-features] > div:nth-child(2n){ border-right:none !important; }
    [data-svc-meta]{ grid-template-columns:1fr !important; }
    #sh-process > li{ grid-template-columns:clamp(40px,8vw,56px) 1fr !important; }
    #sh-process > li > p{ grid-column:2 !important; max-width:none !important; }
  }
  /* Operator console container-query scaling */
  @container (max-width: 520px){
    [data-mod]{ padding:6px 8px !important; gap:6px !important; border-radius:10px !important; }
    [data-mod] > span:first-child{ width:22px !important; height:22px !important; font-size:11px !important; border-radius:6px !important; }
    [data-mod] > span:last-child > span:first-child{ font-size:11px !important; }
    [data-mod] > span:last-child > span:last-child{ font-size:8px !important; }
  }
  @container (max-width: 380px){
    [data-mod]{ padding:5px 7px !important; gap:4px !important; }
    [data-mod] > span:first-child{ width:18px !important; height:18px !important; font-size:10px !important; }
    [data-mod] > span:last-child > span:first-child{ font-size:10px !important; }
    [data-mod] > span:last-child > span:last-child{ display:none !important; }
  }
  @keyframes sh-marq{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  @keyframes sh-blink{ 0%,100%{ opacity:1; } 50%{ opacity:0.18; } }
  @keyframes sh-pulse{ 0%,100%{ transform:scale(1); opacity:0.75; } 50%{ transform:scale(1.2); opacity:1; } }
  @keyframes sh-packet{ 0%{ left:3%; opacity:0; } 8%{ opacity:1; } 92%{ opacity:1; } 100%{ left:97%; opacity:0; } }
  @keyframes sh-kenburns{ 0%{ transform:scale(1.05) translate3d(0,0,0); } 50%{ transform:scale(1.09) translate3d(-1.5%, -1%, 0); } 100%{ transform:scale(1.06) translate3d(1.5%, 0.5%, 0); } }
  @keyframes sh-scan{ 0%{ top:-2%; opacity:0; } 8%{ opacity:1; } 92%{ opacity:1; } 100%{ top:102%; opacity:0; } }
  @media (prefers-reduced-motion: reduce){ [data-photo-img]{ animation:none !important; transform:none !important; } }
  @keyframes sh-typing{ 0%,100%{ opacity:1; } 50%{ opacity:0.2; } }
  @keyframes sh-bar{ 0%{ width:0; } 100%{ width:var(--w,80%); } }
