.spgv5{
  --bg:#050506;
  --panel:#121318;
  --panel2:#18191f;
  --text:#f7f7f9;
  --muted:#b8bac3;
  --soft:#858894;
  --line:rgba(255,255,255,.085);
  --line2:rgba(255,255,255,.16);
  --pink:#ff0b7a;
  --pink2:#ff4d9f;
  --rose:#ad0750;
  --violet:#9b5cff;
  --amber:#ff9a31;
  --green:#58dc9d;
  --max:1180px;
  --radius:26px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:var(--text);
  background:
    radial-gradient(ellipse 80% 50% at 8% -5%,rgba(255,11,122,.16),transparent 58%),
    radial-gradient(ellipse 70% 45% at 95% 18%,rgba(155,92,255,.10),transparent 54%),
    linear-gradient(160deg,#050506,#09090d 54%,#050507);
  font-family:Inter,"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.spgv5,.spgv5 *{box-sizing:border-box}
.spgv5::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,11,122,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,11,122,.025) 1px,transparent 1px);
  background-size:48px 48px;
  opacity:.6;
  mask-image:radial-gradient(ellipse 84% 70% at 50% 25%,#000 20%,transparent 84%);
}
.spgv5-shell{
  width:min(calc(100% - 32px),var(--max));
  margin:auto;
  padding:34px 0 72px;
}
.spgv5-section{position:relative;margin-bottom:26px}
.spgv5-panel{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:
    linear-gradient(180deg,rgba(255,255,255,.024),rgba(255,255,255,.006)),
    var(--panel);
  box-shadow:0 24px 75px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025);
}
.spgv5-pad{padding:52px 54px}
.spgv5-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1);
}
.spgv5-reveal.is-visible{opacity:1;transform:none}
.spgv5-title{
  margin:0;
  width:100%;
  max-width:none;
  color:#fff;
  font-size:clamp(29px,4.4vw,48px);
  line-height:1.06;
  letter-spacing:-.045em;
}
.spgv5-section-head{margin-bottom:22px}
.spgv5-intro{
  width:100%;
  max-width:none;
  padding:28px 31px;
  border:1px solid var(--line);
  border-left:3px solid var(--pink);
  border-radius:17px;
  background:#0f1014;
}
.spgv5-body{
  margin:0 0 18px;
  color:#c5c6cd;
  font-size:15.5px;
  line-height:1.78;
}
.spgv5-body:last-child{margin-bottom:0}
.spgv5-subtitle,
.spgv5-step-title{
  color:#fff;
  line-height:1.25;
}
.spgv5-subtitle{margin:30px 0 14px;font-size:21px}
.spgv5-step-title{
  margin:20px 0 8px;
  padding-left:13px;
  border-left:2px solid var(--pink);
  font-size:16px;
}
.spgv5-list{
  margin:16px 0 20px;
  padding-left:21px;
  color:var(--muted);
  font-size:14px;
  line-height:1.72;
}
.spgv5-list li{margin:9px 0;padding-left:4px;font-weight:bold;color:#fff;font-size:15px;}
.spgv5-list li::marker{color:var(--pink)}
.spgv5-original-cta{
  display:inline-block;
  margin:20px 0 0;
  padding:11px 16px;
  border:1px solid rgba(255,11,122,.25);
  border-radius:999px;
  background:rgba(255,11,122,.07);
  color:#fff;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}

/* hero */
.spgv5-hero{
  --hx:0px;
  --hy:0px;
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  align-items:center;
  gap:52px;
  padding:66px 58px;
  background:
    radial-gradient(circle at 80% 16%,rgba(255,11,122,.17),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(155,92,255,.08),transparent 24%),
    linear-gradient(145deg,#191a20,#0d0e12);
}
.spgv5-hero::after{
  content:"";
  position:absolute;
  width:390px;height:390px;
  right:-150px;top:-160px;
  border-radius:50%;
  border:1px solid rgba(255,11,122,.10);
  box-shadow:0 0 0 65px rgba(255,11,122,.018),0 0 0 130px rgba(155,92,255,.01);
}
.spgv5-hero-copy{position:relative;z-index:3}
.spgv5-hero h1{
  margin:0 0 25px;
  max-width:730px;
  font-size:clamp(45px,7vw,78px);
  line-height:.95;
  letter-spacing:-.064em;
  background:linear-gradient(110deg,#fff 5%,#ff8fbe 48%,#ff0b7a 73%,#baa1ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 8px 30px rgba(255,11,122,.13));
}
.spgv5-hero-text{
  width:100%;
  max-width:none;
  padding-left:18px;
  border-left:2px solid rgba(255,11,122,.38);
}
.spgv5-hero-lead{
  margin:0 0 14px;
  color:#c5c6cc;
  font-size:15.5px;
  line-height:1.75;
}
.spgv5-hero-lead:last-child{margin-bottom:0}
.spgv5-hero-visual{
  min-height:450px;
  position:relative;
  perspective:1100px;
  isolation:isolate;
}
.spgv5-shape{
  position:absolute;
  pointer-events:none;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.spgv5-orb-a{
  width:160px;height:160px;left:8%;top:7%;
  border-radius:58% 42% 62% 38% / 48% 52% 48% 52%;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.65),transparent 42%),linear-gradient(145deg,#ff1681,#a00650);
  box-shadow:0 28px 55px rgba(0,0,0,.38),0 0 64px rgba(255,11,122,.24);
  transform:translate(var(--hx),var(--hy)) rotate(-9deg);
}
.spgv5-orb-b{
  width:108px;height:108px;right:9%;top:17%;border-radius:50%;
  background:conic-gradient(from 210deg,#8d54ff,#f13aa1,#ffb84d,#ff0b7a,#8d54ff);
  box-shadow:0 22px 50px rgba(0,0,0,.36);
  transform:translate(calc(var(--hx) * -1.1),calc(var(--hy) * .9));
}
.spgv5-orb-c{
  width:78px;height:78px;left:39%;bottom:9%;border-radius:42% 58% 55% 45%;
  background:linear-gradient(160deg,#ff75b4,#7423cb);
  box-shadow:0 20px 44px rgba(155,92,255,.25);
  transform:translate(calc(var(--hx) * .82),calc(var(--hy) * -1.02));
}
.spgv5-ring-a{
  width:270px;height:270px;left:50%;top:46%;margin:-135px 0 0 -135px;
  border-radius:50%;border:2px solid rgba(255,11,122,.27);
  box-shadow:0 0 48px rgba(255,11,122,.10);
  transform:translate(var(--hx),var(--hy)) rotate(12deg);
}
.spgv5-ring-b{
  width:160px;height:160px;left:50%;top:46%;margin:-80px 0 0 -80px;
  border-radius:50%;border:1px dashed rgba(255,255,255,.23);
  transform:translate(calc(var(--hx) * .6),calc(var(--hy) * .5)) rotate(-18deg);
}
.spgv5-pill{
  width:225px;height:47px;left:22%;bottom:25%;
  border-radius:999px;border:1px solid rgba(255,255,255,.20);
  background:linear-gradient(90deg,rgba(255,255,255,.11),rgba(255,11,122,.12));
  backdrop-filter:blur(8px);
  transform:translate(calc(var(--hx) * .42),calc(var(--hy) * .35)) rotate(-6deg);
}
.spgv5-hex{
  width:94px;height:94px;right:2%;bottom:31%;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  background:linear-gradient(135deg,#ffb11a,#ff5c35 48%,#ff0b7a);
  filter:drop-shadow(0 20px 30px rgba(255,92,53,.25));
  transform:translate(calc(var(--hx) * -.72),calc(var(--hy) * .65));
}
.spgv5-glass-note{
  position:absolute;left:50%;top:50%;z-index:4;
  width:245px;height:145px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.17);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.025)),rgba(10,10,14,.58);
  backdrop-filter:blur(16px);
  box-shadow:0 30px 65px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.10);
  transform:translate(-50%,-50%) rotateX(calc(var(--hy) * -.05)) rotateY(calc(var(--hx) * .05));
}
.spgv5-glass-note span{
  font-size:34px;font-weight:900;letter-spacing:-.05em;
  background:linear-gradient(110deg,#fff,#ff78b1 50%,#9b5cff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* content cards */
.spgv5-content-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
  perspective:1200px;
}
.spgv5-content-card{
  --rx:0deg;--ry:0deg;
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:21px;
  background:
    radial-gradient(circle at 100% 0%,var(--glow,rgba(255,11,122,.10)),transparent 27%),
    linear-gradient(150deg,#1a1b21,#0f1014);
  transform-style:preserve-3d;
  transform:rotateX(var(--rx)) rotateY(var(--ry));
  transition:transform .38s cubic-bezier(.22,1,.36,1),border-color .2s ease,box-shadow .3s ease;
}
.spgv5-content-card:hover{
  border-color:rgba(255,11,122,.24);
  box-shadow:0 24px 48px rgba(0,0,0,.24),0 0 38px rgba(255,11,122,.06);
}
.spgv5-card-rose{--glow:rgba(255,11,122,.12)}
.spgv5-card-violet{--glow:rgba(155,92,255,.13)}
.spgv5-card-amber{--glow:rgba(255,154,49,.12)}
.spgv5-card-dark{--glow:rgba(255,255,255,.045)}
.spgv5-card-glass{
  position:absolute;inset:10px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:15px;
  pointer-events:none;
}
.spgv5-card-inner{
  position:relative;z-index:2;
  padding:29px 30px;
  transform:translateZ(22px);
}
.spgv5-card-title{
  margin:0 0 20px;
  color:#fff;
  font-size:21px;
  line-height:1.26;
}
.spgv5-card-title::after{
  content:"";
  display:block;
  width:38px;height:2px;
  margin-top:11px;
  border-radius:10px;
  background:linear-gradient(90deg,var(--pink),transparent);
}
.spgv5-card-content .spgv5-subtitle{
  margin-top:24px;
  font-size:18px;
  line-height:1.35;
}

/* tables: desktop always full width */
.spgv5-table-wrap{
  width:100%;
  max-width:none;
  margin:22px 0 25px;
  overflow:hidden;
  border:1px solid #373943;
  border-radius:14px;
  background:#14151a;
}
.spgv5-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
}
.spgv5-table th,
.spgv5-table td{
  padding:15px 14px;
  text-align:left;
  vertical-align:top;
  border-right:1px solid #30323a;
  border-bottom:1px solid #30323a;
  overflow-wrap:anywhere;
}
.spgv5-table th:last-child,
.spgv5-table td:last-child{border-right:0}
.spgv5-table tbody tr:last-child td{border-bottom:0}
.spgv5-table thead{
  background:linear-gradient(90deg,rgba(255,11,122,.14),rgba(155,92,255,.035));
}
.spgv5-table th{
  color:var(--pink);
  font-size:12px;
  line-height:1.45;
  font-weight:850;
}
.spgv5-table td{
  color:#f4f4f6;
  font-size:12.5px;
  line-height:1.58;
}
.spgv5-table tbody tr:hover td{background:rgba(255,11,122,.03)}

/* reviews */
.spgv5-reviews-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:14px;
  margin-top:30px;
}
.spgv5-review-feature,
.spgv5-review-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:#101115;
}
.spgv5-review-feature{
  grid-row:span 2;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:31px;
  background:radial-gradient(circle at 100% 0%,rgba(255,11,122,.13),transparent 30%),#101115;
}
.spgv5-review-card{padding:20px}
.spgv5-quote{
  color:rgba(255,11,122,.48);
  font:56px/.75 Georgia,serif;
}
.spgv5-review-feature p,
.spgv5-review-card p{
  color:#fff;
}
.spgv5-review-feature p{
  margin:18px 0 25px;
  font-size:19px;
  line-height:1.62;
}
.spgv5-review-card p{
  margin:11px 0 15px;
  font-size:13px;
  line-height:1.65;
}
.spgv5-review-feature strong,
.spgv5-review-card strong{
  color:#fff;
  font-size:10px;
}

/* =========================================
  FAQ
   ========================================= */

.spgv5-faq{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:48px;
  padding:52px 54px;
}

.spgv5-faq-side{
  position:sticky;
  top:20px;
  align-self:start;
}


/* =========================================
  FAQ LIST
   ========================================= */

.spgv5-faq-list{
  display:grid;
  gap:9px;

  /* Allow animation between 0 and auto */
  interpolate-size:allow-keywords;
}


/* =========================================
  FAQ ITEM
   ========================================= */

.spgv5-faq-item{
  overflow:hidden;

  border:1px solid var(--line);
  border-radius:14px;

  background:#0f1014;

  transition:
    border-color .3s ease,
    background-color .3s ease,
    box-shadow .3s ease;
}


/* Open state */

.spgv5-faq-item[open]{
  border-color:rgba(255,11,122,.28);

  background:
    linear-gradient(
      90deg,
      rgba(255,11,122,.035),
      rgba(255,11,122,.01)
    ),
    #0f1014;

  box-shadow:
    0 12px 32px rgba(0,0,0,.14);
}


/* =========================================
  SUMMARY / QUESTION
   ========================================= */

.spgv5-faq-item summary{
  position:relative;

  cursor:pointer;
  list-style:none;

  padding:17px 48px 17px 18px;

  color:#fff;

  font-size:13.5px;
  line-height:1.45;
  font-weight:750;

  transition:
    color .25s ease,
    padding .3s ease;
}

.spgv5-faq-item summary::-webkit-details-marker{
  display:none;
}


/* Hover */

.spgv5-faq-item summary:hover{
  color:#ff6aad;
}


/* =========================================
  + / - BUTTON
   ========================================= */

.spgv5-faq-item summary::after{
  content:"+";

  position:absolute;

  right:17px;
  top:50%;

  transform:
    translateY(-50%)
    rotate(0deg);

  width:24px;
  height:24px;

  display:grid;
  place-items:center;

  border-radius:50%;

  border:1px solid rgba(255,11,122,.20);

  background:rgba(255,11,122,.055);

  color:var(--pink);

  font-size:15px;
  line-height:1;

  transition:
    transform .35s cubic-bezier(.22,1,.36,1),
    background-color .3s ease,
    border-color .3s ease,
    color .3s ease;
}


/* Open icon */

.spgv5-faq-item[open] summary::after{
  content:"–";

  transform:
    translateY(-50%)
    rotate(180deg);

  border-color:rgba(255,11,122,.40);

  background:rgba(255,11,122,.12);

  color:#ff4f9d;
}


/* =========================================
  OPEN / CLOSE HEIGHT ANIMATION
   ========================================= */

.spgv5-faq-item::details-content{
  block-size:0;

  opacity:0;

  overflow:hidden;

  transition:
    block-size .4s cubic-bezier(.22,1,.36,1),
    opacity .25s ease,
    content-visibility .4s allow-discrete;
}


/* When opened */

.spgv5-faq-item[open]::details-content{
  block-size:auto;

  opacity:1;
}


/* =========================================
  ANSWER
   ========================================= */

.spgv5-faq-answer{
  padding:0 18px 18px;

  transform:translateY(-6px);

  transition:
    transform .35s cubic-bezier(.22,1,.36,1),
    opacity .3s ease;
}


/* Open answer */

.spgv5-faq-item[open] .spgv5-faq-answer{
  transform:translateY(0);
}


.spgv5-faq-answer .spgv5-body{
  font-size:13.5px;
  line-height:1.72;
}


/* =========================================
  MOBILE
   ========================================= */

@media(max-width:700px){

  .spgv5-faq{
    grid-template-columns:1fr;

    gap:28px;

    padding:42px 20px;
  }

  .spgv5-faq-side{
    position:static;
  }

  .spgv5-faq-item summary{
    padding:
      16px
      46px
      16px
      16px;

    font-size:13px;
  }

  .spgv5-faq-answer{
    padding:
      0
      16px
      16px;
  }

}


/* If a 2-column section has an odd number of cards,
   make the final unmatched card full width. */
.spgv5-content-grid > .spgv5-content-card:last-child:nth-child(odd){
  grid-column:1 / -1;
  width:100%;
  max-width:none;
}

.spgv5-content-grid > .spgv5-content-card:last-child:nth-child(odd) .spgv5-card-inner,
.spgv5-content-grid > .spgv5-content-card:last-child:nth-child(odd) .spgv5-card-content{
  width:100%;
  max-width:none;
}

/* responsive */
@media(max-width:980px){
  .spgv5-hero,
  .spgv5-faq{grid-template-columns:1fr}
  .spgv5-content-grid{grid-template-columns:1fr}
  .spgv5-content-grid > .spgv5-content-card:last-child:nth-child(odd){grid-column:auto}
  .spgv5-faq-side{position:static}
  .spgv5-reviews-grid{grid-template-columns:1fr 1fr}
  .spgv5-review-feature{grid-column:1/-1;grid-row:auto}
}
@media(max-width:700px){
  .spgv5-shell{width:min(calc(100% - 18px),var(--max));padding:14px 0 42px}
  .spgv5-section{margin-bottom:14px}
  .spgv5-pad,.spgv5-faq{padding:28px 19px}
  .spgv5-hero{min-height:0;padding:35px 20px;gap:25px}
  .spgv5-hero h1{font-size:42px}
  .spgv5-hero-visual{min-height:340px}
  .spgv5-orb-a{width:118px;height:118px}
  .spgv5-orb-b{width:82px;height:82px}
  .spgv5-ring-a{width:210px;height:210px;margin:-105px 0 0 -105px}
  .spgv5-ring-b{width:128px;height:128px;margin:-64px 0 0 -64px}
  .spgv5-glass-note{width:220px;height:132px}
  .spgv5-card-inner{padding:20px}
  .spgv5-reviews-grid{grid-template-columns:1fr}
  .spgv5-review-feature{grid-column:auto;min-height:260px}
  .spgv5-table-wrap{overflow-x:auto}
  .spgv5-table{min-width:620px}
  .spgv5-intro{padding:22px 20px}
  .spgv5-body{font-size:14.5px;line-height:1.72}
  .spgv5-list{font-size:13.5px;line-height:1.68}
  .spgv5-subtitle{font-size:19px}
  .spgv5-step-title{font-size:15px}
  .spgv5-card-inner{padding:23px 20px}
  .spgv5-card-title{font-size:19px}
  .spgv5-table th{font-size:11px;padding:13px 11px}
  .spgv5-table td{font-size:11.5px;padding:13px 11px}
  .spgv5-faq-item summary{font-size:13px}
  .spgv5-faq-answer .spgv5-body{font-size:13px}
  .spgv5-hero-lead{font-size:14.5px}
}
@media(prefers-reduced-motion:reduce){
  .spgv5-reveal{opacity:1;transform:none;transition:none}
  .spgv5-shape,.spgv5-content-card{transition:none!important;transform:none!important}
}

/* =========================================================
   V5.3 — EMERGENT-INSPIRED SECTION FLOW
   ========================================================= */
.spgv5{
  --em-bg:#070708;
  --em-bg2:#0b0b0d;
  --em-line:rgba(255,255,255,.075);
  background:
    radial-gradient(ellipse 65% 34% at 17% 0%,rgba(255,255,255,.085),transparent 58%),
    radial-gradient(ellipse 55% 32% at 80% 11%,rgba(255,11,122,.055),transparent 62%),
    linear-gradient(180deg,#060607 0%,#08080a 36%,#060607 100%);
}
.spgv5::before{
  opacity:.28;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.4) 33%,transparent 72%);
}
.spgv5::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-160px;
  left:-7%;
  width:52%;
  height:780px;
  pointer-events:none;
  opacity:.23;
  background:linear-gradient(116deg,transparent 22%,rgba(255,255,255,.16) 40%,rgba(255,255,255,.035) 56%,transparent 72%);
  transform:skewX(-8deg);
  filter:blur(18px);
}
.spgv5-shell{width:min(calc(100% - 36px),1220px);padding:0 0 110px}
.spgv5-section{margin-bottom:0}
.spgv5-section[data-section]{
  overflow:visible;
  padding:118px 20px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.spgv5-section[data-section] + .spgv5-section[data-section]{border-top:1px solid rgba(255,255,255,.055)}
.spgv5-section[data-section]::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  transition:opacity .5s ease;
  background:radial-gradient(circle at 82% 18%,rgba(255,11,122,.045),transparent 28%);
}
.spgv5-section[data-section]:hover::before{opacity:1}
.spgv5-section-head{margin-bottom:34px}
.spgv5-section[data-section] > .spgv5-section-head{max-width:970px}
.spgv5-title{
  max-width:none;
  width:100%;
  font-size:clamp(42px,6.2vw,78px);
  line-height:.98;
  letter-spacing:-.058em;
  color:#fafafa;
}
.spgv5-section[data-section] .spgv5-title{max-width:980px}
.spgv5-section[data-section] > .spgv5-intro{
  max-width:930px;
  width:100%;
  margin:0 0 54px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.spgv5-body{font-size:16px;line-height:1.82;color:#b7b8bf}
.spgv5-intro .spgv5-body{font-size:17px;line-height:1.82;color:#bfc0c6}
.spgv5-content-card{
  border:1px solid rgba(255,255,255,.075);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.005)),rgba(15,15,18,.72);
  box-shadow:none;
  backdrop-filter:blur(10px);
}
.spgv5-content-card:hover{border-color:rgba(255,255,255,.13);box-shadow:0 22px 60px rgba(0,0,0,.22)}
.spgv5-card-glass{display:none}
.spgv5-card-inner{transform:none;padding:30px 31px}
.spgv5-card-title{font-size:22px;margin-bottom:18px}
.spgv5-card-title::after{width:30px;height:2px;background:var(--pink)}
.spgv5-subtitle{font-size:21px}

/* HERO */
.spgv5-hero{
  min-height:760px;
  width:100vw;
  left:50%;
  margin-left:-50vw;
  padding:90px max(32px,calc((100vw - 1180px)/2));
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  border:0;
  border-radius:0;
  box-shadow:none;
  background:
    radial-gradient(ellipse 58% 46% at 16% 8%,rgba(255,255,255,.11),transparent 58%),
    radial-gradient(ellipse 42% 35% at 83% 30%,rgba(255,11,122,.07),transparent 65%),
    #070708;
}
.spgv5-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.34;
  background-image:
    repeating-linear-gradient(0deg,transparent 0 24px,rgba(255,255,255,.018) 25px 26px),
    linear-gradient(120deg,rgba(255,255,255,.035),transparent 30%);
  mask-image:linear-gradient(90deg,#000,transparent 70%);
}
.spgv5-hero::after{
  width:520px;height:520px;right:-190px;top:-180px;
  border-color:rgba(255,255,255,.055);
  box-shadow:0 0 0 90px rgba(255,255,255,.008),0 0 0 180px rgba(255,11,122,.007);
}
.spgv5-hero h1{
  max-width:820px;
  margin-bottom:34px;
  font-size:clamp(58px,8vw,104px);
  line-height:.91;
  letter-spacing:-.074em;
  background:linear-gradient(110deg,#fff 12%,#f4f4f4 44%,#ff7cb5 73%,#ff0b7a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.spgv5-hero-text{max-width:760px;width:100%;padding-left:0;border-left:0}
.spgv5-hero-lead{max-width:720px;font-size:17px;line-height:1.82;color:#aaaab1}
.spgv5-hero-visual{min-height:510px}
.spgv5-glass-note{
  width:300px;height:185px;border-radius:28px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.012)),rgba(12,12,14,.52);
  box-shadow:0 38px 90px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.08);
}
.spgv5-glass-note span{
  font-size:42px;
  background:linear-gradient(110deg,#fff,#ff86b9 58%,#ff0b7a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* SECTION 1 */
.spgv5-section[data-section="1"]{padding-top:130px}
.spgv5-section[data-section="1"] .spgv5-content-grid{grid-template-columns:1.15fr .85fr;gap:22px}
.spgv5-section[data-section="1"] .spgv5-content-card:first-child{
  grid-column:1 / -1;padding:6px 0;border:0;border-radius:0;background:transparent;
}
.spgv5-section[data-section="1"] .spgv5-content-card:first-child .spgv5-card-inner{padding:0;max-width:980px}
.spgv5-section[data-section="1"] .spgv5-content-card:first-child .spgv5-card-title{font-size:30px}
.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(2){transform:translateY(30px)}

/* SECTION 2 */
.spgv5-section[data-section="2"] .spgv5-content-grid{display:block}
.spgv5-section[data-section="2"] .spgv5-content-card{
  width:100%;max-width:none;margin:0;padding:0;border:0;border-top:1px solid rgba(255,255,255,.075);
  border-radius:0;background:transparent;transform:none!important;
}
.spgv5-section[data-section="2"] .spgv5-content-card:last-child{border-bottom:1px solid rgba(255,255,255,.075)}
.spgv5-section[data-section="2"] .spgv5-card-inner{
  display:grid;grid-template-columns:minmax(250px,.36fr) minmax(0,1fr);gap:55px;align-items:start;padding:42px;
}
.spgv5-section[data-section="2"] .spgv5-card-title{position:sticky;top:28px;font-size:25px}

/* SECTION 3 — cards intentionally retained */
.spgv5-section[data-section="3"]{
  width:100vw;left:50%;margin-left:-50vw;
  padding-left:max(32px,calc((100vw - 1180px)/2));padding-right:max(32px,calc((100vw - 1180px)/2));
  background:radial-gradient(circle at 88% 10%,rgba(255,11,122,.06),transparent 25%),#0a0a0c;
}
.spgv5-section[data-section="3"] .spgv5-content-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.spgv5-section[data-section="3"] .spgv5-content-card{
  min-height:320px;display:flex;align-items:flex-end;border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 25%),
             radial-gradient(circle at 80% 0%,var(--glow,rgba(255,11,122,.10)),transparent 34%),#111114;
}
.spgv5-section[data-section="3"] .spgv5-card-inner{width:100%;padding:30px}

/* SECTION 4 */
.spgv5-section[data-section="4"] .spgv5-content-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:stretch;
}

.spgv5-section[data-section="4"] .spgv5-content-card:first-child,
.spgv5-section[data-section="4"] .spgv5-content-card:nth-child(2){
  grid-row:auto;
  align-self:stretch;
  height:100%;
  min-height:0;
}

.spgv5-section[data-section="4"] .spgv5-content-card:nth-child(3){
  grid-column:1 / -1;
  grid-row:auto;
  justify-self:stretch;
  align-self:start;
  width:100%;
  max-width:none;
  min-height:0;
  margin-left:0;
  background:transparent;
  box-shadow:none;
}

.spgv5-section[data-section="4"] .spgv5-content-card:nth-child(3) .spgv5-card-inner,
.spgv5-section[data-section="4"] .spgv5-content-card:nth-child(3) .spgv5-card-content{
  width:100%;
  max-width:none;
}

/* SECTION 5 timeline */
.spgv5-section[data-section="5"] .spgv5-content-grid{position:relative;display:block;margin-top:62px;padding-left:65px}
.spgv5-section[data-section="5"] .spgv5-content-grid::before{
  content:"";position:absolute;left:18px;top:10px;bottom:10px;width:1px;
  background:linear-gradient(180deg,var(--pink),rgba(255,255,255,.08));
}
.spgv5-section[data-section="5"] .spgv5-content-card{
  position:relative;width:100%;max-width:980px;margin:0 0 48px;border:0;border-radius:0;background:transparent;transform:none!important;
}
.spgv5-section[data-section="5"] .spgv5-content-card::before{
  content:"";position:absolute;left:-55px;top:10px;width:12px;height:12px;border:3px solid var(--pink);
  border-radius:50%;background:#070708;box-shadow:0 0 0 5px rgba(255,11,122,.08);
}
.spgv5-section[data-section="5"] .spgv5-card-inner{padding:0}
.spgv5-section[data-section="5"] .spgv5-card-title{font-size:28px}

/* SECTION 5 — final item stays full-width and visually plain */
.spgv5-section[data-section="5"] .spgv5-content-card:last-child{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

.spgv5-section[data-section="5"] .spgv5-content-card:last-child .spgv5-card-inner,
.spgv5-section[data-section="5"] .spgv5-content-card:last-child .spgv5-card-content{
  width:100%;
  max-width:none;
  margin-left:0;
  text-align:left;
}


/* SECTION 6 */
.spgv5-section[data-section="6"]{
  width:100vw;left:50%;margin-left:-50vw;
  padding-left:max(32px,calc((100vw - 1180px)/2));padding-right:max(32px,calc((100vw - 1180px)/2));
  background:linear-gradient(180deg,#09090b,#0d0d10 52%,#09090b);
}
.spgv5-section[data-section="6"] .spgv5-content-grid{grid-template-columns:1fr;gap:0}
.spgv5-section[data-section="6"] .spgv5-content-card{
  width:100%;max-width:none;border:0;border-top:1px solid rgba(255,255,255,.075);border-radius:0;background:transparent;transform:none!important;
}
.spgv5-section[data-section="6"] .spgv5-content-card:last-child{border-bottom:1px solid rgba(255,255,255,.075)}
.spgv5-section[data-section="6"] .spgv5-card-inner{
  display:grid;grid-template-columns:minmax(250px,.35fr) minmax(0,1fr);gap:55px;padding:40px 0;
}
.spgv5-section[data-section="6"] .spgv5-card-title{position:sticky;top:28px}

/* SECTION 7 mixed */
.spgv5-section[data-section="7"] .spgv5-content-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.spgv5-section[data-section="7"] .spgv5-content-card:nth-child(4),
.spgv5-section[data-section="7"] .spgv5-content-card:nth-child(8){
  grid-column:1 / -1;border-radius:20px;background:linear-gradient(105deg,rgba(255,11,122,.075),transparent 48%),#0f1013;
}
.spgv5-section[data-section="7"] .spgv5-content-card:nth-child(8){margin-top:22px}
.spgv5-section[data-section="7"] .spgv5-content-card:nth-child(8) .spgv5-card-title{font-size:34px}

/* Reviews + FAQ */
.spgv5-section[data-section="8"]{
  width:100vw;left:50%;margin-left:-50vw;
  padding-left:max(32px,calc((100vw - 1180px)/2));padding-right:max(32px,calc((100vw - 1180px)/2));
  background:#0a0a0c;
}
.spgv5-section[data-section="8"] .spgv5-reviews-grid{grid-template-columns:1.4fr .8fr .8fr;gap:16px}
.spgv5-review-feature,.spgv5-review-card{border-color:rgba(255,255,255,.075);background:#101013}
.spgv5-faq{padding-top:125px;padding-bottom:125px;background:transparent}
.spgv5-faq-item{border-color:rgba(255,255,255,.075);background:#0d0d10}
.spgv5-faq-item summary{font-size:14px;padding-top:21px;padding-bottom:21px}

/* Tables */
.spgv5-table-wrap{border-color:rgba(255,255,255,.08);border-radius:14px;background:#0b0b0e}
.spgv5-table thead{background:rgba(255,11,122,.06)}
.spgv5-table th,.spgv5-table td{border-color:rgba(255,255,255,.07)}
.spgv5-table th{color:#ff5ba1}

@media(max-width:1050px){
  .spgv5-section[data-section="3"] .spgv5-content-grid,
  .spgv5-section[data-section="7"] .spgv5-content-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  .spgv5-hero{grid-template-columns:1fr;min-height:0}
  .spgv5-hero-visual{min-height:400px}
  .spgv5-section[data-section]{padding-top:88px;padding-bottom:88px}
  .spgv5-section[data-section="1"] .spgv5-content-grid,
  .spgv5-section[data-section="4"] .spgv5-content-grid{grid-template-columns:1fr;}
  .spgv5-section[data-section="4"] .spgv5-content-card:first-child{grid-row:auto;min-height:0}
  .spgv5-section[data-section="2"] .spgv5-card-inner,
  .spgv5-section[data-section="6"] .spgv5-card-inner{grid-template-columns:1fr;gap:16px}
  .spgv5-section[data-section="2"] .spgv5-card-title,
  .spgv5-section[data-section="6"] .spgv5-card-title{position:static}
}
@media(max-width:700px){
  .spgv5-shell{width:min(calc(100% - 20px),1220px)}
  .spgv5-section[data-section]{padding:72px 10px}
  .spgv5-title{font-size:clamp(37px,12vw,54px)}
  .spgv5-hero{padding:64px 20px}
  .spgv5-hero h1{font-size:clamp(48px,15vw,72px)}
  .spgv5-hero-lead,.spgv5-intro .spgv5-body{font-size:15px}
  .spgv5-section[data-section="3"],
  .spgv5-section[data-section="6"],
  .spgv5-section[data-section="8"]{padding-left:20px;padding-right:20px}
  .spgv5-section[data-section="3"] .spgv5-content-grid,
  .spgv5-section[data-section="7"] .spgv5-content-grid{grid-template-columns:1fr}
  .spgv5-section[data-section="3"] .spgv5-content-card{min-height:240px}
  .spgv5-section[data-section="5"] .spgv5-content-grid{padding-left:40px}
  .spgv5-section[data-section="5"] .spgv5-content-grid::before{left:10px}
  .spgv5-section[data-section="5"] .spgv5-content-card::before{left:-36px}
  .spgv5-section[data-section="7"] .spgv5-content-card{grid-column:auto!important}
  .spgv5-section[data-section="8"] .spgv5-reviews-grid{grid-template-columns:1fr}
  .spgv5-faq{padding-left:10px;padding-right:10px}
}


/* =========================================================
   V5.4 — LAYOUT STABILITY FIX
   Fixes overlap, oversized empty areas and content clipping.
   ========================================================= */

/* 1) GLOBAL SAFETY */
.spgv5,
.spgv5 *{
  min-width:0;
}

.spgv5 img,
.spgv5 table{
  max-width:100%;
}

.spgv5-body,
.spgv5-card-content,
.spgv5-card-title,
.spgv5-subtitle,
.spgv5-step-title,
.spgv5-review-card p,
.spgv5-review-feature p,
.spgv5-faq-answer{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Never clip long content inside section/card shells */
.spgv5-section[data-section],
.spgv5-content-card{
  overflow:visible;
}

.spgv5-content-card{
  height:auto !important;
  min-height:0 !important;
}

/* 2) REDUCE EXCESSIVE VERTICAL GAPS */
.spgv5-section[data-section]{
  padding-top:82px;
  padding-bottom:82px;
}

.spgv5-section[data-section="1"]{
  padding-top:92px;
}

.spgv5-faq{
  padding-top:90px;
  padding-bottom:90px;
}

.spgv5-section[data-section] > .spgv5-intro{
  margin-bottom:38px;
}

/* 3) KEEP CONTENT AT THE TOP — no huge blank area above text */
.spgv5-section[data-section="3"] .spgv5-content-card,
.spgv5-section[data-section="4"] .spgv5-content-card{
  display:block;
  align-items:initial;
  min-height:0;
}

.spgv5-section[data-section="3"] .spgv5-card-inner,
.spgv5-section[data-section="4"] .spgv5-card-inner{
  width:100%;
}

/* AREA section: natural card heights instead of 320px forced tiles */
.spgv5-section[data-section="3"] .spgv5-content-grid{
  align-items:stretch;
}

.spgv5-section[data-section="3"] .spgv5-content-card{
  min-height:0 !important;
}

.spgv5-section[data-section="3"] .spgv5-card-inner{
  padding:27px 28px;
}

.spgv5-section[data-section="3"] .spgv5-content-grid{
  align-items:stretch !important;
  grid-auto-rows:1fr !important;
}

.spgv5-section[data-section="3"] .spgv5-content-card{
  align-self:stretch !important;
  height:100% !important;
  min-height:100% !important;
  display:flex !important;
}

.spgv5-section[data-section="3"] .spgv5-card-inner{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
}


/* Desktop area cards 高度 */
@media (min-width:981px){
  .spgv5-section[data-section="3"] .spgv5-content-card{
    min-height:330px !important;
  }
}


/* Mobile 不强制等高 */
@media (max-width:700px){
  .spgv5-section[data-section="1"] .spgv5-content-card,
  .spgv5-section[data-section="3"] .spgv5-content-card{
    height:auto !important;
    min-height:0 !important;
  }

  .spgv5-section[data-section="3"] .spgv5-content-grid{
    grid-auto-rows:auto !important;
  }
}

/* Language/Personality section */
.spgv5-section[data-section="4"] .spgv5-content-card{
  min-height:0 !important;
}

.spgv5-section[data-section="4"] .spgv5-card-inner{
  width:100%;
}

/* 4) REMOVE DESKTOP STICKY HEADINGS THAT CAN COLLIDE WITH LONG COPY */
.spgv5-section[data-section="2"] .spgv5-card-title,
.spgv5-section[data-section="6"] .spgv5-card-title{
  position:static;
  top:auto;
}

/* Horizontal rows stay aligned, but no sticky overlap */
.spgv5-section[data-section="2"] .spgv5-card-inner,
.spgv5-section[data-section="6"] .spgv5-card-inner{
  align-items:start;
}

/* 5) TABLE SAFETY */
.spgv5-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
}

.spgv5-table{
  width:100%;
  min-width:0;
  table-layout:auto;
}

.spgv5-table th,
.spgv5-table td{
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Only larger tables need horizontal scroll on smaller viewports */
@media(max-width:760px){
  .spgv5-table{
    min-width:620px;
  }
}

/* 6) TIMELINE: remove accidental oversized gaps */
.spgv5-section[data-section="5"] .spgv5-content-grid{
  margin-top:44px;
}

.spgv5-section[data-section="5"] .spgv5-content-card{
  margin-bottom:30px;
  max-width:none;
}

.spgv5-section[data-section="5"] .spgv5-content-card:last-child{
  margin-bottom:0;
}

/* 7) WHY SUPERB: cards should size to their own content */
.spgv5-section[data-section="7"] .spgv5-content-grid{
  align-items:start;
}

.spgv5-section[data-section="7"] .spgv5-content-card{
  min-height:0 !important;
}

/* 8) REVIEWS */
.spgv5-section[data-section="8"] .spgv5-reviews-grid{
  align-items:start;
}

.spgv5-review-feature,
.spgv5-review-card{
  min-height:0;
}

/* 9) DESKTOP COLUMN BALANCE
   Use equal rows without forcing a shared card height. */
@media(min-width:981px){
  .spgv5-section[data-section="3"] .spgv5-content-grid{
    grid-auto-rows:auto;
  }

  .spgv5-section[data-section="2"] .spgv5-card-inner,
  .spgv5-section[data-section="6"] .spgv5-card-inner{
    grid-template-columns:minmax(220px,.32fr) minmax(0,1fr);
    gap:38px;
  }
}

/* 10) TABLET */
@media(max-width:980px){
  .spgv5-section[data-section]{
    padding-top:68px;
    padding-bottom:68px;
  }

  .spgv5-section[data-section="1"]{
    padding-top:74px;
  }

  .spgv5-section[data-section="3"] .spgv5-content-grid,
  .spgv5-section[data-section="4"] .spgv5-content-grid,
  .spgv5-section[data-section="7"] .spgv5-content-grid{
    align-items:start;
  }

  .spgv5-faq{
    padding-top:72px;
    padding-bottom:72px;
  }
}

/* 11) MOBILE */
@media(max-width:700px){
  .spgv5-section[data-section]{
    padding-top:52px;
    padding-bottom:52px;
  }

  .spgv5-section[data-section="1"]{
    padding-top:58px;
  }

  .spgv5-section[data-section] > .spgv5-intro{
    margin-bottom:28px;
  }

  .spgv5-content-card{
    border-radius:15px;
  }

  .spgv5-card-inner{
    padding:22px 20px;
  }

  .spgv5-section[data-section="2"] .spgv5-card-inner,
  .spgv5-section[data-section="6"] .spgv5-card-inner{
    display:block;
    padding:27px 0;
  }

  .spgv5-section[data-section="3"] .spgv5-card-inner{
    padding:22px 20px;
  }

  .spgv5-section[data-section="5"] .spgv5-content-grid{
    margin-top:32px;
  }

  .spgv5-section[data-section="5"] .spgv5-content-card{
    margin-bottom:24px;
  }

  .spgv5-faq{
    padding-top:56px;
    padding-bottom:56px;
  }
}


/* =========================================================
   V5.5 — CENTERED HERO + ZERO-OVERLAP CONTENT FLOW
   ========================================================= */

/* HERO: remove the right visual and center the original content */
.spgv55-hero{
  width:100vw;
  left:50%;
  margin-left:-50vw;
  min-height:0;
  display:block;
  padding:
    clamp(84px,10vw,132px)
    max(24px,calc((100vw - 1180px)/2))
    clamp(86px,10vw,126px);
  text-align:center;
  border:0;
  border-radius:0;
  background:
    radial-gradient(ellipse 52% 42% at 50% 7%,rgba(255,255,255,.085),transparent 62%),
    radial-gradient(ellipse 45% 34% at 50% 70%,rgba(255,11,122,.07),transparent 70%),
    linear-gradient(180deg,#070708 0%,#08080a 68%,#070708 100%);
}

.spgv55-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.25;
  background:
    linear-gradient(90deg,transparent,rgba(255,255,255,.02),transparent),
    repeating-linear-gradient(0deg,transparent 0 34px,rgba(255,255,255,.012) 35px 36px);
  mask-image:radial-gradient(ellipse 70% 75% at 50% 18%,#000 10%,transparent 85%);
}

.spgv55-hero::after{
  content:"";
  position:absolute;
  width:760px;
  height:260px;
  left:50%;
  bottom:-190px;
  transform:translateX(-50%);
  border-radius:50%;
  border:0;
  background:rgba(255,11,122,.08);
  filter:blur(100px);
  pointer-events:none;
}

.spgv55-hero-copy{
  position:relative;
  z-index:2;
  width:min(100%,930px);
  margin:0 auto;
}

.spgv55-hero h2{
  width:min(100%,920px);
  max-width:none;
  margin:0 auto 34px;
  text-align:center;
  font-size:clamp(56px,8vw,102px);
  line-height:.92;
  letter-spacing:-.07em;
  background:linear-gradient(110deg,#fff 10%,#fff 38%,#ffb4d3 63%,#ff4c9c 82%,#ff0b7a);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.spgv55-hero-text{
  width:min(100%,820px);
  max-width:none;
  margin:0 auto;
  padding:0;
  border:0;
  text-align:left;
}

.spgv55-hero .spgv5-hero-lead{
  width:100%;
  max-width:none;
  margin:0 0 18px;
  color:#b8b9c0;
  font-size:16px;
  line-height:1.85;
}

.spgv55-hero .spgv5-hero-lead:last-child{
  margin-bottom:0;
}

.spgv55-hero-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:38px;
}

.spgv55-btn{
  min-height:50px;
  padding:0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.11);
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.spgv55-btn:hover{
  transform:translateY(-2px);
}

.spgv55-btn-telegram{
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(10px);
}

.spgv55-btn-telegram:hover{
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.075);
}

.spgv55-btn-book{
  min-width:145px;
  border-color:rgba(255,11,122,.48);
  background:linear-gradient(135deg,#ff0b7a,#c7075c);
  box-shadow:0 14px 36px rgba(255,11,122,.20);
}

.spgv55-btn-book:hover{
  box-shadow:0 18px 44px rgba(255,11,122,.29);
}

.spgv55-btn-icon,
.spgv55-btn-arrow{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.09);
  font-size:12px;
}

/* Right-side hero graphics are no longer used */
.spgv55-hero .spgv5-hero-visual{
  display:none !important;
}

/* ---------------------------------------------------------
   CONTENT FLOW: never use transform offsets for content cards.
   This removes the remaining overlap source completely.
   --------------------------------------------------------- */
.spgv5-section[data-section] .spgv5-content-card{
  transform:none !important;
  translate:none !important;
  height:auto !important;
  min-height:0 !important;
  position:relative;
  top:auto !important;
  bottom:auto !important;
  margin-top:0;
}

/* Empty heading wrapper in the first section adds no useful space */
.spgv5-section[data-section="1"] > .spgv5-section-head:empty{
  display:none;
}

/* First content section:
   first block full-width, then the two following blocks sit cleanly side-by-side */
.spgv5-section[data-section="1"] .spgv5-content-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-auto-flow:row;
  grid-auto-rows:auto;
  align-items:start;
  gap:22px;
}
.spgv5-section[data-section="1"] .spgv5-content-grid{
  align-items:stretch !important;
}

.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(2),
.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(3){
  align-self:stretch !important;
  height:100% !important;
}

.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(2) .spgv5-card-inner,
.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(3) .spgv5-card-inner{
  height:100%;
}

.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(1){
  grid-column:1 / -1;
  width:100%;
  max-width:none;
}

.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(2),
.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(3),
.spgv5-section[data-section="1"] .spgv5-content-card:last-child:nth-child(odd){
  grid-column:auto;
  width:100%;
  max-width:none;
}

/* Important: override old V5.3 offset that caused card 2 to hit card 3 */
.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(2){
  transform:none !important;
  margin-top:0 !important;
}

/* Each row follows its own natural content height */
.spgv5-section[data-section="1"] .spgv5-card-inner,
.spgv5-section[data-section="1"] .spgv5-card-content{
  height:auto;
  min-height:0;
}

/* Give the two lower boxes equal visual alignment without forcing equal heights */
.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(2),
.spgv5-section[data-section="1"] .spgv5-content-card:nth-child(3){
  align-self:start;
}

/* General grids must not stretch cards into oversized empty boxes */
.spgv5-content-grid{
  align-items:start !important;
  grid-auto-rows:auto !important;
}

.spgv5-content-card,
.spgv5-card-inner,
.spgv5-card-content{
  max-height:none !important;
}

/* Tables remain inside their own card instead of influencing sibling positioning */
.spgv5-table-wrap{
  position:relative;
  z-index:1;
  width:100%;
  max-width:100%;
  overflow-x:auto;
}

/* Keep section spacing compact and predictable */
.spgv5-section[data-section]{
  padding-top:76px;
  padding-bottom:76px;
}

.spgv5-section[data-section="1"]{
  padding-top:82px;
}

@media(max-width:980px){
  .spgv5-section[data-section="1"] .spgv5-content-grid{
    grid-template-columns:1fr;
  }

  .spgv5-section[data-section="1"] .spgv5-content-card:nth-child(1),
  .spgv5-section[data-section="1"] .spgv5-content-card:nth-child(2),
  .spgv5-section[data-section="1"] .spgv5-content-card:nth-child(3){
    grid-column:1;
  }
}

@media(max-width:700px){
  .spgv55-hero{
    padding:68px 20px 70px;
  }

  .spgv55-hero h2{
    font-size:clamp(48px,15vw,70px);
    margin-bottom:28px;
  }

  .spgv55-hero .spgv5-hero-lead{
    font-size:14.5px;
    line-height:1.78;
  }

  .spgv55-hero-actions{
    width:100%;
    margin-top:30px;
  }

  .spgv55-btn{
    width:100%;
  }

  .spgv5-section[data-section]{
    padding-top:52px;
    padding-bottom:52px;
  }

  .spgv5-section[data-section="1"]{
    padding-top:58px;
  }
}

/* SECTION 4 responsive */
@media(max-width:980px){
  .spgv5-section[data-section="4"] .spgv5-content-grid{
    grid-template-columns:1fr;
  }

  .spgv5-section[data-section="4"] .spgv5-content-card:first-child,
  .spgv5-section[data-section="4"] .spgv5-content-card:nth-child(2),
  .spgv5-section[data-section="4"] .spgv5-content-card:nth-child(3){
    grid-column:1;
    height:auto;
  }
}

/* =========================================================
   V5.6 — SECTION 7 + TESTIMONIAL ALIGNMENT
   ========================================================= */

/* ---------------------------------------------------------
   WHY CHOOSE SUPERB
   Row 1: cards 1–3 equal height
   Row 2: card 4 full width
   Row 3: cards 5–7 equal height
   Row 4: card 8 full width
   --------------------------------------------------------- */

.spgv5-section[data-section="7"] .spgv5-content-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  gap:18px !important;
  align-items:stretch !important;
}
.spgv5-section[data-section="7"] .special-content-grid.spgv5-content-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

/* All normal cards stretch to the row height */
.spgv5-section[data-section="7"] .spgv5-content-card{
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:0 !important;
  align-self:stretch !important;
  margin-top:0 !important;
}

/* Let inner content occupy the full card height */
.spgv5-section[data-section="7"] .spgv5-card-inner{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
}

/* Full-width information rows */
.spgv5-section[data-section="7"] .spgv5-content-card:nth-child(4),
.spgv5-section[data-section="7"] .spgv5-content-card:nth-child(8){
  grid-column:1 / -1 !important;
  height:auto !important;
  min-height:0 !important;
  align-self:auto !important;
}

/* Make the full-width cards feel intentional rather than stretched */
.spgv5-section[data-section="7"] .spgv5-content-card:nth-child(4) .spgv5-card-inner,
.spgv5-section[data-section="7"] .spgv5-content-card:nth-child(8) .spgv5-card-inner{
  height:auto;
}

/* Keep the first and third rows visually balanced */
@media (min-width:1051px){
  .spgv5-section[data-section="7"] .spgv5-content-card:nth-child(1),
  .spgv5-section[data-section="7"] .spgv5-content-card:nth-child(2),
  .spgv5-section[data-section="7"] .spgv5-content-card:nth-child(3){
    min-height:100% !important;
  }

  .spgv5-section[data-section="7"] .spgv5-content-card:nth-child(5),
  .spgv5-section[data-section="7"] .spgv5-content-card:nth-child(6),
  .spgv5-section[data-section="7"] .spgv5-content-card:nth-child(7){
    min-height:100% !important;
  }
}


/* ---------------------------------------------------------
   TESTIMONIALS
   Review 1 = full-width feature
   Reviews 2–7 = 3 columns x 2 rows
   --------------------------------------------------------- */

.spgv5-section[data-section="8"] .spgv5-reviews-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  grid-auto-rows:auto !important;
  gap:16px !important;
  align-items:stretch !important;
  margin-top:34px;
}

/* First testimonial becomes a clean full-width feature */
.spgv5-section[data-section="8"] .spgv5-review-feature{
  grid-column:1 / -1 !important;
  grid-row:auto !important;
  width:100%;
  min-height:0 !important;
  height:auto !important;
  padding:30px 32px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  column-gap:20px;
  align-items:center;
  justify-content:initial;
}

/* Keep the quote mark compact on the left */
.spgv5-section[data-section="8"] .spgv5-review-feature .spgv5-quote{
  align-self:start;
  margin-top:3px;
}

/* Feature testimonial text */
.spgv5-section[data-section="8"] .spgv5-review-feature p{
  margin:0;
  max-width:none;
}

/* Author sits neatly on the right */
.spgv5-section[data-section="8"] .spgv5-review-feature strong{
  text-align:right;
  white-space:nowrap;
}

/* Remaining six cards form an even 3 x 2 grid */
.spgv5-section[data-section="8"] .spgv5-review-card{
  width:100%;
  height:100% !important;
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-self:stretch !important;
  padding:22px 22px 20px;
}

/* Quote at top */
.spgv5-section[data-section="8"] .spgv5-review-card .spgv5-quote{
  flex:0 0 auto;
}

/* Review text gets the flexible middle space */
.spgv5-section[data-section="8"] .spgv5-review-card p{
  flex:1 1 auto;
  margin:10px 0 18px;
}

/* Name stays aligned at the bottom */
.spgv5-section[data-section="8"] .spgv5-review-card strong{
  margin-top:auto;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */
@media (max-width:1050px) and (min-width:701px){

  .spgv5-section[data-section="7"] .spgv5-content-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  /* Cards 4 and 8 stay full width */
  .spgv5-section[data-section="7"] .spgv5-content-card:nth-child(4),
  .spgv5-section[data-section="7"] .spgv5-content-card:nth-child(8){
    grid-column:1 / -1 !important;
  }

  .spgv5-section[data-section="8"] .spgv5-reviews-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .spgv5-section[data-section="8"] .spgv5-review-feature{
    grid-column:1 / -1 !important;
  }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */
@media (max-width:700px){

  .spgv5-section[data-section="7"] .spgv5-content-grid,
  .spgv5-section[data-section="8"] .spgv5-reviews-grid{
    grid-template-columns:1fr !important;
  }

  .spgv5-section[data-section="7"] .spgv5-content-card,
  .spgv5-section[data-section="7"] .spgv5-content-card:nth-child(4),
  .spgv5-section[data-section="7"] .spgv5-content-card:nth-child(8),
  .spgv5-section[data-section="8"] .spgv5-review-feature,
  .spgv5-section[data-section="8"] .spgv5-review-card{
    grid-column:1 !important;
    height:auto !important;
    min-height:0 !important;
  }

  .spgv5-section[data-section="8"] .spgv5-review-feature{
    display:block;
    padding:24px 20px;
  }

  .spgv5-section[data-section="8"] .spgv5-review-feature p{
    margin:12px 0 18px;
  }

  .spgv5-section[data-section="8"] .spgv5-review-feature strong{
    text-align:left;
    white-space:normal;
  }
}