/* ==========================================================================
   VELMO - home page blocks, top to bottom
   hero · stage (live demo) · features slider · audience · how it works ·
   security band · pricing · faq · final CTA
   ========================================================================== */

/* ---------------------------------------------------------------- HERO */
.hero{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:clamp(124px,16vh,170px) var(--gut) clamp(56px,8vh,88px);min-height:min(calc(100svh - 196px),740px);}
.hero::before{content:"";position:absolute;inset:0 0 auto;height:520px;pointer-events:none;z-index:-1;
  background:radial-gradient(56% 64% at 50% 0%,rgba(124,79,240,.085) 0%,rgba(124,79,240,0) 70%);}
.hero .d1{max-width:1130px;margin-top:22px;}
.hero .lead{max-width:640px;margin-top:22px;}
.hero__cta{margin-top:32px;}
.hero__meta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;color:var(--ink-3);letter-spacing:-.015em;}
.hero__meta svg{width:16px;height:16px;color:var(--v-600);}
.br-lg{display:none;}
@media (min-width:900px){.br-lg{display:inline;}}

/* ---------------------------------------------------------------- STAGE: the handset between the hero and the page */
.stage{position:relative;padding:0 var(--gut) var(--sec-y);}
.stage::before{content:"";position:absolute;left:50%;top:-40px;width:min(980px,100%);height:760px;transform:translateX(-50%);
  pointer-events:none;z-index:-1;
  background:radial-gradient(40% 46% at 50% 44%,rgba(124,79,240,.13) 0%,rgba(124,79,240,0) 72%);}
.stage__grid{max-width:var(--wrap-wide);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:clamp(28px,5vw,84px);align-items:center;}
.stage__phone{display:flex;flex-direction:column;align-items:center;gap:22px;}
.stage__phone .phone{--pw:clamp(292px,39svh,336px);}

.side{justify-self:center;display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px;max-width:330px;
  transition:opacity .5s var(--ease);}
.side__head{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;background:none;border:0;padding:0;}
.side__live{display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:500;
  color:var(--ink-3);background:var(--soft-2);letter-spacing:-.01em;transition:background-color .3s,color .3s;}
.side__live i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;}
.side:not(.is-live) .side__live{visibility:hidden;}
.side.is-live .side__live{background:var(--v-100);color:var(--v-700);}
.side.is-live .side__live i{opacity:1;animation:livePulse 1.6s ease-in-out infinite;}
@keyframes livePulse{50%{box-shadow:0 0 0 5px rgba(124,79,240,.18)}}
.side__h{font-size:clamp(1.9rem,1.2rem + 1.6vw,2.6rem);font-weight:500;line-height:1;letter-spacing:-.045em;}
.side__list{display:flex;flex-direction:column;gap:6px;}
.side__item{display:block;width:100%;padding:9px 12px;border-radius:12px;font-size:15.5px;line-height:1.45;font-weight:450;
  letter-spacing:-.015em;color:var(--ink-4);text-align:center;transition:color .4s,background-color .4s;}
.side.is-live .side__item{color:var(--ink-2);}
.side__item:hover{color:var(--ink);}
/* three classes, so it outranks ".side.is-live .side__item" above */
.side .side__item.is-on{color:var(--ink);background:var(--v-100);}

.stage__ctl{display:flex;flex-direction:column;align-items:center;gap:12px;}
.trades{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:420px;}
.trades__lbl{width:100%;text-align:center;font-size:13px;color:var(--ink-3);margin-bottom:2px;}
.trade{height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13.5px;font-weight:500;
  color:var(--ink-2);letter-spacing:-.015em;transition:border-color .15s,color .15s,background-color .15s;}
.trade:hover{border-color:var(--line-3);color:var(--ink);}
.trade[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff;}
.replay{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:500;color:var(--ink-3);
  transition:color .15s,background-color .15s;}
.replay:hover{color:var(--ink);background:var(--soft-2);}
.replay svg{width:14px;height:14px;}
.replay.is-ready{color:#fff;background:var(--ink);}
.replay.is-ready:hover{background:#000;color:#fff;}

@media (max-width:1020px){
  .stage__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;}
  .stage__phone{grid-column:1/-1;order:-1;}
  .side{max-width:420px;}
}
@media (max-width:640px){
  .stage__grid{grid-template-columns:1fr;}
  .stage__phone .phone{--pw:min(330px,86vw);}
}

/* ---------------------------------------------------------------- FEATURES slider */
.feat{background:linear-gradient(#fff 0%,#f8f9fb 100%);}
.slider{position:relative;}
.slider__view{overflow:hidden;padding:26px 0 30px;cursor:grab;touch-action:pan-y;
  -webkit-user-select:none;user-select:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);}
.slider__track{display:flex;gap:22px;will-change:transform;transition:transform 1s var(--ease);}
.slider__view.is-drag{cursor:grabbing;}
/* while a finger or the mouse holds the row, and for the one frame in which a
   clone hands over to its original, nothing may animate */
.slider__track.is-drag,.slider__track.is-jump,.slider__track.is-jump .fcard{transition:none !important;}
.fcard{--cw:min(352px,78vw);position:relative;flex:none;width:var(--cw);padding:20px;border-radius:var(--r-card);background:#fff;
  transform:scale(.9);opacity:.5;transform-origin:50% 60%;cursor:pointer;
  transition:transform 1s var(--ease),opacity .8s var(--ease),box-shadow 1s var(--ease);}
.fcard::after{content:"";position:absolute;inset:0;border-radius:inherit;border:.73px solid var(--line);pointer-events:none;}
.fcard.is-active{transform:scale(1.05);opacity:1;cursor:default;box-shadow:0 2px 8px rgba(0,0,0,.08);}
.fcard__well{position:relative;height:236px;border-radius:var(--r-img);overflow:hidden;
  background:radial-gradient(80% 90% at 50% 100%,#efeaff 0%,#f5f5f7 62%);}
.fcard__well .phone{--pw:240px;position:absolute;left:50%;top:18px;transform:translateX(-50%);aspect-ratio:auto;height:380px;}
.fcard__well .phone .phone__screen{height:100%;}
.fcard__well .tg-log{justify-content:flex-start;}
.fcard__well .tg-log>:first-child{margin-top:0;}
.fcard__well .m{animation:none;}
.fcard__body{display:flex;flex-direction:column;gap:8px;padding-top:18px;}
.fcard__pain{font-size:15px;line-height:1.45;color:var(--ink-2);}
.fcard__act{font-size:15px;line-height:1.45;color:var(--ink);}
.fcard__res{display:inline-flex;align-items:flex-start;gap:7px;align-self:flex-start;margin-top:6px;padding:7px 11px;border-radius:9px;
  background:var(--v-100);color:var(--v-700);font-size:14px;line-height:1.35;font-weight:500;letter-spacing:-.015em;}
.fcard__res svg{width:14px;height:14px;flex:none;margin-top:2px;}
/* the chosen card's mock plays once it is in front */
.fcard.is-active .is-hint::after{animation-play-state:running;}
.fcard:not(.is-active) .is-hint::after{animation:none;opacity:0;}

.slider__nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:10px;}
.slider__arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-3);background:#fff;display:grid;place-items:center;
  color:var(--ink);transition:border-color .15s,background-color .15s;}
.slider__arrow:hover{border-color:var(--ink);}
.slider__arrow svg{width:14px;height:14px;}
.slider__dots{display:flex;align-items:center;gap:6px;}
.slider__dot{position:relative;width:8px;height:8px;border-radius:8px;background:var(--line-3);overflow:hidden;
  transition:width .5s var(--ease),background-color .3s;}
.slider__dot.is-on{width:34px;background:rgba(124,79,240,.2);}
.slider__dot i{position:absolute;inset:0;background:var(--v-600);transform:scaleX(0);transform-origin:left;}

/* ---------------------------------------------------------------- AUDIENCE */
.aud__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.acard{position:relative;display:flex;flex-direction:column;padding:10px;border-radius:var(--r-card);background:#fff;}
.acard::after{content:"";position:absolute;inset:0;border-radius:inherit;border:.73px solid var(--line);pointer-events:none;}
/* no photos: the soft panel holds the words; a faint shape sits behind them
   in the bottom-left corner, exactly where the numbers used to be
   (circle · triangle · square, left to right). The four text rows share one
   grid across the three cards (subgrid), so chips, headlines, copy and the
   result line start on the same line in every card whatever their length. */
.aud__grid{grid-template-rows:repeat(4,auto);}
.acard{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;}
.acard__panel{position:relative;grid-row:1 / -1;display:grid;grid-template-rows:subgrid;row-gap:18px;
  padding:clamp(24px,2.4vw,32px);border-radius:var(--r-img);overflow:hidden;isolation:isolate;
  background:radial-gradient(90% 70% at 70% 10%,#f1ecff 0%,rgba(241,236,255,0) 60%),linear-gradient(170deg,#f7f7f9 0%,#ececf0 100%);}
.acard__body{display:contents;}
.acard__body>*{position:relative;z-index:1;}   /* above the positioned shape */
.acard__shape{position:absolute;z-index:0;left:18px;bottom:18px;width:clamp(96px,9.6vw,132px);height:auto;
  fill:rgba(23,23,23,.06);pointer-events:none;transition:transform .8s var(--ease),fill .6s;}
.acard:hover .acard__shape{transform:rotate(-6deg) scale(1.04);fill:rgba(124,79,240,.11);}
.acard__t{font-size:clamp(1.55rem,1.15rem + .8vw,1.85rem);font-weight:500;line-height:1.08;letter-spacing:-.04em;color:var(--ink);text-wrap:balance;}
.chips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;}
.chip{height:26px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.72);font-size:12.5px;font-weight:500;color:var(--ink-2);}
.acard__p{font-size:15px;line-height:1.6;color:var(--ink-2);}
/* the air above the result line is where the shape shows through */
.acard__key{display:flex;gap:9px;align-items:flex-start;align-self:start;margin-top:clamp(56px,7vw,104px);padding-top:16px;
  border-top:1px solid rgba(23,23,23,.08);font-size:14.5px;line-height:1.45;font-weight:500;color:var(--ink);letter-spacing:-.015em;}
.acard__key svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--v-600);}
@supports not (grid-template-rows:subgrid){
  .acard,.acard__panel{display:flex;flex-direction:column;}
  .acard__panel{flex:1;gap:18px;}
  .acard__body{display:flex;flex-direction:column;gap:18px;flex:1;}
  .chips{min-height:58px;}
  .acard__t{min-height:2.16em;}
  .acard__key{margin-top:auto;}
}
@media (max-width:900px){
  .aud__grid{grid-template-columns:1fr;grid-template-rows:none;max-width:480px;margin:0 auto;}
  .acard{grid-row:auto;display:flex;flex-direction:column;}
  .acard__panel{display:flex;flex-direction:column;gap:18px;flex:1;}
  .acard__key{margin-top:48px;}
}

/* ---------------------------------------------------------------- HOW IT WORKS - one panel, three lanes */
.how__panel{border-radius:var(--r-panel);background:var(--soft);border:1px solid var(--line-2);padding:clamp(18px,2.4vw,30px) clamp(8px,1.4vw,18px);}
.how__rail{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:26px;}
.how__line{position:absolute;left:16.66%;right:16.66%;top:50%;height:2px;margin-top:-1px;background:var(--line);border-radius:2px;overflow:hidden;}
.how__line i{position:absolute;inset:0;background:var(--v-600);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease);}
.how__node{position:relative;z-index:1;justify-self:center;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line-3);font-size:15px;font-weight:600;color:var(--ink-3);
  transition:background-color .4s,color .4s,border-color .4s,transform .4s var(--ease);}
.how__node.is-on{background:var(--v-600);border-color:var(--v-600);color:#fff;transform:scale(1.08);}
.how__node.is-done{background:var(--ink);border-color:var(--ink);color:#fff;}
.how__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.how__col{display:flex;flex-direction:column;gap:12px;padding:6px clamp(12px,1.8vw,26px) 0;border-left:1px solid var(--line);
  opacity:.5;cursor:pointer;transition:opacity .5s var(--ease);}
.how__col:first-child{border-left:0;}
.how__col.is-on{opacity:1;cursor:default;}
.how__k{font-size:13px;font-weight:500;color:var(--v-700);letter-spacing:-.01em;}
.how__p{font-size:15px;line-height:1.5;color:var(--ink-2);}
.how__mock{position:relative;margin-top:auto;padding-top:14px;}
.mock{position:relative;height:392px;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);font-size:14.5px;}
.mock .tg{font-size:14.5px;}
.mock .tg-head{grid-template-columns:auto 1fr;gap:.55em;height:3em;padding:0 .8em;}
.mock .tg-head .tg-ava{order:-1;width:2em;height:2em;}
.mock .tg-title{align-items:flex-start;}
/* every lane shows its finished state; the lane in front replays its story */
.how__col.is-on .mock .play{animation:mockIn .5s var(--ease) both;}
.how__col.is-on .mock .play:nth-child(2){animation-delay:.35s;}
.how__col.is-on .mock .play:nth-child(3){animation-delay:.9s;}
.how__col.is-on .mock .play:nth-child(4){animation-delay:1.5s;}
.how__col.is-on .mock .play:nth-child(5){animation-delay:2.1s;}
@keyframes mockIn{from{opacity:0;transform:translateY(8px)}}

/* instagram profile, redrawn */
.ig{position:absolute;inset:0;padding:16px 16px 0;font-family:var(--tg-font);font-size:13px;color:#000;background:#fff;}
.ig__top{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:15px;margin-bottom:14px;}
.ig__top svg{width:18px;height:18px;}
.ig__row{display:flex;align-items:center;gap:12px;}
.ig__ava{width:58px;height:58px;border-radius:50%;padding:2.5px;flex:none;background:conic-gradient(from 200deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5,#feda75);}
.ig__ava span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;border:2.5px solid #fff;
  background:linear-gradient(160deg,#f8d8cf,#e7a797);font-size:20px;}
.ig__stats{flex:1;min-width:0;display:flex;gap:4px;text-align:center;line-height:1.2;}
.ig__stats>div{flex:1;min-width:0;}
.ig__stats b{display:block;font-size:15px;font-weight:600;}
.ig__stats span{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ig__bio{margin-top:10px;line-height:1.4;}
.ig__bio b{font-weight:600;}
.ig__bio .cat{color:#737373;}
.ig__link{display:inline-flex;align-items:center;gap:4px;margin-top:2px;color:#00376b;font-weight:600;position:relative;padding:1px 4px;margin-left:-4px;border-radius:6px;}
.ig__link svg{width:12px;height:12px;}
.how__col.is-on .ig__link{animation:linkGlow 2.4s .8s ease-in-out 2;}
@keyframes linkGlow{50%{background:#e7e1ff}}
.ig__btns{display:flex;gap:6px;margin-top:12px;}
.ig__btns span{flex:1;height:30px;border-radius:8px;display:grid;place-items:center;background:#efefef;font-weight:600;font-size:12.5px;}
.ig__btns span:first-child{background:#0095f6;color:#fff;}
.qr{position:absolute;right:14px;bottom:14px;width:132px;padding:10px 10px 9px;border-radius:14px;background:#fff;
  border:1px solid var(--line);box-shadow:0 2px 8px rgba(0,0,0,.08);transform:rotate(3deg);text-align:center;}
.qr svg{width:100%;height:auto;color:var(--deep);}
.qr span{display:block;margin-top:6px;font-family:var(--font);font-size:11px;line-height:1.3;font-weight:500;color:var(--ink-2);}
.how__col.is-on .qr{animation:qrIn .7s .5s var(--ease) both;}
@keyframes qrIn{from{opacity:0;transform:rotate(9deg) translateY(16px)}}

@media (max-width:900px){
  .how__rail{display:none;}
  .how__cols{grid-template-columns:1fr;gap:34px;}
  .how__col{opacity:1;border-left:0;padding:0 6px;}
  .how__col .mock .play{animation:none !important;}
  .how__panel{padding:22px 14px;}
}

/* ---------------------------------------------------------------- SECURITY: the dark band */
.band-dark{color:#fff;background:
  radial-gradient(52% 60% at 88% 0%,rgba(124,79,240,.42) 0%,rgba(124,79,240,0) 70%),
  radial-gradient(40% 50% at 0% 100%,rgba(85,39,196,.3) 0%,rgba(85,39,196,0) 70%),
  var(--deep);}
.secu{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr);gap:clamp(40px,6vw,100px);align-items:start;}
.secu__head{position:sticky;top:112px;display:flex;flex-direction:column;align-items:flex-start;gap:22px;}
.secu__head .d2{color:#fff;}
.secu__head .lead{color:rgba(255,255,255,.64);}
.secu__quote{margin-top:6px;padding-left:16px;border-left:2px solid var(--v-400);font-size:17px;line-height:1.45;font-weight:500;
  letter-spacing:-.02em;color:#fff;max-width:360px;}
.secu__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3.4vw,52px);}
.secu__item{display:flex;flex-direction:column;gap:10px;padding:26px 0 32px;border-top:1px solid rgba(255,255,255,.12);}
.secu__n{font-size:13px;font-weight:500;color:var(--v-200);letter-spacing:.02em;font-variant-numeric:tabular-nums;}
.secu__t{font-size:var(--t-card);font-weight:500;line-height:1.25;letter-spacing:-.03em;}
.secu__p{font-size:15px;line-height:1.55;color:rgba(255,255,255,.64);}
.secu__more{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);}
.secu__more a{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:#fff;border-bottom:1px solid rgba(255,255,255,.3);
  padding-bottom:2px;transition:border-color .2s;}
.secu__more a:hover{border-color:#fff;}
@media (max-width:900px){
  .secu{grid-template-columns:1fr;}
  .secu__head{position:static;}
}
@media (max-width:620px){.secu__list{grid-template-columns:1fr;}}

/* ---------------------------------------------------------------- PRICING */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;}
.plan{position:relative;display:flex;flex-direction:column;padding:28px 26px 28px;border-radius:22px;background:#fff;border:1px solid var(--line);}
.plan--dark{background:var(--deep);color:#fff;border-color:var(--deep);
  background-image:radial-gradient(70% 50% at 100% 0%,rgba(124,79,240,.32) 0%,rgba(124,79,240,0) 70%);}
.plan__top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;}
.plan__name{font-size:var(--t-card);font-weight:500;letter-spacing:-.03em;}
.plan__tag{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;background:var(--v-100);
  color:var(--v-700);font-size:12.5px;font-weight:500;}
.plan__tag svg{width:12px;height:12px;}
.plan__for{margin-top:8px;font-size:14.5px;line-height:1.45;color:var(--ink-2);min-height:2.9em;}
.plan--dark .plan__for{color:rgba(255,255,255,.62);}
.plan__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-top:22px;}
.plan__price b{font-size:clamp(2.6rem,2rem + 1.4vw,3.3rem);font-weight:500;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums;}
.plan__price span{font-size:15px;color:var(--ink-3);}
.plan--dark .plan__price span{color:rgba(255,255,255,.55);}
.plan .btn{margin-top:24px;}
.plan__list{display:flex;flex-direction:column;gap:11px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line-2);}
.plan--dark .plan__list{border-color:rgba(255,255,255,.1);}
.plan__list li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.4;letter-spacing:-.012em;}
.plan__list li svg{width:16px;height:16px;flex:none;margin-top:1px;color:var(--v-600);}
.plan--dark .plan__list li svg{color:var(--v-200);}
.plan__list li.is-no{color:var(--ink-4);}
.plan__list li.is-no svg{color:var(--ink-4);}
.plan--dark .plan__list li.is-no{color:rgba(255,255,255,.35);}
.plan__list li b{font-weight:600;}

/* two questions, side by side on one line */
.pfaq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:56px;border-top:1px solid var(--line);}
.pfaq{align-items:start;}
.pfaq__item{padding:24px clamp(18px,3vw,40px) 4px 0;}
.pfaq__item+.pfaq__item{padding:24px 0 4px clamp(18px,3vw,40px);border-left:1px solid var(--line);}
.pfaq__q{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;
  font-size:18px;line-height:1.35;font-weight:500;letter-spacing:-.03em;}
.pfaq__q::-webkit-details-marker{display:none;}
.pfaq__q:hover .pm{background:#dedee4;}
.pfaq details[open] .pm{transform:rotate(45deg);background:var(--ink);}
.pfaq details[open] .pm::before,.pfaq details[open] .pm::after{background:#fff;}
.pfaq__a{margin-top:12px;padding-bottom:6px;font-size:15px;line-height:1.55;color:var(--ink-2);}
@supports (interpolate-size:allow-keywords){
  .pfaq{interpolate-size:allow-keywords;}
  .pfaq details::details-content{height:0;overflow:clip;transition:height .4s var(--ease),content-visibility .4s allow-discrete;}
  .pfaq details[open]::details-content{height:auto;}
}
@media (max-width:900px){
  .plans{grid-template-columns:1fr;max-width:460px;margin:0 auto;}
  .pfaq{grid-template-columns:1fr;max-width:560px;margin-inline:auto;}
  .pfaq__item,.pfaq__item+.pfaq__item{padding:24px 0 0;border-left:0;}
  .pfaq__item+.pfaq__item{margin-top:24px;border-top:1px solid var(--line);}
}

/* ---------------------------------------------------------------- FAQ - pop.site's grey rows */
.faq{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:6px;padding:4px;border-radius:var(--r-panel);}
.faq details{border-radius:12px;background:var(--soft);border:1px solid var(--line-2);transition:background-color .2s,border-color .2s;}
.faq details[open]{background:#fff;border-color:var(--line);}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;cursor:pointer;list-style:none;
  font-size:18px;line-height:1.35;font-weight:500;letter-spacing:-.035em;}
.faq summary::-webkit-details-marker{display:none;}
.pm{position:relative;width:28px;height:28px;border-radius:50%;flex:none;background:#ebebef;transition:transform .35s var(--ease),background-color .25s;}
.pm::before,.pm::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.6px;border-radius:1px;background:var(--ink);transform:translate(-50%,-50%);transition:background-color .25s;}
.pm::after{transform:translate(-50%,-50%) rotate(90deg);}
.faq details[open] .pm{transform:rotate(45deg);background:var(--ink);}
.faq details[open] .pm::before,.faq details[open] .pm::after{background:#fff;}
.faq .ans{padding:0 24px 24px;max-width:700px;font-size:15.5px;line-height:1.6;color:var(--ink-2);}
.faq .ans a{color:var(--v-700);border-bottom:1px solid rgba(124,79,240,.3);}
@supports (interpolate-size:allow-keywords){
  .faq{interpolate-size:allow-keywords;}
  .faq details::details-content{height:0;overflow:clip;transition:height .4s var(--ease),content-visibility .4s allow-discrete;}
  .faq details[open]::details-content{height:auto;}
}
.faq__more{margin-top:30px;text-align:center;font-size:15px;color:var(--ink-2);}
.faq__more a{color:var(--v-700);font-weight:500;border-bottom:1px solid rgba(124,79,240,.3);}
.faq__more a:hover{border-color:var(--v-700);}

/* ---------------------------------------------------------------- FINAL CTA: the violet band */
.final{position:relative;overflow:hidden;text-align:center;color:#fff;padding:clamp(96px,12vw,156px) var(--gut);
  background:linear-gradient(158deg,#241061 0%,#4318A8 34%,#6A37E6 66%,#9E79F8 100%);}
.final::before{content:"";position:absolute;inset:-20% -10% auto;height:80%;pointer-events:none;
  background:radial-gradient(50% 60% at 50% 0%,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 70%);}
.final__in{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;max-width:980px;margin:0 auto;}
.final__ava{position:relative;width:96px;height:96px;margin-bottom:6px;}
.final__ava .vm-face{width:100%;height:100%;filter:drop-shadow(0 16px 30px rgba(20,6,60,.45));}
.final__ava::after{content:"";position:absolute;right:4px;bottom:6px;width:18px;height:18px;border-radius:50%;background:#34C759;border:3px solid #5a2fd6;}
.final .d2{color:#fff;}
.final__meta{font-size:14px;color:rgba(255,255,255,.72);}
.final .btn--white{margin-top:10px;}
