/* === Homepage Stylesheet === */

:root{
    --ink:#0D0D0D;
    --ink-soft:#17171A;
    --red:#E30613;
    --red-deep:#A80410;
    --navy:#1B2A6B;
    --white:#FFFFFF;
    --steel:#6B6E76;
    --concrete:#F5F5F4;
    --concrete-deep:#EDEDEC;
    --line:#26262A;
    --line-soft:#E4E4E4;
    --display: 'Anton', sans-serif;
    --body: 'Inter', sans-serif;
    --mono: 'JetBrains Mono', monospace;
    --ease: cubic-bezier(.16,.84,.44,1);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
  }
  body{
    font-family:var(--body); color:var(--ink); background:var(--white); line-height:1.55;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%; text-size-adjust:100%;
    text-rendering:optimizeLegibility;
  }
  main {
    opacity: 0;
    -webkit-transform: translateY(20px); transform: translateY(20px);
    -webkit-transition: opacity 1.1s var(--ease), -webkit-transform 1.1s var(--ease);
    transition: opacity 1.1s var(--ease), transform 1.1s var(--ease);
  }
  main.loaded {
    opacity: 1;
    -webkit-transform: translateY(0); transform: translateY(0);
  }
  img{display:block; max-width:100%; height:auto;}
  a{color:inherit; text-decoration:none;}
  button{font-family:inherit; cursor:pointer; border:none; background:none;}
  ul{list-style:none;}
  h1,h2,h3,.font-display{font-family:var(--display); text-transform:uppercase; letter-spacing:.01em; font-weight:400;}
  .eyebrow{font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--red); display:-webkit-inline-flex; display:inline-flex; -webkit-align-items:center; align-items:center; gap:8px;}
  .eyebrow::before{content:''; width:22px; height:2px; background:var(--red);}
  .mono{font-family:var(--mono);}
  :focus-visible{outline:3px solid var(--navy); outline-offset:3px;}
  .wrap{max-width:1280px; margin:0 auto; padding:0 24px;}
  @media (max-width:640px){.wrap{padding:0 18px;}}

  /* ============ Universal Page Loader ============ */
  .wolf-loader {
    position: fixed;
    inset: 0;
    background: #09090b;
    z-index: 9999;
    display: -webkit-flex; display: flex;
    -webkit-align-items: center; align-items: center;
    -webkit-justify-content: center; justify-content: center;
    -webkit-transition: -webkit-transform 0.8s var(--ease), opacity 0.8s var(--ease), visibility 0.8s;
    transition: transform 0.8s var(--ease), opacity 0.8s var(--ease), visibility 0.8s;
    overflow: hidden;
  }
  .wolf-loader.loaded {
    -webkit-transform: scale(1.04); transform: scale(1.04);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .loader-inner {
    width: 100%;
    max-width: 80%;
    display: -webkit-flex; display: flex;
    -webkit-flex-direction: column; flex-direction: column;
    -webkit-align-items: center; align-items: center;
    gap: 16px;
  }
  @media (min-width: 768px) {
    .loader-inner { max-width: 55%; }
  }
  .loader-text-wrap {
    width: 100%;
    position: relative;
    padding-bottom: 22%;
    height: 0;
  }
  @supports (aspect-ratio: 1000/220) {
    .loader-text-wrap {
      padding-bottom: 0;
      height: auto;
      aspect-ratio: 1000/220;
    }
  }
  .loader-text-wrap svg {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
  }
  .loader-counter {
    width: 100%;
    display: -webkit-flex; display: flex;
    -webkit-justify-content: space-between; justify-content: space-between;
    -webkit-align-items: center; align-items: center;
    font-family: var(--mono);
    font-size: 0.74rem;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.45);
    margin-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 12px;
  }
  .loader-pct {
    font-weight: 700;
    color: var(--red);
    font-size: 0.84rem;
  }

  /* ============ Scroll Progress Bar ============ */
  .scroll-progress{
    position:fixed; top:0; left:0; height:3px; background:var(--red);
    z-index:999; transition:width .1s linear; box-shadow:0 0 10px rgba(227,6,19,.5);
    will-change: width;
  }

  /* ============ Typewriter Bar ============ */
  .typewriter-bar{
    background:var(--ink); color:var(--white); text-align:center; padding:8px 24px;
    font-family:var(--mono); font-size:.78rem; letter-spacing:.04em; position:relative; z-index:101;
    display:flex; align-items:center; justify-content:center; gap:4px; min-height:36px;
    margin:0;
  }
  .typewriter-text{display:inline;}
  .typewriter-cursor{
    display:inline-block; width:2px; height:1.1em; background:var(--red);
    animation:cursorBlink .7s steps(1) infinite; vertical-align:middle; margin-left:2px;
  }
  @keyframes cursorBlink{
    0%,100%{opacity:1;}
    50%{opacity:0;}
  }

  /* ============ Reveal-on-scroll & GPU Performance ============ */
  html { scroll-behavior: smooth; }
  .prod-card, .cat-card, .trust-badge-card, .cert-card, .feat-card, .review-card {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
  }
  .reveal { opacity: 0; transform: translate3d(0, 16px, 0); transition: opacity .4s var(--ease), transform .4s var(--ease); will-change: opacity, transform; }
  .reveal.in-view { opacity: 1; transform: translate3d(0, 0, 0); }
  .reveal-stagger > * { opacity: 0; transform: translate3d(0, 14px, 0); transition: opacity .35s var(--ease), transform .35s var(--ease); will-change: opacity, transform; }
  .reveal-stagger.in-view > * { opacity: 1; transform: translate3d(0, 0, 0); }
  .reveal-stagger.in-view > *:nth-child(1)  { transition-delay: .02s; }
  .reveal-stagger.in-view > *:nth-child(2)  { transition-delay: .04s; }
  .reveal-stagger.in-view > *:nth-child(3)  { transition-delay: .06s; }
  .reveal-stagger.in-view > *:nth-child(4)  { transition-delay: .08s; }
  .reveal-stagger.in-view > *:nth-child(5)  { transition-delay: .10s; }
  .reveal-stagger.in-view > *:nth-child(6)  { transition-delay: .12s; }
  .reveal-stagger.in-view > *:nth-child(7)  { transition-delay: .14s; }
  .reveal-stagger.in-view > *:nth-child(8)  { transition-delay: .16s; }
  .reveal-stagger.in-view > *:nth-child(9)  { transition-delay: .18s; }
  .reveal-stagger.in-view > *:nth-child(10) { transition-delay: .20s; }
  .reveal-stagger.in-view > *:nth-child(11) { transition-delay: .22s; }
  .reveal-stagger.in-view > *:nth-child(12) { transition-delay: .24s; }
  .reveal-stagger.in-view > *:nth-child(13) { transition-delay: .26s; }
  .reveal-stagger.in-view > *:nth-child(14) { transition-delay: .28s; }
  .reveal-stagger.in-view > *:nth-child(15) { transition-delay: .30s; }
  .reveal-stagger.in-view > *:nth-child(16) { transition-delay: .32s; }
  .reveal-stagger.in-view > *:nth-child(17) { transition-delay: .34s; }
  .reveal-stagger.in-view > *:nth-child(18) { transition-delay: .36s; }
  .reveal-stagger.in-view > *:nth-child(19) { transition-delay: .38s; }
  .reveal-stagger.in-view > *:nth-child(20) { transition-delay: .40s; }

  /* ============ Buttons ============ */
  .btn{
    display:-webkit-inline-flex; display:inline-flex;
    -webkit-align-items:center; align-items:center;
    -webkit-justify-content:center; justify-content:center;
    gap:9px; font-weight:800; font-size:.82rem;
    text-transform:uppercase; letter-spacing:.05em; padding:15px 26px; border:2px solid var(--ink);
    -webkit-transition:-webkit-transform .18s var(--ease), background .2s, color .2s, box-shadow .2s;
    transition:transform .18s var(--ease), background .2s, color .2s, box-shadow .2s;
    white-space:nowrap; position:relative; overflow:hidden; cursor:pointer;
  }
  .btn::before{
    content:''; position:absolute; top:50%; left:50%; width:0; height:0;
    border-radius:50%; background:rgba(255,255,255,.2);
    -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%);
    -webkit-transition:width .6s, height .6s; transition:width .6s, height .6s;
  }
  .btn:active::before{width:300px; height:300px;}
  .btn:hover{-webkit-transform:translateY(-3px); transform:translateY(-3px);}
  .btn-primary{background:var(--red); border-color:var(--red); color:var(--white); box-shadow:0 8px 20px -8px rgba(227,6,19,.6);}
  .btn-primary:hover{background:var(--red-deep); border-color:var(--red-deep); box-shadow:0 12px 28px -8px rgba(227,6,19,.7);}
  .btn-dark{background:var(--ink); color:var(--white);}
  .btn-dark:hover{background:#000; box-shadow:0 8px 24px -8px rgba(0,0,0,.5);}
  .btn-ghost{background:transparent; color:var(--white); border-color:rgba(255,255,255,.5);}
  .btn-ghost:hover{background:rgba(255,255,255,.12); border-color:var(--white);}
  .btn-outline-ink{background:transparent; color:var(--ink); border-color:var(--ink);}
  .btn-outline-ink:hover{background:var(--ink); color:var(--white);}
  .btn-wa{background:#128C4A; border-color:#128C4A; color:var(--white);}
  .btn-wa:hover{background:#0f7540; border-color:#0f7540; box-shadow:0 8px 24px -8px rgba(18,140,74,.5);}
  .btn-sm{padding:11px 18px; font-size:.72rem;}
  .btn-about{background:var(--navy); border-color:var(--navy); color:var(--white);}
  .btn-about:hover{background:#15225a; border-color:#15225a; box-shadow:0 8px 24px -8px rgba(27,42,107,.5);}

  /* ============ Header / Nav ============ */
  header.site{position:sticky; top:0; z-index:210; background:#ffffff; border-bottom:1px solid var(--line-soft); transition:box-shadow .25s, padding .25s, background .3s;}
  header.site.scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.35);}
  body.menu-open header.site{background:var(--ink); border-bottom-color:rgba(255,255,255,.12);}
  body.menu-open .brand picture img{filter:invert(1) brightness(1.5);}
  nav.main{display:flex; align-items:center; justify-content:space-between; padding:12px 24px; gap:24px;}
  .brand{display:flex; align-items:center; gap:0;}
  .brand picture img{height:52px; width:auto; mix-blend-mode:multiply; transition:height .25s;}
  header.site.scrolled .brand picture img{height:42px;}
  .navlinks{display:flex; gap:2px; align-items:center;}
  .navlinks a{
    font-family:var(--body); font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em;
    color:var(--ink); padding:10px 14px; position:relative;
  }
  .navlinks a::after{content:''; position:absolute; left:14px; right:14px; bottom:6px; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease);}
  .navlinks a:hover::after{transform:scaleX(1);}
  .nav-cta{display:flex; align-items:center; gap:10px;}
  .mobile-toggle{display:none; width:44px; height:44px; position:relative; z-index:210; flex-direction:column; justify-content:center; align-items:center; gap:5px;}
  .mobile-toggle span{display:block; width:26px; height:2.5px; background:var(--ink); transition:transform .3s var(--ease), opacity .2s, background .3s;}
  .mobile-toggle.open span{background:var(--white);}
  .mobile-toggle.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  .mobile-toggle.open span:nth-child(2){opacity:0;}
  .mobile-toggle.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

  .mobile-menu{
    position:fixed; inset:0; background:var(--ink); z-index:200; display:flex; flex-direction:column;
    padding:160px 24px 32px; transform:translateY(-100%); transition:transform .45s var(--ease); overflow-y:auto;
  }
  @media (max-width:360px){
    .mobile-menu{padding:140px 18px 28px;}
  }
  .mobile-menu.open{transform:translateY(0);}
  .mobile-menu .mm-links{display:flex; flex-direction:column; gap:6px; margin-bottom:40px;}
  .mobile-menu .mm-links a{
    font-family:var(--display); font-size:clamp(1.5rem, 8vw, 2.1rem); color:var(--white); text-transform:uppercase; padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,.1); opacity:0; transform:translateX(-24px); transition:opacity .5s var(--ease), transform .5s var(--ease);
  }
  .mobile-menu.open .mm-links a{opacity:1; transform:translateX(0);}
  .mobile-menu.open .mm-links a:nth-child(1){transition-delay:.08s;}
  .mobile-menu.open .mm-links a:nth-child(2){transition-delay:.14s;}
  .mobile-menu.open .mm-links a:nth-child(3){transition-delay:.2s;}
  .mobile-menu.open .mm-links a:nth-child(4){transition-delay:.26s;}
  .mobile-menu.open .mm-links a:nth-child(5){transition-delay:.32s;}
  .mobile-menu.open .mm-links a:nth-child(6){transition-delay:.38s;}
  .mobile-menu .mm-cta{display:flex; flex-direction:column; gap:14px; margin-top:auto;}
  .mobile-menu .mm-info{font-family:var(--mono); color:rgba(255,255,255,.5); font-size:.78rem; margin-top:28px; line-height:1.9;}
  body.menu-open{overflow:hidden;}

  @media (max-width:900px){
    .navlinks{display:none;}
    .nav-cta .btn-sm.hide-mobile{display:none;}
    .mobile-toggle{display:flex;}
  }
  @media (max-width:480px){
    nav.main{padding:10px 18px; gap:12px;}
    .brand picture img{height:38px;}
    header.site.scrolled .brand picture img{height:34px;}
    .nav-cta{gap:8px;}
    .nav-cta .btn-sm{padding:9px 13px; font-size:.68rem;}
    .typewriter-bar{font-size:.66rem; padding:9px 14px; min-height:36px;}
  }
  @media (max-width:360px){
    .nav-cta .btn-primary.btn-sm{padding:9px 11px;}
  }

  /* ============ Hero ============ */
  .hero{position:relative; background:var(--ink); overflow:hidden; isolation:isolate; min-height:92vh; display:flex; align-items:stretch;}
  .hero-media{position:absolute; inset:0; z-index:0;}
  .hero-media picture{width:100%; height:100%; display:block;}
  .hero-media img{width:100%; height:100%; object-fit:cover; object-position:78% center;}
  .hero-scrim{
    position:absolute; inset:0; z-index:1;
    background:
      linear-gradient(90deg, var(--ink) 0%, var(--ink) 26%, rgba(13,13,13,.92) 42%, rgba(13,13,13,.55) 58%, rgba(13,13,13,.12) 74%, transparent 92%),
      linear-gradient(0deg, rgba(0,0,0,.55) 0%, transparent 30%, transparent 75%, rgba(0,0,0,.35) 100%);
  }
  .hero-streak{
    position:absolute; z-index:1; top:-10%; right:18%; width:180px; height:140%;
    background:linear-gradient(180deg, transparent, rgba(227,6,19,.35), rgba(227,6,19,.08), transparent);
    transform:rotate(18deg); filter:blur(2px); pointer-events:none; mix-blend-mode:screen;
  }
  .hero-noise{position:absolute; inset:0; z-index:1; opacity:.05; background:
    radial-gradient(circle at 20% 50%, rgba(227,6,19,0.3) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(27,42,107,0.3) 0%, transparent 50%);
    background-size:200% 200%; animation:heroBgShift 12s ease-in-out infinite alternate; pointer-events:none;
  }
  @keyframes heroBgShift {
    0% { background-position: 0% 0%; }
    50% { background-position: 60% 100%; }
    100% { background-position: 100% 20%; }
  }
  .hero-grid{position:relative; z-index:2; width:100%; display:flex; align-items:center; padding:120px 0 64px;}
  .hero-copy{display:flex; flex-direction:column; justify-content:center; max-width:600px;}
  .hero-badge{
    display:-webkit-inline-flex; display:inline-flex;
    -webkit-align-items:center; align-items:center;
    gap:10px; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em;
    text-transform:uppercase; color:var(--white); border:1px solid rgba(255,255,255,.25); padding:9px 16px; border-radius:999px;
    width:-webkit-fit-content; width:fit-content; margin-bottom:26px; background:rgba(255,255,255,.05);
    -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  }
  .hero-badge .dot{width:7px; height:7px; border-radius:50%; background:var(--red); box-shadow:0 0 0 4px rgba(227,6,19,.25); animation:pulse 2s infinite; flex-shrink:0;}
  @keyframes pulse{0%,100%{opacity:1;} 50%{opacity:.4;}}
  .hero-copy h1, .hero-copy .hero-h1{color:var(--white); font-size:clamp(2.6rem, 5.6vw, 4.6rem); line-height:.96; margin-bottom:22px; font-family:var(--display); font-weight:700;}
  .hero-copy h1 span, .hero-copy .hero-h1 span{color:var(--red);}
  .hero-copy p{color:rgba(255,255,255,.72); font-size:clamp(.98rem, 1.6vw, 1.08rem); max-width:500px; margin-bottom:34px;}
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:48px;}
  .hero-actions .btn svg{width:16px; height:16px;}
  .hero-stats{display:grid; grid-template-columns:repeat(4,auto); gap:30px;}
  .hero-stats .stat b{display:block; font-family:var(--display); font-size:clamp(1.7rem,2.6vw,2.1rem); color:var(--white); margin-bottom:8px;}
  .hero-stats .stat .lbl{display:flex; align-items:center; gap:8px;}
  .hero-stats .stat .lbl::before{content:''; width:2px; height:14px; background:var(--red); flex-shrink:0;}
  .hero-stats .stat span:not(.lbl){font-family:var(--mono); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.55);}

  .hero-floats{position:absolute; z-index:3; right:5%; top:38%; display:-webkit-flex; display:flex; -webkit-flex-direction:column; flex-direction:column; gap:14px; width:250px;}
  .float-card{
    display:-webkit-flex; display:flex;
    -webkit-align-items:center; align-items:center;
    gap:13px; background:rgba(13,13,13,.55); border:1px solid rgba(255,255,255,.16);
    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    padding:14px 16px; border-radius:10px; box-shadow:0 14px 30px -16px rgba(0,0,0,.6);
  }
  .float-card .fico{width:38px; height:38px; border-radius:8px; border:1.5px solid var(--red); color:var(--red); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .float-card .fico svg{width:18px; height:18px;}
  .float-card b{display:block; font-family:var(--body); font-weight:800; font-size:.84rem; color:var(--white); text-transform:uppercase; letter-spacing:.01em; line-height:1.2;}
  .float-card span{font-family:var(--mono); font-size:.68rem; color:rgba(255,255,255,.5);}

  .hero-photo-tag{
    position:absolute; z-index:3; right:12%; bottom:8%; font-family:var(--mono); font-size:.7rem; letter-spacing:.08em;
    text-transform:uppercase; color:var(--white); background:rgba(13,13,13,.6); border:1px solid rgba(255,255,255,.16);
    padding:10px 16px; backdrop-filter:blur(8px); border-radius:6px;
  }

  @media (max-width:1200px){
    .hero-floats{right:3%; width:220px;}
  }

  @media (max-width:1000px){
    .hero{flex-direction:column; min-height:auto; background:var(--ink); margin-top:0; padding-top:0;}
    .hero-media{position:relative; order:1; width:100%; height:54vh; min-height:360px; max-height:520px; margin-top:0; overflow:hidden;}
    .hero-media img{object-position:center 35%;}
    .hero-media::after{
      content:''; position:absolute; inset:0; z-index:2;
      background:linear-gradient(180deg, rgba(13,13,17,0.02) 0%, rgba(13,13,17,0.18) 50%, rgba(13,13,17,0.85) 86%, var(--ink) 100%);
      pointer-events:none;
    }
    .hero-streak{display:none;}
    .hero-noise{opacity:.04;}
    .hero-scrim{display:none;}
    .hero-photo-tag{display:none;}
    .hero-grid{order:2; position:relative; width:100%; padding:28px 0 48px; align-items:flex-start;}
    .hero-copy{max-width:none;}
    .hero-badge{font-size:.68rem; padding:8px 14px;}
    .hero-copy h1, .hero-copy .hero-h1{font-size:clamp(2.3rem, 8vw, 3.2rem);}
    .hero-actions{gap:12px;}
    .hero-actions .btn{flex:1 1 auto;}
    .hero-floats{
      order:3; position:static; width:100%; top:auto; right:auto;
      flex-direction:row; flex-wrap:wrap; gap:12px; margin-top:6px;
    }
    .float-card{width:calc(50% - 6px); background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14);}
  }
  @media (max-width:640px){
    .hero-media, .hero-mobile-media{height:50vh; min-height:340px; margin-top:0;}
    .hero-grid{padding:20px 0 32px;}
    .hero-copy h1, .hero-copy .hero-h1{font-size:clamp(2.1rem, 9vw, 2.8rem);}
    .hero-copy p{font-size:.95rem;}
    .hero-stats{grid-template-columns:repeat(2,1fr); gap:20px; margin-top:6px;}
    .hero-actions{flex-direction:column;}
    .hero-actions .btn{width:100%;}
    .hero-floats{gap:10px;}
    .float-card{width:100%; padding:12px 14px;}
  }
  @media (max-width:420px){
    .hero-media, .hero-mobile-media{height:46vh; min-height:320px;}
    .hero-badge{white-space:normal; line-height:1.4;}
  }

  /* ============ Premium Hero Slideshow Styles ============ */
  .hero-mobile-media {
    display: none;
  }
  .hero-slides {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
  .hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
    pointer-events: none;
    transition: opacity 800ms cubic-bezier(0.4, 0, 0.2, 1), visibility 800ms cubic-bezier(0.4, 0, 0.2, 1);
  }
  .hero-slide.prev-slide {
    z-index: 1;
    transition: opacity 800ms cubic-bezier(0.4, 0, 0.2, 1) 100ms, visibility 800ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
  }
  .hero-slide.active {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    opacity: 1;
    visibility: visible;
    z-index: 2;
    pointer-events: auto;
  }

  /* Override scrim top shadow inside slides so top of image stays clean and bright */
  .hero-slide .hero-scrim {
    background:
      linear-gradient(90deg, var(--ink) 0%, var(--ink) 26%, rgba(13,13,13,.92) 42%, rgba(13,13,13,.55) 58%, rgba(13,13,13,.12) 74%, transparent 92%),
      linear-gradient(0deg, rgba(0,0,0,.55) 0%, transparent 25%, transparent 100%);
  }

  /* Inner Element Animations (When Slide is NOT active) */
  .hero-slide .hero-copy h1,
  .hero-slide .hero-copy .hero-h1,
  .hero-slide .hero-copy p,
  .hero-slide .hero-actions,
  .hero-slide .hero-stats {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform;
  }
  .hero-slide .hero-floats .float-card {
    opacity: 0;
    transform: translate3d(36px, 0, 0);
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform;
  }
  .hero-slide .hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 78% 28%;
    transform: scale(1.06);
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
  }

  /* Prevent shift while outgoing slide (.prev-slide) fades underneath */
  .hero-slide.prev-slide .hero-copy h1,
  .hero-slide.prev-slide .hero-copy .hero-h1,
  .hero-slide.prev-slide .hero-copy p,
  .hero-slide.prev-slide .hero-actions,
  .hero-slide.prev-slide .hero-stats,
  .hero-slide.prev-slide .hero-floats .float-card {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: none;
  }
  .hero-slide.prev-slide .hero-media img {
    transform: scale(1.14);
    transition: none;
  }

  /* Active Slide Staggered Animations & Ken Burns Zoom */
  .hero-slide.active .hero-copy h1,
  .hero-slide.active .hero-copy .hero-h1 {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.15s, transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
  }
  .hero-slide.active .hero-copy p {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.28s, transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.28s;
  }
  .hero-slide.active .hero-actions {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.40s, transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.40s;
  }
  .hero-slide.active .hero-stats {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.50s, transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.50s;
  }
  .hero-slide.active .hero-floats .float-card:nth-child(1) {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.25s, transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.25s;
  }
  .hero-slide.active .hero-floats .float-card:nth-child(2) {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.38s, transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.38s;
  }
  .hero-slide.active .hero-floats .float-card:nth-child(3) {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.50s, transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.50s;
  }
  .hero-slide.active .hero-media img {
    object-position: 78% 28%;
    transform: scale(1.14);
    transition: transform 6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  /* Slider Controls & Navigation Arrows */
  .hero-slider-side-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(13, 13, 13, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: var(--white);
    display: none !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
  }
  .hero-slider-side-arrow svg {
    width: 22px;
    height: 22px;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .hero-slider-side-arrow:hover, .hero-slider-side-arrow:focus-visible {
    background: var(--red);
    border-color: var(--red);
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 14px 30px -4px rgba(227, 6, 19, 0.45);
  }
  .hero-slider-side-arrow.prev:hover svg {
    transform: translateX(-2px);
  }
  .hero-slider-side-arrow.next:hover svg {
    transform: translateX(2px);
  }
  .hero-slider-side-arrow.prev {
    left: 24px;
  }
  .hero-slider-side-arrow.next {
    right: 24px;
  }

  .hero-slider-controls {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 25;
    display: none !important;
    align-items: center;
    gap: 14px;
    background: rgba(13, 13, 13, 0.68);
    border: 1px solid rgba(255, 255, 255, 0.16);
    padding: 8px 14px;
    border-radius: 999px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 12px 30px -8px rgba(0, 0, 0, 0.65);
  }
  .hero-slider-arrow {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s var(--ease);
  }
  .hero-slider-arrow svg {
    width: 16px;
    height: 16px;
    transition: transform 0.25s var(--ease);
  }
  .hero-slider-arrow:hover, .hero-slider-arrow:focus-visible {
    background: var(--red);
    border-color: var(--red);
    transform: scale(1.1);
  }
  .hero-slider-arrow.prev:hover svg {
    transform: translateX(-1.5px);
  }
  .hero-slider-arrow.next:hover svg {
    transform: translateX(1.5px);
  }

  .hero-slider-dots {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .hero-slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.32);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .hero-slider-dot:hover {
    background: rgba(255, 255, 255, 0.7);
  }
  .hero-slider-dot.active {
    width: 32px;
    background: var(--red);
    box-shadow: 0 0 14px rgba(227, 6, 19, 0.65);
  }

  @media (max-width: 1200px) {
    .hero-slider-side-arrow {
      display: none;
    }
  }
  @media (max-width: 1000px) {
    .hero-mobile-media {
      display: block;
      position: relative;
      width: 100%;
      height: 54vh;
      min-height: 380px;
      z-index: 2;
      overflow: hidden;
      flex-shrink: 0;
    }
    .hero-mobile-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 30%;
    }
    .hero-slide .hero-media {
      display: none !important;
    }
    .hero-slides {
      position: relative;
      inset: auto;
      display: flex;
      flex-direction: column;
      width: 100%;
      height: auto;
    }
    .hero-slide {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      min-height: auto;
    }
    .hero-slide.active {
      position: relative;
      inset: auto;
      width: 100%;
      height: auto;
      display: flex;
      flex-direction: column;
      min-height: auto;
    }
    .hero-slider-controls {
      display: none !important;
    }
  }

  /* ============ Marquee ============ */
  .marquee-strip{background:var(--red); overflow:hidden; padding:13px 0; border-top:2px solid var(--ink); border-bottom:2px solid var(--ink);}
  .marquee-track{display:flex; width:max-content; animation:scroll-left 32s linear infinite;}
  .marquee-track span{font-family:var(--display); font-size:1.05rem; color:var(--white); text-transform:uppercase; letter-spacing:.04em; padding:0 28px; display:flex; align-items:center; gap:28px; white-space:nowrap;}
  .marquee-track span::after{content:'●'; font-size:.6rem; opacity:.7;}
  @keyframes scroll-left{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  @media (max-width:640px){
    .marquee-strip{padding:10px 0;}
    .marquee-track span{font-size:.82rem; padding:0 18px; gap:18px;}
  }

  /* ============ Section basics ============ */
  section{padding:96px 0;}
  @media (max-width:760px){ section{padding:64px 0;} }
  @media (max-width:768px){
    #top{margin:0; padding:0; height:0;}
    .hero{min-height:auto;}
  }
  .sec-head{max-width:680px; margin-bottom:52px;}
  .sec-head h2{font-size:clamp(2rem, 4.4vw, 3.1rem); line-height:1; margin-top:14px;}
  .sec-head p{color:var(--steel); font-size:1.02rem; margin-top:16px; max-width:560px;}
  .sec-split{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap;}

  /* ============ Feature strip ============ */
  .features{background:var(--concrete);}
  .feat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft);}
  .feat-card{background:var(--white); padding:34px 26px; transition:background .25s;}
  .feat-card:hover{background:var(--ink); }
  .feat-card:hover *{color:var(--white) !important;}
  .feat-card:hover .feat-num{color:var(--red) !important;}
  .feat-num{font-family:var(--mono); color:var(--red); font-size:.78rem; margin-bottom:18px; display:block;}
  .feat-card h3{font-size:1.15rem; text-transform:none; font-family:var(--body); font-weight:800; margin-bottom:10px;}
  .feat-card p{color:var(--steel); font-size:.9rem;}
  @media (max-width:900px){ .feat-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .feat-grid{grid-template-columns:1fr;} }

  /* ============ Categories ============ */
  .cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  @media (max-width:1000px){ .cat-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .cat-grid{grid-template-columns:1fr;} }
  .cat-card{
    position:relative;
    overflow:hidden;
    background:linear-gradient(160deg,#1c1c1f,#0d0d0d);
    display:-webkit-flex; display:flex;
    -webkit-flex-direction:column; flex-direction:column;
    -webkit-justify-content:flex-end; justify-content:flex-end;
    z-index:0;
  }
  .cat-card::before{
    content:''; display:block;
    padding-bottom:133.33%;
    position:absolute;
    pointer-events:none;
  }
  @supports (aspect-ratio: 3/4){
    .cat-card::before { display:none; }
    .cat-card { aspect-ratio:3/4; }
  }
  .cat-card .cimg{position:absolute; inset:0; background-size:cover; background-position:center; -webkit-transition:-webkit-transform .6s var(--ease); transition:transform .6s var(--ease); opacity:.85;}
  .cat-card:hover .cimg{-webkit-transform:scale(1.08); transform:scale(1.08);}
  .cat-card::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.88) 10%, rgba(0,0,0,.15) 60%, rgba(0,0,0,.35) 100%);}
  .cat-card .cbody{position:relative; z-index:1; padding:24px; color:var(--white);}
  .cat-card .ccount{font-family:var(--mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--red); margin-bottom:8px; display:block;}
  .cat-card h3{font-size:1.5rem; line-height:1.05; margin-bottom:12px;}
  .cat-card .clink{display:-webkit-inline-flex; display:inline-flex; -webkit-align-items:center; align-items:center; gap:8px; font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; opacity:.85; -webkit-transition:gap .2s; transition:gap .2s;}
  .cat-card:hover .clink{gap:14px;}

  /* ============ Product grid ============ */
  .prod-tabs{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:36px;}
  .prod-tab{font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; padding:10px 16px; border:1.5px solid var(--line-soft); color:var(--steel); transition:all .2s;}
  .prod-tab.active, .prod-tab:hover{border-color:var(--ink); color:var(--ink); background:var(--concrete);}
  .prod-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  @media (max-width:1000px){ .prod-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .prod-grid{grid-template-columns:1fr 1fr; gap:14px;} }
  @media (max-width:400px){ .prod-grid{gap:10px;} }
  .prod-card{border:1px solid var(--line-soft); transition:box-shadow .25s, transform .25s; background:white;}
  .prod-card:hover{box-shadow:0 22px 40px -22px rgba(0,0,0,.28); transform:translateY(-4px);}
     .prod-thumb{
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    background: var(--concrete);
    overflow: hidden;
  }
  .prod-thumb picture {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
  }
  .prod-thumb picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .prod-thumb .pcode{
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    background: var(--ink);
    color: var(--white);
    font-family: var(--mono);
    font-size: .65rem;
    letter-spacing: .05em;
    padding: 5px 9px;
  }
  .prod-info{padding:16px 16px 18px;}
  .prod-info .pcat{font-family:var(--mono); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; color:var(--red);}
  .prod-info h4{font-family:var(--body); font-weight:700; font-size:.95rem; text-transform:none; margin-top:6px;}

  /* ============ Quality / stats dark band ============ */
  .quality{background:var(--ink); color:var(--white); position:relative; overflow:hidden;}
  .quality::before{content:''; position:absolute; top:0; right:0; width:46%; height:100%; background:repeating-linear-gradient(115deg, rgba(227,6,19,.06) 0 2px, transparent 2px 40px);}
  .quality-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative;}
  @media (max-width:900px){ .quality-grid{grid-template-columns:1fr; gap:40px;} }
  .quality .sec-head h2, .quality .sec-head p{color:var(--white);}
  .quality .sec-head p{color:rgba(255,255,255,.65);}
  .spec-list{display:flex; flex-direction:column; gap:0;}
  .spec-item{display:flex; justify-content:space-between; align-items:center; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.12); gap:16px;}
  .spec-item .k{font-weight:700; font-size:.95rem;}
  .spec-item .v{font-family:var(--mono); font-size:.8rem; color:rgba(255,255,255,.55); text-align:right;}
  .counter-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12);}
  .counter-card{background:var(--ink-soft); padding:34px 26px;}
  .counter-card b{display:block; font-family:var(--display); font-size:2.6rem; color:var(--red);}
  .counter-card span{font-family:var(--mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.6);}
  @media (max-width:640px){
    .counter-card{padding:24px 18px;}
    .counter-card b{font-size:2rem; margin-bottom:6px;}
    .counter-card span{font-size:.64rem;}
    .spec-item{padding:14px 0;}
    .spec-item .k{font-size:.86rem;}
    .spec-item .v{font-size:.72rem;}
  }
  @media (max-width:400px){
    .counter-grid{grid-template-columns:1fr;}
    .spec-item{flex-direction:column; align-items:flex-start; gap:4px;}
    .spec-item .v{text-align:left;}
  }

  /* ============ Catalogue downloads ============ */
  .cat-dl-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  @media (max-width:900px){ .cat-dl-grid{grid-template-columns:1fr;} }
  .dl-card{border:2px solid var(--ink); padding:32px 28px; display:flex; flex-direction:column; gap:18px; transition:background .25s,color .25s;}
  .dl-card:hover{background:var(--ink); color:var(--white);}
  .dl-card:hover .btn-outline-ink{border-color:var(--white); color:var(--white);}
  .dl-card:hover .btn-outline-ink:hover{background:var(--white); color:var(--ink);}
  .dl-card .dnum{font-family:var(--mono); font-size:.72rem; color:var(--red);}
  .dl-card h3{font-size:1.4rem;}
  .dl-card p{font-size:.9rem; color:var(--steel); flex-grow:1;}
  .dl-card:hover p{color:rgba(255,255,255,.7);}

  /* ============ CTA banner ============ */
  .cta-banner{position:relative; background:var(--red); overflow:hidden;}
  .cta-banner::before{content:''; position:absolute; inset:0; background:repeating-linear-gradient(-40deg, rgba(0,0,0,.08) 0 2px, transparent 2px 26px);}
  .cta-inner{position:relative; text-align:center; display:flex; flex-direction:column; align-items:center; gap:26px;}
  .cta-inner h2{color:var(--white); font-size:clamp(2rem,5vw,3.4rem); line-height:1.02; max-width:820px;}
  .cta-inner p{color:rgba(255,255,255,.85); max-width:560px; font-size:1.02rem;}
  .cta-actions{display:flex; gap:14px; flex-wrap:wrap; justify-content:center;}
  .cta-actions .btn-dark{border-color:var(--ink);}
  .cta-actions .btn-ghost{border-color:rgba(255,255,255,.6);}
  @media (max-width:520px){
    .cta-actions{flex-direction:column; width:100%;}
    .cta-actions .btn{width:100%;}
  }

  /* ============ Footer ============ */
  footer.site{background:var(--ink); color:rgba(255,255,255,.6); padding-top:72px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,.1);}
  @media (max-width:800px){ .foot-grid{grid-template-columns:1fr 1fr; row-gap:36px;} }
  @media (max-width:480px){ .foot-grid{grid-template-columns:1fr;} .foot-brand picture img{height:38px;} }
  .foot-brand picture img{height:52px; width:auto; max-width:100%; object-fit:contain; margin-bottom:16px;}
  .foot-brand p{font-size:.88rem; max-width:280px; line-height:1.7;}
  .foot-col h4{font-family:var(--mono); color:var(--white); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px;}
  .foot-col ul{display:flex; flex-direction:column; gap:11px;}
  .foot-col a{font-size:.88rem; transition:color .2s;}
  .foot-col a:hover{color:var(--red);}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding:26px 0; font-size:.78rem; flex-wrap:wrap; gap:12px;}
  @media (max-width:560px){
    .foot-bottom{flex-direction:column; text-align:center; gap:8px;}
  }
  .social-row{display:flex; gap:10px;}
  .social-row a{width:38px; height:38px; border:1px solid rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; transition:background .2s, border-color .2s;}
  .social-row a:hover{background:var(--red); border-color:var(--red);}

  /* ============ Floating WhatsApp Button ============ */
  .float-wa{
    position:fixed; bottom:28px; right:28px; z-index:150; width:62px; height:62px;
    border-radius:50%; background:#25D366;
    display:-webkit-flex; display:flex;
    -webkit-align-items:center; align-items:center;
    -webkit-justify-content:center; justify-content:center;
    box-shadow:0 8px 24px rgba(37,211,102,.45);
    -webkit-transition:-webkit-transform .25s var(--ease), box-shadow .25s;
    transition:transform .25s var(--ease), box-shadow .25s;
    -webkit-animation:waPulse 2.2s ease-in-out infinite;
    animation:waPulse 2.2s ease-in-out infinite;
  }
  .float-wa:hover{-webkit-transform:scale(1.12); transform:scale(1.12); box-shadow:0 14px 32px rgba(37,211,102,.6); -webkit-animation:none; animation:none;}
  .float-wa svg{width:34px; height:34px; -webkit-transition:-webkit-transform .25s; transition:transform .25s;}
  .float-wa:hover svg{-webkit-transform:rotate(-8deg) scale(1.08); transform:rotate(-8deg) scale(1.08);}
  .float-wa::after{
    content:''; position:absolute;
    inset:-4px;
    border-radius:50%;
    border:2px solid rgba(37,211,102,.4);
    -webkit-animation:waRing 2.2s ease-in-out infinite;
    animation:waRing 2.2s ease-in-out infinite;
  }
  @keyframes waPulse{
    0%,100%{box-shadow:0 8px 24px rgba(37,211,102,.45);}
    50%{box-shadow:0 12px 36px rgba(37,211,102,.7), 0 0 0 14px rgba(37,211,102,.08);}
  }
  @keyframes waRing{
    0%,100%{transform:scale(1); opacity:.6;}
    50%{transform:scale(1.15); opacity:0;}
  }

  /* ============ WhatsApp Popup ============ */
  .wa-popup{
    position:fixed; bottom:100px; right:28px; z-index:149; width:340px;
    background:var(--white); border-radius:16px; box-shadow:0 20px 50px rgba(0,0,0,.25);
    -webkit-transform:translateY(20px) scale(.92); transform:translateY(20px) scale(.92);
    opacity:0; visibility:hidden;
    -webkit-transition:-webkit-transform .35s var(--ease), opacity .35s, visibility .35s;
    transition:transform .35s var(--ease), opacity .35s, visibility .35s;
    overflow:hidden;
  }
  .wa-popup.open{-webkit-transform:translateY(0) scale(1); transform:translateY(0) scale(1); opacity:1; visibility:visible;}
  .wa-popup-header{
    background:#075E54; color:var(--white); padding:18px 20px;
    display:-webkit-flex; display:flex;
    -webkit-align-items:center; align-items:center;
    gap:14px; position:relative;
  }
  .wa-popup-logo{width:44px; height:44px; border-radius:50%; object-fit:cover; background:white; padding:4px;}
  .wa-popup-name{font-weight:700; font-size:.95rem;}
  .wa-popup-status{font-size:.72rem; opacity:.75; margin-top:3px;}
  .wa-popup-close{
    position:absolute; right:14px; top:50%; -webkit-transform:translateY(-50%); transform:translateY(-50%);
    color:white; font-size:1.6rem; opacity:.7; -webkit-transition:opacity .2s; transition:opacity .2s; line-height:1;
    cursor:pointer;
  }
  .wa-popup-close:hover{opacity:1;}
  .wa-popup-body{background:#ECE5DD; padding:18px; display:-webkit-flex; display:flex; -webkit-flex-direction:column; flex-direction:column; gap:14px;}
  .wa-popup-msg{
    background:white; padding:12px 16px; border-radius:10px 10px 10px 2px;
    font-size:.86rem; color:#333; line-height:1.5; box-shadow:0 1px 2px rgba(0,0,0,.08);
    max-width:85%;
  }
  .wa-popup-input{
    width:100%; min-height:80px; padding:12px; border-radius:10px; border:1px solid #ddd;
    font-family:var(--body); font-size:16px; resize:vertical; outline:none;
    -webkit-transition:border .2s; transition:border .2s;
  }
  .wa-popup-input:focus{border-color:var(--red);}
  .wa-popup-send{
    display:-webkit-flex; display:flex;
    -webkit-align-items:center; align-items:center;
    -webkit-justify-content:center; justify-content:center;
    gap:8px; background:#25D366; color:white; padding:12px 20px; border-radius:25px;
    font-weight:700; font-size:.85rem; text-align:center;
    -webkit-transition:background .2s, -webkit-transform .2s; transition:background .2s, transform .2s;
  }
  .wa-popup-send:hover{background:#1da851; -webkit-transform:translateY(-2px); transform:translateY(-2px);}
  @media (max-width:440px){
    .wa-popup{width:calc(100vw - 36px); right:18px; bottom:88px;}
    .float-wa{width:54px; height:54px; bottom:20px; right:20px;}
    .float-wa svg{width:28px; height:28px;}
  }
  @media(max-width:768px){
    .hero-media img{object-position:center 35%;}
    .hero{padding-top:0;}
    .typewriter-bar{margin-bottom:0;}
    header.site{margin-bottom:0;}
    #top{margin:0; padding:0; height:0; min-height:0;}
  }


/* ===== Premium Reviews Section ===== */
.sec-reviews{
  background:linear-gradient(180deg, var(--ink) 0%, #111114 100%);
  color:#fff;
  padding:100px 0;
  position:relative;
  overflow:hidden;
}
.sec-reviews::before{
  content:'';position:absolute;top:-200px;right:-200px;
  width:600px;height:600px;
  background:radial-gradient(circle, rgba(227,6,19,0.12) 0%, transparent 70%);
  pointer-events:none;
}
.reviews-header{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:44px;border-bottom:1px solid rgba(255,255,255,0.1);padding-bottom:36px;
}
.reviews-summary{
  display:flex;flex-wrap:wrap;align-items:center;gap:32px;
}
.summary-score{
  display:flex;align-items:center;gap:16px;
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);
  padding:16px 28px;border-radius:20px;
}
.score-big{
  font-family:var(--display);font-size:3.2rem;color:#fff;line-height:1;
}
.score-stars{
  display:flex;flex-direction:column;gap:4px;
}
.star-row{color:#FBBF24;font-size:1.1rem;letter-spacing:2px;}
.score-lbl{font-size:0.78rem;color:rgba(255,255,255,0.6);font-family:var(--mono);text-transform:uppercase;}
.summary-metrics{
  display:flex;flex-wrap:wrap;gap:24px;
}
.metric-item{
  display:flex;flex-direction:column;gap:4px;
}
.metric-val{font-weight:700;font-size:0.95rem;color:#fff;}
.metric-bar{width:110px;height:6px;background:rgba(255,255,255,0.1);border-radius:6px;overflow:hidden;}
.metric-fill{height:100%;background:linear-gradient(90deg,var(--red),#ff4d58);border-radius:6px;}
.metric-name{font-size:0.72rem;color:rgba(255,255,255,0.55);}

.reviews-controls{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:36px;
}
.filter-tabs{display:flex;flex-wrap:wrap;gap:10px;}
.filter-btn{
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);
  color:rgba(255,255,255,0.7);padding:8px 18px;border-radius:40px;font-size:0.82rem;font-weight:600;
  cursor:pointer;transition:all 0.3s var(--ease);
}
.filter-btn:hover,.filter-btn.active{
  background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 4px 18px rgba(227,6,19,0.35);
}
.sort-wrap{
  display:flex;align-items:center;gap:10px;font-size:0.82rem;color:rgba(255,255,255,0.6);
}
.sort-select{
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:#fff;
  padding:8px 14px;border-radius:12px;font-family:var(--body);font-size:0.82rem;outline:none;cursor:pointer;
}
.sort-select option{background:var(--ink);color:#fff;}

.reviews-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:24px;
}
.review-card{
  background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.09);
  border-radius:20px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;
  transition:transform 0.35s var(--ease),border-color 0.35s,box-shadow 0.35s;position:relative;
}
.review-card:hover{
  transform:translateY(-5px);border-color:rgba(227,6,19,0.45);
  box-shadow:0 14px 40px rgba(0,0,0,0.4);
}
.rev-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.rev-user{display:flex;align-items:center;gap:14px;}
.rev-avatar{
  width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--red),#9e020c);
  color:#fff;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;box-shadow:0 4px 12px rgba(227,6,19,0.3);
}
.rev-info h4{font-size:0.96rem;font-weight:700;color:#fff;line-height:1.2;margin-bottom:3px;}
.rev-role{font-size:0.75rem;color:rgba(255,255,255,0.5);display:block;}
.rev-verified{
  display:inline-flex;align-items:center;gap:5px;font-size:0.7rem;font-weight:600;
  color:#10B981;background:rgba(16,185,129,0.12);padding:4px 10px;border-radius:20px;
}
.rev-verified svg{width:12px;height:12px;fill:currentColor;}
.rev-meta{display:flex;align-items:center;justify-content:space-between;font-size:0.78rem;color:rgba(255,255,255,0.55);}
.rev-country{display:flex;align-items:center;gap:6px;font-weight:500;color:#fff;}
.rev-stars{color:#FBBF24;font-size:0.95rem;letter-spacing:1px;}
.rev-body{
  font-size:0.88rem;line-height:1.6;color:rgba(255,255,255,0.78);font-style:italic;
}
.rev-prod{
  font-family:var(--mono);font-size:0.7rem;color:rgba(255,255,255,0.4);
  background:rgba(255,255,255,0.04);padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,0.06);
}
.reviews-more{
  text-align:center;margin-top:48px;
}

/* ===== Live Review Modal ===== */
.rev-modal-overlay{
  position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,0.75);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity 0.4s var(--ease),visibility 0s 0.4s;
}
.rev-modal-overlay.active{
  opacity:1;visibility:visible;transition:opacity 0.4s var(--ease),visibility 0s 0s;
}
.rev-modal-box{
  background:var(--ink);border:1px solid rgba(255,255,255,0.18);border-radius:24px;
  width:min(560px,94vw);padding:40px;position:relative;max-height:90vh;overflow-y:auto;
  transform:scale(0.85);transition:transform 0.4s var(--ease);
}
.rev-modal-overlay.active .rev-modal-box{transform:scale(1);}
.rev-modal-close{
  position:absolute;top:20px;right:20px;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,0.08);border:none;color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background 0.3s;
}
.rev-modal-close:hover{background:var(--red);}
.rev-star-picker{display:flex;gap:8px;margin:16px 0 24px;}
.rev-star-picker span{font-size:1.8rem;cursor:pointer;color:rgba(255,255,255,0.2);transition:color 0.2s;}
.rev-star-picker span.active{color:#FBBF24;}
.form-grp{margin-bottom:18px;text-align:left;}
.form-grp label{display:block;font-size:0.8rem;font-weight:600;color:rgba(255,255,255,0.7);margin-bottom:6px;}
.form-grp input,.form-grp select,.form-grp textarea{
  width:100%;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);
  border-radius:12px;padding:12px 16px;color:#fff;font-family:var(--body);font-size:0.88rem;outline:none;
  transition:border-color 0.3s;
}
.form-grp input:focus,.form-grp select:focus,.form-grp textarea:focus{border-color:var(--red);}

/* ============ Floating Announcement Ticker ============ */
.announcement-ticker {
  position: relative; z-index: 101; background: linear-gradient(90deg, #111115 0%, #1a1510 50%, #111115 100%);
  border-bottom: 1px solid rgba(255, 215, 0, 0.25); border-top: 1px solid rgba(255, 215, 0, 0.15);
  overflow: hidden; padding: 11px 0; font-family: var(--mono); font-size: 0.8rem; font-weight: 600; color: #fff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}
.announcement-ticker.pre-quality-ticker {
  background: linear-gradient(90deg, #130a0c 0%, #200f13 50%, #130a0c 100%);
  border-bottom: 1px solid rgba(227, 6, 19, 0.35); border-top: 1px solid rgba(227, 6, 19, 0.35);
  margin-bottom: 40px;
}
.ticker-track {
  display: flex; width: max-content; animation: tickerScroll 38s linear infinite;
}
.ticker-track:hover { animation-play-state: paused; }
.ticker-content {
  display: flex; align-items: center; gap: 24px; padding-right: 24px; white-space: nowrap;
}
.ticker-badge {
  background: rgba(255, 215, 0, 0.18); border: 1px solid #ffd700; color: #ffd700;
  padding: 3px 12px; border-radius: 50px; font-weight: 700; font-size: 0.72rem; letter-spacing: 0.05em; text-transform: uppercase;
  box-shadow: 0 0 12px rgba(255,215,0,0.25);
}
.ticker-content span { color: rgba(255, 255, 255, 0.9); }
@keyframes tickerScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============ Trust Badges Section ============ */
.trust-badges-sec {
  padding: 40px 0 60px;
}
.trust-badges-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 30px;
}
@media (max-width: 992px) { .trust-badges-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 576px) { .trust-badges-grid { grid-template-columns: 1fr; } }
.trust-badge-card {
  background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 16px;
  padding: 28px 24px; text-align: center; position: relative; overflow: hidden; transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.trust-badge-card::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px;
  background: linear-gradient(90deg, transparent, #ffd700, transparent); opacity: 0.7; transition: 0.4s;
}
.trust-badge-card:hover {
  transform: translateY(-6px); border-color: rgba(255, 215, 0, 0.35); background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 15px 40px rgba(255, 215, 0, 0.12);
}
.trust-icon-box {
  width: 64px; height: 64px; border-radius: 16px; background: rgba(255, 215, 0, 0.1); border: 1px solid rgba(255, 215, 0, 0.25);
  display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; font-size: 1.6rem; color: #ffd700;
  box-shadow: 0 4px 15px rgba(255, 215, 0, 0.15); transition: 0.4s;
}
.trust-badge-card:hover .trust-icon-box { transform: scale(1.1) rotate(5deg); background: #ffd700; color: #000; }
.trust-badge-card h3 { font-family: var(--sans); font-size: 1.15rem; font-weight: 800; color: #fff; margin: 0 0 8px; }
.trust-badge-card p { font-size: 0.88rem; color: rgba(255, 255, 255, 0.65); line-height: 1.5; margin: 0; }

/* ============ Downloadable Certificates Section ============ */
.certificates-sec {
  padding: 20px 0 70px;
}
.certificates-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 35px;
}
@media (max-width: 992px) { .certificates-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .certificates-grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) {
  .cert-card { padding: 22px 16px !important; }
  .cert-card-header { gap: 12px; }
  .cert-seal { width: 48px; height: 48px; }
  .cert-title h4 { font-size: 1.05rem; }
  .cert-card-meta { flex-direction: column; gap: 6px; align-items: flex-start; }
}
.cert-card {
  background: linear-gradient(145deg, #15151a 0%, #0f0f12 100%); border: 1px solid rgba(255, 215, 0, 0.22);
  border-radius: 18px; padding: 30px; position: relative; display: flex; flex-direction: column; justify-content: space-between;
  box-shadow: 0 12px 35px rgba(0,0,0,0.5); transition: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.cert-card:hover {
  transform: translateY(-7px); border-color: #ffd700; box-shadow: 0 20px 45px rgba(255, 215, 0, 0.18);
}
.cert-card-header { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.cert-seal {
  width: 58px; height: 58px; border-radius: 50%; background: radial-gradient(circle, #ffd700, #b8860b);
  display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-weight: 800; font-size: 0.85rem;
  color: #000; text-align: center; line-height: 1.1; border: 2px solid #fff; box-shadow: 0 4px 15px rgba(255,215,0,0.4);
  flex-shrink: 0;
}
.cert-title h4 { font-size: 1.15rem; font-weight: 800; color: #fff; margin: 0 0 4px; }
.cert-title span { font-size: 0.78rem; color: #ffd700; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.06em; }
.cert-card p { font-size: 0.9rem; color: rgba(255, 255, 255, 0.7); line-height: 1.55; margin: 0 0 22px; flex-grow: 1; }
.cert-card-meta { display: flex; justify-content: space-between; font-size: 0.78rem; font-family: var(--mono); color: rgba(255,255,255,0.45); margin-bottom: 20px; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 14px; }
.cert-dl-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%;
  padding: 13px 20px; border-radius: 10px; background: rgba(255, 215, 0, 0.12); border: 1px solid #ffd700;
  color: #ffd700; font-weight: 700; font-size: 0.92rem; text-decoration: none; transition: 0.3s;
}
.cert-dl-btn:hover {
  background: #ffd700; color: #000; box-shadow: 0 4px 20px rgba(255,215,0,0.35); transform: scale(1.02);
}

  /* ============ Theme switcher global tokens (Accent-only variables) ============ */
  html.theme-light {
    --red: #E30613;
    --red-deep: #A80410;
    --glow-a: rgba(227,6,19,.55);
  }
  html.theme-dark {
    --red: #0ea5e9;
    --red-deep: #0284c7;
    --glow-a: rgba(14,165,233,.55);
  }
  html.theme-green {
    --red: #10b981;
    --red-deep: #059669;
    --glow-a: rgba(16,185,129,.55);
  }

  /* Theme Switcher Styles */
  .theme-switcher-desktop {
    position: fixed;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 220;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: rgba(15, 15, 20, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 30px;
    padding: 12px 8px;
    backdrop-filter: blur(16px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    transition: opacity 0.3s, transform 0.3s var(--ease);
  }
  @media (max-width: 900px) {
    .theme-switcher-desktop { display: none; }
  }

  .theme-switcher-mobile {
    display: none;
    gap: 6px;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.05);
    padding: 4px;
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.05);
  }

  @media (max-width: 900px) {
    .theme-switcher-mobile { display: flex; }
  }

  .ts-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    transition: all 0.3s var(--ease);
    border: 1px solid transparent;
  }
  .theme-switcher-mobile .ts-btn {
    color: rgba(0, 0, 0, 0.5);
  }
  .theme-switcher-mobile .ts-btn.active {
    color: var(--red);
    background: rgba(227, 6, 19, 0.05);
    border-color: rgba(227, 6, 19, 0.1);
  }
  .ts-btn[data-theme="light"].active {
    color: #eab308;
    background: rgba(234, 179, 8, 0.15);
    border-color: rgba(234, 179, 8, 0.3);
    box-shadow: 0 0 12px rgba(234, 179, 8, 0.25);
  }
  .ts-btn[data-theme="dark"].active {
    color: #38bdf8;
    background: rgba(56, 189, 248, 0.15);
    border-color: rgba(56, 189, 248, 0.3);
    box-shadow: 0 0 12px rgba(56, 189, 248, 0.25);
  }
  .ts-btn[data-theme="green"].active {
    color: #10b981;
    background: rgba(16, 185, 129, 0.15);
    border-color: rgba(16, 185, 129, 0.3);
    box-shadow: 0 0 12px rgba(16, 185, 129, 0.25);
  }
  .ts-btn:hover {
    transform: scale(1.1);
    color: var(--white);
  }
  .theme-switcher-mobile .ts-btn:hover {
    color: var(--ink);
  }

/* --- Next Style Block --- */

.categories-premium {
      position: relative;
      z-index: 1;
    }

    .categories-premium .sec-head {
      max-width: 680px;
      margin: 0 auto 60px;
      text-align: center;
    }
    .categories-premium .sec-head .eyebrow {
      color: var(--red);
      font-family: var(--mono);
      font-size: 0.75rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 12px;
    }
    .categories-premium .sec-head .eyebrow::before,
    .categories-premium .sec-head .eyebrow::after {
      content: '';
      width: 30px;
      height: 2px;
      background: var(--red);
    }
    .categories-premium .sec-head h2 {
      font-family: var(--display);
      font-size: clamp(2.2rem, 5vw, 3.4rem);
      color: var(--ink);
      text-transform: uppercase;
      line-height: 1.05;
      margin-bottom: 16px;
      letter-spacing: 0.02em;
    }
    .categories-premium .sec-head h2 span {
      background: linear-gradient(135deg, var(--red), #E3A006);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .categories-premium .sec-head p {
      color: var(--steel);
      font-size: 1.05rem;
      max-width: 500px;
      margin: 0 auto;
      line-height: 1.7;
    }

    /* Premium Category Grid */
    .cat-grid-premium {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      margin-top: 10px;
    }

    @media (max-width: 1024px) {
      .cat-grid-premium {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
      }
    }
    @media (max-width: 640px) {
      .cat-grid-premium {
        grid-template-columns: 1fr;
        gap: 18px;
      }
    }

    /* Premium Category Card */
    .cat-card-premium {
      position: relative;
      overflow: hidden;
      border-radius: 20px;
      background: #ffffff;
      border: 1px solid var(--line-soft);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      aspect-ratio: 3/4;
      transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
      cursor: pointer;
      text-decoration: none;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    }

    .cat-card-premium::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(0deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.25) 40%, rgba(0,0,0,0.05) 70%, rgba(0,0,0,0.15) 100%);
      z-index: 1;
      transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .cat-card-premium:hover {
      transform: translateY(-10px) scale(1.02);
      border-color: var(--red);
      box-shadow: 0 25px 50px rgba(227, 6, 19, 0.15), 0 10px 30px rgba(0, 0, 0, 0.08);
    }

    .cat-card-premium:hover::before {
      background: linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0.02) 80%, rgba(0,0,0,0.1) 100%);
    }

    /* Category Image */
    .cat-card-premium .cimg-premium {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 0;
    }

    .cat-card-premium:hover .cimg-premium {
      transform: scale(1.08);
    }

    /* Premium Red Glow Border on Hover */
    .cat-card-premium::after {
      content: '';
      position: absolute;
      inset: -2px;
      border-radius: 22px;
      background: linear-gradient(135deg, transparent 40%, rgba(227,6,19,0.25) 50%, transparent 60%);
      opacity: 0;
      transition: opacity 0.5s ease;
      z-index: 2;
      pointer-events: none;
    }

    .cat-card-premium:hover::after {
      opacity: 1;
      animation: glowRotate 3s linear infinite;
    }

    @keyframes glowRotate {
      0% { background: linear-gradient(135deg, transparent 40%, rgba(227,6,19,0.25) 50%, transparent 60%); }
      100% { background: linear-gradient(495deg, transparent 40%, rgba(227,6,19,0.25) 50%, transparent 60%); }
    }

    /* Category Body Content */
    .cat-card-premium .cbody-premium {
      position: relative;
      z-index: 3;
      padding: 28px 24px 24px;
      color: #ffffff;
    }

    .cat-card-premium .ccount-premium {
      font-family: var(--mono);
      font-size: 0.7rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #E3A006;
      display: inline-block;
      background: rgba(227, 160, 6, 0.15);
      padding: 4px 14px;
      border-radius: 50px;
      border: 1px solid rgba(227, 160, 6, 0.2);
      margin-bottom: 12px;
      backdrop-filter: blur(4px);
    }

    .cat-card-premium h3 {
      font-family: var(--display);
      font-size: clamp(1.2rem, 1.6vw, 1.6rem);
      text-transform: uppercase;
      line-height: 1.1;
      margin-bottom: 4px;
      color: #ffffff;
      letter-spacing: 0.02em;
    }

    .cat-card-premium .cat-desc {
      font-size: 0.8rem;
      color: rgba(255, 255, 255, 0.5);
      margin-bottom: 16px;
      line-height: 1.4;
      font-family: var(--body);
    }

    /* ===== VIEW PRODUCTS BUTTON ===== */
    .cat-card-premium .btn-view {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-family: var(--body);
      font-weight: 700;
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      padding: 10px 22px;
      border-radius: 50px;
      background: var(--red);
      color: #ffffff;
      border: 2px solid var(--red);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      text-decoration: none;
      width: fit-content;
      box-shadow: 0 4px 15px rgba(227, 6, 19, 0.3);
    }

    .cat-card-premium .btn-view svg {
      width: 14px;
      height: 14px;
      transition: transform 0.3s ease;
    }

    .cat-card-premium:hover .btn-view {
      background: #ffffff;
      color: var(--red);
      border-color: #ffffff;
      box-shadow: 0 6px 25px rgba(227, 6, 19, 0.4);
      transform: translateY(-2px);
    }

    .cat-card-premium:hover .btn-view svg {
      transform: translateX(4px);
    }

    /* Number Badge on Card */
    .cat-number {
      position: absolute;
      top: 18px;
      right: 20px;
      z-index: 3;
      font-family: var(--display);
      font-size: 3.5rem;
      font-weight: 400;
      color: rgba(255, 255, 255, 0.05);
      line-height: 1;
      pointer-events: none;
      letter-spacing: -0.04em;
    }

    /* Category image fallback colors */
    .cat-card-premium:nth-child(1) .cimg-premium { background-color: #1a0a0a; }
    .cat-card-premium:nth-child(2) .cimg-premium { background-color: #0a0a1a; }
    .cat-card-premium:nth-child(3) .cimg-premium { background-color: #0a1a0a; }
    .cat-card-premium:nth-child(4) .cimg-premium { background-color: #1a1a0a; }

    /* Hover shine effect */
    .cat-card-premium .shine {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(135deg, transparent 40%, rgba(255,255,255,0.04) 50%, transparent 60%);
      pointer-events: none;
      z-index: 2;
      opacity: 0;
      transition: opacity 0.5s ease;
    }

    .cat-card-premium:hover .shine {
      opacity: 1;
    }

    /* Mobile optimizations */
    @media (max-width: 640px) {
      .cat-card-premium .cbody-premium {
        padding: 22px 18px 18px;
      }
      .cat-card-premium h3 {
        font-size: 1.3rem;
      }
      .cat-card-premium .btn-view {
        font-size: 0.65rem;
        padding: 8px 16px;
      }
      .cat-number {
        font-size: 2.5rem;
        top: 12px;
        right: 14px;
      }
      .cat-card-premium .ccount-premium {
        font-size: 0.6rem;
        padding: 3px 10px;
      }
    }

    @media (max-width: 400px) {
      .cat-card-premium .cbody-premium {
        padding: 18px 14px 14px;
      }
      .cat-card-premium h3 {
        font-size: 1.1rem;
      }
      .cat-card-premium .btn-view {
        font-size: 0.6rem;
        padding: 6px 14px;
      }
      .cat-card-premium .cat-desc {
        font-size: 0.7rem;
        margin-bottom: 12px;
      }
    }

/* --- Next Style Block --- */

.cat-premium-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      margin-top: 50px;
      position: relative;
      z-index: 5;
    }

    @media (max-width: 960px) {
      .cat-premium-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
      }
    }

    @media (max-width: 640px) {
      .cat-premium-grid {
        grid-template-columns: 1fr;
        gap: 20px;
      }
    }

    /* ===== Catalogue Card ===== */
    .catalogue-card {
      background: #ffffff;
      border: 1px solid var(--line-soft);
      border-radius: 20px;
      padding: 32px 28px 28px;
      display: flex;
      flex-direction: column;
      gap: 16px;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
      transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
      position: relative;
      overflow: hidden;
      min-height: 300px;
    }

    .catalogue-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg, var(--red), #E3A006);
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .catalogue-card:hover {
      transform: translateY(-6px);
      border-color: var(--red);
      box-shadow: 0 20px 40px rgba(227, 6, 19, 0.1), 0 8px 20px rgba(0, 0, 0, 0.06);
    }

    .catalogue-card:hover::before {
      opacity: 1;
    }

    /* Card Header */
    .catalogue-card-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
      padding-bottom: 12px;
      border-bottom: 1px solid var(--line-soft);
    }

    .cat-num {
      font-family: var(--mono);
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--red);
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }

    .cat-stream-badge {
      font-size: 0.65rem;
      font-weight: 700;
      background: rgba(34, 197, 94, 0.1);
      color: #22c55e;
      padding: 4px 12px;
      border-radius: 50px;
      border: 1px solid rgba(34, 197, 94, 0.2);
      display: inline-flex;
      align-items: center;
      gap: 6px;
      letter-spacing: 0.04em;
      white-space: nowrap;
    }

    .cat-live-dot {
      width: 6px;
      height: 6px;
      background: #22c55e;
      border-radius: 50%;
      display: inline-block;
      animation: pulseCatDot 1.8s ease-in-out infinite;
    }

    @keyframes pulseCatDot {
      0% { transform: scale(0.95); opacity: 0.9; }
      70% { transform: scale(2.2); opacity: 0; }
      100% { transform: scale(0.95); opacity: 0; }
    }

    /* Card Body */
    .catalogue-card h3 {
      font-family: var(--display);
      font-size: clamp(1.3rem, 2.5vw, 1.6rem);
      color: var(--ink);
      margin: 0;
      line-height: 1.2;
      letter-spacing: 0.02em;
      text-transform: uppercase;
    }

    .catalogue-card p {
      font-family: var(--body);
      font-size: 0.92rem;
      color: var(--steel);
      line-height: 1.6;
      margin: 0;
      flex-grow: 1;
    }

    /* ===== ACTIONS - Buttons Side by Side ===== */
    .cat-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 4px;
    }

    @media (max-width: 480px) {
      .cat-actions {
        grid-template-columns: 1fr;
        gap: 10px;
      }
    }

    .btn-cat-live {
      background: linear-gradient(135deg, var(--red), var(--red-deep));
      color: #ffffff !important;
      font-weight: 700;
      font-size: 0.78rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      padding: 12px 16px;
      border-radius: 50px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      box-shadow: 0 4px 15px rgba(227, 6, 19, 0.3);
      border: 2px solid var(--red);
      transition: all 0.25s ease;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-cat-live:hover {
      background: #ffffff;
      color: var(--red) !important;
      border-color: var(--red);
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(227, 6, 19, 0.35);
    }

    .btn-cat-dl {
      background: var(--concrete);
      color: var(--ink) !important;
      font-weight: 700;
      font-size: 0.78rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      padding: 12px 16px;
      border-radius: 50px;
      border: 2px solid var(--line-soft);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      transition: all 0.25s ease;
      text-decoration: none;
      white-space: nowrap;
    }

    .btn-cat-dl:hover {
      background: var(--ink);
      border-color: var(--ink);
      color: #ffffff !important;
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    }

    /* Mobile optimizations for catalogues */
    @media (max-width: 640px) {
      .catalogue-card {
        padding: 24px 20px 20px;
        min-height: 260px;
      }
      .catalogue-card h3 {
        font-size: 1.2rem;
      }
      .catalogue-card p {
        font-size: 0.85rem;
      }
      .btn-cat-live,
      .btn-cat-dl {
        font-size: 0.7rem;
        padding: 10px 14px;
      }
      .cat-num {
        font-size: 0.65rem;
      }
      .cat-stream-badge {
        font-size: 0.58rem;
        padding: 3px 10px;
      }
    }

    @media (max-width: 400px) {
      .catalogue-card {
        padding: 18px 14px 16px;
        min-height: 220px;
      }
      .catalogue-card h3 {
        font-size: 1rem;
      }
      .btn-cat-live,
      .btn-cat-dl {
        font-size: 0.65rem;
        padding: 8px 12px;
      }
    }

/* --- Next Style Block --- */

@keyframes pulseLiveDot {
        0% { transform: scale(0.95); opacity: 0.9; }
        70% { transform: scale(2.2); opacity: 0; }
        100% { transform: scale(0.95); opacity: 0; }
      }

/* --- Next Style Block --- */

.welcome-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(8, 8, 12, 0.82);
  backdrop-filter: blur(14px);
  z-index: 99999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}
.welcome-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
.welcome-card {
  position: relative;
  background: linear-gradient(145deg, rgba(22, 22, 28, 0.96) 0%, rgba(14, 14, 18, 0.98) 100%);
  border: 1px solid rgba(227, 6, 19, 0.45);
  border-radius: 24px;
  padding: 38px 34px;
  max-width: 530px;
  width: 100%;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.85), 0 0 40px rgba(227, 6, 19, 0.24);
  transform: scale(0.88) translateY(24px);
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}
.welcome-overlay.active .welcome-card {
  transform: scale(1) translateY(0);
}
.welcome-glow-orb {
  position: absolute;
  top: -80px;
  right: -80px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(227, 6, 19, 0.35) 0%, rgba(0,0,0,0) 70%);
  filter: blur(35px);
  pointer-events: none;
}
.welcome-close {
  position: absolute;
  top: 18px;
  right: 22px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s, border-color 0.3s;
  z-index: 10;
}
.welcome-close:hover {
  background: #E30613;
  border-color: #E30613;
  transform: rotate(90deg) scale(1.08);
}
.welcome-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(227, 6, 19, 0.15);
  border: 1px solid rgba(227, 6, 19, 0.4);
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #ff4d58;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
  text-transform: uppercase;
}
.welcome-pulse-dot {
  width: 8px;
  height: 8px;
  background: #E30613;
  border-radius: 50%;
  box-shadow: 0 0 10px #E30613;
  animation: welcomeDotPulse 1.4s infinite;
}
@keyframes welcomeDotPulse {
  0% { transform: scale(0.9); opacity: 0.7; }
  50% { transform: scale(1.4); opacity: 1; }
  100% { transform: scale(0.9); opacity: 0.7; }
}
.welcome-title {
  font-size: 1.85rem;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 12px 0;
  line-height: 1.2;
}
.welcome-highlight {
  background: linear-gradient(90deg, #fff 0%, #E30613 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.welcome-subtitle {
  font-size: 0.94rem;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.55;
  margin: 0 0 24px 0;
}
.welcome-features {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 28px;
}
.welcome-feat-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 12px 14px;
  transition: border-color 0.3s, background 0.3s;
}
.welcome-feat-item:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(227, 6, 19, 0.35);
}
.welcome-feat-icon {
  font-size: 1.5rem;
  line-height: 1;
  padding-top: 2px;
}
.welcome-feat-text {
  display: flex;
  flex-direction: column;
}
.welcome-feat-text strong {
  font-size: 0.92rem;
  color: #fff;
  margin-bottom: 2px;
}
.welcome-feat-text span {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.4;
}
.welcome-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 20px;
}
.welcome-btn-primary {
  background: linear-gradient(135deg, #E30613 0%, #a8000c 100%);
  color: #fff;
  text-decoration: none;
  padding: 14px 18px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 0.9rem;
  text-align: center;
  box-shadow: 0 6px 20px rgba(227, 6, 19, 0.35);
  transition: transform 0.25s, box-shadow 0.25s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.welcome-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(227, 6, 19, 0.55);
}
.welcome-btn-secondary {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #fff;
  text-decoration: none;
  padding: 14px 18px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 0.9rem;
  text-align: center;
  transition: background 0.25s, border-color 0.25s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.welcome-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.35);
}
.welcome-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 14px;
  text-align: center;
}
.welcome-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  user-select: none;
}
.welcome-checkbox-label input[type="checkbox"] {
  accent-color: #E30613;
  width: 15px;
  height: 15px;
  cursor: pointer;
}
@media (max-width: 580px) {
  .welcome-card {
    padding: 28px 20px;
  }
  .welcome-title {
    font-size: 1.5rem;
  }
  .welcome-actions {
    grid-template-columns: 1fr;
  }
}

/* --- Next Style Block --- */

.live-sold-popup {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 9999999;
  display: flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(135deg, rgba(16, 16, 20, 0.95) 0%, rgba(28, 28, 34, 0.92) 100%);
  border: 1px solid rgba(227, 6, 19, 0.45);
  border-radius: 16px;
  padding: 14px 18px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.7), 0 0 24px rgba(227, 6, 19, 0.22);
  backdrop-filter: blur(16px);
  max-width: 390px;
  width: calc(100vw - 48px);
  transform: translateX(-140%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease;
  font-family: var(--body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
}
.live-sold-popup.active {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
.live-sold-close {
  position: absolute;
  top: 8px;
  right: 12px;
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.45);
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
  padding: 2px 6px;
  transition: color 0.2s, transform 0.2s;
}
.live-sold-close:hover {
  color: #fff;
  transform: scale(1.15);
}
.live-sold-thumb {
  width: 66px;
  height: 66px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.live-sold-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}
.live-sold-content {
  flex: 1;
  min-width: 0;
  padding-right: 16px;
}
.live-sold-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.live-sold-dot {
  width: 8px;
  height: 8px;
  background: #22c55e;
  border-radius: 50%;
  box-shadow: 0 0 8px #22c55e;
  animation: liveSoldPulse 1.5s infinite;
}
@keyframes liveSoldPulse {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.4); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.8; }
}
.live-sold-tag {
  font-size: 0.68rem;
  font-weight: 700;
  color: #4ade80;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.live-sold-time {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.45);
  margin-left: auto;
}
.live-sold-buyer {
  font-size: 0.9rem;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 3px;
}
.live-sold-item {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.35;
}
@media (max-width: 600px) {
  .live-sold-popup {
    bottom: 16px;
    left: 16px;
    right: 16px;
    width: calc(100vw - 32px);
  }
}