    :root{
      --bg-primary:#0B0D10;
      --bg-secondary:#0F1216;
      --bg-surface:#151A22;
      --bg-surface-hover:#1A2030;

      --border-subtle:rgba(255,255,255,.06);
      --border-light:rgba(255,255,255,.10);

      --text-primary:#EAECEF;
      --text-secondary:#A6ABB5;
      --text-tertiary:#6B7280;

      --accent:#E08A2E;
      --accent-hover:#C97A28;
      --accent-subtle:rgba(224,138,46,.10);
      --accent-glow:rgba(224,138,46,.18);

      --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

      --sp-xs:4px; --sp-sm:8px; --sp-md:16px; --sp-lg:24px;
      --sp-xl:32px; --sp-2xl:48px; --sp-3xl:64px; --sp-4xl:96px; --sp-5xl:128px;

      --r-sm:6px; --r-md:10px; --r-lg:16px; --r-xl:22px;

      --tr-fast:150ms ease;
      --tr-base:250ms ease;
      --tr-slow:520ms cubic-bezier(.18,.92,.22,1);

      --container:1200px;
      --nav-h:72px;

    }

    /* ===== RESET ===== */
    *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
    html{
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      overflow-anchor:none;
      scroll-behavior:smooth;
    }
    body{
      font-family:var(--font);
      background:var(--bg-primary);
      color:var(--text-primary);
      font-size:16px;
      line-height:1.6;
      overflow-x:hidden;
    }
    img{display:block;max-width:100%}
    a{color:inherit;text-decoration:none}
    button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
    ul,ol{list-style:none}

    /* Фокус только для интерактива */
    a:focus-visible, button:focus-visible{
      outline:2px solid var(--accent);
      outline-offset:3px;
      border-radius:10px;
    }
    :not(a):not(button):focus{outline:none}

    ::selection{background:var(--accent);color:var(--bg-primary)}

    ::-webkit-scrollbar{width:6px}
    ::-webkit-scrollbar-track{background:var(--bg-primary)}
    ::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:3px}
    ::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}

    /* ===== LAYOUT (без .container) ===== */
    .wrap{
      width:min(var(--container), calc(100% - 48px));
      margin:0 auto;
    }
    .section{
      padding:var(--sp-2xl) 0;
      position:relative;
    }
    .divider{height:1px;background:var(--border-subtle)}
    body.scroll-glow::before{
      content:"";
      position:fixed;
      inset:0;
      z-index:90;
      pointer-events:none;
      background:
        radial-gradient(70% 34% at 50% 14%, rgba(224,138,46,.30), transparent 72%),
        linear-gradient(180deg, transparent 0%, rgba(224,138,46,.14) 50%, transparent 100%);
      animation:scrollGlowSweep 1320ms cubic-bezier(.16,.9,.18,1) both;
    }
    body.scroll-glow::after{
      content:"";
      position:fixed;
      inset:0;
      z-index:89;
      pointer-events:none;
      background:
        radial-gradient(120% 40% at 50% 0%, rgba(255,178,88,.18), transparent 66%),
        radial-gradient(90% 34% at 50% 100%, rgba(224,138,46,.16), transparent 70%);
      animation:scrollGlowTail 1480ms cubic-bezier(.16,.9,.18,1) both;
    }
    @keyframes scrollGlowSweep{
      0%{opacity:0;transform:translateY(-44px) scaleY(.92)}
      34%{opacity:1}
      100%{opacity:0;transform:translateY(34px) scaleY(1.08)}
    }
    @keyframes scrollGlowTail{
      0%{opacity:0;transform:translateY(-18px)}
      42%{opacity:.82}
      100%{opacity:0;transform:translateY(22px)}
    }

    /* ===== TYPO ===== */
    .label{
      font-size:.75rem;font-weight:700;
      letter-spacing:.12em;text-transform:uppercase;
      color:var(--accent);
      display:flex;align-items:center;gap:10px;
    }
    h1{font-size:clamp(2.35rem,5.2vw,4.1rem);font-weight:850;line-height:1.06;letter-spacing:-.03em}
    h2{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;line-height:1.15;letter-spacing:-.025em}
    h3{font-size:1.25rem;font-weight:700;line-height:1.3;letter-spacing:-.01em}
    .text-lg{font-size:1.125rem;line-height:1.7;color:var(--text-secondary)}
    .label__icon{
      width:18px;height:18px;flex:0 0 18px;
      color: rgba(224,138,46,.9);
      filter: drop-shadow(0 10px 22px rgba(224,138,46,.18));
    }

    /* ===== BUTTONS ===== */
    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      gap:10px;
      padding:14px 28px;font-size:.9375rem;font-weight:700;
      border-radius:14px;
      transition:transform var(--tr-base), box-shadow var(--tr-base), background var(--tr-base), border-color var(--tr-base);
      white-space:nowrap;
      will-change: transform;
    }
    .btn--primary{
      background: linear-gradient(180deg, rgba(224,138,46,1), rgba(201,122,40,1));
      color: var(--bg-primary);
      box-shadow: 0 16px 60px rgba(224,138,46,.12);
    }
    .btn--primary:hover{transform:translateY(-1px);box-shadow:0 18px 70px rgba(224,138,46,.18)}
    .btn--secondary{
      background: rgba(21,26,34,.35);
      border: 1px solid rgba(255,255,255,.10);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .btn--secondary:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.18);box-shadow:0 16px 55px rgba(0,0,0,.35)}
    .btn--sm{padding:10px 18px;font-size:.875rem;border-radius:12px}

    /* ===== BACKGROUND LINES ===== */
    .lines-bg{
      position:fixed; inset:0;
      pointer-events:none;
      z-index:0;
    }
    .lines-bg::before,
    .lines-bg::after{
      content:"";
      position:absolute; inset:-20%;
      background:
        repeating-linear-gradient(
          90deg,
          rgba(255,255,255,.04) 0px,
          rgba(255,255,255,.04) 1px,
          transparent 1px,
          transparent 120px
        ),
        repeating-linear-gradient(
          0deg,
          rgba(224,138,46,.05) 0px,
          rgba(224,138,46,.05) 1px,
          transparent 1px,
          transparent 140px
        );
      mask-image: radial-gradient(circle at 30% 25%, rgba(0,0,0,.85), transparent 62%);
      -webkit-mask-image: radial-gradient(circle at 30% 25%, rgba(0,0,0,.85), transparent 62%);
      transform: translate3d(0,0,0);
      animation: drift 18s ease-in-out infinite;
    }
    .lines-bg::after{
      opacity:.6;
      mask-image: radial-gradient(circle at 70% 70%, rgba(0,0,0,.85), transparent 60%);
      -webkit-mask-image: radial-gradient(circle at 70% 70%, rgba(0,0,0,.85), transparent 60%);
      animation-duration: 22s;
    }
    @keyframes drift{
      0%,100%{transform: translate3d(0,0,0) rotate(0.001deg)}
      50%{transform: translate3d(22px,-16px,0) rotate(0.001deg)}
    }

    header, main{position:relative; z-index:1;}

    /* ===== NAV (без .nav__inner) ===== */
    .nav{
      position:fixed;top:0;left:0;right:0;height:var(--nav-h);
      z-index:100;
      transition:background var(--tr-base), box-shadow var(--tr-base);
      background: transparent;
    }
    .nav__row{
      height:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
    }

    /* ===== HERO (без фото, переработка) ===== */
    .hero{
      min-height:100vh;
      display:flex;
      align-items:center;
      padding-top:var(--nav-h);
      position:relative;
      overflow:hidden;
    }
    .hero__content{
      max-width: 1120px;
    }
    .hero__label{margin-bottom:var(--sp-lg)}
    .hero__title{margin-bottom:var(--sp-lg)}
    .hero__subtitle{margin-bottom:var(--sp-2xl);max-width:720px}
    .hero__actions{display:flex;gap:var(--sp-md);flex-wrap:wrap}

    /* hero highlight card (смысловая “картинка” + стекло) */
    .hero__highlights{
      margin-top: var(--sp-2xl);
      display:grid;
      grid-template-columns: repeat(3, minmax(300px, 1fr));
      gap: var(--sp-md);
    }
    .hero-card{
      border-radius: var(--r-xl);
      padding: 16px 16px 14px;
      background: rgba(21,26,34,.38);
      border: 1px solid rgba(255,255,255,.10);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 18px 70px rgba(0,0,0,.35);
      overflow:hidden;
      position:relative;
    }
    .hero-card::after{
      content:"";
      position:absolute; inset:0;
      background: radial-gradient(260px 160px at 20% 25%, rgba(224,138,46,.14), transparent 60%);
      opacity:.9;
      pointer-events:none;
    }
    .hero-card__top{
      display:flex; align-items:center; gap:12px;
      position:relative; z-index:1;
      margin-bottom: 6px;
    }
    .hero-card__icon{
      width:40px;height:40px;border-radius:16px;
      display:flex;align-items:center;justify-content:center;
      background: rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      box-shadow: 0 14px 45px rgba(0,0,0,.28);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      flex: 0 0 40px;
    }
    .hero-card__icon svg{width:20px;height:20px;color: rgba(224,138,46,.92)}
    .hero-card__title{font-weight:850; letter-spacing:-.01em; font-size: .95rem; position:relative; z-index:1;}
    .hero-card__text{color: var(--text-secondary); font-size: .9rem; line-height:1.6; position:relative; z-index:1;}

    /* ===== SECTION HEADER ===== */
    .section-header{margin-bottom:var(--sp-3xl)}
    .section-header .label{margin-bottom:var(--sp-md)}
    .section-header h2{max-width:640px}
    .section-header .text-lg{margin-top:var(--sp-md);max-width:560px}

    /* ===== ABOUT / EXPERTISE ===== */
    .about__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--sp-3xl)}
    .about__text p{color:var(--text-secondary);line-height:1.75;margin-bottom:var(--sp-md)}
    .about__text p:last-child{margin-bottom:0}

    .expertise__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md)}
    .expertise__item{
      padding:var(--sp-lg);
      border-radius:var(--r-lg);
      border:1px solid rgba(255,255,255,.08);
      background: rgba(21,26,34,.35);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 16px 60px rgba(0,0,0,.28);
      position:relative;
      overflow:hidden;
    }
    .expertise__item::after{
      content:"";
      position:absolute; inset:0;
      background: radial-gradient(260px 160px at 25% 25%, rgba(224,138,46,.10), transparent 60%);
      opacity:.85;
      pointer-events:none;
    }
    .expertise__head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
    .expertise__icon{
      width:34px;height:34px;
      border-radius:14px;
      display:flex;align-items:center;justify-content:center;
      background: rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      box-shadow: 0 14px 45px rgba(0,0,0,.28);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      flex: 0 0 34px;
    }
    .expertise__icon svg{width:18px;height:18px;color: rgba(224,138,46,.92)}
    .expertise__cat{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
    .expertise__list{color:var(--text-secondary);font-size:.9rem;line-height:1.7}

    /* ===== CASES ===== */
    .cases__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-lg)}

    .case-card{
      --case-rgb: 224,138,46;
      border-radius:var(--r-xl);
      overflow:hidden;
      position:relative;
      display:flex;
      flex-direction:column;
      cursor:pointer;
      transform: translate3d(0,0,0);
      will-change: transform;
      transition:transform var(--tr-base), box-shadow var(--tr-base), border-color var(--tr-base), background var(--tr-base);
      border: 1px solid rgba(255,255,255,.08);
      background: rgba(21,26,34,.40);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 18px 70px rgba(0,0,0,.35);
      isolation:isolate;
    }
    .case-card::before{
      content:"";
      position:absolute; inset:0;
      border-radius: inherit;
      background:
        radial-gradient(130% 90% at 14% 0%,
          rgba(var(--case-rgb), .28) 0%,
          rgba(var(--case-rgb), .14) 28%,
          rgba(var(--case-rgb), 0) 66%),
        radial-gradient(120% 80% at 100% 100%,
          rgba(var(--case-rgb), .22) 0%,
          rgba(var(--case-rgb), .10) 24%,
          rgba(var(--case-rgb), 0) 62%);
      opacity:0;
      filter: blur(14px);
      transition:opacity var(--tr-base);
      pointer-events:none;
      z-index:0;
    }
    .case-card::after{
      content:"";
      position:absolute; inset:0;
      border-radius: inherit;
      background: radial-gradient(260px 160px at var(--mx, 50%) var(--my, 50%),
        rgba(255,255,255,.07), transparent 62%);
      opacity:0;
      transition:opacity var(--tr-base);
      pointer-events:none;
      z-index:0;
    }
    .case-card:hover{
      transform: translateY(-3px);
      box-shadow:
        0 22px 86px rgba(0,0,0,.45),
        0 0 0 1px rgba(var(--case-rgb), .10),
        0 18px 62px rgba(var(--case-rgb), .16);
      border-color: rgba(var(--case-rgb), .34);
      background:
        linear-gradient(rgba(26,32,48,.46), rgba(26,32,48,.46)),
        radial-gradient(150% 120% at 10% 0%, rgba(var(--case-rgb), .10), transparent 62%);
    }
    .case-card:hover::before{opacity:.9}
    .case-card:hover::after{opacity:1}

    .case-card__media{
      position:relative;
      aspect-ratio: 16 / 10;
      background:#0E1116;
      overflow:hidden;
      z-index:1;
    }
    .case-card__media img{
      width:100%;height:100%;
      object-fit:cover;
      transform: scale(1.02);
      transition:transform var(--tr-slow), filter var(--tr-base);
      filter:saturate(1.05) contrast(1.02);
    }
    .case-card:hover .case-card__media img{transform: scale(1.06); filter:saturate(1.1) contrast(1.05)}
    .case-card[data-id="2"] .case-card__media img{
      object-position: 64% center;
      transform: scale(1);
    }
    .case-card[data-id="2"]:hover .case-card__media img{
      transform: scale(1.04);
    }

    .case-card__body{
      padding:var(--sp-xl);
      display:flex;
      flex-direction:column;
      gap: var(--sp-sm);
      z-index:1;
      flex:1;
      min-height:0;
    }
    .case-card__num{
      font-size:2.7rem;
      font-weight:900;
      color:rgba(255,255,255,.05);
      line-height:1;
      letter-spacing:-.04em;
      user-select:none;
      margin-top:2px;
      margin-bottom:8px;
    }
    .case-card__title{font-size:1.125rem;font-weight:800;line-height:1.25;margin-top:-6px}
    .case-card__desc{font-size:.9rem;color:var(--text-secondary);line-height:1.7;flex:1;margin-top:2px}

    /* ВАЖНО: убрать “обводку” у case-card__tags полностью */
    .case-card__tags{
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-start;
      align-items:flex-start;
      text-align:left;
      gap:var(--sp-sm);
      margin-top:var(--sp-sm);
      margin-left:0;
      padding-left:0;
      width:100%;
      border:none !important;
      outline:none !important;
      box-shadow:none !important;
      background:transparent !important;
    }
    .tag{
      display:inline-flex;
      justify-content:flex-start;
      text-align:left;
      font-size:.72rem;font-weight:650;
      padding:5px 10px;
      background: rgba(224,138,46,.10);
      color: var(--accent);
      border-radius:999px;
      letter-spacing:.02em;
      border:none !important;
      outline:none !important;
      box-shadow:none !important;
      line-height:1;
      user-select:none;
      pointer-events:none;
    }
    .case-card__tags .tag{
      padding: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      color: rgba(255,255,255,.24) !important;
    }

    .case-card__foot{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      padding:var(--sp-md) var(--sp-xl);
      border-top:1px solid rgba(255,255,255,.06);
      background: rgba(0,0,0,.10);
      min-height:56px;
      z-index:1;
    }
    .case-card__cta{
      font-size:.86rem;
      font-weight:800;
      color:var(--accent);
      display:flex;
      align-items:flex-end;
      gap:8px;
      line-height:1;
    }
    .case-card__arrow{transition:transform var(--tr-fast)}
    .case-card:hover .case-card__arrow{transform:translateX(4px)}

    /* ===== CONTACT ===== */
    .contact{background:var(--bg-secondary)}
    .contact__inner{text-align:center;max-width:680px;margin:0 auto}
    .contact__title{margin-bottom:var(--sp-md)}
    .contact__sub{color:var(--text-secondary);margin-bottom:var(--sp-2xl)}
    .contact__links{display:flex;justify-content:center;gap:var(--sp-lg);flex-wrap:wrap}
    .contact__link{
      display:flex;align-items:center;gap:var(--sp-sm);
      padding:14px 22px;
      border-radius:16px;
      background: rgba(21,26,34,.40);
      border:1px solid rgba(255,255,255,.10);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      font-size:.9375rem;font-weight:700;color:var(--text-primary);
      transition:transform var(--tr-base), border-color var(--tr-base), background var(--tr-base), box-shadow var(--tr-base);
      box-shadow: 0 18px 70px rgba(0,0,0,.35);
      position:relative; overflow:hidden;
    }
    .contact__link::after{
      content:""; position:absolute; inset:0;
      background: radial-gradient(240px 160px at 20% 30%, rgba(224,138,46,.14), transparent 60%);
      opacity:0; transition:opacity var(--tr-base);
      pointer-events:none;
    }
    .contact__link:hover{
      transform:translateY(-2px);
      border-color: rgba(224,138,46,.22);
      background: rgba(26,32,48,.46);
      box-shadow: 0 22px 86px rgba(0,0,0,.45);
    }
    .contact__link:hover::after{opacity:1}
    .contact__link svg{flex-shrink:0}

    /* ===== MODAL ===== */
    .modal-overlay{
      position:fixed;inset:0;background:rgba(0,0,0,.72);
      z-index:200;display:flex;align-items:center;justify-content:center;
      padding:var(--sp-lg);
      opacity:0;visibility:hidden;
      pointer-events:none;
      transition:
        opacity 460ms cubic-bezier(.16,.9,.18,1),
        background 460ms cubic-bezier(.16,.9,.18,1);
    }
    .modal-overlay.open{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      background:rgba(0,0,0,.78);
    }

    .modal{
      max-width:920px;width:100%;
      max-height:88vh;
      overflow:hidden;
      border-radius:var(--r-xl);
      position:relative;
      transform:translateY(30px) scale(.955);
      opacity:0;
      filter:blur(8px);
      transition:
        transform 520ms cubic-bezier(.16,.9,.18,1),
        opacity 420ms ease,
        filter 520ms cubic-bezier(.16,.9,.18,1);
      background: rgba(21,26,34,.62);
      border:1px solid rgba(255,255,255,.10);
      box-shadow: 0 30px 120px rgba(0,0,0,.60);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }
    .modal-overlay.open .modal{
      transform:translateY(0) scale(1);
      opacity:1;
      filter:blur(0);
    }
    .modal__top,.modal__content{
      opacity:0;
      transform:translateY(12px);
      transition:
        opacity 340ms ease,
        transform 420ms cubic-bezier(.16,.9,.18,1);
    }
    .modal-overlay.open .modal__top{
      opacity:1;
      transform:translateY(0);
      transition-delay:110ms;
    }
    .modal-overlay.open .modal__content{
      opacity:1;
      transform:translateY(0);
      transition-delay:170ms;
    }

    .modal__close{
      position:absolute;top:14px;right:14px;
      width:40px;height:40px;
      display:flex;align-items:center;justify-content:center;
      border-radius:14px;
      color:var(--text-secondary);
      transition:background var(--tr-fast), color var(--tr-fast), transform var(--tr-fast), border-color var(--tr-fast);
      z-index:5;
      background: rgba(11,13,16,.38);
      border:1px solid rgba(255,255,255,.10);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    .modal__close:hover{
      background: rgba(255,255,255,.06);
      border-color: rgba(255,255,255,.16);
      color: var(--text-primary);
      transform: scale(1.02);
    }

    .modal__top{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:0;
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .modal__cover{
      position:relative;
      min-height: 300px;
      background:#0E1116;
      overflow:hidden;
    }
    .modal__cover img{
      width:100%; height:100%;
      object-fit:cover;
      transform: scale(1.01);
      filter:saturate(1.08) contrast(1.03);
    }
    .modal__cover::after{
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(90deg, rgba(0,0,0,.20), rgba(0,0,0,.55));
      pointer-events:none;
    }

    .modal__meta{
      padding:var(--sp-xl);
      display:flex;
      flex-direction:column;
      gap: var(--sp-md);
      background: rgba(0,0,0,.10);
      min-width: 0;
    }
    .modal__num{font-size:.75rem;font-weight:900;color:var(--accent);letter-spacing:.12em;text-transform:uppercase}
    .modal__title{font-size:1.55rem;font-weight:900;letter-spacing:-.02em;line-height:1.15}
    .modal__subtitle{color:var(--text-secondary);line-height:1.7}

    /* ВАЖНО: модал-теги тоже без обводок/рамок */
    .modal__tags{
      display:flex;flex-wrap:wrap;gap:8px;
      justify-content:flex-start;
      align-items:flex-start;
      text-align:left;
      margin-left:0;
      padding-left:0;
      width:100%;
      border:none !important;
      outline:none !important;
      box-shadow:none !important;
      background:transparent !important;
    }
    .modal__tags .tag{
      padding: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      color: rgba(255,255,255,.26) !important;
      border:none !important;
      outline:none !important;
      box-shadow:none !important;
    }

    .modal__content{
      padding: var(--sp-xl);
      max-height: calc(88vh - 320px);
      overflow:auto;
    }
    .modal__content::-webkit-scrollbar{width:4px}
    .modal__content::-webkit-scrollbar-track{background:transparent}
    .modal__content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:2px}

    .tabs{
      display:flex; gap:10px; align-items:center;
      padding: 0 0 var(--sp-md) 0;
      border-bottom:1px solid rgba(255,255,255,.06);
      margin-bottom: var(--sp-lg);
      flex-wrap: wrap;
    }
    .tab{
      padding: 10px 12px;
      border-radius: 14px;
      font-size:.9rem;
      color: var(--text-secondary);
      transition:background var(--tr-base), color var(--tr-base);
      border: 1px solid transparent;
      white-space: nowrap;
    }
    .tab:hover{background:rgba(255,255,255,.03);color:var(--text-primary)}
    .tab[aria-selected="true"]{
      color: var(--text-primary);
      background: rgba(224,138,46,.10);
      border-color: rgba(224,138,46,.16);
    }

    .panel{display:none}
    .panel.active{display:block; animation:panelIn .35s ease both}
    @keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

    .modal__desc{color:var(--text-secondary);line-height:1.8}
    .modal__mech-title{
      font-size:.75rem;font-weight:900;
      letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);
      margin-bottom:var(--sp-md)
    }
    .modal__mech{margin-top: var(--sp-md)}
    .modal__mech li{
      position:relative;
      padding-left:var(--sp-lg);
      margin-bottom:var(--sp-sm);
      color:var(--text-secondary);
      font-size:.95rem;line-height:1.65
    }
    .modal__mech li::before{
      content:"";
      position:absolute;left:0;top:10px;
      width:7px;height:7px;border-radius:50%;
      background:var(--accent);opacity:.65
    }

    .modal__actions{
      display:flex;gap:var(--sp-md);flex-wrap:wrap;
      padding-top:var(--sp-lg);
      border-top:1px solid rgba(255,255,255,.06);
      margin-top: var(--sp-xl);
    }

    /* ===== Scroll reveal (не для hero) ===== */
    .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
    .reveal.visible{opacity:1;transform:translateY(0)}
    .reveal-d1{transition-delay:.06s}
    .reveal-d2{transition-delay:.12s}
    .reveal-d3{transition-delay:.18s}
    .reveal-d4{transition-delay:.24s}
    .reveal-d5{transition-delay:.30s}

    /* ===== Intro animation ===== */
    .intro-item{
      opacity:0;
      transform: translateY(18px) scale(.99);
      filter: blur(2px);
      transition: opacity 900ms cubic-bezier(.16,.9,.18,1),
                  transform 900ms cubic-bezier(.16,.9,.18,1),
                  filter 900ms cubic-bezier(.16,.9,.18,1);
      will-change: transform, opacity;
    }
    .intro-ready .intro-item{
      opacity:1;
      transform: translateY(0) scale(1);
      filter: blur(0);
    }
    .intro-delay-1{transition-delay: 80ms}
    .intro-delay-2{transition-delay: 160ms}
    .intro-delay-3{transition-delay: 240ms}
    .intro-delay-4{transition-delay: 320ms}

    /* ===== REDUCED MOTION ===== */
    @media(prefers-reduced-motion:reduce){
      .reveal{opacity:1;transform:none;transition:none}
      .intro-item{opacity:1;transform:none;filter:none;transition:none}
      .lines-bg::before,.lines-bg::after{animation:none}
      .case-card,.btn,.contact__link{transition:none}
      .case-card:hover{transform:none}
      .case-card::before,.case-card::after{display:none}
      .panel.active{animation:none}
      .modal-overlay,.modal,.modal__top,.modal__content{transition:none !important;transform:none !important;filter:none !important}
      body.scroll-glow::before,body.scroll-glow::after{display:none}
      html{scroll-behavior:auto}
    }

    /* ===== TABLET ===== */
    @media(max-width:1024px){
      .section{padding:44px 0}
      .about__grid{grid-template-columns:1fr;gap:var(--sp-2xl)}
      .cases__grid{grid-template-columns:repeat(2,1fr)}
      .hero__highlights{grid-template-columns:1fr;max-width:720px}
      .modal-overlay{align-items:flex-start;overflow-y:auto}
      .modal{
        max-height: calc(100dvh - var(--sp-lg) - var(--sp-lg));
        overflow-y:auto;
      }
      .modal__top{grid-template-columns:1fr}
      .modal__cover{min-height:240px}
      .modal__content{max-height:none;overflow:visible}
    }

    /* ===== MOBILE ===== */
    @media(max-width:640px){
      .wrap{width:min(var(--container), calc(100% - 32px))}

      .hero{min-height:auto;padding-top:calc(var(--nav-h) + var(--sp-3xl));padding-bottom:var(--sp-3xl)}
      .hero__actions{flex-direction:column}
      .hero__actions .btn{width:100%}

      .expertise__grid{grid-template-columns:1fr}
      .cases__grid{grid-template-columns:1fr}

      .contact__links{flex-direction:column;align-items:center}
      .contact__link{width:100%;max-width:360px;justify-content:center}

      .section{padding:32px 0}

      .modal{border-radius:var(--r-lg)}
      .modal__meta{padding:var(--sp-lg)}
      .modal__content{padding:var(--sp-lg)}
      .modal__actions{flex-direction:column}
      .modal__actions .btn{width:100%}
    }
