:root{
      --bg:#07070a;
      --bg2:#0c0c12;
      --card:rgba(255,255,255,.06);
      --card2:rgba(255,255,255,.08);
      --line:rgba(255,255,255,.10);
      --text:#f3f4f6;
      --muted:rgba(243,244,246,.72);
      --accent:#ff1a1a;
      --accent2:#ff4d00;
      --good:#19c37d;
      --warn:#ffcc00;
      --shadow: 0 18px 60px rgba(0,0,0,.55);
      --radius: 18px;
      --radius2: 24px;
      --max: 1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      color:var(--text);
      background:
        radial-gradient(900px 500px at 20% -10%, rgba(255,26,26,.22), transparent 55%),
        radial-gradient(900px 500px at 90% 10%, rgba(255,77,0,.16), transparent 55%),
        linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
      line-height:1.6;
    }
    a{color:inherit}
    .container{width:100%; max-width:var(--max); margin:0 auto; padding:0 18px}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

    /* Sticky header */
    .header{
      position:sticky; top:0; z-index:999;
      backdrop-filter: blur(10px);
      background: linear-gradient(180deg, rgba(7,7,10,.88), rgba(7,7,10,.62));
      border-bottom:1px solid var(--line);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between;
      gap:12px; padding:12px 0;
    }
    .brand{
      display:flex; align-items:center; gap:10px; text-decoration:none;
      font-weight:800; letter-spacing:.3px;
    }
    .brand-badge{
      width:36px;height:36px;border-radius:12px;
      background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), transparent 55%),
                  linear-gradient(135deg, var(--accent), var(--accent2));
      box-shadow: 0 10px 30px rgba(255,26,26,.22);
      display:grid; place-items:center;
      font-weight:900;
    }
    .brand small{display:block; font-weight:600; color:var(--muted); letter-spacing:0}
    .menu{
      display:flex; align-items:center; gap:10px; flex-wrap:wrap;
      justify-content:flex-end;
    }
    .menu a{
      text-decoration:none; color:var(--muted);
      padding:8px 10px; border-radius:999px; border:1px solid transparent;
      transition:.2s ease;
      font-size:14px;
    }
    .menu a:hover{color:var(--text); border-color:var(--line); background:rgba(255,255,255,.04)}
    .menu .cta{display:flex; gap:10px; align-items:center}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      border-radius:999px; padding:11px 16px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.04);
      text-decoration:none; font-weight:700;
      transition:.2s ease; box-shadow:none;
      white-space:nowrap;
    }
    .btn:hover{transform: translateY(-1px); border-color:rgba(255,255,255,.20); background:rgba(255,255,255,.06)}
    .btn-primary{
      border:none;
      background: linear-gradient(135deg, var(--accent), var(--accent2));
      box-shadow: 0 16px 50px rgba(255,26,26,.22);
    }
    .btn-primary:hover{filter:saturate(1.05)}
    .btn-mini{padding:9px 12px; font-size:14px}
    .pill{
      display:inline-flex; gap:8px; align-items:center;
      padding:6px 10px; border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      color:var(--muted);
      font-size:13px;
    }

    /* Top banner */
    .top-banner{
      display:block;
      background: linear-gradient(90deg, rgba(255,26,26,.20), rgba(255,77,0,.12));
      border-bottom: 1px solid var(--line);
    }
    .top-banner .inner{
      display:flex; gap:12px; align-items:center; justify-content:space-between;
      padding:10px 0;
    }
    .top-banner strong{color:var(--text)}
    .top-banner span{color:var(--muted)}
    .top-banner .right{display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end}
    .top-banner .tag{
      border:1px solid rgba(255,255,255,.18);
      background:rgba(0,0,0,.22);
      padding:6px 10px; border-radius:999px;
      font-size:13px;
    }

    /* Hero */
    .hero{padding:26px 0 12px}
    .hero-grid{
      display:grid; gap:18px;
      grid-template-columns: 1.25fr .85fr;
      align-items:stretch;
    }
    .card{
      border:1px solid var(--line);
      background: rgba(255,255,255,.04);
      border-radius: var(--radius2);
      box-shadow: var(--shadow);
      overflow:hidden;
    }
    .hero-card{
      position:relative;
      padding:22px;
      min-height: 340px;
      background:
        radial-gradient(700px 320px at 30% 10%, rgba(255,26,26,.22), transparent 58%),
        radial-gradient(700px 320px at 90% 20%, rgba(255,77,0,.18), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    }
    .hero h1{margin:6px 0 10px; font-size: clamp(26px, 3.2vw, 40px); line-height:1.15}
    .hero p{margin:0 0 14px; color:var(--muted)}
    .hero .hero-cta{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px}
    .hero .bullets{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px}
    .hero .bullets .pill b{color:var(--text)}
    .hero .fineprint{margin-top:12px; font-size:12.5px; color:rgba(243,244,246,.62)}
    .hero .fineprint a{color:rgba(243,244,246,.78)}
    .hero-visual{
      position:relative;
      min-height: 340px;
      display:flex; flex-direction:column;
      background:
        radial-gradient(700px 340px at 40% 10%, rgba(255,26,26,.18), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    }
    .hero-visual .img{
      aspect-ratio: 16 / 10;
      width:100%;
      background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), transparent 55%),
        linear-gradient(135deg, rgba(255,26,26,.55), rgba(0,0,0,.15)),
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0));
      border-bottom: 1px solid var(--line);
      display:grid; place-items:center;
      color:rgba(255,255,255,.9);
      font-weight:800; letter-spacing:.6px;
      text-transform:uppercase;
    }
    .hero-visual .meta{padding:16px 16px 18px; display:grid; gap:12px}
    .kpi{display:grid; grid-template-columns:1fr 1fr; gap:10px}
    .kpi .k{
      border:1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,.04);
      padding:12px;
    }
    .k .v{font-weight:800; font-size:18px}
    .k .l{color:var(--muted); font-size:12.8px}

    /* Sections */
    section{padding:34px 0}
    .section-title{
      display:flex; align-items:flex-end; justify-content:space-between; gap:10px; flex-wrap:wrap;
      margin-bottom:14px;
    }
    .section-title h2{
      margin:0; font-size: clamp(20px, 2.2vw, 30px); line-height:1.2
    }
    .section-title p{margin:0; color:var(--muted)}
    .grid{
      display:grid; gap:14px;
    }
    .grid-3{grid-template-columns: repeat(3, minmax(0,1fr))}
    .grid-2{grid-template-columns: repeat(2, minmax(0,1fr))}
    .grid-4{grid-template-columns: repeat(4, minmax(0,1fr))}
    .tile{
      border:1px solid var(--line);
      border-radius: var(--radius2);
      background: rgba(255,255,255,.04);
      padding:16px;
    }
    .tile h3{margin:0 0 6px; font-size:16px}
    .tile p{margin:0; color:var(--muted); font-size:14px}
    .icon{
      width:42px;height:42px;border-radius:14px;
      background: rgba(255,255,255,.05);
      border:1px solid var(--line);
      display:grid; place-items:center;
      margin-bottom:10px;
    }
    .icon svg{opacity:.9}

    /* Promo codes */
    .code-card{
      padding:16px;
      border-radius: var(--radius2);
      border:1px solid var(--line);
      background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      display:flex; flex-direction:column; gap:10px;
    }
    .code-head{display:flex; justify-content:space-between; gap:10px; align-items:flex-start}
    .code{
      font-weight:900; letter-spacing:.6px;
      background: rgba(0,0,0,.35);
      border:1px dashed rgba(255,255,255,.26);
      padding:10px 12px; border-radius:14px;
      display:flex; align-items:center; justify-content:space-between; gap:10px;
    }
    .code button{
      cursor:pointer;
      border:none;
      background: rgba(255,255,255,.08);
      color:var(--text);
      padding:8px 10px;
      border-radius: 12px;
      font-weight:700;
    }
    .code button:hover{background: rgba(255,255,255,.12)}
    .note{font-size:12.5px;color:rgba(243,244,246,.62)}

    /* Tables */
    .table-wrap{
      border:1px solid var(--line);
      border-radius: var(--radius2);
      overflow:hidden;
      background: rgba(255,255,255,.03);
    }
    table{width:100%; border-collapse:collapse}
    th,td{padding:12px 12px; border-bottom:1px solid var(--line); vertical-align:top}
    th{font-size:13px; text-transform:uppercase; letter-spacing:.4px; color:rgba(243,244,246,.78); background: rgba(255,255,255,.04)}
    td{color:rgba(243,244,246,.88); font-size:14px}
    tr:last-child td{border-bottom:none}
    .badge{
      display:inline-flex; align-items:center; gap:6px;
      padding:4px 8px; border-radius:999px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.06);
      font-size:12.5px; color:rgba(243,244,246,.82)
    }
    .badge.good{border-color: rgba(25,195,125,.35); background: rgba(25,195,125,.10)}
    .badge.warn{border-color: rgba(255,204,0,.35); background: rgba(255,204,0,.10)}
    .badge.bad{border-color: rgba(255,26,26,.35); background: rgba(255,26,26,.10)}
    .muted{color:var(--muted)}

    /* Slots */
    .slot{
      border:1px solid var(--line);
      border-radius: var(--radius2);
      overflow:hidden;
      background: rgba(255,255,255,.04);
      display:flex; flex-direction:column;
    }
    .slot .media{
      position:relative;
      width:100%;
      aspect-ratio: 16/10;
      background: rgba(0,0,0,.25);
      border-bottom:1px solid var(--line);
    }
    .slot img{
      width:100%; height:100%;
      object-fit:cover;
      display:block;
    }
    .slot .body{padding:14px}
    .slot .body h3{margin:0 0 4px; font-size:16px}
    .slot .body p{margin:0; color:var(--muted); font-size:14px}
    .slot .actions{padding:0 14px 14px; display:flex; gap:10px; flex-wrap:wrap}

    /* Reviews */
    .review{
      border:1px solid var(--line);
      border-radius: var(--radius2);
      background: rgba(255,255,255,.04);
      padding:16px;
    }
    .review .top{display:flex; align-items:center; justify-content:space-between; gap:10px}
    .stars{letter-spacing:1px; color:rgba(255,204,0,.9)}
    .review p{margin:10px 0 0; color:rgba(243,244,246,.86); font-size:14px}
    .review .who{color:var(--muted); font-size:13px; margin-top:8px}

    /* SEO text */
    .seo-box{
      border:1px solid rgba(255,26,26,.28);
      background:
        radial-gradient(900px 500px at 15% 10%, rgba(255,26,26,.16), transparent 55%),
        rgba(255,255,255,.03);
      border-radius: var(--radius2);
      padding:18px;
    }
    .seo-box h3{margin:0 0 8px}
    .seo-box p, .seo-box li{color:rgba(243,244,246,.86)}
    .seo-box .muted{color:rgba(243,244,246,.70)}
    .seo-box ul{margin:10px 0 0; padding-left:18px}

    /* Author + contact */
    .author{
      display:flex; gap:14px; align-items:flex-start; flex-wrap:wrap;
    }
    .avatar{
      width:68px; height:68px;
      border-radius:22px;
      background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.28), transparent 55%),
        linear-gradient(135deg, rgba(255,26,26,.55), rgba(255,77,0,.35));
      border:1px solid rgba(255,255,255,.14);
      box-shadow: 0 12px 40px rgba(255,26,26,.12);
      flex:0 0 auto;
    }
    .form{
      display:grid; gap:10px;
    }
    .form .row{display:grid; gap:10px; grid-template-columns:1fr 1fr}
    .input, textarea{
      width:100%;
      border-radius: 14px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,.25);
      color:var(--text);
      padding:12px 12px;
      outline:none;
      font:inherit;
    }
    textarea{min-height:120px; resize:vertical}
    .input:focus, textarea:focus{border-color: rgba(255,26,26,.45); box-shadow: 0 0 0 4px rgba(255,26,26,.10)}
    .hr{height:1px;background:var(--line); margin:18px 0}

    /* Footer */
    footer{
      border-top:1px solid var(--line);
      background: rgba(0,0,0,.25);
      padding:22px 0;
      color:rgba(243,244,246,.72);
      font-size:13px;
    }
    footer a{color:rgba(243,244,246,.82)}
    .footer-grid{
      display:grid; gap:14px;
      grid-template-columns: 1.2fr .8fr;
      align-items:start;
    }

    /* Floating CTA */
    .floating{
      position:fixed; right:18px; bottom:18px; z-index:998;
      display:flex; flex-direction:column; gap:10px;
    }
    .floating .btn{box-shadow: var(--shadow)}
    .to-top{
      display:none;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,.30);
    }

    /* Responsive */
    @media (max-width: 980px){
      .hero-grid{grid-template-columns:1fr}
      .grid-4{grid-template-columns: repeat(2, minmax(0,1fr))}
      .grid-3{grid-template-columns:1fr}
      .grid-2{grid-template-columns:1fr}
      .menu a{display:none}
      .menu .cta a{display:inline-flex}
    }
    @media (max-width: 520px){
      .kpi{grid-template-columns:1fr}
      .top-banner .inner{flex-direction:column; align-items:flex-start}
      .form .row{grid-template-columns:1fr}
    }

    /* Reduced motion */
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      .btn:hover{transform:none}
    }
  
    /* Image helpers */
    .brand-logo{background:none !important; box-shadow:none !important; border:1px solid rgba(255,255,255,.14);}
    .brand-logo img{width:100%; height:100%; object-fit:contain; display:block; padding:6px;}

    .hero-visual .img{position:relative}
    .hero-visual .img img{
      width:100%; height:100%;
      object-fit:cover;
      display:block;
    }
    .hero-visual .img::after{
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.45));
      pointer-events:none;
    }

    .top-image-banner{
      display:block;
      margin:0;
      border-bottom:1px solid var(--line);
      background: rgba(0,0,0,.22);
    }
    .top-image-banner img{
      width:100%;
      height:auto;
      display:block;
      max-height: 220px;
      object-fit:cover;
    }

    .avatar{
      object-fit:cover;
      display:block;
    }

/* ===========================
   INTERNAL PAGES (ARTICLES)
   =========================== */
.article-wrap{padding:22px; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); border-radius: var(--radius2); box-shadow: var(--shadow);}
.breadcrumbs{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:0 0 12px; color:rgba(243,244,246,.68); font-size:13px;}
.breadcrumbs a{color:rgba(243,244,246,.86); text-decoration:none; border-bottom:1px dotted rgba(255,255,255,.22);}
.breadcrumbs a:hover{border-bottom-color:rgba(255,255,255,.40)}
.article h1{margin:6px 0 12px; font-size: clamp(26px, 3.2vw, 40px); line-height:1.15}
.article h2{margin:24px 0 10px; font-size: clamp(18px, 2.0vw, 26px); line-height:1.2}
.article h3{margin:16px 0 6px; font-size: 17px}
.article p{margin:10px 0; color:rgba(243,244,246,.86)}
.article ul,.article ol{margin:10px 0; padding-left:18px; color:rgba(243,244,246,.86)}
.article li{margin:6px 0}
.article blockquote{margin:14px 0; padding:12px 14px; border-left:3px solid rgba(255,26,26,.55); background: rgba(255,255,255,.03); border-radius: 14px; color: rgba(243,244,246,.84)}
.callout{margin:14px 0; padding:14px; border:1px solid rgba(255,26,26,.25); background: radial-gradient(900px 500px at 15% 10%, rgba(255,26,26,.12), transparent 55%), rgba(255,255,255,.03); border-radius: var(--radius2);}
.callout b{color:rgba(243,244,246,.95)}
.note{margin-top:16px; color:rgba(243,244,246,.65); font-size:12px}
