/* =========================================================================
   Nancy AI — Home page (index.html) specific styles.
   Loaded only by index.html. Shared components live in main.css.
   ========================================================================= */

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

/* ───────── WHAT NANCY DOES — PILLARS ───────── */
.pillars{padding:120px 0;background:#fff;}
.pillars-head{text-align:center;max-width:720px;margin:0 auto 48px;}
.pillars-head .eyebrow{margin-bottom:14px;}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pillar-card{display:flex;flex-direction:column;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px;text-decoration:none;transition:transform .18s, box-shadow .18s, border-color .18s;}
.pillar-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(31,18,96,.08);border-color:var(--v200);}
@media (prefers-reduced-motion: reduce){.pillar-card{transition:border-color .18s;}.pillar-card:hover{transform:none;}}
.pillar-card .p-step{font:700 12px/1 var(--font-mono);color:var(--v500);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;}
.pillar-card h3{font:700 20px/1.3 var(--font-display);color:var(--ink-900);margin-bottom:20px;flex:1;}
.pillar-card .pillar-link{font:600 14px/1 var(--font-body);color:var(--v600);display:inline-flex;align-items:center;gap:6px;}
.pillar-card:focus-visible{outline:2px solid var(--v500);outline-offset:3px;}

/* ───────── OLD WAY vs NANCY — COMPARISON ───────── */
.compare{padding:120px 0;background:var(--bg-soft-2);}
.compare-head{text-align:center;max-width:720px;margin:0 auto 48px;}
.compare-head .eyebrow{margin-bottom:14px;}
.compare-table{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;margin:0 auto;}
.compare-col{border-radius:var(--r-lg);padding:32px 30px;border:1px solid var(--line);}
.compare-old{background:#fff;}
.compare-new{background:var(--v50);border-color:var(--v200);}
.compare-col-head{font:700 12px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px;}
.compare-old .compare-col-head{color:var(--ink-500);}
.compare-new .compare-col-head{color:var(--v600);}
.compare-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
.compare-col li{position:relative;padding-left:28px;font:500 15px/1.5 var(--font-body);color:var(--ink-800);}
.compare-old li::before{content:"×";position:absolute;left:0;top:-1px;font:700 18px/1 var(--font-display);color:var(--ink-400);}
.compare-new li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;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:contain;background-repeat:no-repeat;}

/* ───────── SUITE PREVIEW (compact cards) ───────── */
.suite{padding:120px 0;background:#fff;}
.suite-head{text-align:center;max-width:760px;margin:0 auto 56px;}
.suite-head .eyebrow{margin-bottom:14px;}
.suite-head h2{margin-bottom:18px;}
.suite-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.suite-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;transition:transform .18s, box-shadow .18s, border-color .18s;}
.suite-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(31,18,96,.08);border-color:var(--v200);}
@media (prefers-reduced-motion: reduce){.suite-card{transition:border-color .18s;}.suite-card:hover{transform:none;}}
.suite-card .n{font:700 11px/1 var(--font-mono);color:var(--v500);letter-spacing:.12em;margin-bottom:14px;}
.suite-card h3{font:700 18px/1.3 var(--font-display);color:var(--ink-900);margin-bottom:8px;}
.suite-card p{font:400 14px/1.55 var(--font-body);color:var(--ink-600);}
.suite-foot{text-align:center;margin-top:48px;}
.suite-foot .btn:focus-visible{outline:2px solid var(--v500);outline-offset:3px;}

/* ───────── MEET NANCY BAND ───────── */
.nancy{padding:120px 0;background:var(--bg-soft-2);}
.nancy-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:center;}
.nancy-media{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--grad-card-2);}
.nancy-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.nancy-text .eyebrow{margin-bottom:16px;}
.nancy-text h2{margin-bottom:20px;}
.nancy-text .lede{margin-bottom:28px;}
.nancy-list{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:16px;}
.nancy-list li{position:relative;padding-left:32px;font:500 15px/1.5 var(--font-body);color:var(--ink-800);}
.nancy-list li strong{color:var(--ink-900);}
.nancy-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;}

/* ───────── DEVELOPMENT BAND ───────── */
.devband{padding:120px 0;background:#fff;}
.devband-head{text-align:center;max-width:780px;margin:0 auto 56px;}
.devband-head .eyebrow{margin-bottom:14px;}
.devband-head h2{margin-bottom:18px;}
.dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.dev-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:36px 34px;}
.dev-card .sub{font:600 12px/1 var(--font-mono);color:var(--v600);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;}
.dev-card h3{font:700 24px/1.2 var(--font-display);margin-bottom:16px;}
.dev-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.dev-list li{position:relative;padding-left:24px;font:500 15px/1.5 var(--font-body);color:var(--ink-800);}
.dev-list li::before{content:"";position:absolute;left:0;top:6px;width:14px;height:14px;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.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");background-size:contain;background-repeat:no-repeat;}
.devband-foot{text-align:center;margin-top:48px;}
.devband-foot .btn:focus-visible{outline:2px solid var(--v500);outline-offset:3px;}

/* ───────── SCALE BAND ───────── */
.scaleband{padding:120px 0;background:var(--bg-ink);color:#fff;position:relative;overflow:hidden;}
.scaleband::before{content:"";position:absolute;inset:0;background:var(--grad-aurora);opacity:.5;pointer-events:none;}
.scaleband-inner{position:relative;}
.scaleband-head{text-align:center;max-width:800px;margin:0 auto 56px;}
.scaleband-head .eyebrow{color:var(--v300);margin-bottom:14px;}
.scaleband-head h2{color:#fff;margin-bottom:18px;}
.scaleband-head p{color:rgba(255,255,255,.74);font-size:18px;}
.scale-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:44px;}
.scale-step{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);border-radius:var(--r-lg);padding:32px 28px;}
.scale-step .lvl{font:700 11px/1 var(--font-mono);color:var(--v300);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.scale-step .lvl .arrow{color:rgba(255,255,255,.4);}
.scale-step h3{color:#fff;font:700 22px/1.2 var(--font-display);margin-bottom:8px;}
.scale-step p{font:400 14px/1.55 var(--font-body);color:rgba(255,255,255,.66);}
.scaleband-foot{text-align:center;}
.scaleband-foot .btn:focus-visible{outline:2px solid #fff;outline-offset:3px;}

/* ───────── RESULTS TEASERS ───────── */
.cases{padding:120px 0;background:var(--bg-soft);}
.cases-head{text-align:center;max-width:760px;margin:0 auto 56px;}
.cases-head .eyebrow{margin-bottom:14px;}
.cases-head h2{margin-bottom:18px;}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.case-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 30px;display:flex;flex-direction:column;}
.case-tag{font:700 11px/1 var(--font-mono);color:var(--v600);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;}
.case-card h3{font:700 20px/1.28 var(--font-display);color:var(--ink-900);margin-bottom:12px;}
.case-card p{font:400 14px/1.55 var(--font-body);color:var(--ink-600);margin-bottom:24px;flex:1;}
.case-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:22px;border-top:1px solid var(--line);}
.case-trio .k{font:600 10px/1.2 var(--font-mono);color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;}
.case-trio .v{font:800 22px/1 var(--font-display);color:var(--ink-900);letter-spacing:-.02em;}
.case-trio .v small{font:600 12px/1 var(--font-body);color:var(--ink-500);margin-left:2px;}
.cases-foot{text-align:center;margin-top:48px;}
.cases-foot .btn:focus-visible{outline:2px solid var(--v500);outline-offset:3px;}

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

/* ───────── CTA BAND ───────── */
.ctaband{padding:120px 0;background:var(--bg-ink);color:#fff;position:relative;overflow:hidden;text-align:center;}
.ctaband::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;}
.ctaband-inner{position:relative;max-width:720px;margin:0 auto;}
.ctaband .eyebrow{color:var(--v300);margin-bottom:18px;}
.ctaband h2{color:#fff;margin-bottom:20px;}
.ctaband p{color:rgba(255,255,255,.78);font:400 18px/1.55 var(--font-body);max-width:540px;margin:0 auto 32px;}
.ctaband-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.ctaband-cta .btn{min-height:48px;}
.ctaband-cta .btn:focus-visible{outline:2px solid #fff;outline-offset:3px;}

/* ───────── SHARED DIAGRAM VOCABULARY (pain + nancy media) ─────────
   HTML/CSS diagrams — NO text inside scalable SVGs. Every label/number
   is real HTML type using the site scale, on a white card so contrast
   is measured against #fff, not the lavender wash. */
.impact-diagram{aspect-ratio:auto;background:var(--bg-soft-2);display:grid;place-items:center;padding:32px;}
.dgm{margin:0;width:100%;max-width:440px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 14px 34px rgba(31,18,96,.08);padding:32px 30px 30px;}
.dgm-title{font:700 18px/1.3 var(--font-display);color:var(--ink-900);margin:0 0 26px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.dgm-rows{display:flex;flex-direction:column;gap:30px;}
.dgm-row-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;}
.dgm-lbl{font:600 14px/1 var(--font-body);color:var(--ink-800);}
.dgm-mult{font:700 14px/1 var(--font-mono);color:var(--ink-500);}
.dgm-mult-accent{font:800 17px/1 var(--font-display);color:var(--v600);letter-spacing:-.01em;}
.dgm-track{height:14px;border-radius:var(--r-pill);background:#ECEAF4;overflow:hidden;}
.dgm-fill{display:block;height:100%;border-radius:var(--r-pill);transform:scaleX(0);transform-origin:left center;animation:dgmGrow 1s .2s cubic-bezier(.22,1,.36,1) forwards;}
.dgm-fill-muted{width:var(--w);background:var(--ink-300);}
.dgm-fill-accent{width:var(--w);background:var(--grad-bar);animation-delay:.45s;}
.dgm-note{margin:28px 0 0;padding-top:18px;border-top:1px solid var(--line);font:500 13px/1.5 var(--font-body);color:var(--ink-600);}
@keyframes dgmGrow{to{transform:scaleX(1);}}
@media (prefers-reduced-motion: reduce){
  .dgm-fill{animation:none;transform:scaleX(1);}
}

/* ───────── NANCY — VIDEO-MEETING INTERVIEW MOCK ───────── */
.nancy-mock{aspect-ratio:auto;background:var(--bg-soft-2);display:grid;place-items:center;padding:40px 32px;}
.aimock{width:100%;max-width:440px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 18px 40px rgba(31,18,96,.12);display:flex;flex-direction:column;overflow:hidden;}

/* video area */
.aimock-video{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0E1116;}
.aimock-cam{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 24%;}
.aimock-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;}
.aimock-rec,.aimock-timer,.aimock-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,.14);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.aimock-rec{top:12px;left:12px;gap:7px;letter-spacing:.1em;text-transform:uppercase;padding:6px 11px 6px 9px;}
.aimock-rec i{width:7px;height:7px;border-radius:50%;background:#FF4D4D;box-shadow:0 0 8px rgba(255,77,77,.9);animation:aimPulse 1.5s ease-in-out infinite;}
.aimock-timer{top:12px;right:12px;padding:6px 10px;letter-spacing:.06em;}
.aimock-name{left:12px;bottom:12px;padding:7px 12px;font:600 12.5px/1 var(--font-body);letter-spacing:.01em;}

/* Nancy picture-in-picture */
.aimock-pip{position:absolute;z-index:3;right:12px;bottom:12px;width:132px;display:flex;flex-direction:column;gap:7px;padding:9px 10px;border-radius:11px;background:linear-gradient(135deg,#5B3FE4 0%,#3A23A8 58%,#2C1A82 100%);border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 20px rgba(20,10,70,.4);}
.aimock-pip-top{display:flex;align-items:center;gap:9px;}
.aimock-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,.28),0 0 12px rgba(150,120,255,.7);animation:aimOrb 2.4s ease-in-out infinite;}
.aimock-wave{display:flex;align-items:center;gap:3px;height:20px;}
.aimock-wave i{width:3px;height:6px;border-radius:2px;background:#EDE9FF;transform-origin:center;animation:aimWave 1.2s ease-in-out infinite;}
.aimock-wave i:nth-child(1){animation-delay:0s;}
.aimock-wave i:nth-child(2){animation-delay:.16s;}
.aimock-wave i:nth-child(3){animation-delay:.32s;}
.aimock-wave i:nth-child(4){animation-delay:.48s;}
.aimock-wave i:nth-child(5){animation-delay:.24s;}
.aimock-pip-name{font:600 12px/1.15 var(--font-body);color:#fff;letter-spacing:.005em;}

/* live transcript */
.aimock-tx{display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px;border-bottom:1px solid var(--line);}
.aimock-tx-head{display:flex;align-items:center;justify-content:space-between;}
.aimock-tx-title{font:700 13px/1 var(--font-display);color:var(--ink-900);letter-spacing:.01em;}
.aimock-tx-save{display:inline-flex;align-items:center;gap:5px;font:600 12px/1 var(--font-mono);letter-spacing:.03em;color:#12855A;}
.aimock-tx-save svg{width:13px;height:13px;flex-shrink:0;}
.tln{display:flex;flex-direction:column;gap:3px;padding-left:11px;border-left:2px solid var(--v100);opacity:0;transform:translateY(7px);animation:aimTln .32s ease forwards;}
.tln-n{border-left-color:var(--v400);}
.tln-c{border-left-color:var(--ink-300);}
.tln:nth-of-type(2){animation-delay:.12s;}
.tln:nth-of-type(3){animation-delay:.26s;}
.tln-meta{font:700 12px/1.2 var(--font-mono);letter-spacing:.02em;color:var(--ink-500);}
.tln-n .tln-meta{color:var(--v600);}
.tln-meta b{font-weight:700;color:inherit;}
.tln-txt{font:400 13.5px/1.5 var(--font-body);color:var(--ink-800);}

/* compact score row */
.aimock-scores{display:flex;flex-direction:column;gap:11px;padding:15px 18px 18px;}
.scr{display:grid;grid-template-columns:1fr 84px 26px;align-items:center;gap:12px;}
.scr-k{font:600 13px/1.3 var(--font-body);color:var(--ink-700);}
.scr-track{height:7px;border-radius:var(--r-pill);background:#ECEAF4;overflow:hidden;}
.scr-fill{display:block;height:100%;width:var(--to);border-radius:var(--r-pill);background:var(--grad-bar);transform:scaleX(0);transform-origin:left center;animation:scrFill 1.1s .5s cubic-bezier(.22,1,.36,1) forwards;}
.scr-v{font:700 13px/1 var(--font-mono);color:var(--v600);text-align:right;}
@keyframes aimTln{to{opacity:1;transform:translateY(0);}}
@keyframes scrFill{to{transform:scaleX(1);}}
@keyframes aimPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.7);}}
@keyframes aimWave{0%,100%{transform:scaleY(.5);}50%{transform:scaleY(2.6);}}
@keyframes aimOrb{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}
@media (prefers-reduced-motion: reduce){
  .tln{animation:none;opacity:1;transform:none;}
  .scr-fill{animation:none;transform:scaleX(1);}
  .aimock-rec i{animation:none;}
  .aimock-wave i{animation:none;transform:scaleY(1.5);}
  .aimock-orb{animation:none;}
}

/* ───────── STUB HERO (non-index pages) ───────── */
.stub{padding:96px 0 120px;background:#fff;}
.stub-inner{max-width:780px;}
.stub .eyebrow{margin-bottom:16px;}
.stub h1{margin-bottom:22px;}
.stub .lede{margin-bottom:32px;max-width:640px;}
.stub-cta{display:flex;gap:14px;flex-wrap:wrap;}
.stub-cta .btn{min-height:48px;}
.stub-cta .btn:focus-visible{outline:2px solid var(--v500);outline-offset:3px;}

/* ───────── RESPONSIVE ───────── */
@media (max-width:1100px){
  .proof-grid{grid-template-columns:repeat(2,1fr);gap:36px 24px;}
  .nancy-grid{grid-template-columns:1fr;gap:44px;}
  .dev-grid{grid-template-columns:1fr;}
  .scale-steps, .suite-grid, .cases-grid, .pillars-grid{grid-template-columns:1fr;}
  .compare-table{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .proof, .suite, .nancy, .devband, .scaleband, .cases, .faq, .ctaband, .pillars, .compare{padding:88px 0;}
  .suite-grid, .cases-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .proof, .suite, .nancy, .devband, .scaleband, .cases, .faq, .ctaband, .pillars, .compare{padding:64px 0;}
  .proof-num{font-size:48px;}
  .suite-grid, .cases-grid{grid-template-columns:1fr;}
  .nancy-list li{font-size:14px;}
  .dev-card{padding:28px 24px;}
  .scale-step{padding:26px 22px;}
  .ctaband p{font-size:16px;}
  .ctaband-cta .btn{width:100%;justify-content:center;}
  .stub{padding:64px 0 80px;}
}
@media (max-width:480px){
  .proof-grid{grid-template-columns:1fr;gap:28px;}
  .proof, .suite, .nancy, .devband, .scaleband, .cases, .faq, .ctaband, .pillars, .compare{padding:52px 0;}
}
