/* Premium single-page review launcher (desktop: 100vh no scroll, mobile: scroll) */
:root {
  --bg0: #060710;
  --bg1: #0b0c12;
  --text: rgba(244, 246, 255, 0.96);
  --muted: rgba(244, 246, 255, 0.70);
  --line: rgba(255, 255, 255, 0.10);
  --shadow: 0 28px 110px rgba(0, 0, 0, 0.55);

  --red: #ff2b44;
  --blue: #5aa7ff;
  --gold: #ffcc48;

  --wrap: min(1860px, calc(100% - 72px));
  --ease: cubic-bezier(.2,.9,.2,1);
}

* { box-sizing: border-box; }
html, body { height: 100%; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 800px at 20% -10%, rgba(255,43,68,.16), transparent 55%),
              radial-gradient(1000px 700px at 80% 0%, rgba(90,167,255,.14), transparent 60%),
              radial-gradient(900px 600px at 50% 110%, rgba(255,204,72,.06), transparent 60%),
              linear-gradient(180deg, var(--bg0), var(--bg1));
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wrap { width: var(--wrap); margin-inline: auto; }

/* FX layers */
.fx {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  opacity: .75;
}
.bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.bg::before {
  content:"";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 480px at 15% 18%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(900px 520px at 85% 12%, rgba(255,255,255,.05), transparent 60%),
    radial-gradient(900px 520px at 50% 88%, rgba(255,255,255,.04), transparent 62%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 6px);
  opacity: .10;
  mix-blend-mode: overlay;
  animation: grainDrift 14s var(--ease) infinite alternate;
}
@keyframes grainDrift {
  from { transform: translate3d(-10px,-6px,0) scale(1); }
  to   { transform: translate3d(12px,8px,0) scale(1.01); }
}

/* Header */
/* (header removed for cleaner look) */

/* Main */
.main { position: relative; z-index: 1; }

/* Hero */
.hero{
  min-height: 100svh;
  min-height: 100dvh;
  padding-top: 26px;
  display:flex;
  align-items:flex-start;
}
.hero__inner{
  display:grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 18px;
  align-items:center;
}
.tag{
  display:flex;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: rgba(244,246,255,.74);
  font-weight: 900;
  font-size: 12.5px;
  letter-spacing: -.01em;
  justify-content:center;
  margin-inline:auto;
}
.hero__h1{
  margin: 14px 0 10px;
  font-size: clamp(34px, 4.2vw, 74px);
  line-height: 1.02;
  letter-spacing: -.055em;
}
.hero__h1Top{ display:inline; }
.hero__h1Bottom{ display:inline; }
.hero__grad{
  background: linear-gradient(90deg, rgba(255,43,68,1), rgba(255,204,72,1), rgba(90,167,255,1));
  background-size: 220% 100%;
  animation: heroGradShift 7.8s var(--ease) infinite alternate;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@keyframes heroGradShift{
  from{ background-position: 0% 50%; filter: saturate(1.02); }
  to{ background-position: 100% 50%; filter: saturate(1.10); }
}
.hero__p{
  margin: 0;
  color: rgba(244,246,255,.80);
  max-width: 62ch;
  font-size: clamp(15px, 1.1vw, 18px);
  line-height: 1.55;
}
.hero__copy{ text-align: center; }
/* (micro tip cards removed) */

/* Tiles */
.hero__tiles{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  perspective: 1200px;
  align-items: stretch;
}
.tile{
  position:relative;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(15,17,24,.76), rgba(16,19,27,.46));
  box-shadow: var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height: clamp(480px, 52vh, 640px);
  transition: transform .22s var(--ease), border-color .22s var(--ease), box-shadow .22s var(--ease);
}
.tile:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 34px 140px rgba(0,0,0,.62);
}
.tile::before{
  content:"";
  position:absolute; inset:-1px;
  pointer-events:none;
  opacity:.95;
  background: radial-gradient(420px 220px at 12% 12%, rgba(255,43,68,.20), transparent 62%);
}
.tile--dealer::before{
  background: radial-gradient(420px 220px at 12% 12%, rgba(90,167,255,.18), transparent 62%);
}
.tile__shine{
  position:absolute;
  inset:-60%;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 45%, rgba(255,255,255,.06) 55%, transparent 100%);
  transform: translateX(-55%) rotate(18deg);
  opacity: 0;
  pointer-events:none;
}
.tile:hover .tile__shine{
  opacity:.35;
  animation: sweep 1.2s var(--ease) 1;
}
@keyframes sweep{
  from{transform: translateX(-55%) rotate(18deg)}
  to{transform: translateX(55%) rotate(18deg)}
}
.tile__head{
  position:relative;
  padding: 16px 16px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.tile__pill{
  display:inline-flex;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: rgba(244,246,255,.82);
  font-weight: 900;
  font-size: 12px;
  margin-inline:auto;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 70px rgba(255,43,68,.08);
  animation: pillBreathe 6.5s var(--ease) infinite alternate;
}
.tile__pill::after{
  content:"";
  position:absolute;
  inset:-80% -40%;
  background: radial-gradient(closest-side, rgba(255,255,255,.22), transparent 62%);
  transform: translateX(-35%) rotate(14deg);
  opacity:.18;
  pointer-events:none;
  transition: opacity .25s var(--ease);
}
.tile:hover .tile__pill::after{
  opacity:.38;
  animation: pillSweep 1.15s var(--ease) 1;
}
.tile__pill--blue{ box-shadow: 0 18px 70px rgba(90,167,255,.10); }
@keyframes pillBreathe{
  from{ box-shadow: 0 18px 70px rgba(255,43,68,.06); border-color: rgba(255,255,255,.11); }
  to{ box-shadow: 0 22px 90px rgba(255,43,68,.10); border-color: rgba(255,255,255,.16); }
}
@keyframes pillSweep{
  from{ transform: translateX(-35%) rotate(14deg); }
  to{ transform: translateX(35%) rotate(14deg); }
}
.tile__logo{
  display:block;
  margin-top: 10px;
  max-width: 100%;
  height: 24px;
  width: auto;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.55));
  margin-inline:auto;
}
.tile__logo--up{ height: 36px; }
.tile__logo--gmc{ height: 70px; opacity:.96; }
.tile__logo--nb{ height: 62px; opacity:.98; }
.tile__name{
  margin-top: 10px;
  font-weight: 950;
  letter-spacing: -.03em;
  font-size: 20px;
  color: var(--text);
  text-shadow: 0 18px 44px rgba(0,0,0,.55);
}
@supports (-webkit-background-clip: text) or (background-clip: text){
  .tile__name{
    background: linear-gradient(
      110deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.62) 22%,
      rgba(255,255,255,.98) 44%,
      rgba(255,255,255,.70) 66%,
      rgba(255,255,255,.98) 100%
    );
    background-size: 260% 100%;
    animation: textSheen 7.4s var(--ease) infinite;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}
.tile__sub{
  margin-top: 8px;
  color: rgba(244,246,255,.72);
  font-weight: 750;
  font-size: 12.5px;
  text-shadow: 0 16px 38px rgba(0,0,0,.45);
  animation: subGlow 5.6s ease-in-out infinite;
}
@keyframes textSheen{
  from{ background-position: 0% 50%; }
  to{ background-position: 100% 50%; }
}
@keyframes subGlow{
  0%,100%{ color: rgba(244,246,255,.70); text-shadow: 0 16px 38px rgba(0,0,0,.45); }
  50%{ color: rgba(244,246,255,.86); text-shadow: 0 18px 44px rgba(255,255,255,.06), 0 16px 38px rgba(0,0,0,.45); }
}

/* Text entrance (subtle, premium) */
@keyframes fadeUp{
  from{ opacity: 0; transform: translate3d(0, 8px, 0); filter: blur(2px); }
  to{ opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}
.hero__copy .tag{ animation: fadeUp .70s var(--ease) both; animation-delay: .06s; }
.hero__copy .hero__h1{ animation: fadeUp .76s var(--ease) both; animation-delay: .12s; }
.hero__copy .hero__p{ animation: fadeUp .78s var(--ease) both; animation-delay: .18s; }

.tile__head .tile__pill{ animation-delay: .05s; }
.tile__head .tile__logo{ animation: fadeUp .72s var(--ease) both; animation-delay: .10s; }
.tile__head .tile__name{ animation-delay: .16s; }
.tile__head .tile__sub{ animation-delay: .22s; }
.tile__head .tile__stats{ animation: fadeUp .78s var(--ease) both; animation-delay: .28s; }

.tile__stats{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.10);
  width: 100%;
}
.rating{
  display:flex;
  align-items:center;
  gap: 10px;
  justify-content:center;
}
.rating__num{
  font-weight: 950;
  letter-spacing: -.02em;
  font-size: 14px;
}
.rating__txt{
  color: rgba(244,246,255,.72);
  font-weight: 750;
  font-size: 12.5px;
}
.stars{
  position:relative;
  display:inline-block;
  font-size: 14px;
  letter-spacing: 2px;
  line-height: 1;
}
.stars__bg{
  color: rgba(244,246,255,.22);
}
.stars__fg{
  position:absolute;
  left: 0;
  top: 0;
  width: var(--p, 100%);
  overflow:hidden;
  color: rgba(255,204,72,1);
  text-shadow: 0 10px 22px rgba(255,204,72,.12);
  white-space: nowrap;
}
.facts{
  margin-top: 8px;
  color: rgba(244,246,255,.66);
  font-weight: 700;
  font-size: 12.5px;
}
.tile__media{
  position:relative;
  margin: 8px 16px 0;
  height: clamp(190px, 26vh, 320px);
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  overflow:hidden;
}
.tile__photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: saturate(1.05) contrast(1.05);
  transition: transform .65s var(--ease), filter .65s var(--ease);
}
.tile:hover .tile__photo{
  transform: scale(1.08);
  filter: saturate(1.15) contrast(1.08);
}
.tile__photoOverlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(520px 240px at 18% 18%, rgba(255,43,68,.22), transparent 60%),
    radial-gradient(520px 240px at 82% 22%, rgba(90,167,255,.16), transparent 62%),
    linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.55));
  opacity:.95;
  pointer-events:none;
}
.tile__photoOverlay--cool{
  background:
    radial-gradient(520px 240px at 18% 18%, rgba(90,167,255,.22), transparent 60%),
    radial-gradient(520px 240px at 82% 22%, rgba(255,204,72,.10), transparent 62%),
    linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.55));
}
.tile__actions{
  padding: 12px 16px 10px;
  display:grid;
  gap: 10px;
  margin-top: auto;
}
.tile__actionsRow{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.tile__meta{ padding: 0 16px 16px; }
.tile__meta{
  padding: 0 16px 16px;
  display:grid;
  gap: 10px;
}
.metaLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 100%;
  padding: 9px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: rgba(244,246,255,.86);
  text-decoration:none;
  font-weight: 850;
  font-size: 12.5px;
  transition: transform .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease);
}
.metaLink:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.05);
}

/* Reviews */
.tile__reviews{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  border-radius: 18px;
  padding: 10px 12px 12px;
  overflow:hidden;
  position: relative;
}
.tile__reviews::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(360px 120px at 10% 0%, rgba(255,255,255,.06), transparent 65%),
    radial-gradient(420px 140px at 90% 10%, rgba(255,255,255,.04), transparent 70%);
  opacity:.75;
}
.reviews__head{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.reviews__right{
  display:flex;
  align-items:center;
  gap: 10px;
}
.reviews__hint{
  font-weight: 900;
  font-size: 10.5px;
  letter-spacing: -.01em;
  color: rgba(244,246,255,.56);
  opacity: .0;
  transform: translateY(1px);
  transition: opacity .22s var(--ease), transform .22s var(--ease);
}
.tile__reviews:hover .reviews__hint{
  opacity: .95;
  transform: translateY(0px);
}
.tile__reviews:focus-within .reviews__hint{
  opacity: .95;
  transform: translateY(0px);
}
.reviews__dots{
  display:flex;
  align-items:center;
  gap: 6px;
  opacity: .95;
}
.dot{
  width: 6px;
  height: 6px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  box-shadow: 0 18px 60px rgba(0,0,0,.25);
  transition: transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);
  cursor: pointer;
}
.dot.is-active{
  background: rgba(255,204,72,1);
  border-color: rgba(255,204,72,.55);
  transform: scale(1.15);
}
.reviews__title{
  font-weight: 950;
  letter-spacing: -.02em;
  font-size: 12.5px;
  color: rgba(244,246,255,.88);
}
.reviews__live{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-weight: 900;
  font-size: 11px;
  color: rgba(244,246,255,.68);
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
}
.reviews__dot{
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,204,72,1);
  box-shadow: 0 0 0 0 rgba(255,204,72,.45);
  animation: livePing 2.1s ease-in-out infinite;
}
@keyframes livePing{
  0%{ transform: scale(1); box-shadow: 0 0 0 0 rgba(255,204,72,.38); }
  60%{ transform: scale(1); box-shadow: 0 0 0 10px rgba(255,204,72,0); }
  100%{ transform: scale(1); box-shadow: 0 0 0 0 rgba(255,204,72,0); }
}

.review{
  position:relative;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.10);
  padding: 10px 10px 10px;
  cursor: pointer;
}
.review:focus{
  outline: 2px solid rgba(255,204,72,.28);
  outline-offset: 2px;
}
.review:focus-within{
  outline: 2px solid rgba(255,204,72,.25);
  outline-offset: 2px;
}
.review.is-swapping{
  animation: reviewSwap .42s var(--ease) both;
}
@keyframes reviewSwap{
  0%{ opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
  45%{ opacity: 0; transform: translate3d(-10px,0,0); filter: blur(2px); }
  100%{ opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}
.review__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 7px;
}
.review__left{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 0;
}
.review__right{
  display:flex;
  align-items:center;
  gap: 10px;
  flex: 0 0 auto;
}
.review__avatar{
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  object-fit: cover;
  flex: 0 0 auto;
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
}
.review__avatar.is-empty{ display:none; }
.review__who{
  font-weight: 950;
  font-size: 12px;
  color: rgba(244,246,255,.88);
  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
  max-width: 240px;
}
.review__whoLink{
  color: rgba(244,246,255,.90);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.00);
  transition: border-color .18s var(--ease), transform .18s var(--ease), color .18s var(--ease);
}
.review__whoLink:hover{
  color: rgba(244,246,255,.98);
  border-bottom-color: rgba(255,255,255,.22);
}
.review__when{
  font-weight: 850;
  font-size: 11px;
  color: rgba(244,246,255,.56);
  white-space: nowrap;
}
.review__stars{
  font-size: 12px;
  letter-spacing: 2px;
  color: rgba(255,204,72,1);
  text-shadow: 0 10px 22px rgba(255,204,72,.10);
  white-space: nowrap;
}
.review__text{
  color: rgba(244,246,255,.74);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.review__text::selection{ background: rgba(255,204,72,.22); }

/* Full review modal */
.rModal{
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
}
.rModal[hidden]{ display:none; }
.rModal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(10px);
}
.rModal__panel{
  position: relative;
  width: min(720px, calc(100% - 28px));
  max-height: min(78svh, 740px);
  overflow: auto;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(16,18,26,.92), rgba(10,12,18,.92));
  box-shadow: 0 50px 220px rgba(0,0,0,.75);
  padding: 16px 16px 14px;
  animation: modalIn .28s var(--ease) both;
}
@keyframes modalIn{
  from{ opacity: 0; transform: translate3d(0,10px,0) scale(.98); }
  to{ opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
.rModal__close{
  position:absolute;
  top: 10px;
  right: 10px;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: rgba(244,246,255,.88);
  cursor: pointer;
  transition: transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);
}
.rModal__close:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.18);
}
.rModal__top{
  display:flex;
  align-items:center;
  gap: 12px;
  padding-right: 44px;
}
.rModal__avatar{
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  object-fit: cover;
  flex: 0 0 auto;
}
.rModal__whoWrap{ min-width: 0; }
.rModal__who{
  display:inline-block;
  font-weight: 950;
  letter-spacing: -.02em;
  color: rgba(244,246,255,.96);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0);
  transition: border-color .18s var(--ease), color .18s var(--ease);
  max-width: 100%;
  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}
.rModal__who:hover{ border-bottom-color: rgba(255,255,255,.22); }
.rModal__meta{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-top: 4px;
  color: rgba(244,246,255,.68);
  font-weight: 800;
  font-size: 12px;
}
.rModal__stars{
  letter-spacing: 2px;
  color: rgba(255,204,72,1);
  text-shadow: 0 12px 28px rgba(255,204,72,.10);
}
.rModal__text{
  margin-top: 12px;
  color: rgba(244,246,255,.82);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.55;
  white-space: pre-wrap;
}
.rModal__google{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 100%;
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: rgba(244,246,255,.90);
  text-decoration: none;
  font-weight: 900;
  transition: transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);
}
.rModal__google:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.18);
}
.review.is-loading .skel{
  position:relative;
  color: transparent !important;
  background: rgba(255,255,255,.06);
  border-radius: 10px;
  overflow:hidden;
}
.review.is-loading .skel::after{
  content:"";
  position:absolute;
  inset:-40%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  transform: translateX(-40%);
  animation: skelSweep 1.25s ease-in-out infinite;
}
@keyframes skelSweep{
  from{ transform: translateX(-40%); }
  to{ transform: translateX(40%); }
}
.review.is-loading .review__who.skel{ width: 46%; height: 14px; }
.review.is-loading .review__stars.skel{ width: 60px; height: 14px; }
.review.is-loading .review__when.skel{ width: 52px; height: 12px; }
.review.is-loading .review__text.skel{ height: 42px; border-radius: 12px; }
.review.is-loading .review__avatar.skel{
  width: 26px;
  height: 26px;
  border-radius: 999px;
}

/* Social icons */
.tile__social{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
}
.iconBtn{
  width: 40px;
  height: 40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  color: rgba(244,246,255,.84);
  text-decoration:none;
  transition: transform .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease);
}
.iconBtn[href=""]{ display:none; }
.iconBtn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.05);
}
.iconBtn svg{ width: 18px; height: 18px; }
.iconBtn img{
  width: 18px;
  height: 18px;
  object-fit: contain;
  display:block;
  filter: drop-shadow(0 12px 30px rgba(0,0,0,.45));
}
.iconBtn--ig{ box-shadow: 0 18px 70px rgba(255,43,68,.06); }
.iconBtn--fb{ box-shadow: 0 18px 70px rgba(90,167,255,.06); }

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(244,246,255,.92);
  text-decoration:none;
  font-weight: 900;
  letter-spacing: -.01em;
  font-size: 13.5px;
  transition: transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease);
  user-select:none;
}
.btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.18);
}
.btn:active{ transform: translateY(0px) scale(.99); }
.btn--primary{
  border-color: rgba(255,255,255,.16);
  background: linear-gradient(135deg, rgba(255,43,68,.95), rgba(90,167,255,.85), rgba(255,204,72,.35));
  background-size: 220% 220%;
  animation: gradShift 7.5s var(--ease) infinite alternate;
  box-shadow: 0 26px 90px rgba(0,0,0,.55);
  position:relative;
  overflow:hidden;
}
@keyframes gradShift{
  from{background-position: 0% 40%}
  to{background-position: 100% 60%}
}
.btn--primary::after{
  content:"";
  position:absolute;
  inset:-40%;
  background: radial-gradient(closest-side, rgba(255,255,255,.22), transparent 60%);
  transform: translateX(-40%);
  opacity:.25;
  transition: transform .55s var(--ease), opacity .35s var(--ease);
  pointer-events:none;
}
.btn--primary:hover::after{
  transform: translateX(40%);
  opacity:.50;
}
.btn--ghost{ background: transparent; border-color: rgba(255,255,255,.10); }

/* (mobile extra section removed) */
/* (gallery removed) */

/* Responsive */
@media (max-width: 980px){
  .hero{ min-height: auto; padding-top: 22px; padding-bottom: 10px; align-items: start; }
  .hero__inner{ grid-template-columns: 1fr; gap: 16px; }
  .hero__tiles{ grid-template-columns: 1fr; }
  .tile{min-height: 0}
  .tile__media{ height: 210px; }
  .tile__actionsRow{grid-template-columns: 1fr;}
  body{ overflow:auto; }
}
@media (max-width: 560px){
  :root{ --wrap: calc(100% - 28px); }
  /* Mobile: force clean 2-line title and 2-line CTA sentence */
  .hero__h1Top,
  .hero__h1Bottom{
    display:block;
  }
  .hero__h1Bottom{
    white-space: nowrap;
  }
}

/* Desktop: strictly no scroll */
@media (min-width: 981px){
  html, body { overflow: hidden; }

  /* Desktop layout: text above, two big cards centered */
  .hero{
    padding-top: 22px;
    padding-bottom: 14px;
  }
  .hero__inner{
    grid-template-columns: 1fr;
    align-items: start;
    gap: 18px;
  }
  .hero__copy{
    max-width: 1280px;
    margin: 0 auto;
  }
  .hero__tiles{
    width: min(1900px, 100%);
    max-width: none;
    margin: 6px auto 0;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
  .hero__h1{text-align:center}
  .hero__p{text-align:center; margin-inline:auto}

  /* Desktop compaction so everything fits 100vh */
  .tile{
    min-height: clamp(372px, 43vh, 520px);
  }
  .tile__media{
    height: clamp(122px, 17.5vh, 214px);
  }
  .tile__head{ padding: 14px 16px 8px; }
  .tile__stats{ margin-top: 8px; padding-top: 8px; }
  .facts{ margin-top: 6px; }
  .tile__actions{
    padding: 9px 16px 7px;
    gap: 7px;
  }
  .btn{
    padding: 9px 11px;
    font-size: 13px;
  }
  .tile__meta{
    padding: 0 16px 14px;
    gap: 8px;
  }
  .metaLink{
    padding: 8px 10px;
    border-radius: 14px;
    font-size: 12px;
  }

  .tile__reviews{
    padding: 8px 10px 10px;
    border-radius: 16px;
  }
  .reviews__head{ margin-bottom: 6px; }
  .reviews__live{
    padding: 3px 7px;
    font-size: 10.5px;
  }
  .review{
    padding: 8px 9px 9px;
    border-radius: 13px;
  }
  .review__top{ margin-bottom: 6px; }
  .review__text{
    font-size: 11.5px;
    -webkit-line-clamp: 2;
  }
  .iconBtn{
    width: 38px;
    height: 38px;
    border-radius: 13px;
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto !important}
  *{animation:none !important; transition:none !important}
  .fx{display:none !important}
}
