:root{
      --red:#C41E3A;
      --red-light:#ff5a6f;
      --darker:#0f1115;
      --white:#ffffff;
      --text:#e8ecf2;
      --muted:rgba(255,255,255,.62);
      --line:rgba(255,255,255,.10);
      --bg:#0b0d11;
      --card:#11151c;
      --transition:.25s ease;
      --ease-out:cubic-bezier(.22,1,.36,1);
      --ease-spring:cubic-bezier(.34,1.56,.64,1);
      --glow-red:0 0 60px rgba(196,30,58,.35);
      --font-head: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      --font-body: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    }

    @keyframes tph-float{
      0%,100%{transform:translate(0,0) scale(1)}
      33%{transform:translate(12px,-18px) scale(1.04)}
      66%{transform:translate(-10px,8px) scale(.96)}
    }
    @keyframes tph-shimmer{
      0%{background-position:200% center}
      100%{background-position:-200% center}
    }
    @keyframes tph-fade-up{
      from{opacity:0;transform:translateY(22px)}
      to{opacity:1;transform:translateY(0)}
    }
    @keyframes tph-scale-in{
      from{opacity:0;transform:scale(.96)}
      to{opacity:1;transform:scale(1)}
    }
    @keyframes tph-border-spin{
      to{transform:rotate(360deg)}
    }
    @keyframes tph-pulse-glow{
      0%,100%{opacity:.45}
      50%{opacity:.85}
    }
    @keyframes tph-skeleton{
      0%{background-position:200% 0}
      100%{background-position:-200% 0}
    }
    @keyframes tph-spin{
      to{transform:rotate(360deg)}
    }
    @keyframes tph-arrow-nudge{
      0%,100%{transform:translateX(0)}
      50%{transform:translateX(4px)}
    }

    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:var(--font-body);
      background:#090b0f;
      color:var(--text);
      min-height:100vh;
      overflow-x:hidden;
    }

    .page-bg{
      position:fixed;
      inset:0;
      z-index:0;
      pointer-events:none;
      overflow:hidden;
    }
    .page-bg__orb{
      position:absolute;
      border-radius:50%;
      filter:blur(80px);
      opacity:.55;
      animation:tph-float 18s ease-in-out infinite;
    }
    .page-bg__orb--1{
      width:min(520px,70vw);
      height:min(520px,70vw);
      top:-12%;
      right:-8%;
      background:radial-gradient(circle, rgba(196,30,58,.42), transparent 68%);
    }
    .page-bg__orb--2{
      width:min(400px,55vw);
      height:min(400px,55vw);
      bottom:8%;
      left:-10%;
      background:radial-gradient(circle, rgba(91,65,255,.22), transparent 70%);
      animation-delay:-6s;
      animation-duration:22s;
    }
    .page-bg__orb--3{
      width:min(280px,40vw);
      height:min(280px,40vw);
      top:42%;
      left:38%;
      background:radial-gradient(circle, rgba(255,90,111,.12), transparent 70%);
      animation-delay:-11s;
      animation-duration:26s;
    }
    .page-bg__grid{
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
      background-size:48px 48px;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.5), transparent 85%);
      opacity:.35;
    }

    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}

    .page-wrap{
      position:relative;
      z-index:1;
      min-height:100vh;
      display:flex;
      flex-direction:column;
    }

    body.is-page-ready .news-hero,
    body.is-page-ready .news-layout{
      animation:tph-fade-up .7s var(--ease-out) both;
    }
    body.is-page-ready .news-layout{animation-delay:.12s}

    .page-main{
      width:100%;
      flex:1 0 auto;
    }

    .content-container{
      max-width:1200px;
      margin:0 auto;
      padding:28px 24px 0;
    }

    .news-hero{
      display:grid;
      grid-template-columns:1fr;
      gap:20px;
      margin-top:10px;
    }

    .hero-card{
      position:relative;
      background:
        linear-gradient(135deg, rgba(196,30,58,.14), rgba(255,255,255,.04)),
        rgba(17,21,28,.82);
      border-radius:28px;
      padding:28px 32px 30px;
      box-shadow:0 24px 70px rgba(0,0,0,.38), var(--glow-red);
      backdrop-filter:blur(14px);
      overflow:hidden;
      isolation:isolate;
    }

    .hero-card::before{
      content:'';
      position:absolute;
      inset:0;
      border-radius:inherit;
      padding:1px;
      background:linear-gradient(135deg, rgba(196,30,58,.65), rgba(255,255,255,.12), rgba(91,65,255,.35));
      -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite:xor;
      mask-composite:exclude;
      pointer-events:none;
    }

    .hero-card::after{
      content:'';
      position:absolute;
      top:-40%;
      right:-20%;
      width:55%;
      height:140%;
      background:linear-gradient(105deg, transparent 40%, rgba(255,255,255,.07) 50%, transparent 60%);
      transform:skewX(-12deg);
      animation:tph-shimmer 7s ease-in-out infinite;
      pointer-events:none;
    }

    .hero-eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin:0 0 12px;
      padding:6px 12px;
      border-radius:999px;
      font-size:11px;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:#ffc9d1;
      background:rgba(196,30,58,.14);
      border:1px solid rgba(196,30,58,.28);
    }

    .hero-eyebrow__dot{
      width:7px;
      height:7px;
      border-radius:50%;
      background:var(--red-light);
      box-shadow:0 0 12px var(--red-light);
      animation:tph-pulse-glow 2s ease-in-out infinite;
    }

    .hero-title{
      margin:0;
      font-family:var(--font-head);
      font-size:clamp(32px, 4.5vw, 56px);
      line-height:1.02;
      letter-spacing:-.04em;
      background:linear-gradient(120deg, #fff 0%, #fff 45%, #ffb3c0 100%);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }

    .hero-sub{
      margin:14px 0 0;
      max-width:560px;
      font-size:15px;
      line-height:1.65;
      color:var(--muted);
    }

    .news-layout{
      display:grid;
      grid-template-columns:1fr;
      gap:24px;
      margin-top:24px;
      align-items:start;
    }

    .news-main{
      min-width:0;
    }

    .news-shell{
      position:relative;
      background:rgba(17,21,28,.78);
      border:1px solid rgba(255,255,255,.08);
      border-radius:28px;
      box-shadow:0 20px 60px rgba(0,0,0,.30);
      overflow:hidden;
    }

    .news-shell::before{
      content:'';
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:2px;
      background:linear-gradient(90deg, transparent, var(--red), #ff8fa0, transparent);
      background-size:200% 100%;
      animation:tph-shimmer 4s linear infinite;
      opacity:.85;
    }

    .news-shell__head{
      padding:20px 22px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      border-bottom:1px solid rgba(255,255,255,.07);
      background:linear-gradient(180deg, rgba(255,255,255,.04), transparent);
    }

    .news-shell__title{
      margin:0;
      font-size:18px;
      font-family:var(--font-head);
      letter-spacing:.02em;
      display:flex;
      align-items:center;
      gap:10px;
    }

    .news-shell__title::before{
      content:'';
      width:4px;
      height:18px;
      border-radius:4px;
      background:linear-gradient(180deg, var(--red-light), var(--red));
      box-shadow:0 0 14px rgba(196,30,58,.5);
    }

    .news-shell__actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }

    .mini-btn{
      appearance:none;
      border:none;
      border-radius:999px;
      padding:10px 16px;
      background:rgba(255,255,255,.06);
      color:#fff;
      cursor:pointer;
      transition:transform .25s var(--ease-out), background .25s ease, border-color .25s ease, box-shadow .25s ease;
      border:1px solid rgba(255,255,255,.08);
      font-size:13px;
      font-weight:700;
      position:relative;
      overflow:hidden;
    }

    .mini-btn::after{
      content:'';
      position:absolute;
      inset:0;
      background:linear-gradient(120deg, transparent, rgba(255,255,255,.12), transparent);
      transform:translateX(-120%);
      transition:transform .5s ease;
    }

    .mini-btn:hover{
      background:rgba(196,30,58,.18);
      border-color:rgba(196,30,58,.35);
      transform:translateY(-2px);
      box-shadow:0 8px 24px rgba(196,30,58,.22);
    }

    .mini-btn:hover::after{transform:translateX(120%)}
    .mini-btn.is-spinning svg{animation:tph-spin .7s linear infinite}

    .news-status{
      display:none;
      padding:18px 22px;
      color:var(--muted);
      font-size:14px;
      border-bottom:1px solid rgba(255,255,255,.06);
    }

    .news-status.is-visible{display:block}
    .news-status.is-error{color:#ffd6dc}

    .news-list{
      padding:22px;
      display:grid;
      gap:16px;
    }

    .news-card{
      position:relative;
      border-radius:24px;
      overflow:hidden;
      background:
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)),
        rgba(15,19,25,.92);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:0 10px 30px rgba(0,0,0,.18);
      transition:transform .35s var(--ease-out), border-color .35s ease, box-shadow .35s ease;
      opacity:0;
      transform:translateY(18px);
    }

    .news-card::before{
      content:'';
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:3px;
      background:linear-gradient(180deg, var(--red-light), var(--red));
      transform:scaleY(0);
      transform-origin:top;
      transition:transform .35s var(--ease-out);
      border-radius:0 4px 4px 0;
    }

    .news-card.is-visible{
      animation:tph-fade-up .55s var(--ease-out) forwards;
      animation-delay:var(--card-delay, 0ms);
    }

    .news-card:hover{
      transform:translateY(-6px) scale(1.005);
      border-color:rgba(196,30,58,.28);
      box-shadow:0 20px 50px rgba(0,0,0,.32), 0 0 0 1px rgba(196,30,58,.12);
    }

    .news-card:hover::before{transform:scaleY(1)}

    .news-card__link{
      display:block;
      width:100%;
      min-height:auto;
    }

    .news-card__body{
      padding:18px 18px 18px 20px;
      display:flex;
      flex-direction:column;
      gap:14px;
    }

    .news-card__meta{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:center;
    }

    .news-badge{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 10px;
      border-radius:999px;
      background:rgba(196,30,58,.12);
      border:1px solid rgba(196,30,58,.18);
      color:#ffd6dc;
      font-size:12px;
      font-weight:700;
      letter-spacing:.02em;
    }

    .news-card h2{
      margin:0;
      font-size:20px;
      line-height:1.25;
      letter-spacing:-.02em;
      color:#fff;
    }

    .news-card p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
      display:-webkit-box;
      -webkit-line-clamp:3;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }

    .news-card__footer{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      padding-top:2px;
    }

    .news-readmore{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:13px;
      font-weight:800;
      color:#fff;
      padding:10px 14px;
      border-radius:999px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      transition:background .3s ease, border-color .3s ease, transform .3s var(--ease-out), box-shadow .3s ease;
    }

    .news-readmore__arrow{
      display:inline-block;
      transition:transform .3s var(--ease-out);
    }

    .news-card:hover .news-readmore{
      background:linear-gradient(135deg, rgba(196,30,58,.28), rgba(196,30,58,.12));
      border-color:rgba(196,30,58,.4);
      box-shadow:0 6px 20px rgba(196,30,58,.2);
      transform:translateX(2px);
    }

    .news-card:hover .news-readmore__arrow{
      animation:tph-arrow-nudge 1s ease-in-out infinite;
    }

    .news-pager{
      padding:0 22px 22px;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
    }

    .pager-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:42px;
      height:42px;
      padding:0 14px;
      border-radius:12px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.05);
      color:rgba(255,255,255,.78);
      font-weight:700;
      cursor:pointer;
      transition:transform .25s var(--ease-out), background .25s ease, border-color .25s ease, box-shadow .25s ease;
      opacity:0;
      animation:tph-scale-in .4s var(--ease-out) forwards;
      animation-delay:var(--pager-delay, 0ms);
    }

    .pager-btn:hover{
      transform:translateY(-2px) scale(1.04);
      background:rgba(255,255,255,.1);
      border-color:rgba(255,255,255,.18);
      box-shadow:0 6px 18px rgba(0,0,0,.2);
    }

    .pager-btn.is-active{
      background:linear-gradient(135deg, var(--red-light), var(--red));
      border-color:transparent;
      color:#fff;
      cursor:default;
      box-shadow:0 8px 24px rgba(196,30,58,.35);
    }

    .pager-btn.is-disabled{
      pointer-events:none;
      opacity:.45;
    }

    /* ARTICLE PANEL */
    .article-panel{
      max-height:0;
      opacity:0;
      transform:translateY(-18px);
      overflow:hidden;
      transition:max-height .55s ease, opacity .28s ease, transform .55s ease, margin-top .55s ease;
      margin-top:0;
    }

    .article-panel.is-open{
      max-height:12000px;
      opacity:1;
      transform:translateY(0);
      margin-top:24px;
    }

    .article-panel__inner{
      background:rgba(17,21,28,.88);
      border:1px solid rgba(255,255,255,.09);
      border-radius:28px;
      box-shadow:0 22px 70px rgba(0,0,0,.34), var(--glow-red);
      backdrop-filter:blur(14px);
      overflow:hidden;
      transform:translateY(8px);
      opacity:.92;
      transition:transform .5s var(--ease-out), opacity .4s ease;
    }

    .article-panel.is-open .article-panel__inner{
      transform:translateY(0);
      opacity:1;
      animation:tph-scale-in .45s var(--ease-out);
    }

    .article-panel__head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
      padding:22px;
      border-bottom:1px solid rgba(255,255,255,.07);
      background:linear-gradient(180deg, rgba(255,255,255,.04), transparent);
    }

    .article-panel__title{
      margin:0;
      font-size:clamp(22px, 3vw, 36px);
      line-height:1.08;
      letter-spacing:-.03em;
      font-family:var(--font-head);
    }

    .article-panel__meta{
      margin-top:10px;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }

    .article-panel__pill{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 10px;
      border-radius:999px;
      background:rgba(196,30,58,.12);
      border:1px solid rgba(196,30,58,.18);
      color:#ffd6dc;
      font-size:12px;
      font-weight:700;
      max-width:100%;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }

    .article-panel__close{
      width:40px;
      height:40px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.08);
      cursor:pointer;
      color:#fff;
      background:rgba(255,255,255,.06);
      font-size:24px;
      line-height:1;
      flex:0 0 auto;
      transition:transform .3s var(--ease-spring), background .25s ease, border-color .25s ease;
    }

    .article-panel__close:hover{
      background:rgba(196,30,58,.22);
      border-color:rgba(196,30,58,.35);
      transform:rotate(90deg) scale(1.06);
    }

    .article-panel__body{
      padding:22px;
      color:var(--text);
      line-height:1.8;
      font-size:15px;
    }

    .article-panel__body.is-loading{
      min-height:120px;
    }

    .article-panel__body.is-loaded > *{
      animation:tph-fade-up .45s var(--ease-out) both;
    }
    .article-panel__body.is-loaded > *:nth-child(1){animation-delay:.04s}
    .article-panel__body.is-loaded > *:nth-child(2){animation-delay:.08s}
    .article-panel__body.is-loaded > *:nth-child(3){animation-delay:.12s}
    .article-panel__body.is-loaded > *:nth-child(n+4){animation-delay:.16s}

    .news-skeleton{
      border-radius:24px;
      padding:20px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.06);
      overflow:hidden;
    }

    .news-skeleton__line{
      height:12px;
      border-radius:8px;
      margin-bottom:12px;
      background:linear-gradient(90deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.12) 50%, rgba(255,255,255,.04) 100%);
      background-size:200% 100%;
      animation:tph-skeleton 1.4s ease-in-out infinite;
    }

    .news-skeleton__line--title{height:20px;width:72%;margin-bottom:16px}
    .news-skeleton__line--short{width:40%}
    .news-skeleton__line--mid{width:88%}

    .article-panel__body p{
      margin:0 0 14px;
      color:rgba(255,255,255,.82);
    }

    .article-panel__body h1,
    .article-panel__body h2,
    .article-panel__body h3,
    .article-panel__body h4{
      margin:20px 0 12px;
      line-height:1.2;
      color:#fff;
      font-family:var(--font-head);
    }

    .article-panel__body h1{font-size:30px}
    .article-panel__body h2{font-size:24px}
    .article-panel__body h3{font-size:20px}
    .article-panel__body h4{font-size:18px}

    .article-panel__body ul,
    .article-panel__body ol{
      margin:0 0 16px 22px;
      color:rgba(255,255,255,.82);
    }

    .article-panel__body li{margin-bottom:8px}

    .article-panel__body a{
      color:#ff8fa0;
      text-decoration:underline;
      text-underline-offset:3px;
    }

    .article-panel__body blockquote{
      margin:0 0 16px;
      padding:14px 16px;
      border-left:3px solid var(--red);
      background:rgba(255,255,255,.04);
      border-radius:14px;
      color:rgba(255,255,255,.78);
    }

    .article-panel__body table{
      width:100%;
      border-collapse:collapse;
      margin:0 0 16px;
      overflow:hidden;
      border-radius:16px;
    }

    .article-panel__body td,
    .article-panel__body th{
      border:1px solid rgba(255,255,255,.08);
      padding:10px 12px;
      color:rgba(255,255,255,.82);
    }

    .article-panel__body img{
      display:block !important;
      max-width:100% !important;
      width:auto !important;
      height:auto !important;
      border-radius:18px !important;
      margin:12px 0 !important;
      object-fit:contain !important;
    }

    .article-panel__body a{
      display:inline-block;
    }

    .article-panel__body picture,
    .article-panel__body figure,
    .article-panel__body iframe,
    .article-panel__body video,
    .article-panel__body audio,
    .article-panel__body source,
    .article-panel__body svg{
      max-width:100%;
    }

    .article-panel__body .n-thumb{
      display:none !important;
    }

    .article-panel__body .s3_pagelist_container,
    .article-panel__body .page-path{
      display:none !important;
    }

    .article-panel__body hr{
      border:none;
      border-top:1px solid rgba(255,255,255,.08);
      margin:18px 0;
    }

    .article-panel__body .article-wrap,
    .article-panel__body .content-73{
      display:block;
    }

    .article-panel__body p:has(img){
      margin-bottom:0;
    }

    .article-gallery-hint{
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding:14px 16px;
      margin:0 0 18px;
      border-radius:16px;
      background:linear-gradient(135deg, rgba(196,30,58,.14), rgba(255,255,255,.04));
      border:1px solid rgba(196,30,58,.24);
      font-size:13px;
      line-height:1.6;
      color:rgba(255,255,255,.78);
      animation:tph-fade-up .45s var(--ease-out) both;
    }

    .article-gallery-hint strong{
      color:#fff;
      font-weight:800;
    }

    .article-gallery-hint__icon{
      flex:0 0 auto;
      width:36px;
      height:36px;
      display:flex;
      align-items:center;
      justify-content:center;
      border-radius:12px;
      background:rgba(196,30,58,.2);
      font-size:18px;
    }

    .article-gallery-hint__keys{
      display:inline-block;
      margin:0 2px;
      padding:2px 7px;
      border-radius:6px;
      background:rgba(255,255,255,.1);
      border:1px solid rgba(255,255,255,.12);
      font-weight:800;
      font-size:12px;
      color:#fff;
    }

    .article-gallery{
      display:grid;
      grid-template-columns:repeat(auto-fill, minmax(168px, 1fr));
      gap:12px;
      margin:0 0 24px;
      padding:16px;
      border-radius:20px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)),
        rgba(0,0,0,.15);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    }

    .article-gallery__item{
      position:relative;
      aspect-ratio:4/3;
      border:none;
      padding:0;
      border-radius:14px;
      overflow:hidden;
      cursor:zoom-in;
      background:rgba(0,0,0,.3);
      transition:transform .28s var(--ease-out), box-shadow .28s ease;
    }

    .article-gallery__item::after{
      content:'⤢';
      position:absolute;
      right:8px;
      bottom:8px;
      width:30px;
      height:30px;
      display:flex;
      align-items:center;
      justify-content:center;
      border-radius:10px;
      background:rgba(0,0,0,.6);
      color:#fff;
      font-size:15px;
      opacity:0;
      transition:opacity .22s ease;
      pointer-events:none;
    }

    .article-gallery__item:hover{
      transform:scale(1.03);
      box-shadow:0 14px 36px rgba(0,0,0,.4);
      z-index:1;
    }

    .article-gallery__item:hover::after{opacity:1}

    .article-gallery__item img{
      width:100% !important;
      height:100% !important;
      max-width:none !important;
      margin:0 !important;
      object-fit:cover !important;
      border-radius:0 !important;
      display:block !important;
    }

    .article-photo-single-wrap{
      margin:0 auto 22px !important;
      max-width:min(640px, 100%);
      padding:10px;
      border-radius:20px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.08);
      text-align:center;
    }

    .article-photo-single-wrap img{
      margin:0 auto !important;
      border-radius:14px !important;
      max-height:420px;
      object-fit:contain !important;
    }

    .article-panel__body img.is-gallery-thumb{
      cursor:zoom-in;
      transition:transform .25s ease, box-shadow .25s ease;
    }

    .article-panel__body img.is-gallery-thumb:hover{
      transform:scale(1.02);
      box-shadow:0 16px 44px rgba(196,30,58,.18), 0 12px 36px rgba(0,0,0,.35);
    }

    @media (max-width: 520px){
      .article-gallery{
        grid-template-columns:repeat(2, 1fr);
        gap:10px;
        padding:12px;
      }
      .article-gallery-hint{font-size:12px;padding:12px 14px}
    }

    /* LIGHTBOX */
    .img-lightbox{
      position:fixed;
      inset:0;
      z-index:2147483646;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:20px;
      opacity:0;
      visibility:hidden;
      transition:opacity .32s ease, visibility .32s ease;
    }

    .img-lightbox.is-open{
      opacity:1;
      visibility:visible;
    }

    .img-lightbox__backdrop{
      position:absolute;
      inset:0;
      background:rgba(0,0,0,.82);
      backdrop-filter:blur(10px);
    }

    .img-lightbox__box{
      position:relative;
      z-index:1;
      width:min(1100px, 100%);
      max-height:min(92vh, 900px);
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:14px;
      transform:scale(.94) translateY(12px);
      opacity:0;
      transition:transform .38s cubic-bezier(.22,1,.36,1), opacity .32s ease;
    }

    .img-lightbox.is-open .img-lightbox__box{
      transform:scale(1) translateY(0);
      opacity:1;
      animation:tph-scale-in .4s var(--ease-out);
    }

    .img-lightbox.is-open .img-lightbox__backdrop{
      animation:tph-fade-up .35s ease both;
    }

    .img-lightbox__close{
      position:absolute;
      top:-6px;
      right:0;
      width:44px;
      height:44px;
      border-radius:50%;
      border:none;
      cursor:pointer;
      color:#fff;
      background:rgba(255,255,255,.08);
      font-size:26px;
      line-height:1;
      z-index:3;
      transition:var(--transition);
    }

    .img-lightbox__close:hover{
      background:rgba(255,255,255,.14);
      transform:scale(1.05);
    }

    .img-lightbox__stage{
      position:relative;
      width:100%;
      min-height:200px;
      max-height:min(78vh, 760px);
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
      border-radius:22px;
      background:rgba(17,21,28,.55);
      border:1px solid rgba(255,255,255,.10);
      box-shadow:0 24px 80px rgba(0,0,0,.45);
      touch-action:pan-y;
    }

    .img-lightbox__track{
      display:flex;
      width:100%;
      height:100%;
      transition:transform .42s cubic-bezier(.22,1,.36,1);
      will-change:transform;
    }

    .img-lightbox__slide{
      flex:0 0 100%;
      width:100%;
      min-height:200px;
      max-height:min(78vh, 760px);
      display:flex;
      align-items:center;
      justify-content:center;
      padding:18px;
    }

    .img-lightbox__slide img{
      max-width:100%;
      max-height:min(74vh, 720px);
      width:auto;
      height:auto;
      object-fit:contain;
      border-radius:12px;
      user-select:none;
      -webkit-user-drag:none;
    }

    .img-lightbox__nav{
      position:absolute;
      top:50%;
      transform:translateY(-50%);
      width:48px;
      height:48px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.08);
      color:#fff;
      font-size:28px;
      line-height:1;
      cursor:pointer;
      z-index:2;
      display:flex;
      align-items:center;
      justify-content:center;
      transition:var(--transition);
    }

    .img-lightbox__nav:hover:not(:disabled){
      background:rgba(255,255,255,.14);
      transform:translateY(-50%) scale(1.06);
    }

    .img-lightbox__nav:disabled{
      opacity:.35;
      cursor:default;
    }

    .img-lightbox__nav--prev{left:-8px}
    .img-lightbox__nav--next{right:-8px}

    .img-lightbox__footer{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      flex-wrap:wrap;
    }

    .img-lightbox__counter{
      font-size:13px;
      font-weight:700;
      color:rgba(255,255,255,.72);
      letter-spacing:.04em;
      padding:8px 14px;
      border-radius:999px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
    }

    .img-lightbox__dots{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      justify-content:center;
      max-width:min(520px, 90vw);
    }

    .img-lightbox__dot{
      width:8px;
      height:8px;
      border-radius:50%;
      border:none;
      padding:0;
      background:rgba(255,255,255,.28);
      cursor:pointer;
      transition:var(--transition);
    }

    .img-lightbox__dot.is-active,
    .img-lightbox__dot:hover{
      background:var(--red);
      transform:scale(1.15);
    }

    @media (max-width: 768px){
      .img-lightbox{padding:12px}
      .img-lightbox__nav{width:42px;height:42px;font-size:24px}
      .img-lightbox__nav--prev{left:4px}
      .img-lightbox__nav--next{right:4px}
      .img-lightbox__close{top:4px;right:4px}
    }

    /* ШАПКА */
    /* шапка */
.tphHeader {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: #111 !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.4) !important;
}
.tphHeader, .tphHeader * { box-sizing: border-box; }
.tphContainer { max-width: 1200px !important; margin: 0 auto !important; padding: 0 24px !important; }
.tphTop { background: #C41E3A !important; padding: 6px 0 !important; }
.tphTopInner {
  display: flex !important; align-items: center !important;
  justify-content: flex-end !important; gap: 18px !important; flex-wrap: wrap !important;
}
.tphPhone {
  display: inline-flex !important; align-items: center !important; gap: 7px !important;
  color: #fff !important; font-weight: 600 !important; font-size: 14px !important;
  letter-spacing: .02em !important; text-decoration: none !important; white-space: nowrap !important;
  opacity: .95 !important;
}
.tphPhone:hover { opacity: 1 !important; }
.tphPhone svg { opacity: .85 !important; }
.tphCta {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  padding: 6px 16px !important; font-size: 13px !important; font-weight: 800 !important;
  color: #fff !important; text-decoration: none !important; border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.35) !important; background: rgba(0,0,0,.14) !important;
  white-space: nowrap !important;
}
.tphMain {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 14px !important; padding: 14px 0 !important; position: relative !important;
}
.tphLogo {
  display: flex !important; align-items: center !important; gap: 14px !important;
  color: #fff !important; text-decoration: none !important;
}
.tphLogoImg { width: 54px !important; height: 54px !important; object-fit: contain !important; display: block !important; }
.tphLogoText {
  font-family: var(--font-body) !important;
  font-size: 13px !important; font-weight: 800 !important; text-transform: uppercase !important;
  letter-spacing: .05em !important; line-height: 1.25 !important; max-width: 260px !important; color: #fff !important;
}
.tphLogoText span { color: rgba(255,255,255,.78) !important; }
.tphNav {
  display: flex !important; align-items: center !important; gap: 4px !important;
  flex-wrap: wrap !important; justify-content: flex-end !important;
}
.tphNav a {
  color: rgba(255,255,255,.78) !important; font-size: 13px !important; font-weight: 600 !important;
  padding: 8px 11px !important; border-radius: 10px !important; text-decoration: none !important; white-space: nowrap !important;
}
.tphNav a:hover { color: #fff !important; background: rgba(255,255,255,.10) !important; }
.tphBurger {
  display: none !important; flex-direction: column !important; gap: 5px !important;
  background: none !important; border: none !important; cursor: pointer !important; padding: 10px !important;
}
.tphBurger span { display: block !important; width: 26px !important; height: 2px !important; background: #fff !important; border-radius: 2px !important; }

    /* ФУТЕР */
    .footer { background: var(--darker); color: var(--white); padding: 70px 0 0; margin-top:32px; }
    .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 50px; }
    .logo-text { font-family: var(--font-head); font-size: 13px; font-weight: 700; color: var(--white); text-transform: uppercase; letter-spacing: .05em; line-height: 1.3; max-width: 220px; }
    .logo-text span { color: rgba(255,255,255,.78); }
    .footer-brand-text { font-size: 13.5px; color: rgba(255,255,255,.45); line-height: 1.75; margin: 16px 0 24px; font-weight: 300; }
    .footer-socials { display: flex; gap: 10px; }
    .footer-social { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; transition: var(--transition); color: rgba(255,255,255,.5); }
    .footer-social:hover { background: var(--red); border-color: var(--red); color: var(--white); }
    .footer-heading { font-family: var(--font-head); font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.4); margin-bottom: 20px; }
    .footer-nav li { margin-bottom: 10px; }
    .footer-nav a { font-size: 13.5px; color: rgba(255,255,255,.55); transition: var(--transition); }
    .footer-nav a:hover { color: var(--red-light); }
    .footer-contact-item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; font-size: 13.5px; color: rgba(255,255,255,.55); line-height: 1.5; }
    .footer-contact-item svg { flex-shrink: 0; margin-top: 2px; opacity: .6; }
    .footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 20px 0; margin-top: 60px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
    .footer-bottom-text { font-size: 12px; color: rgba(255,255,255,.25); }

    /* ПЛАВАЮЩИЕ КНОПКИ */
    .float-btns {
      position: fixed; bottom: 32px; right: 28px;
      display: flex; flex-direction: column; gap: 12px; z-index: 9999;
      animation:tph-fade-up .8s var(--ease-out) .5s both;
    }
    .float-btn {
      width: 52px; height: 52px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 18px rgba(0,0,0,.3);
      transition: transform .3s var(--ease-spring), box-shadow .3s ease;
      cursor: pointer; border:none;
    }
    .float-btn:hover { transform: scale(1.14) translateY(-2px); box-shadow: 0 10px 32px rgba(0,0,0,.4); }
    .float-btn-wa { background: #25D366; }
    .float-btn-max { background: linear-gradient(135deg,#5B41FF,#8B5CF6) !important; box-shadow: 0 4px 20px rgba(91,65,255,.5) !important; border: none; }
    .float-btn-max:hover { background: linear-gradient(135deg,#4C35E0,#7C4FE0) !important; transform: scale(1.1); box-shadow: 0 6px 25px rgba(91,65,255,.6) !important; }
    .float-btn-max img { display: block; }

    .vk-tooltip{
      position:absolute;
      left:50%;
      bottom:calc(100% + 10px);
      transform:translateX(-50%);
      background:#111;
      border:1px solid rgba(255,255,255,.1);
      color:#fff;
      font-size:12px;
      padding:8px 10px;
      border-radius:10px;
      white-space:nowrap;
      opacity:0;
      pointer-events:none;
      transition:var(--transition);
    }
    .vk-tooltip.is-open{opacity:1; transform:translateX(-50%) translateY(-2px);}

    .copy-notification{
      position:fixed;
      left:50%;
      bottom:26px;
      transform:translateX(-50%) translateY(20px);
      background:#11151c;
      border:1px solid rgba(255,255,255,.10);
      color:#fff;
      padding:12px 16px;
      border-radius:999px;
      display:flex;
      align-items:center;
      gap:10px;
      box-shadow:0 14px 40px rgba(0,0,0,.35);
      opacity:0;
      pointer-events:none;
      transition:all .25s ease;
      z-index:40000;
    }
    .copy-notification.active{
      opacity:1;
      transform:translateX(-50%) translateY(0);
    }

    .toast{
      position:fixed;
      left:50%;
      top:18px;
      transform:translateX(-50%) translateY(-18px);
      background:#11151c;
      border:1px solid rgba(255,255,255,.10);
      color:#fff;
      padding:10px 16px;
      border-radius:999px;
      opacity:0;
      pointer-events:none;
      transition:all .25s ease;
      z-index:40000;
    }
    .toast.show{
      opacity:1;
      transform:translateX(-50%) translateY(0);
    }

    .phone-modal, .contacts-modal, .max-modal {
      position: fixed; inset: 0; background: rgba(0,0,0,.75); backdrop-filter: blur(8px);
      display: flex; align-items: center; justify-content: center;
      opacity: 0; visibility: hidden; transition: .3s ease; z-index: 2147483647; padding: 20px;
    }
    .phone-modal.active, .contacts-modal.active, .max-modal.active { opacity: 1; visibility: visible; }

    .phone-modal-box, .contacts-box, .max-modal-box{
      width:min(560px,100%);
      background:#10141a;
      border:1px solid rgba(255,255,255,.10);
      border-radius:24px;
      box-shadow:0 20px 60px rgba(0,0,0,.45);
      padding:24px;
      position:relative;
      color:#fff;
    }

    .phone-modal-close, .contacts-close, .max-modal-close{
      position:absolute;
      top:10px;
      right:10px;
      width:38px;
      height:38px;
      border-radius:50%;
      border:none;
      background:rgba(255,255,255,.06);
      color:#fff;
      cursor:pointer;
      font-size:20px;
      line-height:1;
    }

    .phone-modal-icon, .max-modal-icon{
      width:56px;
      height:56px;
      border-radius:18px;
      background:rgba(255,255,255,.06);
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:28px;
      margin-bottom:14px;
    }

    .phone-modal-title, .max-modal-title, .contacts-box h2{
      margin:0 0 10px;
      font-family:var(--font-head);
      font-size:22px;
      line-height:1.2;
    }

    .phone-modal-sub, .max-modal-text{
      margin:0;
      color:rgba(255,255,255,.68);
      line-height:1.7;
      font-size:14px;
    }

    .phone-modal-numbers{
      display:grid;
      gap:12px;
      margin-top:18px;
    }

    .phone-modal-num{
      display:flex;
      align-items:center;
      gap:12px;
      padding:14px 15px;
      border-radius:16px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
      color:#fff;
      text-decoration:none;
    }

    .phone-modal-num-icon{
      width:42px;
      height:42px;
      display:flex;
      align-items:center;
      justify-content:center;
      border-radius:14px;
      background:rgba(196,30,58,.16);
      font-size:18px;
      flex:0 0 auto;
    }

    .phone-modal-num-label{
      font-size:12px;
      color:rgba(255,255,255,.52);
      margin-bottom:2px;
    }

    .phone-modal-num-value{
      font-size:15px;
      font-weight:700;
    }

    .contact-item{
      display:flex;
      gap:12px;
      align-items:flex-start;
      margin-top:14px;
      padding:12px 14px;
      border-radius:16px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
    }

    .contact-icon{
      width:40px;
      height:40px;
      border-radius:14px;
      background:rgba(255,255,255,.06);
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:18px;
      flex:0 0 auto;
    }

    .contact-item strong{
      display:block;
      margin-bottom:4px;
      font-size:14px;
    }

    .contact-item p{
      margin:0;
      color:rgba(255,255,255,.70);
      line-height:1.6;
      font-size:14px;
    }

    .max-modal-box{
      text-align:center;
      max-width:520px;
    }

    .max-modal-icon img{
      width:48px;
      height:48px;
      object-fit:contain;
    }

    .max-modal-phone{
      margin-top:14px;
      font-size:24px;
      font-weight:800;
      letter-spacing:.02em;
    }

    .max-modal-buttons{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:18px;
    }

    .max-modal-copy,
    .max-modal-goto{
      flex:1 1 200px;
      min-height:46px;
      border-radius:14px;
      border:none;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:12px 16px;
      font-size:14px;
      font-weight:800;
      cursor:pointer;
      text-decoration:none;
      transition:var(--transition);
    }

    .max-modal-copy{
      background:rgba(255,255,255,.07);
      color:#fff;
      border:1px solid rgba(255,255,255,.10);
    }

    .max-modal-copy:hover{
      background:rgba(255,255,255,.10);
    }

    .max-modal-goto{
      background:linear-gradient(135deg,#5B41FF,#8B5CF6);
      color:#fff;
    }

    .max-modal-goto:hover{
      filter:brightness(1.05);
      transform:translateY(-1px);
    }

    .max-modal-timer{
      margin-top:14px;
      font-size:13px;
      color:rgba(255,255,255,.55);
    }

    @media (max-width: 1024px) {
      .footer-grid { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 980px) {
      .tphNav { display: none !important; }
      .tphBurger { display: flex !important; }
      .tphTopInner { justify-content: center !important; }
      body.tphMenuOpen .tphNav {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: calc(100% + 10px) !important;
        background: rgba(15,17,21,.96) !important;
        border: 1px solid rgba(255,255,255,.12) !important;
        border-radius: 16px !important;
        padding: 10px !important;
        box-shadow: 0 16px 45px rgba(0,0,0,.45) !important;
        z-index: 2147483647 !important;
      }
      body.tphMenuOpen .tphNav a {
        padding: 10px 12px !important;
        border-radius: 12px !important;
        background: rgba(255,255,255,.05) !important;
        border: 1px solid rgba(255,255,255,.10) !important;
      }
    }

    @media (max-width: 768px) {
      .content-container{padding-left:16px;padding-right:16px}
      .hero-card,.news-shell,.article-panel__inner{border-radius:22px}
      .news-list{padding:16px}
      .news-shell__head{padding:16px}
      .news-pager{padding:0 16px 16px}
      .footer-grid { grid-template-columns: 1fr; gap: 32px; }
      .footer { padding-top: 56px; }
      .float-btns{right:16px;bottom:16px}
      .news-card h2{font-size:18px}
      .article-panel__head,.article-panel__body{padding:16px}
    }

    @media (prefers-reduced-motion: reduce){
      *,*::before,*::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
      }
      html{scroll-behavior:auto}
      .news-card{opacity:1;transform:none}
    }

    @media (max-width: 520px){
      .hero-card{padding:18px 20px}
      .news-shell__head{flex-direction:column;align-items:flex-start}
      .news-shell__actions{width:100%}
      .mini-btn{flex:1}
      .news-card__body{padding:16px}
      .article-panel__title{font-size:22px}
      .max-modal-buttons{flex-direction:column}
    }
  

/* vk */
.vk-soon-wrap { position: relative; display: inline-flex; cursor: pointer; }
.vk-tooltip {
  position: absolute; bottom: calc(100% + 10px); left: 50%;
  transform: translateX(-50%) scale(.9); background: rgba(17,17,17,.95);
  border: 1px solid rgba(255,255,255,.15); color: white; font-size: 12px;
  font-weight: 600; padding: 8px 14px; border-radius: 10px; white-space: nowrap;
  pointer-events: none; opacity: 0; visibility: hidden;
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  box-shadow: 0 8px 24px rgba(0,0,0,.4); z-index: 100;
}
.vk-tooltip::after {
  content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  border: 6px solid transparent; border-top-color: rgba(17,17,17,.95);
}
.vk-tooltip.show { opacity: 1; visibility: visible; transform: translateX(-50%) scale(1); }

/* float */
.float-btns {
  position: fixed; bottom: 88px; left: 28px; right: auto;
  display: flex; flex-direction: column; gap: 12px; z-index: 8000;
}

.onicon-chat-button,
.onicon-chat-trigger,
.onicon-chat-popup,
.onicon-button,
.onicon-button-callback,
.onicon-widget,
.onicon-menu__overlay,
.onc-callback,
[id^="onicon"] {
  z-index: 2147483000 !important;
}

.onicon-button-callback {
  position: fixed !important;
  top: auto !important;
  left: auto !important;
  right: 28px !important;
  bottom: 92px !important;
  transform: none !important;
  margin: 0 !important;
  cursor: pointer !important;
}
.onicon-button-callback__animated {
  pointer-events: none !important;
}
#onicon .onc-callback {
  z-index: 2147483100 !important;
}
/* onc-callback open/close — в tph-onicon.css */
.onicon-button,
.onicon-chat-button {
  right: 28px !important;
  left: auto !important;
  bottom: 20px !important;
  top: auto !important;
}
.onicon-chat-popup[style*="visibility: hidden"],
.onicon-chat-popup[style*="visibility:hidden"] {
  pointer-events: none !important;
}
.float-btn {
  width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 18px rgba(0,0,0,.3);
  transition: transform .25s ease, box-shadow .25s ease; cursor: pointer;
  border: none;
}
.float-btn:hover { transform: scale(1.12); box-shadow: 0 8px 28px rgba(0,0,0,.35); }
.float-btn-wa { background: #25D366; }
.float-btn-max {
  background: linear-gradient(135deg,#5B41FF,#8B5CF6) !important;
  box-shadow: 0 4px 20px rgba(91,65,255,.5) !important; border: none;
}
.float-btn-max:hover {
  background: linear-gradient(135deg,#4C35E0,#7C4FE0) !important;
  transform: scale(1.1); box-shadow: 0 6px 25px rgba(91,65,255,.6) !important;
}
.float-btn-max img { display: block; }

/* modals */
.phone-modal, .contacts-modal, .max-modal {
  position: fixed; inset: 0; background: rgba(0,0,0,.75); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: .3s ease; z-index: 9000; padding: 20px;
}
.phone-modal.active, .contacts-modal.active, .max-modal.active { opacity: 1; visibility: visible; }

.phone-modal-box {
  background: linear-gradient(145deg,#1a1a2e,#111); border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px; padding: 32px; text-align: center; max-width: 380px; width: 100%;
  transform: translateY(20px) scale(.95); transition: .3s ease;
  box-shadow: 0 20px 60px rgba(0,0,0,.5); position: relative;
}
.phone-modal.active .phone-modal-box { transform: translateY(0) scale(1); }
.phone-modal-close {
  position: absolute; top: -12px; right: -12px; width: 36px; height: 36px;
  border: none; border-radius: 50%; background: #C41E3A; color: white;
  font-size: 20px; cursor: pointer; transition: .25s ease;
  display: flex; align-items: center; justify-content: center;
}
.phone-modal-close:hover { background: #a01830; transform: rotate(90deg); }
.phone-modal-icon { font-size: 48px; margin-bottom: 16px; }
.phone-modal-title { color: white; font-size: 22px; font-family: var(--font-head); margin: 0 0 8px; }
.phone-modal-sub { color: rgba(255,255,255,.5); font-size: 14px; margin: 0 0 24px; }
.phone-modal-numbers { display: flex; flex-direction: column; gap: 12px; }
.phone-modal-num {
  display: flex; align-items: center; gap: 14px; padding: 16px 18px;
  border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  transition: .25s ease;
}
.phone-modal-num:hover {
  background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.2);
  transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.3);
}
.phone-modal-num-icon { font-size: 28px; flex-shrink: 0; }
.phone-modal-num-label { color: rgba(255,255,255,.5); font-size: 12px; margin-bottom: 4px; }
.phone-modal-num-value { color: white; font-size: 18px; font-weight: 700; }

.contacts-box {
  width: 100%; max-width: 560px; background: #111; border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px; padding: 32px; position: relative;
  transform: translateY(25px) scale(.95); transition: .35s ease;
  box-shadow: 0 20px 80px rgba(0,0,0,.5); max-height: 90vh; overflow-y: auto;
}
.contacts-modal.active .contacts-box { transform: translateY(0) scale(1); }
.contacts-box h2 { color: white; font-size: 32px; margin-bottom: 28px; }
.contact-item { display: flex; gap: 16px; margin-bottom: 22px; }
.contact-icon {
  width: 42px; height: 42px; border-radius: 14px; background: rgba(255,255,255,.06);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 20px;
}
.contact-item strong { display: block; color: white; margin-bottom: 6px; }
.contact-item p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.6; font-size: 14px; }
.contact-item a { color: var(--red-light); }
.contact-item a:hover { text-decoration: underline; }
.contacts-close {
  position: absolute; top: 14px; right: 14px; width: 40px; height: 40px;
  border: none; border-radius: 50%; background: rgba(255,255,255,.08); color: white;
  font-size: 24px; cursor: pointer; transition: .25s ease;
  display: flex; align-items: center; justify-content: center;
}
.contacts-close:hover { background: var(--red); transform: rotate(90deg); }

.max-modal-box {
  background: linear-gradient(145deg,#1a1a2e,#16162a); border: 1px solid rgba(91,65,255,.3);
  border-radius: 24px; padding: 32px; text-align: center; max-width: 380px; width: 100%;
  transform: translateY(20px) scale(.95); transition: .3s ease;
  box-shadow: 0 20px 60px rgba(91,65,255,.3); position: relative;
}
.max-modal.active .max-modal-box { transform: translateY(0) scale(1); }
.max-modal-close {
  position: absolute; top: -12px; right: -12px; width: 36px; height: 36px;
  border: none; border-radius: 50%; background: #5B41FF; color: white;
  font-size: 20px; cursor: pointer; transition: .25s ease;
  display: flex; align-items: center; justify-content: center;
}
.max-modal-close:hover { background: #4C35E0; transform: rotate(90deg); }
.max-modal-icon {
  width: 80px; height: 80px; background: linear-gradient(135deg,#5B41FF,#8B5CF6);
  border-radius: 20px; display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px; animation: pulse 2s ease-in-out infinite;
}
.max-modal-title { color: white; font-size: 22px; font-family: var(--font-head); margin: 0 0 12px; }
.max-modal-text { color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.6; margin: 0 0 16px; }
.max-modal-phone {
  background: rgba(91,65,255,.15); border: 1px solid rgba(91,65,255,.3);
  border-radius: 12px; padding: 14px 20px; color: white;
  font-size: 20px; font-weight: 700; letter-spacing: .5px; margin-bottom: 20px;
}
.max-modal-buttons { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.max-modal-copy {
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px; padding: 14px 20px; color: white;
  font-size: 14px; font-weight: 600; cursor: pointer; transition: .2s ease;
}
.max-modal-copy:hover { background: rgba(255,255,255,.15); transform: translateY(-2px); }
.max-modal-goto {
  background: linear-gradient(135deg,#5B41FF,#8B5CF6); border-radius: 12px;
  padding: 14px 20px; color: white; font-size: 14px; font-weight: 700;
  text-decoration: none; display: block; transition: .2s ease;
}
.max-modal-goto:hover {
  background: linear-gradient(135deg,#4C35E0,#7C4FE0);
  transform: translateY(-2px); box-shadow: 0 8px 20px rgba(91,65,255,.4);
}
.max-modal-timer { color: rgba(255,255,255,.4); font-size: 13px; }
.max-modal-timer span { color: #8B5CF6; font-weight: 700; }

.copy-notification {
  position: fixed; top: 50%; left: 50%;
  transform: translate(-50%,-50%) scale(.8); background: rgba(46,125,50,.95);
  border-radius: 16px; padding: 20px 32px; display: flex; align-items: center;
  gap: 12px; color: white; font-size: 16px; font-weight: 600;
  box-shadow: 0 10px 40px rgba(0,0,0,.4);
  opacity: 0; visibility: hidden; transition: .3s ease; z-index: 9100;
}
.copy-notification.active { opacity: 1; visibility: visible; transform: translate(-50%,-50%) scale(1); }
.copy-notification-icon {
  width: 32px; height: 32px; background: rgba(255,255,255,.2);
  border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px;
}

@media (max-width: 980px) {
  .tphNav { display: none !important; }
  .tphBurger { display: flex !important; }
  .tphTopInner { justify-content: center !important; }
  body.tphMenuOpen .tphNav {
    display: flex !important; flex-direction: column !important; gap: 6px !important;
    position: absolute !important; left: 0 !important; right: 0 !important;
    top: calc(100% + 10px) !important; background: rgba(15,17,21,.96) !important;
    border: 1px solid rgba(255,255,255,.12) !important; border-radius: 16px !important;
    padding: 10px !important; box-shadow: 0 16px 45px rgba(0,0,0,.45) !important;
    z-index: 2147483647 !important;
  }
  body.tphMenuOpen .tphNav a {
    padding: 10px 12px !important; border-radius: 12px !important;
    background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.10) !important;
  }
}
@media (max-width: 768px) {
  .float-btns {
    bottom: calc(78px + env(safe-area-inset-bottom, 0px));
    left: 12px;
    right: auto;
    gap: 10px;
  }
  .float-btn { width: 46px; height: 46px; }

  .onicon-button-callback {
    left: auto !important;
    right: 12px !important;
    top: auto !important;
    bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
  }

#onicon .onc-callback__body {
    max-width: 100% !important;
    width: 100% !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin: 0 auto !important;
    transform: none !important;
    box-sizing: border-box !important;
  }
  #onicon .onc-callback__columns {
    flex-direction: column !important;
  }
  #onicon .onc-callback__empty {
    display: none !important;
  }
  #onicon .onc-callback__bg-image {
    min-height: 100px !important;
    background-size: cover !important;
  }
  #onicon .onc-callback__content {
    width: 100% !important;
  }

  .onicon-button,
  .onicon-chat-button {
    right: 10px !important;
    left: auto !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    max-width: calc(100vw - 20px) !important;
  }
  .onicon-button__title {
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  #onicon input,
  #onicon textarea,
  #onicon select,
  .onicon-textarea {
    font-size: 16px !important;
  }

  .onicon-chat-popup {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    height: auto !important;
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 16px) !important;
    inset: auto 8px calc(8px + env(safe-area-inset-bottom, 0px)) 8px !important;
    top: auto !important;
    border-radius: 14px !important;
  }
  .onicon-chat-popup__main {
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 48px) !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .onicon-chat-popup__scroll-hidden,
  .onicon-chat-popup .onicon-js-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
  }
  .onicon-chat-popup__scrollable-wrapp {
    max-height: calc(100dvh - 280px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .onicon-chat-popup__bar {
    display: none !important;
  }
  .onicon-copyright {
    font-size: 11px !important;
    padding: 6px 8px !important;
  }
  .onicon-textarea,
  .onicon-toolbar {
    flex-shrink: 0;
  }
}

@keyframes pulse {
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(91,65,255,.4)}
  50%{transform:scale(1.05);box-shadow:0 0 20px 10px rgba(91,65,255,0)}
}
