/* =============================================
   AMP UP — Homepage Reviews · Full-Width Rows
   Elementor HTML Widget · CSS prefix: .rv-
============================================= */
.rv-root{
  --rv-red:#E8171F; --rv-black:#111111; --rv-gf:#0C0C0D;
  --rv-white:#FFFFFF; --rv-line:#2C2C2C;
  font-family:'Oswald',sans-serif; color:#FFFFFF;
  overflow-x:hidden; width:100%; display:block; color-scheme:light only;
}
.rv-root *{box-sizing:border-box; margin:0; padding:0;}
.rv-root a{color:inherit; text-decoration:none;}
.elementor-widget-html .rv-root,
.elementor-widget-container .rv-root{width:100% !important; max-width:100% !important;}

/* Game Film */
.rv-gamefilm-bg{background:#0C0C0D; position:relative; isolation:isolate; overflow:hidden;}
.rv-gamefilm-bg .rv-bg-noise{position:absolute; inset:-60px; z-index:0; pointer-events:none; background-repeat:repeat; background-size:180px 180px; animation:rv-grain 1.6s steps(3) infinite;}
.rv-gamefilm-bg::after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:radial-gradient(60% 80% at 15% 10%, rgba(255,255,255,0.05), transparent 55%), radial-gradient(40% 60% at 90% 90%, rgba(232,23,31,0.08), transparent 60%), linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,0.45) 100%);}
.rv-gamefilm-bg > *:not(.rv-bg-noise){position:relative; z-index:2;}
@keyframes rv-grain{0%{transform:translate(0,0);}33%{transform:translate(-14px,9px);}66%{transform:translate(10px,-12px);}100%{transform:translate(0,0);}}
@media(prefers-reduced-motion:reduce){.rv-gamefilm-bg .rv-bg-noise{animation:none;}}

/* Reveal */
@media(prefers-reduced-motion:no-preference){
  .rv-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;}
  .rv-reveal.rv-in{opacity:1;transform:translateY(0);}
}
@media(prefers-reduced-motion:reduce){.rv-reveal{opacity:1;transform:none;}}

/* Wrap */
.rv-wrap{max-width:1180px; margin:0 auto; padding:0 48px;}
@media(max-width:1024px){.rv-wrap{padding:0 32px;}}
@media(max-width:768px){.rv-wrap{padding:0 20px;}}

/* ---- SECTION HEADER ---- */
.rv-header{padding:72px 0 56px;}
.rv-eyebrow{font-family:'Oswald',sans-serif;font-weight:600;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:#E8171F;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.rv-eyebrow::before{content:"";width:30px;height:3px;background:#E8171F;flex-shrink:0;}
.rv-title{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(32px,4.5vw,56px);line-height:1.0;color:#FFFFFF;}
.rv-title em{font-style:italic;color:#E8171F;}

/* ---- REVIEW ROW ---- */
.rv-row{
  padding:56px 0;
  display:grid;
  grid-template-columns:80px 1fr auto;
  gap:0 48px;
  align-items:center;
}
@media(max-width:768px){
  .rv-row{grid-template-columns:1fr; gap:24px; padding:40px 0;}
}

/* Quote mark column */
.rv-qmark{
  font-family:'Oswald',sans-serif;
  font-weight:700;
  font-size:120px;
  line-height:0.8;
  color:#E8171F;
  user-select:none;
  align-self:flex-start;
  margin-top:-8px;
}
@media(max-width:768px){.rv-qmark{font-size:80px;}}

/* Quote content */
.rv-content{display:flex;flex-direction:column;gap:20px;}
.rv-quote{
  font-family:'Oswald',sans-serif;
  font-weight:700;
  text-transform:uppercase;
  font-size:clamp(22px,2.8vw,34px);
  line-height:1.2;
  color:#FFFFFF;
  letter-spacing:0.01em;
}
.rv-product-tag{
  font-family:'Oswald',sans-serif;font-weight:600;font-size:11px;
  letter-spacing:0.14em;text-transform:uppercase;
  color:#E8171F;border-left:3px solid #E8171F;
  padding:5px 0 5px 12px;display:inline-block;
}

/* Person column */
.rv-person{
  display:flex;flex-direction:column;
  align-items:center;gap:12px;
  text-align:center;
  min-width:110px;
}
@media(max-width:768px){.rv-person{flex-direction:row;text-align:left;min-width:auto;}}
.rv-photo-wrap{
  width:80px;height:80px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  border:3px solid #E8171F;
}
.rv-photo{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  border-radius:0;
}
@media(max-width:768px){.rv-photo-wrap{width:56px;height:56px;}}
.rv-name{
  font-family:'Oswald',sans-serif;font-weight:700;
  text-transform:uppercase;font-size:14px;
  color:#FFFFFF;line-height:1.2;
  letter-spacing:0.04em;
}