/* =========================================================================
   Nancy AI — Assessment Suite page (platform.html) specific styles.
   Loaded only by platform.html. Shared components/tokens live in main.css.
   Patterns adapted from css/pages/index.css (never imported).
   ========================================================================= */

/* ───────── HERO OVERLINE CHIPS (sits inside shared .hero) ───────── */
.p-hero-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px;}
.p-hero-chips span{font:600 11px/1 var(--font-mono);letter-spacing:.10em;text-transform:uppercase;color:rgba(255,255,255,.86);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-pill);padding:9px 14px;}

/* ───────── PROOF STRIP ───────── */
.pf{background:var(--bg-ink);color:#fff;padding:72px 0;position:relative;overflow:hidden;}
.pf::before{content:"";position:absolute;inset:0;background:var(--grad-aurora);opacity:.5;pointer-events:none;}
.pf-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.pf-item{text-align:center;padding:0 8px;}
.pf-num{font:800 60px/0.95 var(--font-display);letter-spacing:-.035em;color:#fff;margin-bottom:10px;}
.pf-num span{color:var(--v400);}
.pf-num sup{font-size:28px;vertical-align:super;color:var(--magenta-bright);}
.pf-label{font:500 14px/1.45 var(--font-body);color:rgba(255,255,255,.7);}

/* ───────── MEET NANCY FLAGSHIP ───────── */
.flag{padding:120px 0;background:var(--bg-soft-2);scroll-margin-top:90px;}
.flag-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:center;}
.flag-media{position:relative;aspect-ratio:auto;border-radius:var(--r-lg);overflow:hidden;background:var(--grad-card-2);box-shadow:0 24px 56px rgba(31,18,96,.14);padding:26px;display:flex;flex-direction:column;gap:18px;}
.flag-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.flag-media .tag{align-self:flex-start;background:#fff;border-radius:var(--r-md);padding:12px 16px;box-shadow:0 12px 28px rgba(31,18,96,.22);}
.flag-media .tag .k{font:700 12px/1 var(--font-mono);color:var(--v600);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.flag-media .tag .v{font:700 15px/1.1 var(--font-display);color:var(--ink-900);}
.flag-text .eyebrow{margin-bottom:16px;}
.flag-text h2{margin-bottom:18px;}
.flag-text .lede{margin-bottom:26px;}
.flag-list{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:15px;}
.flag-list li{position:relative;padding-left:32px;font:500 15px/1.5 var(--font-body);color:var(--ink-800);}
.flag-list li strong{color:var(--ink-900);}
.flag-list li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--v50);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B3FE4' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");background-size:14px;background-repeat:no-repeat;background-position:center;}
.flag-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;}

/* ───────── THE NINE — ASSESSMENT SUITE GRID ───────── */
.suite{position:relative;overflow:hidden;padding:120px 0;
  background:
    radial-gradient(58% 34% at 50% 0%,rgba(124,104,246,.12) 0%,rgba(124,104,246,0) 72%),
    radial-gradient(36% 26% at 96% 48%,rgba(47,197,255,.08) 0%,rgba(47,197,255,0) 76%),
    linear-gradient(180deg,#fff 0%,#FAF9FF 52%,#fff 100%);}
.suite::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;
  background-image:radial-gradient(circle,rgba(91,63,228,.18) 1px,transparent 1.2px);
  background-size:30px 30px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);}
.suite .container{position:relative;z-index:1;}
.suite-head{text-align:center;max-width:780px;margin:0 auto 56px;}
.suite-head .eyebrow{margin-bottom:14px;}
.suite-head h2{margin-bottom:18px;}
.suite-head p{margin:0 auto;}
.suite-head a{color:var(--v600);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;}
.suite-head a:hover{color:var(--v500);}

.asmt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;perspective:1200px;}
.asmt{--delay:0ms;--phase:-1s;position:relative;display:flex;flex-direction:column;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;scroll-margin-top:90px;box-shadow:0 8px 24px rgba(31,18,96,.035);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .4s ease;will-change:transform,opacity;}
.asmt::before{content:"";position:absolute;z-index:4;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--cyan-bright),var(--v500),var(--magenta-bright));transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.22,1,.36,1);}
.asmt:hover{transform:translateY(-8px) scale(1.008);box-shadow:0 24px 52px rgba(31,18,96,.13);border-color:rgba(91,63,228,.32);}
.asmt:hover::before{transform:scaleX(1);}
.suite.motion-ready .asmt{opacity:0;transform:translateY(30px) scale(.985);}
.suite.motion-ready.is-visible .asmt{opacity:1;transform:translateY(0) scale(1);transition-delay:var(--delay);}
.suite.motion-ready.is-visible .asmt:hover{transform:translateY(-8px) scale(1.008);transition-delay:0ms;}
.suite.motion-complete .asmt{transition-delay:0ms;}
.asmt:nth-child(1){--delay:0ms;--phase:-1.1s;}
.asmt:nth-child(2){--delay:90ms;--phase:-2.4s;}
.asmt:nth-child(3){--delay:180ms;--phase:-3.7s;}
.asmt:nth-child(4){--delay:270ms;--phase:-5s;}
.asmt:nth-child(5){--delay:360ms;--phase:-6.3s;}
.asmt:nth-child(6){--delay:450ms;--phase:-7.6s;}
.asmt:nth-child(7){--delay:540ms;--phase:-8.9s;}
.asmt:nth-child(8){--delay:630ms;--phase:-10.2s;}
.asmt-img{aspect-ratio:16/10;overflow:hidden;position:relative;background:linear-gradient(150deg,#F4F1FA 0%,#ECE7FC 100%);border-bottom:1px solid var(--v100);isolation:isolate;}
.asmt-img::before{content:"";position:absolute;z-index:1;inset:-20%;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 34%,rgba(255,255,255,.78) 47%,rgba(47,197,255,.18) 52%,transparent 66%);transform:translate3d(-115%,0,0);animation:asmtSignal 11s cubic-bezier(.4,0,.2,1) infinite;animation-delay:var(--phase);animation-play-state:paused;}
.asmt-img::after{content:"";position:absolute;z-index:0;left:50%;top:50%;width:54%;aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(124,104,246,.19) 0%,rgba(124,104,246,.08) 38%,rgba(124,104,246,0) 72%);transform:translate(-50%,-50%) scale(.88);opacity:.5;animation:asmtHalo 5.8s ease-in-out infinite;animation-delay:var(--phase);animation-play-state:paused;}
/* line-art pictogram fills the header wash */
.asmt-ico{position:absolute;z-index:2;inset:0;width:100%;height:100%;padding:12px;color:var(--v500);transition:color .35s ease,transform .55s cubic-bezier(.22,1,.36,1);}
.asmt:hover .asmt-ico{color:var(--v600);transform:scale(1.045);}
/* subtle per-card wash variation (violet ↔ magenta ↔ cyan tints) */
#personality .asmt-img{background:linear-gradient(150deg,#F2EFFF 0%,#E6E0FF 100%);}
#followership .asmt-img{background:linear-gradient(150deg,#EEE8FF 0%,#E1D4FF 100%);}
#situational-judgement .asmt-img{background:linear-gradient(150deg,#ECEFFF 0%,#E1E7FF 100%);}
#aptitude .asmt-img{background:linear-gradient(150deg,#F6ECFB 0%,#EDDFF7 100%);}
#leadership-competency .asmt-img{background:linear-gradient(150deg,#EDEAFB 0%,#DFDAF6 100%);}
#technical-competency .asmt-img{background:linear-gradient(150deg,#E9F1FB 0%,#E0E8F7 100%);}
#technical-tests .asmt-img{background:linear-gradient(150deg,#F7ECFA 0%,#F0E0F5 100%);}
#role-plays .asmt-img{background:linear-gradient(150deg,#F1ECFA 0%,#E7E0F5 100%);}

/* pictogram micro-animations (subtle, looping/entrance) */
.rad-data{transform-box:view-box;transform-origin:80px 50px;animation:radPulse 5s ease-in-out infinite;}
.cmp-orbit{transform-box:view-box;transform-origin:80px 65px;animation:cmpOrbit 7s linear infinite;}
.cmp-needle{transform-box:view-box;transform-origin:80px 65px;animation:cmpSway 6s ease-in-out infinite;}
.ico-branch .br-path{stroke-dasharray:74;stroke-dashoffset:74;animation:draw 3.4s ease-out infinite;}
.ico-branch .br-path:nth-of-type(2){animation-delay:.35s;}
.ico-branch .br-path:nth-of-type(3){animation-delay:.7s;}
.br-pick{animation:pickPulse 3.4s ease-in-out infinite;}
.ico-bars .bar{transform-box:view-box;transform-origin:center bottom;transform:scaleY(.55);animation:barGrow 4.5s ease-in-out infinite;}
.ico-bars .bar2{animation-delay:.18s;}
.ico-bars .bar3{animation-delay:.36s;}
.ico-bars .bar4{animation-delay:.54s;}
.ico-bars .spark{transform-box:view-box;transform-origin:119px 21px;animation:twinkle 3s ease-in-out infinite;}
.ico-org .star{transform-box:view-box;transform-origin:80px 22px;animation:starBeat 4s ease-in-out infinite;}
.ico-term .gear{transform-box:view-box;transform-origin:118px 66px;animation:spin 9s linear infinite;}
.ico-term .term-cursor{animation:blink 1.2s steps(1) infinite;}
.ico-code .sparkle{transform-box:view-box;animation:twinkle 2.6s ease-in-out infinite;}
.ico-code .spark-a{transform-origin:122px 30px;}
.ico-code .spark-b{transform-origin:42px 74px;animation-delay:1.1s;}
.ico-stage .mask-a{transform-box:view-box;transform-origin:55px 50px;animation:bob 5s ease-in-out infinite;}
.ico-stage .mask-b{transform-box:view-box;transform-origin:105px 56px;animation:bob 5s ease-in-out infinite .8s;}

.asmt-img::before,.asmt-img::after,.rad-data,.cmp-orbit,.cmp-needle,.ico-branch .br-path,.br-pick,.ico-bars .bar,.ico-bars .spark,.ico-org .star,.ico-term .gear,.ico-term .term-cursor,.ico-code .sparkle,.ico-stage .mask-a,.ico-stage .mask-b{animation-play-state:paused;}
.suite.is-visible .asmt-img::before,.suite.is-visible .asmt-img::after,.suite.is-visible .rad-data,.suite.is-visible .cmp-orbit,.suite.is-visible .cmp-needle,.suite.is-visible .ico-branch .br-path,.suite.is-visible .br-pick,.suite.is-visible .ico-bars .bar,.suite.is-visible .ico-bars .spark,.suite.is-visible .ico-org .star,.suite.is-visible .ico-term .gear,.suite.is-visible .ico-term .term-cursor,.suite.is-visible .ico-code .sparkle,.suite.is-visible .ico-stage .mask-a,.suite.is-visible .ico-stage .mask-b{animation-play-state:running;}

@keyframes asmtSignal{0%,10%{opacity:0;transform:translate3d(-115%,0,0);}14%{opacity:.85;}38%{opacity:0;transform:translate3d(115%,0,0);}100%{opacity:0;transform:translate3d(115%,0,0);}}
@keyframes asmtHalo{0%,100%{opacity:.38;transform:translate(-50%,-50%) scale(.88);}50%{opacity:.72;transform:translate(-50%,-50%) scale(1.08);}}
@keyframes radPulse{0%,100%{transform:scale(.92);opacity:.85;}50%{transform:scale(1);opacity:1;}}
@keyframes cmpOrbit{to{transform:rotate(360deg);}}
@keyframes cmpSway{0%,100%{transform:rotate(-7deg);}50%{transform:rotate(7deg);}}
@keyframes draw{0%{stroke-dashoffset:74;}45%,100%{stroke-dashoffset:0;}}
@keyframes pickPulse{0%,100%{fill-opacity:.1;}50%{fill-opacity:.3;}}
@keyframes barGrow{0%,100%{transform:scaleY(.55);}50%{transform:scaleY(1);}}
@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.8);}50%{opacity:1;transform:scale(1.1);}}
@keyframes starBeat{0%,100%{transform:scale(.94);}50%{transform:scale(1.06);}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes blink{0%,55%{opacity:1;}56%,100%{opacity:.15;}}
@keyframes bob{0%,100%{transform:translateY(1.5px);}50%{transform:translateY(-1.5px);}}
@media (prefers-reduced-motion: reduce){
  .asmt,.suite.motion-ready .asmt,.suite.motion-ready.is-visible .asmt,.suite.motion-ready.is-visible .asmt:hover{opacity:1;transform:none;transition:border-color .18s,box-shadow .18s;}
  .asmt:hover{transform:none;}
  .asmt::before{transition:none;}
  .asmt-img::before,.asmt-img::after,.rad-data,.cmp-orbit,.cmp-needle,.ico-branch .br-path,.br-pick,.ico-bars .bar,.ico-bars .spark,.ico-org .star,.ico-term .gear,.ico-term .term-cursor,.ico-code .sparkle,.ico-stage .mask-a,.ico-stage .mask-b{animation:none;}
  .asmt-img::before{display:none;}
  .ico-branch .br-path{stroke-dashoffset:0;}
  .ico-bars .bar{transform:scaleY(1);}
}
.asmt-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1;}
.asmt-body .e{font:700 10px/1 var(--font-mono);color:var(--v500);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;}
.asmt-body h3{font:700 19px/1.28 var(--font-display);color:var(--ink-900);margin-bottom:9px;transition:color .3s ease;}
.asmt:hover .asmt-body h3{color:var(--v600);}
.asmt-body p{font:400 14px/1.55 var(--font-body);color:var(--ink-600);margin-bottom:18px;flex:1;}

/* spec chips */
.chips{display:flex;gap:8px;flex-wrap:wrap;}
.chip{font:600 11px/1 var(--font-mono);letter-spacing:.03em;color:var(--v600);background:var(--v50);border:1px solid var(--v100);border-radius:var(--r-pill);padding:7px 11px;}
.flag-chips .chip{color:var(--v600);background:#fff;border-color:var(--v200);}

/* Followership — category-unique feature card (spans 2 cols) */
.asmt.feat{grid-column:span 2;flex-direction:row;background:var(--bg-soft-2);border-color:var(--v200);}
.asmt.feat .asmt-img{aspect-ratio:auto;width:46%;flex-shrink:0;}
.asmt.feat .asmt-body{padding:32px 34px;justify-content:center;}
.asmt.feat .asmt-body h3{font-size:24px;}
.asmt.feat .asmt-body p{font-size:15px;}
.asmt.feat .ribbon{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font:700 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--v500);border-radius:var(--r-pill);padding:8px 13px;margin-bottom:14px;}
.asmt.feat .ribbon::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--magenta-bright);box-shadow:0 0 10px var(--magenta-bright);}

/* ───────── DEVELOPMENT BAND — every score becomes a plan ───────── */
.plan{padding:120px 0;background:var(--bg-soft);}
.plan-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center;}
.plan-text .eyebrow{margin-bottom:16px;}
.plan-text h2{margin-bottom:20px;}
.plan-text p{font:400 18px/1.6 var(--font-body);color:var(--ink-700);margin-bottom:28px;max-width:520px;}
.plan-cta{display:flex;gap:14px;flex-wrap:wrap;}
.plan-cta .btn{min-height:48px;}
.plan-cta .btn:focus-visible{outline:2px solid var(--v500);outline-offset:3px;}
.plan-media{position:relative;aspect-ratio:auto;border-radius:var(--r-lg);overflow:hidden;background:var(--grad-card);box-shadow:0 24px 56px rgba(31,18,96,.12);padding:26px;display:flex;flex-direction:column;gap:20px;}
.plan-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.plan-media .badge{align-self:flex-start;display:flex;align-items:center;gap:14px;background:#fff;border-radius:var(--r-md);padding:14px 18px;box-shadow:0 18px 36px rgba(31,18,96,.25);}
.plan-media .badge .b-num{font:800 38px/0.95 var(--font-display);color:var(--v500);letter-spacing:-.025em;flex-shrink:0;}
.plan-media .badge .b-label{font:500 12.5px/1.4 var(--font-body);color:var(--ink-600);max-width:220px;}

/* ───────── FAQ ───────── */
.fq{padding:120px 0;background:#fff;}
.fq-head{text-align:center;max-width:720px;margin:0 auto 56px;}
.fq-head .eyebrow{margin-bottom:14px;}
.fq-list{max-width:820px;margin:0 auto;}
.fq-item{padding:28px 0;border-bottom:1px solid var(--line);}
.fq-item:first-child{border-top:1px solid var(--line);}
.fq-item h3{font:700 19px/1.35 var(--font-display);color:var(--ink-900);margin-bottom:12px;}
.fq-item p{font:400 15px/1.6 var(--font-body);color:var(--ink-600);}

/* ───────── CTA BAND ───────── */
.cta{padding:120px 0;background:var(--bg-ink);color:#fff;position:relative;overflow:hidden;text-align:center;}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 50% 20%, rgba(91,63,228,0.42) 0%, rgba(91,63,228,0) 65%);pointer-events:none;}
.cta-inner{position:relative;max-width:720px;margin:0 auto;}
.cta .eyebrow{color:var(--v300);margin-bottom:18px;}
.cta h2{color:#fff;margin-bottom:20px;}
.cta p{color:rgba(255,255,255,.78);font:400 18px/1.55 var(--font-body);max-width:540px;margin:0 auto 32px;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-btns .btn{min-height:48px;}
.cta-btns .btn:focus-visible{outline:2px solid #fff;outline-offset:3px;}

/* ───────── FLAGSHIP — VIDEO-MEETING INTERVIEW MOCK ───────── */
.flag-media .ivw{position:static;display:flex;flex-direction:column;gap:16px;color:#fff;}

/* video area */
.ivw-video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#0E1116;box-shadow:0 12px 30px rgba(12,6,40,.4);}
.ivw-cam{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 24%;}
.ivw-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,13,.34) 0%,rgba(10,11,13,0) 26%,rgba(10,11,13,0) 60%,rgba(10,11,13,.42) 100%);pointer-events:none;}
.ivw-rec,.ivw-timer,.ivw-name{position:absolute;z-index:2;display:inline-flex;align-items:center;font:700 12px/1 var(--font-mono);color:#fff;background:rgba(10,12,16,.72);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.ivw-rec{top:12px;left:12px;gap:7px;letter-spacing:.1em;text-transform:uppercase;padding:6px 11px 6px 9px;}
.ivw-rec i{width:7px;height:7px;border-radius:50%;background:#FF4D4D;box-shadow:0 0 8px rgba(255,77,77,.9);animation:ivwPulse 1.5s ease-in-out infinite;}
.ivw-timer{top:12px;right:12px;padding:6px 10px;letter-spacing:.06em;}
.ivw-name{left:12px;bottom:12px;padding:7px 12px;font:600 12.5px/1 var(--font-body);letter-spacing:.01em;}

/* Nancy picture-in-picture */
.ivw-pip{position:absolute;z-index:3;right:12px;bottom:12px;width:138px;display:flex;flex-direction:column;gap:7px;padding:9px 11px;border-radius:11px;background:linear-gradient(135deg,#5B3FE4 0%,#3A23A8 58%,#2C1A82 100%);border:1px solid rgba(255,255,255,.28);box-shadow:0 8px 22px rgba(15,6,60,.5);}
.ivw-pip-top{display:flex;align-items:center;gap:9px;}
.ivw-orb{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:radial-gradient(60% 60% at 35% 30%,#EAE4FF 0%,#B7A6FF 32%,#7C68F6 66%,#4A2FCE 100%);box-shadow:0 0 0 2px rgba(255,255,255,.3),0 0 12px rgba(150,120,255,.75);animation:ivwOrb 2.4s ease-in-out infinite;}
.ivw-wave{display:flex;align-items:center;gap:3px;height:20px;}
.ivw-wave i{width:3px;height:6px;border-radius:2px;background:#EDE9FF;transform-origin:center;animation:ivwWave 1.2s ease-in-out infinite;}
.ivw-wave i:nth-child(1){animation-delay:0s;}
.ivw-wave i:nth-child(2){animation-delay:.16s;}
.ivw-wave i:nth-child(3){animation-delay:.32s;}
.ivw-wave i:nth-child(4){animation-delay:.48s;}
.ivw-wave i:nth-child(5){animation-delay:.24s;}
.ivw-pip-name{font:600 12px/1.15 var(--font-body);color:#fff;letter-spacing:.005em;}

/* live transcript */
.ivw-tx{display:flex;flex-direction:column;gap:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px 15px;}
.ivw-tx-head{display:flex;align-items:center;justify-content:space-between;}
.ivw-tx-title{font:700 13px/1 var(--font-display);color:#fff;letter-spacing:.01em;}
.ivw-tx-save{display:inline-flex;align-items:center;gap:5px;font:600 12px/1 var(--font-mono);letter-spacing:.03em;color:#7DE0B4;}
.ivw-tx-save svg{width:13px;height:13px;flex-shrink:0;}
.tl{display:flex;flex-direction:column;gap:3px;padding-left:11px;border-left:2px solid rgba(255,255,255,.28);opacity:0;transform:translateY(7px);animation:ivwTl .32s ease forwards;}
.tl-n{border-left-color:#A394FF;}
.tl:nth-of-type(2){animation-delay:.12s;}
.tl:nth-of-type(3){animation-delay:.26s;}
.tl-meta{font:700 12px/1.2 var(--font-mono);letter-spacing:.02em;color:rgba(255,255,255,.82);}
.tl-n .tl-meta{color:#C9BEFF;}
.tl-meta b{font-weight:700;color:inherit;}
.tl-txt{font:400 13.5px/1.5 var(--font-body);color:#fff;}

/* score block */
.ivw-scores{display:flex;flex-direction:column;gap:11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px 15px;}
.ivw-sc-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;gap:10px;font:600 13px/1 var(--font-body);color:#fff;}
.ivw-val{font:800 15px/1 var(--font-display);color:#fff;}
.ivw-track{height:7px;border-radius:var(--r-pill);background:rgba(255,255,255,.16);overflow:hidden;}
.ivw-fill{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--v300),var(--magenta-bright));transform:scaleX(0);transform-origin:left center;animation:ivwfill 1.1s .5s cubic-bezier(.22,1,.36,1) forwards;}
.ivw-fill.f1{width:84%;}
.ivw-fill.f2{width:79%;animation-delay:.65s;}
.ivw-fill.f3{width:91%;animation-delay:.8s;}
.ivw-foot{display:flex;align-items:center;gap:8px;font:600 12px/1.4 var(--font-mono);letter-spacing:.01em;color:rgba(255,255,255,.85);}
.ivw-foot svg{color:var(--cyan-bright);flex-shrink:0;}
@keyframes ivwTl{to{opacity:1;transform:translateY(0);}}
@keyframes ivwfill{to{transform:scaleX(1);}}
@keyframes ivwPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.7);}}
@keyframes ivwWave{0%,100%{transform:scaleY(.5);}50%{transform:scaleY(2.6);}}
@keyframes ivwOrb{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}
@media (prefers-reduced-motion: reduce){
  .tl{opacity:1;animation:none;transform:none;}
  .ivw-fill{animation:none;transform:scaleX(1);}
  .ivw-rec i{animation:none;}
  .ivw-wave i{animation:none;transform:scaleY(1.5);}
  .ivw-orb{animation:none;}
}

/* ───────── DEVELOPMENT — SCORE → PLAN FLOW DIAGRAM ───────── */
.plan-media .flow{position:static;display:flex;align-items:stretch;justify-content:center;gap:14px;padding:0;}
.flow-card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 14px 30px rgba(31,18,96,.2);display:flex;flex-direction:column;}
.flow-tag{font:700 12px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--v600);margin-bottom:12px;}
.flow-score{width:40%;min-width:150px;}
.flow-score-num{font:800 34px/0.9 var(--font-display);color:var(--ink-900);letter-spacing:-.03em;}
.flow-score-num span{font-size:16px;color:var(--ink-500);letter-spacing:0;}
.flow-mini{display:flex;align-items:flex-end;gap:6px;height:38px;margin:14px 0 8px;}
.flow-mini span{flex:1;height:var(--h);border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--v400),var(--v600));transform-origin:bottom;animation:barGrow 4.5s ease-in-out infinite;}
.flow-mini span:nth-child(2){animation-delay:.15s;}
.flow-mini span:nth-child(3){animation-delay:.3s;}
.flow-mini span:nth-child(4){animation-delay:.45s;}
.flow-mini span:nth-child(5){animation-delay:.6s;}
.flow-sub{font:500 12px/1.3 var(--font-body);color:var(--ink-500);margin-top:auto;}
.flow-arrow{position:relative;flex-shrink:0;width:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;}
.flow-arrow svg{width:100%;height:auto;}
.flow-line{stroke-dasharray:92;stroke-dashoffset:92;animation:draw 4s ease-in-out infinite;}
.flow-head{opacity:0;animation:headIn 4s ease-in-out infinite;}
.flow-arrow-lbl{position:absolute;top:calc(50% - 30px);font:700 12px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;white-space:nowrap;}
.flow-plan{width:46%;min-width:160px;}
.flow-miles{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:11px;}
.flow-miles li{display:flex;align-items:center;gap:10px;font:600 12.5px/1.3 var(--font-body);color:var(--ink-800);opacity:0;animation:ivwrise 4.5s ease-out infinite;}
.flow-miles .m1{animation-delay:.9s;}
.flow-miles .m2{animation-delay:1.15s;}
.flow-miles .m3{animation-delay:1.4s;}
.flow-miles li i{width:16px;height:16px;flex-shrink:0;border-radius:50%;background:var(--v50);position:relative;}
.flow-miles li i::after{content:"";position:absolute;left:4.5px;top:5px;width:6px;height:3.2px;border-left:2px solid var(--v500);border-bottom:2px solid var(--v500);transform:rotate(-45deg);}
.flow-uplift{font:600 12.5px/1 var(--font-body);color:var(--ink-600);border-top:1px solid var(--line);padding-top:12px;margin-top:auto;}
.flow-uplift b{font:800 14px/1 var(--font-display);color:var(--v600);}
@keyframes headIn{0%,40%{opacity:0;transform:translateX(-4px);}55%,100%{opacity:1;transform:none;}}
@media (prefers-reduced-motion: reduce){
  .flow-mini span{animation:none;}
  .flow-line{animation:none;stroke-dashoffset:0;}
  .flow-head{animation:none;opacity:1;}
  .flow-miles li{animation:none;opacity:1;}
}

/* ───────── RESPONSIVE ───────── */
@media (max-width:1100px){
  .pf-grid{grid-template-columns:repeat(2,1fr);gap:36px 24px;}
  .flag-grid,.plan-grid{grid-template-columns:1fr;gap:44px;}
  .asmt-grid{grid-template-columns:repeat(2,1fr);}
  .asmt.feat{grid-column:span 2;}
}
@media (max-width:900px){
  .pf,.flag,.suite,.plan,.fq,.cta{padding:88px 0;}
}
@media (max-width:760px){
  .asmt-grid{grid-template-columns:1fr;}
  .asmt.feat{grid-column:span 1;flex-direction:column;}
  .asmt.feat .asmt-img{width:100%;aspect-ratio:16/10;}
  .asmt.feat .asmt-body{padding:24px;}
}
@media (max-width:720px){
  .pf,.flag,.suite,.plan,.fq,.cta{padding:64px 0;}
  .pf-num{font-size:48px;}
  .plan-text p{font-size:16px;}
  .cta p{font-size:16px;}
  .cta-btns .btn{width:100%;justify-content:center;}
}
@media (max-width:520px){
  .plan-media .flow{flex-direction:column;gap:2px;padding:22px 20px 90px;}
  .flow-score,.flow-plan{width:100%;min-width:0;}
  .flow-arrow{width:34px;transform:rotate(90deg);margin:2px 0;}
  .flow-arrow-lbl{display:none;}
}
@media (max-width:480px){
  .pf-grid{grid-template-columns:1fr;gap:28px;}
  .pf,.flag,.suite,.plan,.fq,.cta{padding:52px 0;}
}
