/* =========================================================
   POINTFEX — Unified content-slide system (slides 2+)
   Mirrors slide 1: big type, generous whitespace, staggered reveals.
   Canvas 1920 x 1080. Safe body: top 330 → bottom 120, left/right 150.
   ========================================================= */

.sx { font-family: var(--font-body); color: var(--ink); }

/* ---------- Header ---------- */
.sx-head {
  position: absolute; top: 64px; left: 150px; right: 130px;
  display: flex; align-items: center; justify-content: space-between; z-index: 3;
}
.sx .brand { gap: 22px; }
.sx .brand-mark { width: 54px; height: 76px; }
.sx .brand-sep { height: 70px; }
.sx .brand-name { font-size: 42px; letter-spacing: -1px; }
.sx .brand-tag { font-size: 14px; letter-spacing: 6px; }

.sx-kicker {
  display: flex; align-items: center; gap: 16px;
  font-size: 18px; font-weight: 700; letter-spacing: 5px; color: var(--navy-2);
}
.sx-kicker span {
  font-family: var(--font-display); font-size: 18px; letter-spacing: 1px;
  color: #fff; background: linear-gradient(135deg, var(--royal), var(--electric));
  padding: 8px 14px; border-radius: 10px;
}

/* ---------- Title block ---------- */
.sx-title { position: absolute; top: 188px; left: 150px; right: 150px; z-index: 3; }
.sx-title .bar-lg { width: 110px; margin-bottom: 20px; }
.sx-title h2 {
  font-family: var(--font-display); font-weight: 800; font-size: 60px;
  line-height: 1.05; letter-spacing: -1.6px; color: var(--ink); margin: 0;
}
.sx-title h2 b { color: var(--royal); font-weight: 800; }
.sx-title p { margin: 14px 0 0; font-size: 24px; color: var(--muted); max-width: 1400px; }

/* ---------- Body ---------- */
.sx-body { position: absolute; top: 345px; left: 150px; right: 150px; bottom: 138px; z-index: 3; }
.sx-body.tall { top: 320px; bottom: 138px; }

/* ---------- Shared atoms ---------- */
.card {
  background: #fff; border: 2px solid var(--line); border-radius: 22px;
  box-shadow: 0 18px 40px -22px rgba(10, 30, 94, .25);
}
.ic { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center;
  background: var(--soft); color: var(--royal); flex-shrink: 0; }
.ic svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ic.solid { background: linear-gradient(135deg, var(--royal), var(--electric)); color: #fff; }
.tag { display: inline-block; font-size: 15px; font-weight: 700; letter-spacing: 3px; color: var(--royal);
  background: var(--soft); padding: 7px 14px; border-radius: 999px; }
.avatar { border-radius: 50%; object-fit: cover; border: 4px solid #fff; box-shadow: 0 0 0 3px var(--royal); flex-shrink: 0; aspect-ratio: 1 / 1; }
.initials { border-radius: 50%; display: grid; place-items: center; color: #fff; font-weight: 700;
  font-family: var(--font-display); flex-shrink: 0; aspect-ratio: 1 / 1; }
.lead { font-size: 26px; line-height: 1.55; color: var(--muted); }
.lead b { color: var(--ink); }
.pop { opacity: 0; transform: scale(.85); }
.is-active .pop { opacity: 1; transform: none; transition: opacity .7s var(--ease-out) var(--d,0s), transform .9s var(--ease-out) var(--d,0s); }

/* ======================= JOURNEY (timeline) ======================= */
.journey { position: relative; height: 100%; }
.journey .rail { position: absolute; left: 0; right: 0; top: 300px; height: 6px; border-radius: 6px; background: var(--line); }
.journey .rail i { position: absolute; inset: 0; border-radius: 6px; background: linear-gradient(90deg, var(--royal), var(--electric));
  transform: scaleX(0); transform-origin: left; }
.is-active .journey .rail i { transform: scaleX(1); transition: transform 3.2s var(--ease-out) .6s; }
.journey .steps { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(10, 1fr); }
.jstep { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.jstep .dot { position: absolute; top: 289px; width: 28px; height: 28px; border-radius: 50%; background: #fff;
  border: 6px solid var(--royal); box-shadow: 0 0 0 8px rgba(10,71,224,.12); }
.jstep .txt { position: absolute; width: 170px; }
.jstep:nth-child(odd) .txt { bottom: 360px; }
.jstep:nth-child(even) .txt { top: 345px; }
.jstep .num { font-family: var(--font-display); font-size: 44px; font-weight: 800; color: rgba(10,71,224,.18); line-height: 1; }
.jstep b { display: block; font-size: 21px; line-height: 1.3; color: var(--ink); margin-top: 6px; }
.jstep small { display: block; font-size: 16px; color: var(--muted); margin-top: 6px; line-height: 1.35; }
.jstep.hot .dot { border-color: #DC2626; box-shadow: 0 0 0 8px rgba(220,38,38,.14); }
.jstep.hot .num { color: rgba(220,38,38,.25); }

/* ======================= ORG TREE (fixed geometry, 1620 wide) ======================= */
.org { position: relative; width: 1620px; height: 600px; margin: 0 auto; }
.org .ln { position: absolute; background: #9DB6EA; border-radius: 3px; }
.org .ln.h { height: 3px; transform: scaleX(0); }
.org .ln.v { width: 3px; transform: scaleY(0); transform-origin: top; }
.is-active .org .ln.h { transform: scaleX(1); transition: transform .8s var(--ease-out) var(--d,0s); }
.is-active .org .ln.v { transform: scaleY(1); transition: transform .5s var(--ease-out) var(--d,0s); }
.node { position: absolute; display: flex; align-items: center; gap: 16px; padding: 14px 22px; transform: translateX(-50%); }
.node .avatar { width: 64px; height: 64px; }
.node b { display: block; font-size: 22px; font-family: var(--font-display); color: var(--ink); }
.node small { display: block; font-size: 16px; color: var(--muted); margin-top: 2px; }
.node.ceo { background: linear-gradient(135deg, var(--navy), var(--royal)); border-color: transparent; }
.node.ceo b { color: #fff; } .node.ceo small { color: #BFD6FF; }
.node.ceo .avatar { width: 78px; height: 78px; box-shadow: 0 0 0 3px #7FB4FF; }
.node.new { border-color: var(--royal); box-shadow: 0 0 0 6px rgba(10,71,224,.1); }
.org .is-a { opacity: 0; } /* placeholder */

.team { position: absolute; width: 255px; top: 315px; padding: 0; overflow: hidden; }
.team .th { padding: 11px 18px; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 19px; letter-spacing: 1px; }
.team .pm { display: flex; align-items: center; gap: 12px; padding: 12px 16px 10px; border-bottom: 2px solid var(--line); }
.team .pm .initials, .team .pm img { width: 46px; height: 46px; min-width: 46px; min-height: 46px; flex: 0 0 46px; border-radius: 50%; font-size: 17px; }
.team .pm b { display: block; font-size: 17px; line-height: 1.2; }
.team .pm small { font-size: 13.5px; color: var(--muted); }
.team ul { list-style: none; margin: 0; padding: 8px 16px 12px; }
.team li { font-size: 15.5px; line-height: 1.28; padding: 4px 0 4px 16px; position: relative; color: var(--ink); }
.team li::before { content: ""; position: absolute; left: 0; top: 11px; width: 7px; height: 7px; border-radius: 50%; background: var(--c); }

/* ======================= LAPTOP / MONITOR ======================= */
.lap { position: relative; width: 780px; perspective: 1800px; }
.lap .lid { width: 700px; height: auto; margin: 0 auto; padding: 16px 16px 20px; border-radius: 24px 24px 8px 8px;
  background: linear-gradient(180deg, #1B2333, #0D1320); transform-origin: bottom; transform: rotateX(-88deg);
  box-shadow: 0 0 0 2px #C5CBD6 inset, 0 30px 60px -30px rgba(10,30,94,.6); }
.is-active .lap .lid { transform: rotateX(0); transition: transform 1.5s var(--ease-out) .6s; }
.lap .scr { position: relative; height: 390px; border-radius: 8px; overflow: hidden; background: #081236; }
.lap .scr > img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; filter: brightness(.2); display: block; }
.is-active .lap .scr > img { filter: brightness(1); transition: filter 1s ease 1.8s; }
.lap .scr .shine { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.18) 45%, transparent 60%);
  transform: translateX(-100%); pointer-events: none; }
.is-active .lap .scr .shine { animation: shine 4s ease-in-out 2.6s infinite; }
@keyframes shine { 0% { transform: translateX(-100%); } 50%,100% { transform: translateX(100%); } }
.lap .base { width: 780px; height: 24px; margin-top: -2px; border-radius: 2px 2px 20px 20px;
  background: linear-gradient(180deg, #E9EDF3 0%, #C3CAD5 60%, #9EA6B4 100%); position: relative; z-index: 5; box-shadow: 0 2px 0 #fff inset, 0 22px 38px -14px rgba(10,30,94,.45); }
.lap .base::after { content: ""; position: absolute; left: 50%; top: 0; width: 130px; height: 9px; transform: translateX(-50%);
  border-radius: 0 0 10px 10px; background: #A5B0C6; }
.lap .url { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.96); color: var(--ink); font-weight: 700; font-size: 16px; padding: 8px 18px; border-radius: 999px;
  white-space: nowrap; z-index: 4; box-shadow: 0 8px 20px rgba(0,0,0,.35); }
.lap .url i { width: 10px; height: 10px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 4px rgba(34,197,94,.2); flex-shrink: 0; }

.mon { width: 780px; }
.mon .lid { width: 780px; height: auto; padding: 16px; border-radius: 20px; background: linear-gradient(180deg,#1B2333,#0D1320); transform: translateY(30px); opacity: 0; position: relative; z-index: 2; }
.mon .scr { height: 420px; }
.mon .scr > img { object-position: top center; }
.mon .neck { width: 110px; height: 46px; margin: -2px auto 0; background: linear-gradient(180deg,#C9D2E3,#A5B0C6); clip-path: polygon(20% 0,80% 0,100% 100%,0 100%); position: relative; z-index: 1; }
.mon .foot { width: 280px; height: 14px; margin: 0 auto; border-radius: 10px; background: #B9C3D6; position: relative; z-index: 1; }
.is-active .mon .lid { transform: none; opacity: 1; transition: all 1.1s var(--ease-out) .5s; }

/* ======================= SPLIT LAYOUT ======================= */
.split2 { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; height: 100%; align-items: center; }
.split2.wl { grid-template-columns: 1.05fr .95fr; }
.split2.wr { grid-template-columns: .85fr 1.15fr; }

/* list with icons */
.ilist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 22px; }
.ilist li { display: flex; align-items: center; gap: 22px; }
.ilist b { display: block; font-size: 25px; font-family: var(--font-display); color: var(--ink); }
.ilist small { display: block; font-size: 19px; color: var(--muted); margin-top: 3px; line-height: 1.4; }

/* ======================= VOTE CARD ======================= */
.vote { padding: 26px 30px; width: 600px; }
.vote h4 { margin: 0 0 22px; font-size: 26px; font-family: var(--font-display); line-height: 1.3; }
.vrow { margin-bottom: 20px; }
.vrow .lbl { display: flex; justify-content: space-between; font-size: 22px; font-weight: 600; margin-bottom: 10px; }
.vrow .lbl em { font-style: normal; color: var(--muted); }
.vbar { height: 14px; background: var(--soft); border-radius: 10px; overflow: hidden; }
.vbar i { display: block; height: 100%; width: var(--w); border-radius: 10px; background: linear-gradient(90deg,#16A34A,#22C55E); transform: scaleX(0); transform-origin: left; }
.vrow.lose .vbar i { background: #94A3B8; }
.is-active .vbar i { transform: scaleX(1); transition: transform 1.4s var(--ease-out) var(--d,1s); }
.winner { display: inline-flex; align-items: center; gap: 10px; margin-top: 6px; font-weight: 700; font-size: 20px; color: #15803D;
  background: #DCFCE7; padding: 10px 18px; border-radius: 999px; }

/* ======================= IDEAS REJECTED ======================= */
.ideas { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.idea { height: 92px; border-radius: 16px; background: #fff; border: 2px solid var(--line); display: flex; flex-direction: column;
  justify-content: center; align-items: center; font-size: 17px; color: var(--muted); position: relative; overflow: hidden; }
.idea b { font-size: 22px; font-family: var(--font-display); color: var(--ink); }
.idea::after { content: ""; position: absolute; left: 10%; right: 10%; top: 50%; height: 4px; background: #DC2626; border-radius: 4px;
  transform: scaleX(0) rotate(-12deg); transform-origin: left; }
.is-active .idea::after { transform: scaleX(1) rotate(-12deg); transition: transform .35s ease var(--x); }
.is-active .idea { border-color: #FCA5A5; background: #FEF2F2; transition: all .3s ease var(--x); }
.stamp { position: absolute; left: 50%; top: 50%; padding: 18px 46px; border: 8px solid #DC2626; border-radius: 18px; color: #DC2626;
  font-family: var(--font-display); font-weight: 800; font-size: 96px; letter-spacing: 8px; background: rgba(255,255,255,.9);
  transform: translate(-50%,-50%) rotate(-10deg) scale(3); opacity: 0; text-align: center; line-height: 1; }
.stamp small { display: block; font-size: 20px; letter-spacing: 6px; margin-top: 10px; }
.is-active .stamp { opacity: 1; transform: translate(-50%,-50%) rotate(-10deg) scale(1); transition: transform .45s cubic-bezier(.2,1.6,.4,1) 3.3s, opacity .2s ease 3.3s; }
.quote-ceo { display: flex; align-items: center; gap: 22px; padding: 22px 28px; margin-top: 34px; }
.quote-ceo img { width: 76px; height: 76px; }
.quote-ceo p { margin: 0; font-size: 24px; font-style: italic; color: var(--ink); line-height: 1.45; }
.quote-ceo small { display: block; font-style: normal; font-size: 17px; color: var(--muted); margin-top: 6px; }

/* ======================= PROJECTS ======================= */
.flow3 { display: flex; align-items: center; gap: 18px; margin-bottom: 34px; }
.flow3 .fs { display: flex; align-items: center; gap: 14px; font-size: 22px; font-weight: 600; }
.flow3 .arr { color: var(--electric); font-size: 28px; }
.projects { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.proj { padding: 24px 26px; border-top: 8px solid var(--c); position: relative; }
.proj .tn { font-size: 16px; font-weight: 800; letter-spacing: 3px; color: var(--c); }
.proj h4 { margin: 10px 0 12px; font-size: 26px; line-height: 1.25; font-family: var(--font-display); min-height: 64px; }
.proj .pmr { display: flex; align-items: center; gap: 10px; font-size: 18px; color: var(--muted); }
.proj .pmr b { color: var(--ink); }
.proj .check { position: absolute; top: 20px; right: 22px; width: 36px; height: 36px; border-radius: 50%; background: #DCFCE7; color: #16A34A; display: grid; place-items: center; }
.proj .check svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 3; }

/* ======================= DOCUMENTS ======================= */
.docs { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; height: 100%; }
.doc { padding: 30px 36px; display: flex; flex-direction: column; gap: 18px; position: relative; overflow: hidden; }
.doc::before { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: var(--soft); }
.doc .dh { display: flex; align-items: center; gap: 22px; position: relative; }
.doc .dh .ic { width: 72px; height: 72px; border-radius: 20px; }
.doc .dh .ic svg { width: 36px; height: 36px; }
.doc h3 { margin: 0; font-size: 36px; font-family: var(--font-display); }
.doc h3 + small { font-size: 18px; color: var(--muted); }
.doc .chips { display: flex; flex-wrap: wrap; gap: 10px; }
.doc .chips span { font-size: 18px; padding: 9px 16px; border-radius: 12px; background: var(--soft); color: var(--navy-2); font-weight: 600; }
.doc .teams6 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: auto; }
.doc .teams6 span { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; color: var(--ink);
  padding: 10px 14px; border-radius: 12px; border: 2px solid var(--line); }
.doc .teams6 span i { width: 22px; height: 22px; border-radius: 50%; background: #16A34A; display: grid; place-items: center; }
.doc .teams6 span i::after { content: ""; width: 9px; height: 5px; border: 3px solid #fff; border-top: 0; border-right: 0; transform: rotate(-45deg) translate(1px,-1px); }
.doc .done { font-size: 20px; font-weight: 700; color: #15803D; }

/* ======================= PRESSURE ======================= */
.bubbles { position: relative; height: 100%; }
.bub { position: absolute; padding: 16px 24px; font-size: 21px; font-weight: 600; color: #7F1D1D; background: #FEF2F2; border: 2px solid #FECACA;
  border-radius: 20px 20px 20px 4px; box-shadow: 0 14px 30px -18px rgba(220,38,38,.5); }
.is-active .bub { animation: bob 5s ease-in-out infinite; animation-delay: calc(var(--d) + 1s); }
@keyframes bob { 50% { transform: translateY(-10px); } }
.turn { display: flex; align-items: center; gap: 26px; }
.turn .arrow { font-size: 60px; color: var(--royal); }
.cpo-reveal { display: flex; align-items: center; gap: 26px; padding: 26px 34px; border-color: var(--royal); box-shadow: 0 0 0 8px rgba(10,71,224,.1), 0 20px 40px -20px rgba(10,30,94,.4); }
.cpo-reveal img { width: 120px; height: 120px; }
.cpo-reveal b { display: block; font-size: 34px; font-family: var(--font-display); }
.cpo-reveal small { display: block; font-size: 20px; color: var(--muted); margin-top: 4px; }

/* ======================= CPO PROFILE ======================= */
.cpo-photo { position: relative; width: 220px; height: 220px; flex-shrink: 0; aspect-ratio: 1 / 1; }
.cpo-photo img { width: 220px; height: 220px; border-radius: 50%; object-fit: cover; object-position: center 15%; border: 8px solid #fff; box-shadow: 0 0 0 4px var(--royal), 0 30px 60px -25px rgba(10,30,94,.6); display: block; }
.cpo-photo::before { content: ""; position: absolute; inset: -18px; border-radius: 50%; border: 3px dashed rgba(10,71,224,.35); }
.is-active .cpo-photo::before { animation: spin 30s linear infinite; }
.cpo-name { font-family: var(--font-display); font-size: 46px; font-weight: 800; letter-spacing: -1px; margin: 16px 0 8px; line-height: 1.08; }
.roles { display: flex; gap: 10px; flex-wrap: wrap; }
.roles span { font-size: 16px; font-weight: 700; padding: 8px 16px; border-radius: 999px; background: var(--soft); color: var(--royal); }
.roles span.main { background: linear-gradient(135deg, var(--royal), var(--electric)); color: #fff; }
.bio { margin: 22px 0 0; font-size: 21px; line-height: 1.55; color: var(--muted); padding-left: 22px; border-left: 4px solid var(--royal); }
.assigned { display: flex; align-items: center; gap: 18px; padding: 18px 24px; margin-top: 24px; }
.assigned img { width: 64px; height: 64px; flex-shrink: 0; }
.assigned b { font-size: 21px; display: block; }
.assigned small { font-size: 17px; color: var(--muted); line-height: 1.4; display: block; }

/* ======================= IMPACT ======================= */
.vt { list-style: none; margin: 0; padding: 0 0 0 34px; position: relative; display: flex; flex-direction: column; gap: 22px; }
.vt::before { content: ""; position: absolute; left: 9px; top: 10px; bottom: 10px; width: 4px; border-radius: 4px; background: var(--line); }
.vt li { position: relative; font-size: 21px; line-height: 1.45; color: var(--muted); }
.vt li::before { content: ""; position: absolute; left: -33px; top: 8px; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 4px solid var(--royal); }
.vt li b { color: var(--ink); }
.unit { padding: 18px 20px; }
.unit .uh { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.unit .uh b { font-size: 21px; font-family: var(--font-display); }
.unit .uh span { font-size: 14px; font-weight: 800; letter-spacing: 2px; color: var(--royal); background: var(--soft); padding: 5px 10px; border-radius: 999px; }
.people { display: flex; flex-wrap: wrap; gap: 8px; }
.people span { font-size: 17px; padding: 7px 12px; border-radius: 10px; background: var(--soft); color: var(--ink); font-weight: 500; }
.people span.lead-p { background: var(--navy); color: #fff; font-weight: 700; }

/* ======================= WHY POINTFEX ======================= */
.vs { display: grid; grid-template-columns: 1fr 120px 1fr; gap: 0; height: 100%; align-items: stretch; }
.cand { padding: 24px 32px; display: flex; flex-direction: column; gap: 13px; }
.cand.win { border-color: var(--royal); box-shadow: 0 0 0 8px rgba(10,71,224,.08), 0 30px 60px -30px rgba(10,30,94,.45); }
.cand .ch { display: flex; align-items: center; gap: 20px; }
.cand .ch svg { width: 92px; height: 92px; flex-shrink: 0; }
.cand h3 { margin: 4px 0 2px; font-size: 30px; font-family: var(--font-display); }
.cand .ch small { font-size: 17px; color: var(--muted); }
.same { display: flex; flex-wrap: wrap; gap: 8px; }
.same span { font-size: 16.5px; padding: 7px 13px; border-radius: 10px; background: #F1F5F9; color: #334155; font-weight: 600; }
.plus { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.plus li { display: flex; gap: 14px; align-items: flex-start; font-size: 19px; line-height: 1.38; }
.plus li::before { content: "+"; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  background: var(--royal); color: #fff; font-weight: 800; font-size: 18px; }
.cand .verdict { margin-top: auto; font-size: 20px; font-weight: 700; padding: 13px 18px; border-radius: 14px; text-align: center; }
.cand .verdict.no { background: #F1F5F9; color: #64748B; }
.cand .verdict.yes { background: linear-gradient(135deg, var(--royal), var(--electric)); color: #fff; }
.vsmid { display: grid; place-items: center; }
.vsmid span { width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: #fff;
  font-family: var(--font-display); font-weight: 800; font-size: 30px; box-shadow: 0 0 0 10px #fff, 0 0 0 12px var(--line); }

/* ======================= INTERNSHIP ======================= */
.post { width: 470px; padding: 12px; transform: rotate(-1deg); }
.post img { width: 100%; display: block; border-radius: 12px; }
.compare { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cmp { padding: 18px 22px; }
.cmp h4 { margin: 6px 0 2px; font-size: 22px; font-family: var(--font-display); }
.cmp .price { font-family: var(--font-display); font-size: 48px; font-weight: 800; line-height: 1.05; margin: 2px 0 10px; }
.cmp.paid .price { color: #DC2626; }
.cmp.free { border-color: var(--royal); }
.cmp.free .price { color: var(--royal); }
.cmp ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.cmp li { font-size: 16.5px; line-height: 1.32; color: var(--muted); padding-left: 18px; position: relative; }
.cmp li::before { content: ""; position: absolute; left: 0; top: 8px; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.cmp.paid li { color: #7F1D1D; } .cmp.free li { color: var(--ink); }
.takeaway { margin-top: 14px; padding: 16px 22px; border-radius: 16px; background: linear-gradient(135deg, var(--navy), var(--royal)); color: #fff; font-size: 19px; line-height: 1.42; }
.takeaway b { color: #9FD0FF; }

/* ======================= WHAT NEXT ======================= */
.span50 { position: relative; display: grid; grid-template-columns: 20fr 30fr; height: 120px; border-radius: 22px; overflow: hidden; }
.span50 > div { display: flex; flex-direction: column; justify-content: center; padding: 0 30px; color: #fff; transform: scaleX(0); transform-origin: left; }
.span50 .p1 { background: linear-gradient(135deg, var(--navy), var(--royal)); }
.span50 .p2 { background: linear-gradient(135deg, var(--royal), var(--electric)); }
.is-active .span50 .p1 { transform: none; transition: transform 1s var(--ease-out) .6s; }
.is-active .span50 .p2 { transform: none; transition: transform 1.2s var(--ease-out) 1.4s; }
.span50 b { font-family: var(--font-display); font-size: 36px; }
.span50 small { font-size: 19px; opacity: .85; }
.span50 .mid { position: absolute; left: 40%; top: 0; bottom: 0; width: 0; border-left: 4px dashed #fff; z-index: 2; }
.total50 { display: flex; justify-content: space-between; align-items: center; margin: 14px 4px 34px; font-size: 20px; color: var(--muted); }
.total50 b { color: var(--ink); font-size: 24px; }
.math { display: flex; align-items: center; gap: 22px; }
.math .m { padding: 22px 30px; text-align: center; min-width: 200px; }
.math .m b { display: block; font-family: var(--font-display); font-size: 62px; font-weight: 800; color: var(--royal); line-height: 1; }
.math .m small { display: block; font-size: 18px; color: var(--muted); margin-top: 8px; }
.math .m.hi { background: linear-gradient(135deg, var(--navy), var(--royal)); border-color: transparent; }
.math .m.hi b { color: #fff; } .math .m.hi small { color: #BFD6FF; }
.math .op { font-family: var(--font-display); font-size: 48px; font-weight: 800; color: #9DB6EA; }
.rules { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 30px; margin-top: 36px; }
.rules div { display: flex; align-items: center; gap: 16px; font-size: 21px; color: var(--ink); }
.rules .ic { width: 48px; height: 48px; border-radius: 14px; } .rules .ic svg { width: 24px; height: 24px; }

/* ======================= CLIENT ======================= */
.browser { overflow: hidden; padding: 0; }
.browser .bar { display: flex; align-items: center; gap: 10px; padding: 14px 18px; background: #F1F5F9; border-bottom: 2px solid var(--line); }
.browser .bar i { width: 13px; height: 13px; border-radius: 50%; background: #F87171; }
.browser .bar i:nth-child(2) { background: #FBBF24; } .browser .bar i:nth-child(3) { background: #34D399; }
.browser .bar span { margin-left: 14px; font-size: 17px; color: var(--muted); background: #fff; padding: 6px 16px; border-radius: 999px; flex: 1; }
.browser img { display: block; width: 100%; }
.exchange { display: grid; grid-template-columns: 1fr 70px 1fr; align-items: center; margin-top: 30px; }
.exchange .ex { padding: 22px 24px; }
.exchange .ex b { display: block; font-size: 23px; font-family: var(--font-display); margin: 10px 0 6px; }
.exchange .ex small { font-size: 18px; color: var(--muted); line-height: 1.4; display: block; }
.exchange .swap { text-align: center; font-size: 40px; color: var(--royal); }
.fbnf { margin-top: 26px; display: inline-flex; align-items: center; gap: 16px; font-family: var(--font-display); font-weight: 800; font-size: 34px; color: var(--ink); }
.fbnf em { font-style: normal; color: var(--royal); }

/* ======================= GRID OF POINTS ======================= */
.g4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.pt { padding: 26px 26px; display: flex; flex-direction: column; gap: 14px; }
.pt b { font-size: 24px; font-family: var(--font-display); line-height: 1.25; }
.pt small { font-size: 18px; color: var(--muted); line-height: 1.45; }
.pt.hi { background: linear-gradient(135deg, var(--navy), var(--royal)); border-color: transparent; }
.pt.hi b { color: #fff; } .pt.hi small { color: #C7DBFF; } .pt.hi .ic { background: rgba(255,255,255,.15); color: #fff; }

/* ======================= STAIRS ======================= */
.stairs { display: flex; align-items: flex-end; gap: 24px; height: 100%; }
.stair { flex: 1; padding: 28px 30px; display: flex; flex-direction: column; gap: 12px; }
.stair:nth-child(1) { height: 62%; } .stair:nth-child(2) { height: 80%; } .stair:nth-child(3) { height: 100%; }
.stair .sn { font-family: var(--font-display); font-weight: 800; font-size: 20px; letter-spacing: 3px; color: var(--royal); }
.stair h3 { margin: 0; font-size: 40px; font-family: var(--font-display); }
.stair p { margin: 0; font-size: 20px; line-height: 1.5; color: var(--muted); }
.stair.top { background: linear-gradient(160deg, var(--navy), var(--royal)); border-color: transparent; }
.stair.top h3, .stair.top .sn { color: #fff; } .stair.top p { color: #C7DBFF; }
.stair { transform-origin: bottom; }
.bigquote { font-family: var(--font-display); font-size: 34px; line-height: 1.35; font-weight: 700; color: var(--ink); margin: 0; }
.bigquote b { color: var(--royal); }

/* ======================= TERMS ======================= */
.terms { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; height: 100%; }
.term { padding: 30px 36px; display: flex; gap: 28px; align-items: center; }
.term .tn { font-family: var(--font-display); font-weight: 800; font-size: 76px; line-height: 1; color: rgba(10,71,224,.16); flex-shrink: 0; width: 110px; }
.term b { display: block; font-size: 30px; font-family: var(--font-display); line-height: 1.25; }
.term small { display: block; font-size: 20px; color: var(--muted); margin-top: 8px; line-height: 1.45; }

/* ======================= THANK YOU ======================= */
.ty { display: grid; grid-template-columns: 1fr 520px; gap: 80px; height: 100%; align-items: center; }
.ty h1 { font-family: var(--font-display); font-weight: 800; font-size: 150px; letter-spacing: -5px; line-height: .95; margin: 0;
  background: linear-gradient(120deg, var(--navy), var(--royal) 55%, var(--electric)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ty .sub { font-size: 34px; color: var(--navy-2); margin: 22px 0 30px; }
.ty .links { display: flex; gap: 18px; margin-top: 34px; }
.ty .links a { display: inline-flex; align-items: center; gap: 12px; font-size: 22px; font-weight: 700; color: var(--ink); text-decoration: none;
  padding: 14px 24px; border-radius: 999px; border: 2px solid var(--line); background: #fff; }
.ty .links a.pri { background: linear-gradient(135deg, var(--royal), var(--electric)); color: #fff; border-color: transparent; }
.ty .links svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; }
.ty-card { padding: 36px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.ty-card .cpo-photo { width: 200px; height: 200px; }
.ty-card .cpo-photo img { width: 200px; height: 200px; }
.ty-card b { font-size: 34px; font-family: var(--font-display); margin-top: 26px; }
.ty-card .roles { justify-content: center; margin-top: 14px; }
.ty-card p { font-size: 19px; line-height: 1.55; color: var(--muted); margin: 18px 0 0; }
.qa { margin-top: 26px; font-size: 22px; font-weight: 700; color: var(--royal); letter-spacing: 4px; }
