*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

:root{
  --red:#d71920;
  --red-dark:#8f080d;
  --black:#050505;
  --dark:#0a0a0a;
  --card:rgba(255,255,255,.045);
  --border:rgba(255,255,255,.12);
  --muted:#b7b7b7;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Arial, Helvetica, sans-serif;
  background:#050505;
  color:#fff;
  overflow-x:hidden;
}

body.no-scroll{
  overflow:hidden;
}

a{
  color:inherit;
  text-decoration:none;
}

section{
  padding:100px 7%;
  position:relative;
}

.section-title{
  font-size:clamp(2.2rem,5vw,4.8rem);
  text-transform:uppercase;
  letter-spacing:2px;
  margin-bottom:45px;
  line-height:.95;
}

.section-title span{
  color:var(--red);
}

/* LOADER */

.loader{
  position:fixed;
  inset:0;
  z-index:9999;
  background:#050505;
  display:grid;
  place-items:center;
  transition:.6s ease;
}

.loader.hide{
  opacity:0;
  visibility:hidden;
}

.loader-logo{
  font-size:clamp(2rem,6vw,5rem);
  font-weight:900;
  font-style:italic;
  letter-spacing:2px;
  animation:pulseLogo 1.2s infinite alternate;
}

.loader-logo span{
  color:var(--red);
}

@keyframes pulseLogo{
  from{
    opacity:.45;
    transform:scale(.96);
  }

  to{
    opacity:1;
    transform:scale(1);
    text-shadow:0 0 35px rgba(215,25,32,.7);
  }
}

/* MOUSE GLOW */

.mouse-glow{
  position:fixed;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(215,25,32,.16);
  filter:blur(70px);
  pointer-events:none;
  z-index:0;
  transform:translate(-50%,-50%);
}

/* SCROLL PROGRESS */

.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0%;
  background:var(--red);
  z-index:10000;
  box-shadow:0 0 18px rgba(215,25,32,.9);
}

/* HEADER */

header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:999;
  padding:18px 7%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(5,5,5,.58);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:.3s ease;
}

header.scrolled{
  padding:12px 7%;
  background:rgba(5,5,5,.92);
  box-shadow:0 10px 35px rgba(0,0,0,.35);
}

.logo{
  display:flex;
  align-items:center;
}

.logo-img{
  width:92px;
  height:auto;
  display:block;
  transition:.3s ease;
}

.logo-img:hover{
  transform:scale(1.05);
}

nav{
  display:flex;
  gap:30px;
}

nav a{
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  color:#ddd;
  position:relative;
}

nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:0;
  height:2px;
  background:var(--red);
  transition:.3s ease;
}

nav a:hover::after{
  width:100%;
}

.menu-btn{
  display:none;
  font-size:2rem;
  cursor:pointer;
  z-index:1001;
}

/* BUTTONS */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  padding:14px 28px;
  border-radius:8px;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
  font-size:.82rem;
  letter-spacing:1px;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 0 25px rgba(215,25,32,.35);
  transition:.3s ease;
}

.btn:hover{
  transform:translateY(-3px);
  box-shadow:0 0 40px rgba(215,25,32,.65);
}

.btn.secondary{
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.25);
  box-shadow:none;
}

.btn.secondary:hover{
  border-color:var(--red);
  color:#fff;
}

/* HERO */

.hero{
  min-height:100vh;
  padding:150px 7% 100px;
  background:
    radial-gradient(circle at top left, rgba(215,25,32,.18), transparent 32%),
    radial-gradient(circle at bottom right, rgba(215,25,32,.12), transparent 35%),
    #050505;
  position:relative;
  z-index:1;
}

.hero-image{
  width:100%;
  max-width:600px;
  margin:0 auto 55px;
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(215,25,32,.35);
  box-shadow:
    0 0 45px rgba(215,25,32,.18),
    0 30px 80px rgba(0,0,0,.55);
}

.hero-image img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .2s linear;
  will-change:transform;
}

.hero-content{
  max-width:980px;
  margin:0 auto;
  text-align:center;
}

.eyebrow{
  display:inline-block;
  color:#fff;
  background:rgba(215,25,32,.85);
  border:1px solid rgba(255,255,255,.12);
  padding:10px 16px;
  border-radius:999px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:.75rem;
  margin-bottom:22px;
}

.hero h1{
  font-size:clamp(3rem,8vw,7rem);
  line-height:.9;
  text-transform:uppercase;
  letter-spacing:-3px;
  margin:28px 0;
}

.hero h1 span{
  display:block;
  color:var(--red);
  text-shadow:0 0 35px rgba(215,25,32,.5);
}

.hero p{
  max-width:760px;
  margin:0 auto 35px;
  color:#d0d0d0;
  font-size:1.12rem;
  line-height:1.8;
}

.hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  max-width:760px;
  margin:0 auto 35px;
}

.hero-stats div{
  padding:22px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
  transition:.3s ease;
}

.hero-stats div:hover{
  transform:translateY(-6px);
  border-color:rgba(215,25,32,.55);
  box-shadow:0 0 32px rgba(215,25,32,.18);
}

.hero-stats strong{
  display:block;
  font-size:2rem;
  margin-bottom:6px;
}

.hero-stats span{
  color:var(--red);
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
}

.hero-actions{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}

/* BRAND STRIP */

.brand-strip{
  padding:55px 7%;
  text-align:center;
  background:linear-gradient(180deg,#050505,#080808);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.brand-strip p{
  color:#aaa;
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:2px;
  margin-bottom:22px;
}

.brand-strip-grid{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

.brand-strip-grid span{
  min-width:170px;
  padding:18px 24px;
  border-radius:16px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
}
/* ===========================
   STATS
=========================== */

.stats-section{
    padding-top:80px;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:22px;
}

.stat-card{
    padding:34px;
    border-radius:22px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.12);
    text-align:center;
    transition:.35s ease;
}

.stat-card:hover{
    border-color:rgba(215,25,32,.55);
    box-shadow:0 0 40px rgba(215,25,32,.25);
}

.stat-card h3{
    font-size:2.4rem;
    margin-bottom:8px;
}

.stat-card p{
    color:var(--red);
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:1px;
    font-size:.78rem;
}

/* ===========================
   ABOUT
=========================== */

.about-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:65px;
    align-items:center;
}

.about-image{
    overflow:hidden;
    border-radius:28px;
    border:1px solid rgba(215,25,32,.3);
    box-shadow:0 0 45px rgba(215,25,32,.18);
}

.about-image img{
    width:100%;
    display:block;
}

.about-text p{
    color:#d2d2d2;
    line-height:1.9;
    margin-bottom:22px;
}

.quote{
    margin-top:35px;
    padding:28px;
    border-left:4px solid var(--red);
    border-radius:18px;
    background:rgba(255,255,255,.04);
    font-style:italic;
}

/* ===========================
   CONTENT STYLE
=========================== */

.content-section{
    background:
        radial-gradient(circle at center,
        rgba(215,25,32,.08),
        transparent 45%);
}

.content-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.content-card{
    padding:36px;
    border-radius:24px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.12);
    transition:.35s;
    text-align:center;
}

.content-card:hover{
    border-color:rgba(215,25,32,.55);
    box-shadow:0 0 35px rgba(215,25,32,.22);
}

.content-card span{
    font-size:3rem;
    display:block;
    margin-bottom:18px;
}

.content-card h3{
    margin-bottom:14px;
    font-size:1.35rem;
}

.content-card p{
    color:#bdbdbd;
    line-height:1.8;
    font-size:.95rem;
}

/* ===========================
   CAMPAIGNS
=========================== */

.campaign-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.campaign-card{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    min-height:620px;
    border:1px solid rgba(215,25,32,.35);
    background:#111;
    transition:.4s ease;
}

.campaign-card:hover{
    box-shadow:
        0 30px 80px rgba(0,0,0,.55),
        0 0 40px rgba(215,25,32,.35);
}

.campaign-img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.6;
    transition:.5s;
}

.campaign-card:hover .campaign-img{
    transform:scale(1.08);
    opacity:.78;
}

.blockblast-img{
    object-position:center 22%;
}

.waterfly-img{
    object-position:center 25%;
}

.campaign-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.18),
            rgba(0,0,0,.65),
            rgba(0,0,0,.95)
        );
}

.campaign-content{
    position:relative;
    z-index:2;
    min-height:620px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:38px;
}

.campaign-tag{
    display:inline-block;
    width:max-content;
    padding:9px 18px;
    border-radius:999px;
    background:linear-gradient(
        135deg,
        var(--red),
        var(--red-dark)
    );
    font-size:.72rem;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:18px;
}

.campaign-content h3{
    font-size:3rem;
    margin-bottom:22px;
}

.campaign-stats{
    display:flex;
    gap:18px;
    margin-bottom:28px;
}

.campaign-stats div{
    flex:1;
    padding:18px;
    border-radius:18px;
    backdrop-filter:blur(12px);
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

.campaign-stats strong{
    display:block;
    font-size:1.4rem;
}

.campaign-stats span{
    display:block;
    margin-top:6px;
    color:var(--red);
    text-transform:uppercase;
    font-size:.72rem;
    font-weight:900;
}

.campaign-content ul{
    list-style:none;
    margin-bottom:28px;
}

.campaign-content li{
    line-height:1.9;
    color:#efefef;
}

.campaign-content li::before{
    content:"✓ ";
    color:var(--red);
    font-weight:bold;
}

.campaign-btn{
    display:block;
    width:100%;
    text-align:center;
    padding:18px;
    border-radius:14px;
    background:linear-gradient(
        135deg,
        var(--red),
        var(--red-dark)
    );
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1px;
}

/* ===========================
   WHY BRANDS
=========================== */

.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.glass-card{
    padding:34px;
    border-radius:22px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.12);
    transition:.35s;
}

.glass-card:hover{
    border-color:rgba(215,25,32,.55);
    box-shadow:0 0 35px rgba(215,25,32,.2);
}

.glass-card h3{
    margin-bottom:12px;
}

.glass-card p{
    color:#bdbdbd;
    line-height:1.8;
}

/* ===========================
   CREATIVE PROCESS
=========================== */

.process-section{
  background:
    radial-gradient(circle at top left, rgba(215,25,32,.16), transparent 30%),
    #050505;
}

.process-timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.process-card{
  position:relative;
  padding:30px;
  min-height:230px;
  border-radius:22px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
  transition:.35s ease;
  overflow:hidden;
}

.process-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(215,25,32,.18), transparent 45%);
  opacity:0;
  transition:.35s ease;
}

.process-card:hover{
  transform:translateY(-10px);
  border-color:rgba(215,25,32,.55);
  box-shadow:0 0 35px rgba(215,25,32,.22);
}

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

.process-card span{
  position:relative;
  z-index:2;
  display:inline-flex;
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--red);
  font-weight:900;
  margin-bottom:22px;
  box-shadow:0 0 25px rgba(215,25,32,.45);
}

.process-card h3,
.process-card p{
  position:relative;
  z-index:2;
}

.process-card h3{
  font-size:1.15rem;
  margin-bottom:12px;
}

.process-card p{
  color:#b7b7b7;
  line-height:1.7;
  font-size:.95rem;
}

/* ===========================
   PRICING
=========================== */

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}

.price-card{
  position:relative;
  padding:42px;
  border-radius:26px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.13);
  transition:.35s ease;
}

.price-card:hover{
  transform:translateY(-8px);
  border-color:rgba(215,25,32,.55);
  box-shadow:0 0 40px rgba(215,25,32,.22);
}

.price-card.featured{
  border-color:var(--red);
  box-shadow:0 0 45px rgba(215,25,32,.25);
  transform:scale(1.03);
}

.badge{
  position:absolute;
  top:18px;
  right:18px;
  padding:8px 15px;
  border-radius:999px;
  background:var(--red);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
}

.price-card h3{
  font-size:1.75rem;
  text-transform:uppercase;
  margin-bottom:20px;
}

.price{
  font-size:3.7rem;
  color:var(--red);
  font-weight:900;
  margin-bottom:25px;
}

.price-card ul{
  list-style:none;
  color:#d2d2d2;
  line-height:2;
  margin-bottom:30px;
}

.price-card li::before{
  content:"✓ ";
  color:var(--red);
  font-weight:900;
}

.addons{
  margin-top:30px;
  padding:28px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  background:rgba(255,255,255,.035);
}

.addons strong{
  display:block;
  margin-bottom:6px;
}

.addons span{
  color:var(--red);
  font-weight:900;
}

/* ===========================
   TESTIMONIALS
=========================== */

.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}

.testimonial-card{
  padding:34px;
  border-radius:24px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.13);
}

.stars{
  color:var(--red);
  font-size:1.45rem;
  margin-bottom:18px;
}

.testimonial-card p{
  color:#ddd;
  line-height:1.8;
  margin-bottom:18px;
}

/* ===========================
   FAQ
=========================== */

.faq-wrap{
  max-width:900px;
}

.faq-item{
  border-bottom:1px solid rgba(255,255,255,.14);
}

.faq-question{
  width:100%;
  padding:24px 0;
  background:transparent;
  border:none;
  color:#fff;
  font-size:1.1rem;
  font-weight:900;
  text-align:left;
  cursor:pointer;
}

.faq-question::after{
  content:"+";
  float:right;
  color:var(--red);
  font-size:1.5rem;
}

.faq-item.active .faq-question::after{
  content:"−";
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:.35s ease;
}

.faq-item.active .faq-answer{
  max-height:170px;
}

.faq-answer p{
  color:var(--muted);
  line-height:1.7;
  padding-bottom:22px;
}

/* ===========================
   FINAL CTA
=========================== */

.final-cta{
  text-align:center;
  padding:130px 7%;
  background:
    radial-gradient(circle at center, rgba(215,25,32,.22), transparent 35%),
    linear-gradient(180deg,#050505,#0a0a0a);
}

.final-cta h2{
  font-size:clamp(2.5rem,7vw,6rem);
  text-transform:uppercase;
  line-height:.95;
  margin-bottom:25px;
}

.final-cta p{
  max-width:760px;
  margin:0 auto 35px;
  color:#d2d2d2;
  font-size:1.1rem;
  line-height:1.8;
}

/* ===========================
   FOOTER
=========================== */

footer{
  padding:100px 7% 50px;
  background:
    radial-gradient(circle at bottom left, rgba(215,25,32,.18), transparent 30%),
    linear-gradient(180deg,#050505 0%,#0a0a0a 100%);
  border-top:1px solid rgba(255,255,255,.08);
  text-align:center;
}

.footer-logo{
  display:flex;
  justify-content:center;
  margin-bottom:30px;
}

.footer-logo-img{
  width:165px;
  height:auto;
  transition:.35s;
}

.footer-logo-img:hover{
  transform:scale(1.04);
}

footer h3{
  font-size:2.3rem;
  margin-bottom:18px;
}

.footer-text{
  max-width:720px;
  margin:0 auto 45px;
  color:#bdbdbd;
  line-height:1.8;
  font-size:1.05rem;
}

.footer-contact{
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:55px;
}

.footer-btn{
  padding:15px 28px;
  border-radius:12px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
  transition:.3s;
}

.footer-btn:hover{
  background:var(--red);
  transform:translateY(-5px);
  box-shadow:0 0 30px rgba(215,25,32,.35);
}

.footer-line{
  width:100%;
  max-width:900px;
  height:1px;
  background:rgba(255,255,255,.08);
  margin:45px auto;
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  max-width:900px;
  margin:auto;
  color:#8f8f8f;
  font-size:.9rem;
}

.footer-bottom a{
  color:var(--red);
  font-weight:900;
}

/* ===========================
   REVEAL ANIMATION
=========================== */

.reveal{
  opacity:0;
  transform:translateY(40px);
  transition:opacity .8s ease, transform .8s ease;
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

/* ===========================
   BACK TO TOP
=========================== */

.back-to-top{
  position:fixed;
  right:25px;
  bottom:25px;
  width:52px;
  height:52px;
  border:none;
  border-radius:50%;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff;
  font-size:1.3rem;
  cursor:pointer;
  box-shadow:0 0 25px rgba(215,25,32,.4);
  opacity:0;
  visibility:hidden;
  transform:translateY(20px);
  transition:.3s;
  z-index:999;
}

.back-to-top.active{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.back-to-top:hover{
  transform:translateY(-4px);
  box-shadow:0 0 40px rgba(215,25,32,.7);
}

/* ===========================
   CUSTOM SCROLLBAR
=========================== */

::-webkit-scrollbar{
  width:10px;
}

::-webkit-scrollbar-track{
  background:#090909;
}

::-webkit-scrollbar-thumb{
  background:linear-gradient(var(--red),var(--red-dark));
  border-radius:100px;
}

/* ===========================
   TILT SUPPORT
=========================== */

.tilt-card{
  transform-style:preserve-3d;
  will-change:transform;
}

/* ===========================
   TABLET
=========================== */

@media(max-width:980px){

  header{
    padding:16px 6%;
  }

  nav{
    position:fixed;
    top:82px;
    right:-100%;
    width:80%;
    height:calc(100vh - 82px);
    display:flex;
    flex-direction:column;
    gap:26px;
    background:rgba(5,5,5,.97);
    padding:36px;
    transition:.35s;
    border-left:1px solid rgba(255,255,255,.1);
  }

  nav.active{
    right:0;
  }

  .menu-btn{
    display:block;
  }

  .nav-btn{
    display:none;
  }

  .stats-grid,
  .about-grid,
  .campaign-grid,
  .content-grid,
  .why-grid,
  .pricing-grid,
  .testimonial-grid{
    grid-template-columns:1fr;
  }

  .process-timeline{
    grid-template-columns:repeat(2,1fr);
  }

  .addons{
    grid-template-columns:repeat(2,1fr);
  }

  .price-card.featured{
    transform:none;
  }

  .footer-bottom{
    flex-direction:column;
    gap:14px;
  }
}

/* ===========================
   MOBILE
=========================== */

@media(max-width:520px){

  section{
    padding:75px 6%;
  }

  .logo-img{
    width:76px;
  }

  .hero{
    padding:115px 6% 70px;
  }

  .hero-image{
    margin-bottom:35px;
    border-radius:22px;
  }

  .hero h1{
    font-size:2.7rem;
    letter-spacing:-1px;
  }

  .hero p{
    font-size:1rem;
  }

  .hero-stats{
    grid-template-columns:1fr;
  }

  .hero-actions{
    flex-direction:column;
  }

  .hero-actions .btn{
    width:100%;
  }

  .section-title{
    font-size:2.4rem;
  }

  .campaign-card{
    min-height:620px;
  }

  .campaign-content{
    min-height:620px;
    padding:32px;
  }

  .campaign-stats{
    flex-wrap:wrap;
  }

  .campaign-stats div{
    flex:1;
    min-width:120px;
  }

  .campaign-btn{
    width:100%;
  }

  .process-timeline,
  .addons{
    grid-template-columns:1fr;
  }

  .footer-contact{
    flex-direction:column;
  }

  .footer-logo-img{
    width:130px;
  }

  footer h3{
    font-size:1.8rem;
  }
}