@font-face{font-family:'Oswald';font-style:normal;font-weight:500 700;font-display:swap;
    src:url(/assets/fonts/oswald-lat.woff2) format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Oswald';font-style:normal;font-weight:500 700;font-display:swap;
    src:url(/assets/fonts/oswald-cyr.woff2) format('woff2');
    unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

  @font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;
    src:url(/assets/fonts/ptsans-400-lat.woff2) format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;
    src:url(/assets/fonts/ptsans-400-cyr.woff2) format('woff2');
    unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'PT Sans';font-style:normal;font-weight:700;font-display:swap;
    src:url(/assets/fonts/ptsans-700-lat.woff2) format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'PT Sans';font-style:normal;font-weight:700;font-display:swap;
    src:url(/assets/fonts/ptsans-700-cyr.woff2) format('woff2');
    unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

  @font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 700;font-display:swap;
    src:url(/assets/fonts/jbm-lat.woff2) format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 700;font-display:swap;
    src:url(/assets/fonts/jbm-cyr.woff2) format('woff2');
    unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

  :root{
    --bg:#eef0f2; --surface:#ffffff; --surface-2:#e4e7ea;
    --text:#17181a; --text-muted:#565f66; --border:#d3d8dc;
    --accent:#9c7a1a; --accent-ink:#fffaf0; --accent-soft:#f7e9c2;
    --safety:#a5342a; --safety-bg:#f6e2df; --safety-ink:#5c1d17;
    --band-dark-bg:#17181a; --band-dark-surface:#202226; --band-dark-text:#eef0f2; --band-dark-muted:#9aa2a9; --band-dark-border:#33373b;
    --shadow: 0 1px 2px rgba(23,24,26,.04), 0 8px 24px -12px rgba(23,24,26,.18);
    color-scheme: light;
  }
  @media (prefers-color-scheme: dark){
    :root{
      --bg:#131416; --surface:#1b1d20; --surface-2:#232629;
      --text:#eef0f2; --text-muted:#9aa2a9; --border:#2d3033;
      --accent:#f0b429; --accent-ink:#1c1400; --accent-soft:#3a2c0a;
      --safety:#e2564a; --safety-bg:#3a1e1b; --safety-ink:#ffd9d3;
      --band-dark-bg:#0e0f10; --band-dark-surface:#1b1d20; --band-dark-text:#eef0f2; --band-dark-muted:#9aa2a9; --band-dark-border:#2d3033;
      color-scheme: dark;
    }
  }
  :root[data-theme="light"]{
    --bg:#eef0f2; --surface:#ffffff; --surface-2:#e4e7ea;
    --text:#17181a; --text-muted:#565f66; --border:#d3d8dc;
    --accent:#9c7a1a; --accent-ink:#fffaf0; --accent-soft:#f7e9c2;
    --safety:#a5342a; --safety-bg:#f6e2df; --safety-ink:#5c1d17;
    --band-dark-bg:#17181a; --band-dark-surface:#202226; --band-dark-text:#eef0f2; --band-dark-muted:#9aa2a9; --band-dark-border:#33373b;
    color-scheme: light;
  }
  :root[data-theme="dark"]{
    --bg:#131416; --surface:#1b1d20; --surface-2:#232629;
    --text:#eef0f2; --text-muted:#9aa2a9; --border:#2d3033;
    --accent:#f0b429; --accent-ink:#1c1400; --accent-soft:#3a2c0a;
    --safety:#e2564a; --safety-bg:#3a1e1b; --safety-ink:#ffd9d3;
    --band-dark-bg:#0e0f10; --band-dark-surface:#1b1d20; --band-dark-text:#eef0f2; --band-dark-muted:#9aa2a9; --band-dark-border:#2d3033;
    color-scheme: dark;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--bg); color:var(--text);
    font-family:'PT Sans', system-ui, sans-serif; font-size:1.0625rem; line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important;} }

  h1,h2,h3,.disp{ font-family:'Oswald',system-ui,sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.01em; text-wrap:balance; margin:0; color:inherit; }
  .eyebrow{ font-family:'JetBrains Mono',monospace; font-weight:500; font-size:.8125rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
  .mono{ font-family:'JetBrains Mono',monospace; font-variant-numeric:tabular-nums; }
  a{ color:inherit; }
  .container{ max-width:1180px; margin:0 auto; padding:0 24px; }
  img,canvas{max-width:100%;display:block;}

  .band-dark{ background:var(--band-dark-bg); color:var(--band-dark-text); }
  .band-dark .text-muted{ color:var(--band-dark-muted); }
  .band-light{ background:var(--bg); }
  .text-muted{ color:var(--text-muted); }

  /* header */
  .site-header{ position:sticky; top:0; z-index:40; background:color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
  .header-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 24px; max-width:1180px; margin:0 auto; }
  .logo{ display:flex; align-items:center; gap:10px; font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.03em; font-size:1.05rem; text-decoration:none; }
  .logo small{ display:block; font-family:'JetBrains Mono',monospace; font-weight:500; text-transform:none; letter-spacing:.02em; font-size:.6875rem; color:var(--text-muted); }
  .logo-mark{ height:36px; width:auto; }
  nav{ display:flex; gap:26px; }
  nav a{ text-decoration:none; font-size:.9375rem; color:var(--text-muted); white-space:nowrap; cursor:pointer; }
  nav a:hover{ color:var(--text); }
  nav a.active{ color:var(--text); }
  .header-cta{ display:flex; gap:10px; align-items:center; }
  .burger{ display:none; width:40px; height:40px; align-items:center; justify-content:center; gap:5px; flex-direction:column; background:none; border:1px solid var(--border); border-radius:4px; cursor:pointer; padding:0; flex:none; }
  .burger span{ display:block; width:18px; height:2px; background:var(--text); border-radius:1px; }
  .burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .mobile-nav{ display:none; flex-direction:column; border-top:1px solid var(--border); background:var(--bg); }
  .mobile-nav.open{ display:flex; }
  .mobile-nav > a{ padding:15px 24px; text-decoration:none; color:var(--text); border-bottom:1px solid var(--border); font-size:.9375rem; }
  .mobile-nav > a.active{ color:var(--accent); }
  .mobile-nav-cta{ display:flex; gap:10px; padding:16px 24px; }
  .mobile-nav-cta .btn{ flex:1; justify-content:center; }
  @media (max-width:960px){
    nav{ display:none; }
    .header-cta{ display:none; }
    .burger{ display:flex; }
  }
  @media (min-width:961px){ .mobile-nav{ display:none !important; } }

  .btn{ display:inline-flex; align-items:center; gap:8px; font-family:'PT Sans',sans-serif; font-weight:700; font-size:.9375rem; padding:13px 22px; border-radius:3px; text-decoration:none; border:1px solid transparent; cursor:pointer; white-space:nowrap; }
  .btn:focus-visible{ outline:3px solid var(--accent); outline-offset:2px; }
  .btn-accent{ background:var(--accent); color:var(--accent-ink); }
  .btn-accent:hover{ filter:brightness(1.08); }
  .btn-ghost{ background:transparent; color:var(--text); border-color:var(--border); }
  .btn-ghost:hover{ border-color:var(--text-muted); }
  .band-dark .btn-ghost{ color:var(--band-dark-text); border-color:var(--band-dark-border); }
  .btn-secondary{ background:var(--text); color:var(--bg); }
  .btn-secondary:hover{ filter:brightness(1.15); }
  .band-dark .btn-secondary{ background:var(--band-dark-text); color:var(--band-dark-bg); }

  /* floating call/whatsapp cluster */
  .fab-cluster{ position:fixed; right:20px; bottom:20px; z-index:50; display:flex; flex-direction:column; gap:12px; }
  .fab{ width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; text-decoration:none; box-shadow:0 6px 20px -4px rgba(0,0,0,.35); }
  .fab svg{ width:24px; height:24px; }
  .fab-phone{ background:var(--accent); color:var(--accent-ink); }
  .fab-phone:hover{ filter:brightness(1.08); }
  .fab-whatsapp{ background:var(--band-dark-bg); color:var(--band-dark-text); border:1px solid var(--band-dark-border); }
  .fab-whatsapp:hover{ filter:brightness(1.3); }

  /* hero */
  .hero{ position:relative; padding:72px 0 96px; overflow:hidden; }
  .hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
  @media (max-width:900px){ .hero-grid{ grid-template-columns:1fr; } }
  .hero h1{ font-size:clamp(2.25rem,5.4vw,3.75rem); line-height:1.03; }
  .hero .lede{ margin-top:22px; font-size:1.125rem; color:var(--text-muted); max-width:46ch; }
  .hero-ctas{ display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }
  .trust-strip{ display:flex; gap:28px; margin-top:48px; flex-wrap:wrap; }
  .trust-item{ display:flex; flex-direction:column; }
  .trust-item .num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:1.375rem; font-variant-numeric:tabular-nums; }
  .trust-item .label{ font-size:.8125rem; color:var(--text-muted); }
  .disc-wrap{ position:relative; display:flex; align-items:center; justify-content:center; }
  .disc-photo{ margin:0; max-width:360px; width:100%; }
  .disc-photo img{ width:100%; border-radius:10px; box-shadow:var(--shadow); border:1px solid var(--band-dark-border); }
  .disc-photo figcaption{ margin-top:12px; text-align:center; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; color:var(--band-dark-muted); }

  /* secondary page hero (about/services/equipment/contact) */
  .page-hero{ padding:64px 0; }
  .page-h1{ font-size:clamp(2rem,4.6vw,3rem); margin-top:10px; max-width:22ch; }
  .page-hero .lede{ margin-top:16px; color:var(--band-dark-muted); max-width:56ch; font-size:1.0625rem; }

  .section{ padding:88px 0; }
  .section-head{ max-width:640px; margin-bottom:48px; }
  .section-head h2{ font-size:clamp(1.75rem,3.4vw,2.5rem); margin-top:10px; }
  .section-head p{ margin-top:14px; color:var(--text-muted); font-size:1.0625rem; }

  .grid-6{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); }
  .band-dark .grid-6{ background:var(--band-dark-border); border-color:var(--band-dark-border); }
  @media (max-width:900px){ .grid-6{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .grid-6{ grid-template-columns:1fr; } }
  .cell{ background:var(--surface); padding:30px 26px; }
  .band-dark .cell{ background:var(--band-dark-surface); }
  .cell .idx{ font-family:'JetBrains Mono',monospace; color:var(--accent); font-size:.8125rem; }
  .cell h3{ margin-top:12px; font-size:1.0625rem; text-transform:none; letter-spacing:0; font-weight:700; font-family:'PT Sans',sans-serif; }
  .cell p{ margin-top:8px; color:var(--text-muted); font-size:.9375rem; }
  .band-dark .cell p{ color:var(--band-dark-muted); }

  .safety-note{ display:flex; gap:14px; align-items:flex-start; background:var(--safety-bg); color:var(--safety-ink); border:1px solid color-mix(in srgb, var(--safety) 35%, transparent); border-radius:4px; padding:18px 20px; margin-top:32px; }
  .safety-note b{ font-family:'JetBrains Mono',monospace; }

  /* process / equipment */
  .process-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
  @media (max-width:900px){ .process-grid{ grid-template-columns:1fr; } }
  .timeline{ display:flex; flex-direction:column; gap:22px; }
  .tl-step{ display:flex; gap:16px; }
  .tl-step .idx{ flex:none; padding-top:2px; }
  .tl-step b{ font-family:'PT Sans',sans-serif; font-size:1rem; }
  .tl-step p{ margin:4px 0 0; color:var(--text-muted); font-size:.9375rem; }
  .spec-line{ display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--border); font-size:.9375rem; }
  .spec-line:last-child{ border-bottom:none; }
  .spec-line .k{ color:var(--text-muted); }
  .spec-line .v{ font-family:'JetBrains Mono',monospace; font-weight:700; }
  .contact-grid{ max-width:640px; }
  .spec-panel{ max-width:640px; margin-top:56px; padding-top:32px; border-top:1px solid var(--border); }
  .example-photo{ margin:0; }
  .example-photo img{ width:100%; border-radius:10px; box-shadow:var(--shadow); border:1px solid var(--border); }
  .example-photo figcaption{ margin-top:12px; font-size:.8125rem; color:var(--text-muted); }

  /* pricing */
  .price-table{ width:100%; border-collapse:collapse; }
  .price-scroll{ overflow-x:auto; border:1px solid var(--border); border-radius:6px; }
  .price-table th,.price-table td{ padding:16px 20px; text-align:left; border-bottom:1px solid var(--border); white-space:nowrap; }
  .price-table thead th{ font-family:'JetBrains Mono',monospace; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); font-weight:500; background:var(--surface-2); }
  .price-table tbody tr:last-child td{ border-bottom:none; }
  .price-table td.price{ font-family:'JetBrains Mono',monospace; font-weight:700; font-variant-numeric:tabular-nums; }
  .price-table tbody tr:hover{ background:var(--surface-2); }
  .price-callout{ display:flex; align-items:center; gap:12px; background:var(--accent-soft); border:1px solid color-mix(in srgb, var(--accent) 35%, transparent); border-radius:6px; padding:14px 20px; margin-bottom:32px; font-size:.9375rem; }
  .price-callout b{ background:var(--accent); color:var(--accent-ink); padding:3px 8px; border-radius:3px; font-size:.8125rem; }
  .price-block{ margin-bottom:32px; }
  .price-block-title{ font-family:'PT Sans',sans-serif; text-transform:none; letter-spacing:0; font-size:1.0625rem; font-weight:700; margin-bottom:14px; }
  .price-block-title .text-muted{ font-weight:400; }
  .info-card{ margin-top:20px; background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:22px 26px; }
  .info-card h3{ font-family:'PT Sans',sans-serif; text-transform:none; letter-spacing:0; font-size:1.0625rem; }
  .info-card p{ margin-top:8px; }

  /* testimonials */
  .log-entries{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  @media (max-width:800px){ .log-entries{ grid-template-columns:1fr; } }
  .log-card{ background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:28px; }
  .log-stars{ color:var(--accent); letter-spacing:2px; font-size:.8125rem; margin-bottom:8px; }
  .log-meta{ display:flex; justify-content:space-between; font-family:'JetBrains Mono',monospace; font-size:.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px; }
  .log-meta a{ color:var(--accent); text-decoration:underline; }
  .log-card p{ font-size:1.0625rem; }
  .log-who{ margin-top:16px; font-weight:700; font-family:'PT Sans',sans-serif; display:flex; align-items:center; gap:10px; }
  .log-who span{ font-weight:400; color:var(--text-muted); font-family:'JetBrains Mono',monospace; font-size:.8125rem; text-transform:none; letter-spacing:0; }
  .yandex-badge{ display:inline-flex; align-items:center; gap:14px; text-decoration:none; color:var(--text); background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:14px 20px; margin-bottom:28px; }
  .yandex-badge:hover{ border-color:var(--text-muted); }
  .yandex-badge .yb-score{ font-weight:700; font-size:1.25rem; }
  .yandex-badge .yb-stars{ color:var(--accent); letter-spacing:2px; }
  .yandex-badge .yb-meta{ font-size:.875rem; color:var(--text-muted); }
  .yandex-badge .yb-meta b{ color:var(--text); }

  .final-cta{ text-align:center; padding:96px 0; }
  .final-cta h2{ font-size:clamp(2rem,4.6vw,3.25rem); }
  .final-cta .phone{ margin-top:18px; font-family:'JetBrains Mono',monospace; font-size:clamp(1.5rem,3.4vw,2.25rem); font-weight:700; font-variant-numeric:tabular-nums; }
  .final-cta .hero-ctas{ justify-content:center; margin-top:30px; }

  footer{ background:var(--band-dark-bg); color:var(--band-dark-text); padding:56px 0 32px; }
  .foot-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; }
  @media (max-width:800px){ .foot-grid{ grid-template-columns:1fr; gap:32px; } }
  .foot-grid h4{ font-family:'JetBrains Mono',monospace; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--band-dark-muted); margin:0 0 14px; font-weight:500; }
  .foot-grid p,.foot-grid a{ font-size:.9375rem; text-decoration:none; }
  .foot-grid ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
  .foot-grid li{ font-size:.9375rem; }
  .foot-bottom{ margin-top:48px; padding-top:24px; border-top:1px solid var(--band-dark-border); font-size:.8125rem; color:var(--band-dark-muted); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }

  .reveal{ opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.is-visible{ opacity:1; transform:none; }
