/* TalkCheck - global styles */

:root {
      --bg: #09090f;
      --surface: #111119;
      --surface-2: #171721;
      --coral: #ff9fbd;
      --coral-soft: #ffc3d4;
      --violet: #8fbef4;
      --cyan: #55d980;
      --cream: #fffdf4;
      --muted: #a7a4af;
      --line: rgba(255,255,255,.11);
      --success: #72e6b1;
      --warning: #f2b926;
      --max: 1180px;
      --radius: 22px;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; scroll-padding-top: 90px; }
    body {
      min-height: 100vh;
      overflow-x: hidden;
      background: var(--bg);
      color: var(--cream);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }
    body.menu-open { overflow: hidden; }
    button, input, textarea { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    a { color: inherit; text-decoration: none; }
    button { color: inherit; }
    ::selection { background: var(--coral); color: #130b0c; }

    .noise {
      position: fixed; inset: 0; z-index: 20; pointer-events: none; opacity: .035;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
    }
    .orb { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; opacity: .18; }
    .container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
    .section { position: relative; padding: 112px 0; }
    .eyebrow {
      display: inline-flex; align-items: center; gap: 9px; color: var(--cyan);
      font-size: .75rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
    }
    .eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; }
    .section-head { max-width: 680px; margin-bottom: 54px; }
    .section-head h2 { font-size: clamp(2.15rem, 5vw, 4rem); letter-spacing: -.055em; line-height: 1.04; margin: 16px 0 18px; }
    .section-head p { color: var(--muted); font-size: 1.06rem; max-width: 600px; }
    .gradient-text { color: transparent; background: linear-gradient(100deg, var(--coral-soft), var(--violet), var(--cyan)); background-clip: text; -webkit-background-clip: text; }

    /* Navigation */
    .nav-wrap { position: fixed; inset: 0 0 auto; z-index: 50; padding: 16px 0; transition: .3s ease; }
    .nav-wrap.scrolled { padding: 9px 0; background: rgba(9,9,15,.78); border-bottom: 1px solid var(--line); backdrop-filter: blur(20px); }
    nav { height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
    .brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 800; letter-spacing: -.02em; font-size: 1.05rem; }
    .brand-mark { width: 35px; height: 35px; position: relative; display: grid; place-items: center; }
    .brand-mark::before { content: ""; position: absolute; inset: 1px; background: conic-gradient(from 210deg, var(--coral), var(--violet), var(--cyan), var(--coral)); clip-path: polygon(50% 0, 92% 20%, 84% 72%, 50% 100%, 16% 72%, 8% 20%); }
    .brand-mark::after { content: "T"; position: relative; display: grid; place-items: center; width: 25px; height: 25px; background: #0c0c13; clip-path: polygon(50% 0, 92% 20%, 84% 72%, 50% 100%, 16% 72%, 8% 20%); font-size: .68rem; }
    .nav-links { display: flex; align-items: center; gap: 30px; color: #c7c4cc; font-size: .88rem; }
    .nav-links a { transition: color .2s; }
    .nav-links a:hover { color: var(--cream); }
    .nav-actions { display: flex; align-items: center; gap: 12px; }
    .btn {
      border: 0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 9px;
      min-height: 48px; padding: 0 21px; border-radius: 100px; font-size: .88rem; font-weight: 750;
      transition: transform .2s, box-shadow .2s, background .2s, border-color .2s;
    }
    .btn:hover { transform: translateY(-2px); }
    .btn-primary { background: var(--coral); color: #17090a; box-shadow: 0 9px 32px rgba(255,107,95,.22); }
    .btn-primary:hover { box-shadow: 0 12px 38px rgba(255,107,95,.35); background: #ff7c70; }
    .btn-secondary { border: 1px solid var(--line); background: rgba(255,255,255,.035); color: var(--cream); }
    .btn-secondary:hover { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.07); }
    .btn-sm { min-height: 40px; padding: 0 17px; }
    .menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); background: var(--surface); border-radius: 50%; cursor: pointer; place-items: center; }
    .menu-toggle span, .menu-toggle span::before, .menu-toggle span::after { display: block; width: 18px; height: 1.5px; background: white; transition: .25s; }
    .menu-toggle span { position: relative; }
    .menu-toggle span::before, .menu-toggle span::after { content: ""; position: absolute; left: 0; }
    .menu-toggle span::before { top: -6px; }
    .menu-toggle span::after { top: 6px; }
    .menu-toggle.active span { background: transparent; }
    .menu-toggle.active span::before { top: 0; transform: rotate(45deg); }
    .menu-toggle.active span::after { top: 0; transform: rotate(-45deg); }

    /* Hero */
    .hero { position: relative; min-height: 100vh; padding: 160px 0 90px; display: flex; align-items: center; overflow: hidden; }
    .hero::before { content: ""; position: absolute; width: 760px; height: 760px; top: -270px; right: -210px; border: 1px solid rgba(138,108,255,.16); border-radius: 50%; box-shadow: 0 0 0 100px rgba(138,108,255,.025), 0 0 0 200px rgba(85,219,224,.015); }
    .hero-orb-1 { width: 520px; height: 300px; background: var(--violet); top: 12%; right: -5%; }
    .hero-orb-2 { width: 360px; height: 260px; background: var(--coral); bottom: 0; left: -10%; opacity: .11; }
    .hero-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 72px; align-items: center; }
    .status-pill { display: inline-flex; align-items: center; gap: 9px; padding: 8px 13px; border: 1px solid var(--line); border-radius: 100px; background: rgba(255,255,255,.035); color: #d7d4dc; font-size: .77rem; margin-bottom: 27px; }
    .status-dot { width: 7px; height: 7px; background: var(--success); border-radius: 50%; box-shadow: 0 0 0 5px rgba(114,230,177,.1); animation: pulse 2s infinite; }
    @keyframes pulse { 50% { box-shadow: 0 0 0 8px rgba(114,230,177,0); } }
    h1 { font-size: clamp(3.3rem, 6.5vw, 6.5rem); line-height: .92; letter-spacing: -.073em; max-width: 790px; }
    .hero-copy h1 em { display: block; font-family: Georgia, serif; font-weight: 400; letter-spacing: -.065em; color: var(--coral); }
    .hero-copy > p { margin: 29px 0; color: #b7b3bd; font-size: 1.08rem; max-width: 580px; }
    .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
    .hero-note { display: flex; align-items: center; gap: 10px; margin-top: 20px; color: #77747e; font-size: .75rem; }
    .hero-note svg { color: var(--cyan); flex: none; }

    .scanner-card { position: relative; border: 1px solid rgba(255,255,255,.13); border-radius: 28px; padding: 18px; background: linear-gradient(155deg, rgba(28,27,40,.9), rgba(13,13,20,.93)); box-shadow: 0 35px 100px rgba(0,0,0,.55); transform: perspective(1200px) rotateY(-3deg) rotateX(1deg); }
    .scanner-card::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; background: linear-gradient(130deg, rgba(255,107,95,.4), transparent 28%, transparent 70%, rgba(85,219,224,.3)); filter: blur(8px); opacity: .55; }
    .scanner-top { display: flex; justify-content: space-between; align-items: center; padding: 3px 3px 15px; color: var(--muted); font-size: .72rem; }
    .window-dots { display: flex; gap: 5px; }
    .window-dots i { width: 6px; height: 6px; border-radius: 50%; background: #494751; }
    .search-panel { padding: 19px; border-radius: 17px; background: #0c0c13; border: 1px solid var(--line); }
    .search-panel label { display: block; font-size: .73rem; color: var(--muted); margin-bottom: 10px; }
    .search-line { display: flex; gap: 8px; }
    .search-line input { min-width: 0; flex: 1; color: var(--cream); background: transparent; border: 0; outline: 0; font-size: .91rem; }
    .scan-btn { width: 39px; height: 39px; border-radius: 12px; border: 0; color: #180a0b; background: var(--coral); cursor: pointer; transition: .2s; }
    .scan-btn:hover { transform: scale(1.04); }
    .scan-progress { overflow: hidden; height: 2px; background: #252430; margin-top: 16px; }
    .scan-progress span { display: block; height: 100%; width: 72%; background: linear-gradient(90deg, var(--coral), var(--violet), var(--cyan)); animation: scan 3.3s ease-in-out infinite; }
    @keyframes scan { 0%,100% { transform: translateX(-100%); } 50% { transform: translateX(70%); } }
    .mini-results { display: grid; grid-template-columns: 1.1fr .9fr; gap: 10px; margin-top: 10px; }
    .mini-card { padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.025); }
    .mini-label { color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .11em; }
    .score-row { display: flex; align-items: end; justify-content: space-between; margin: 14px 0 11px; }
    .score { font-size: 2.4rem; font-weight: 750; line-height: 1; color: var(--warning); }
    .score small { font-size: .8rem; color: var(--muted); }
    .risk-pill { border: 1px solid rgba(255,189,102,.24); color: var(--warning); padding: 4px 7px; border-radius: 20px; font-size: .62rem; }
    .bar { height: 4px; background: #2a2932; border-radius: 10px; overflow: hidden; }
    .bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cyan), var(--warning), var(--coral)); }
    .sentiment-list { list-style: none; margin-top: 11px; display: grid; gap: 9px; font-size: .7rem; }
    .sentiment-list li { display: flex; justify-content: space-between; color: #bbb7c1; }
    .sentiment-list b { color: var(--cream); font-weight: 650; }
    .flag-card { margin-top: 10px; display: flex; gap: 12px; padding: 14px; background: rgba(255,107,95,.065); border: 1px solid rgba(255,107,95,.16); border-radius: 15px; font-size: .72rem; color: #c7c2cb; }
    .flag-icon { width: 27px; height: 27px; flex: none; display: grid; place-items: center; border-radius: 8px; background: rgba(255,107,95,.14); color: var(--coral); }
    .flag-card b { display: block; color: var(--cream); margin-bottom: 2px; }

    /* Logo strip */
    .trust-strip { border-block: 1px solid var(--line); padding: 25px 0; background: rgba(255,255,255,.014); }
    .trust-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
    .trust-inner > span { color: #73707a; font-size: .7rem; letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; }
    .logo-list { width: 100%; display: flex; justify-content: space-around; align-items: center; gap: 25px; color: #797680; font-weight: 750; font-size: .92rem; }
    .logo-list i { font-style: normal; }

    /* Features */
    .feature-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; }
    .feature-card { position: relative; overflow: hidden; min-height: 285px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); transition: .35s ease; }
    .feature-card:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.22); }
    .feature-card:nth-child(1), .feature-card:nth-child(4) { grid-column: span 7; }
    .feature-card:nth-child(2), .feature-card:nth-child(3) { grid-column: span 5; }
    .feature-number { color: #55525d; font-size: .68rem; letter-spacing: .12em; }
    .feature-icon { width: 47px; height: 47px; margin: 26px 0 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 14px; color: var(--cyan); background: rgba(85,219,224,.055); }
    .feature-card:nth-child(2) .feature-icon { color: var(--violet); background: rgba(138,108,255,.07); }
    .feature-card:nth-child(3) .feature-icon { color: var(--coral); background: rgba(255,107,95,.07); }
    .feature-card h3 { font-size: 1.35rem; letter-spacing: -.025em; margin-bottom: 10px; }
    .feature-card p { max-width: 470px; color: var(--muted); font-size: .9rem; }
    .feature-visual { position: absolute; right: -35px; top: 35px; width: 260px; height: 190px; opacity: .65; }
    .radar-ring { position: absolute; border: 1px solid rgba(85,219,224,.2); border-radius: 50%; inset: 25%; }
    .radar-ring:nth-child(2) { inset: 10%; }
    .radar-ring:nth-child(3) { inset: -5%; }
    .radar-line { position: absolute; width: 48%; height: 48%; left: 50%; top: 2%; transform-origin: 0 100%; background: conic-gradient(from 90deg, rgba(85,219,224,.3), transparent 30%); animation: radar 5s linear infinite; }
    @keyframes radar { to { transform: rotate(360deg); } }

    /* Demo */
    .demo-section { background: #0d0d15; border-block: 1px solid var(--line); overflow: hidden; }
    .demo-shell { display: grid; grid-template-columns: 1.05fr .95fr; border: 1px solid var(--line); border-radius: 28px; overflow: hidden; background: #111119; box-shadow: 0 40px 100px rgba(0,0,0,.3); }
    .demo-input, .demo-output { padding: 36px; }
    .demo-input { border-right: 1px solid var(--line); }
    .panel-kicker { display: flex; justify-content: space-between; color: var(--muted); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 20px; }
    .demo-input textarea { resize: none; width: 100%; height: 175px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; outline: none; background: #0b0b12; color: var(--cream); font-size: .92rem; line-height: 1.65; transition: border .2s; }
    .demo-input textarea:focus { border-color: rgba(138,108,255,.6); }
    .demo-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 13px 0; }
    .select-wrap { position: relative; }
    .select-wrap label { display: block; margin-bottom: 6px; color: #77747e; font-size: .66rem; }
    select { width: 100%; height: 45px; padding: 0 35px 0 13px; appearance: none; border: 1px solid var(--line); border-radius: 12px; background: #171720; color: #dedbe3; outline: 0; font-size: .78rem; }
    .select-wrap::after { content: "⌄"; position: absolute; right: 13px; bottom: 11px; color: var(--muted); pointer-events: none; }
    #analyzeBtn { width: 100%; border-radius: 13px; }
    .demo-disclaimer { color: #66636d; font-size: .65rem; margin-top: 11px; }
    .demo-output { position: relative; min-height: 455px; }
    .output-placeholder { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; padding: 40px; transition: .25s; }
    .placeholder-orb { width: 110px; height: 110px; margin: auto auto 18px; position: relative; display: grid; place-items: center; border: 1px solid rgba(138,108,255,.3); border-radius: 50%; color: var(--violet); box-shadow: inset 0 0 35px rgba(138,108,255,.09), 0 0 45px rgba(138,108,255,.1); }
    .placeholder-orb::before, .placeholder-orb::after { content: ""; position: absolute; border: 1px solid rgba(85,219,224,.13); border-radius: 50%; }
    .placeholder-orb::before { inset: -12px; }
    .placeholder-orb::after { inset: 13px; }
    .output-placeholder p { color: var(--muted); max-width: 300px; font-size: .83rem; }
    .analysis-result { display: none; opacity: 0; transition: .35s; }
    .analysis-result.show { display: block; opacity: 1; }
    .result-score { display: flex; justify-content: space-between; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #0b0b12; }
    .result-score strong { font-size: 2rem; color: var(--warning); line-height: 1; }
    .result-score small { display: block; color: var(--muted); font-size: .65rem; margin-top: 5px; }
    .risk-badge { padding: 6px 10px; background: rgba(255,189,102,.1); color: var(--warning); border-radius: 20px; font-size: .68rem; }
    .result-block { margin-top: 14px; padding: 17px; border: 1px solid var(--line); border-radius: 16px; }
    .result-block h4 { font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; color: var(--muted); margin-bottom: 11px; }
    .reaction { display: grid; grid-template-columns: 72px 1fr 34px; gap: 9px; align-items: center; margin: 8px 0; font-size: .72rem; color: #bbb8c1; }
    .reaction .bar span { background: var(--violet); }
    .reaction:nth-child(3) .bar span { background: var(--coral); }
    .reaction:nth-child(4) .bar span { background: var(--cyan); }
    .risk-list { list-style: none; display: grid; gap: 8px; }
    .risk-list li { position: relative; padding-left: 18px; color: #c2bec7; font-size: .75rem; }
    .risk-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; background: var(--coral); border-radius: 50%; }
    .loader { display: none; position: absolute; inset: 0; background: rgba(17,17,25,.92); place-items: center; z-index: 4; }
    .loader.show { display: grid; }
    .loader-ring { width: 56px; height: 56px; border: 2px solid #2d2c36; border-top-color: var(--coral); border-right-color: var(--violet); border-radius: 50%; animation: spin .8s linear infinite; }
    @keyframes spin { to { transform: rotate(360deg); } }

    /* Use cases */
    .usecase-tabs { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 25px; }
    .tab { cursor: pointer; border: 1px solid var(--line); border-radius: 100px; padding: 10px 16px; color: var(--muted); background: transparent; font-size: .77rem; transition: .2s; }
    .tab:hover, .tab.active { color: var(--cream); background: rgba(138,108,255,.12); border-color: rgba(138,108,255,.4); }
    .usecase-panel { display: none; grid-template-columns: .85fr 1.15fr; min-height: 395px; border: 1px solid var(--line); border-radius: 26px; overflow: hidden; background: var(--surface); }
    .usecase-panel.active { display: grid; animation: fadeUp .45s ease; }
    @keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } }
    .case-copy { padding: 52px; display: flex; flex-direction: column; justify-content: center; }
    .case-copy .case-no { color: var(--coral); font-family: Georgia,serif; font-style: italic; font-size: 1rem; }
    .case-copy h3 { font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.05; letter-spacing: -.045em; margin: 20px 0 17px; }
    .case-copy p { color: var(--muted); font-size: .9rem; }
    .case-visual { position: relative; overflow: hidden; display: grid; place-items: center; background: radial-gradient(circle at 50% 50%, rgba(138,108,255,.18), transparent 55%), #0c0c13; }
    .orbit { position: absolute; width: 320px; height: 320px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; animation: orbit 14s linear infinite; }
    .orbit::before, .orbit::after { content: ""; position: absolute; width: 12px; height: 12px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 18px var(--coral); }
    .orbit::before { left: 30px; top: 60px; }
    .orbit::after { right: 24px; bottom: 78px; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); }
    @keyframes orbit { to { transform: rotate(360deg); } }
    .case-center { z-index: 2; width: 180px; height: 180px; display: grid; place-items: center; text-align: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.14); background: rgba(17,17,25,.8); backdrop-filter: blur(10px); font-size: .75rem; color: var(--muted); }
    .case-center strong { display: block; font-size: 2.8rem; color: var(--cream); line-height: 1; }

    /* Testimonial */
    .proof { padding: 95px 0; background: var(--cream); color: #15131a; }
    .proof-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: center; }
    .proof-stat { border-left: 1px solid rgba(0,0,0,.17); padding-left: 28px; }
    .proof-stat strong { display: block; font-size: clamp(3.8rem,8vw,7.5rem); letter-spacing: -.075em; line-height: .9; }
    .proof-stat span { display: block; margin-top: 15px; color: #68636d; font-size: .8rem; max-width: 170px; }
    blockquote { font-family: Georgia,serif; font-size: clamp(1.7rem,3.5vw,3.3rem); letter-spacing: -.035em; line-height: 1.17; }
    .quote-by { margin-top: 28px; display: flex; align-items: center; gap: 13px; font-size: .75rem; color: #69646e; }
    .avatar { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg,var(--coral),var(--violet)); display: grid; place-items: center; color: white; font-weight: 750; }
    .quote-by b { display: block; color: #17141b; }

    /* Pricing */
    .billing { display: inline-flex; gap: 4px; padding: 4px; background: var(--surface); border: 1px solid var(--line); border-radius: 100px; margin-bottom: 28px; }
    .billing button { border: 0; background: transparent; color: var(--muted); padding: 8px 13px; border-radius: 100px; cursor: pointer; font-size: .72rem; }
    .billing button.active { background: var(--cream); color: #16131a; }
    .pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; align-items: stretch; }
    .price-card { position: relative; padding: 31px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); }
    .price-card.featured { background: linear-gradient(160deg, rgba(138,108,255,.17), rgba(255,107,95,.07)), var(--surface); border-color: rgba(138,108,255,.45); transform: translateY(-10px); }
    .popular { position: absolute; top: 16px; right: 16px; padding: 5px 8px; color: var(--violet); background: rgba(138,108,255,.13); border-radius: 20px; font-size: .58rem; font-weight: 800; letter-spacing: .09em; }
    .price-card h3 { font-size: 1.1rem; }
    .price-card > p { color: var(--muted); font-size: .78rem; min-height: 48px; margin: 10px 0 25px; }
    .price { font-size: 2.9rem; font-weight: 760; letter-spacing: -.055em; }
    .price span { font-size: .72rem; color: var(--muted); font-weight: 400; letter-spacing: 0; }
    .price-card .btn { width: 100%; margin: 22px 0; }
    .price-list { list-style: none; border-top: 1px solid var(--line); padding-top: 20px; display: grid; gap: 12px; color: #bbb7c1; font-size: .76rem; }
    .price-list li { display: flex; gap: 9px; }
    .price-list li::before { content: "✓"; color: var(--cyan); }

    /* Ethics */
    .ethics-wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; padding: 65px; border: 1px solid var(--line); border-radius: 30px; background: linear-gradient(135deg, rgba(85,219,224,.06), transparent 40%, rgba(255,107,95,.05)), var(--surface); }
    .ethics-symbol { position: relative; min-height: 320px; display: grid; place-items: center; }
    .human-core { width: 170px; height: 170px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle, rgba(255,107,95,.25), rgba(255,107,95,.03) 60%); border: 1px solid rgba(255,107,95,.25); font-family: Georgia,serif; font-size: 1.2rem; font-style: italic; }
    .human-core::before, .human-core::after { content: ""; position: absolute; border-radius: 50%; border: 1px dashed rgba(255,255,255,.13); animation: orbit 25s linear infinite; }
    .human-core::before { width: 245px; height: 245px; }
    .human-core::after { width: 315px; height: 315px; animation-direction: reverse; }
    .ethics-copy h2 { font-size: clamp(2.2rem,4vw,3.9rem); line-height: 1.02; letter-spacing: -.055em; margin: 16px 0 20px; }
    .ethics-copy > p { color: var(--muted); }
    .principles { margin-top: 27px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
    .principle { padding: 16px; border: 1px solid var(--line); border-radius: 14px; font-size: .75rem; color: var(--muted); }
    .principle b { display: block; color: var(--cream); font-size: .8rem; margin-bottom: 4px; }

    /* FAQ */
    .faq-wrap { max-width: 850px; margin: auto; }
    .faq-wrap .section-head { text-align: center; margin-inline: auto; }
    .faq-item { border-top: 1px solid var(--line); }
    .faq-item:last-child { border-bottom: 1px solid var(--line); }
    .faq-q { width: 100%; padding: 23px 4px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border: 0; background: transparent; color: var(--cream); text-align: left; cursor: pointer; font-size: .96rem; font-weight: 650; }
    .faq-q span:last-child { width: 28px; height: 28px; display: grid; place-items: center; flex: none; border: 1px solid var(--line); border-radius: 50%; transition: .3s; }
    .faq-item.open .faq-q span:last-child { transform: rotate(45deg); color: var(--coral); }
    .faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
    .faq-a p { color: var(--muted); padding: 0 45px 23px 4px; font-size: .88rem; }

    /* Final CTA + footer */
    .final-cta { padding: 110px 0; text-align: center; overflow: hidden; }
    .final-cta h2 { position: relative; font-size: clamp(3rem,7.8vw,7.4rem); letter-spacing: -.075em; line-height: .9; max-width: 1000px; margin: 18px auto 36px; }
    .final-cta .orb { width: 400px; height: 250px; background: var(--violet); left: 40%; top: 20%; opacity: .13; }
    .final-cta .hero-actions { justify-content: center; }
    footer { border-top: 1px solid var(--line); padding: 58px 0 25px; }
    .footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 35px; }
    .footer-brand p { color: var(--muted); max-width: 280px; font-size: .78rem; margin-top: 15px; }
    .footer-col h4 { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 15px; color: #73707a; }
    .footer-col a { display: block; color: #aaa6af; font-size: .78rem; margin: 9px 0; transition: color .2s; }
    .footer-col a:hover { color: var(--cream); }
    .footer-bottom { margin-top: 50px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; color: #66636c; font-size: .66rem; }

    .reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
    .reveal.visible { opacity: 1; transform: none; }

    @media (max-width: 940px) {
      .nav-links, .nav-actions .btn-secondary { display: none; }
      .menu-toggle { display: grid; }
      .nav-links.mobile { display: flex; position: fixed; inset: 78px 15px auto; padding: 25px; flex-direction: column; align-items: stretch; gap: 0; border: 1px solid var(--line); border-radius: 20px; background: rgba(17,17,25,.98); box-shadow: 0 30px 80px #000; }
      .nav-links.mobile a { padding: 14px 5px; border-bottom: 1px solid var(--line); }
      .hero-grid { grid-template-columns: 1fr; gap: 60px; }
      .hero { padding-top: 135px; }
      .hero-copy { text-align: center; }
      .hero-copy > p { margin-inline: auto; }
      .hero-actions, .hero-note { justify-content: center; }
      .scanner-card { max-width: 600px; margin: auto; transform: none; }
      .demo-shell, .usecase-panel, .proof-grid, .ethics-wrap { grid-template-columns: 1fr; }
      .demo-input { border-right: 0; border-bottom: 1px solid var(--line); }
      .proof-grid { gap: 45px; }
      .proof-stat { display: flex; align-items: end; gap: 25px; }
      .pricing-grid { grid-template-columns: 1fr; max-width: 590px; margin: auto; }
      .price-card.featured { transform: none; }
      .ethics-wrap { padding: 45px; gap: 25px; }
    }
    @media (max-width: 700px) {
      .container { width: min(calc(100% - 28px), var(--max)); }
      .section { padding: 78px 0; }
      .nav-actions > .btn { display: none; }
      .feature-card, .feature-card:nth-child(n) { grid-column: 1 / -1; min-height: 260px; }
      .feature-visual { opacity: .32; }
      .trust-inner { align-items: flex-start; flex-direction: column; }
      .logo-list { display: grid; grid-template-columns: 1fr 1fr; justify-items: start; }
      .usecase-panel.active { display: block; }
      .case-copy { padding: 34px; }
      .case-visual { min-height: 300px; }
      .proof { padding: 75px 0; }
      .proof-stat { border-left: 0; border-bottom: 1px solid rgba(0,0,0,.15); padding: 0 0 25px; }
      .ethics-wrap { padding: 28px; }
      .ethics-symbol { min-height: 280px; }
      .principles { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .footer-brand { grid-column: 1/-1; }
    }
    @media (max-width: 480px) {
      h1 { font-size: 3.55rem; }
      .hero-actions .btn { width: 100%; }
      .scanner-card { padding: 10px; }
      .mini-results { grid-template-columns: 1fr; }
      .demo-input, .demo-output { padding: 22px; }
      .demo-controls { grid-template-columns: 1fr; }
      .section-head { margin-bottom: 38px; }
      .ethics-symbol { transform: scale(.82); margin: -25px; }
      .footer-bottom { flex-direction: column; gap: 8px; }
    }

    /* Playful app layer — chat-first, tactile, and unmistakably TalkCheck */
    :root {
      --acid: #ffe33f;
      --mint: #c8f3cf;
      --lilac: #c5dcf7;
      --blush: #ffbdd1;
      --ink: #202038;
    }
    body {
      background:
        radial-gradient(circle at 8% 10%, rgba(138,108,255,.16), transparent 28rem),
        radial-gradient(circle at 92% 33%, rgba(85,219,224,.1), transparent 31rem),
        #0d0c12;
    }
    body::before {
      content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .16;
      background-image: radial-gradient(rgba(255,255,255,.34) 1px, transparent 1px);
      background-size: 25px 25px; mask-image: linear-gradient(to bottom, #000, transparent 80%);
    }
    .nav-wrap { padding-top: 18px; }
    .nav-wrap nav {
      width: min(calc(100% - 26px), 1120px); padding: 0 9px 0 17px;
      background: rgba(255,248,237,.91); color: var(--ink); border: 1px solid rgba(255,255,255,.65);
      border-radius: 999px; box-shadow: 0 12px 40px rgba(0,0,0,.2); backdrop-filter: blur(20px);
    }
    .nav-wrap.scrolled { padding: 9px 0; background: transparent; border: 0; backdrop-filter: none; }
    .nav-links { color: #55515e; }
    .nav-links a:hover { color: #111; }
    .brand-mark::after { background: var(--cream); color: var(--ink); }
    .nav-actions .btn-secondary { color: var(--ink); border-color: rgba(0,0,0,.13); background: rgba(0,0,0,.03); }
    .hero { padding-top: 150px; isolation: isolate; }
    .hero::after {
      content: "CHECK • LISTEN • REFINE •"; position: absolute; z-index: -1; left: -3vw; top: 19%;
      color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.055); font-size: 9vw; font-weight: 900;
      letter-spacing: -.07em; white-space: nowrap; transform: rotate(-6deg);
    }
    .status-pill { color: var(--ink); background: var(--acid); border-color: var(--acid); box-shadow: 5px 5px 0 var(--violet); transform: rotate(-2deg); }
    h1 { text-wrap: balance; }
    .hero-copy h1 em {
      position: relative; width: fit-content; margin: 4px 0; padding: .01em .16em .07em;
      color: var(--ink); background: var(--blush); border-radius: .18em; transform: rotate(-1.5deg);
      box-shadow: 8px 8px 0 var(--violet);
    }
    .hero-copy h1 em::after { content: "✦"; position: absolute; right: -.48em; top: -.34em; color: var(--acid); font-family: sans-serif; font-size: .38em; transform: rotate(12deg); }
    .hero-copy > p { color: #d2ced8; }
    .btn { border-radius: 16px; }
    .btn-primary { box-shadow: 5px 5px 0 rgba(138,108,255,.75); }
    .btn-primary:hover { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 rgba(138,108,255,.75); }
    .scanner-card {
      overflow: visible; padding: 13px; background: var(--cream); color: var(--ink); border: 0;
      border-radius: 38px; transform: perspective(1200px) rotateY(-4deg) rotateZ(1.5deg);
      box-shadow: 14px 17px 0 var(--violet), 0 42px 100px rgba(0,0,0,.48);
    }
    .scanner-card::before { display: none; }
    .scanner-top { color: #77717d; padding: 6px 11px 13px; }
    .window-dots i:first-child { background: var(--coral); }
    .window-dots i:nth-child(2) { background: var(--acid); }
    .window-dots i:last-child { background: var(--cyan); }
    .search-panel { background: #fff; border-color: rgba(0,0,0,.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.7); }
    .search-panel label, .mini-label { color: #6e6874; }
    .search-line input { color: var(--ink); }
    .scan-btn { border-radius: 50%; }
    .mini-card { color: var(--ink); background: var(--lilac); border: 0; }
    .mini-card:nth-child(2) { background: var(--mint); }
    .mini-card .score small, .sentiment-list li { color: #5f5965; }
    .mini-card .sentiment-list b { color: var(--ink); }
    .bar { background: rgba(0,0,0,.12); }
    .flag-card { color: #504a54; background: var(--blush); border: 0; border-radius: 18px; }
    .flag-card b { color: var(--ink); }
    .live-pop {
      position: absolute; z-index: 4; right: -30px; top: -46px; width: 230px; padding: 13px 34px 13px 50px;
      color: var(--ink); background: var(--acid); border: 2px solid var(--ink); border-radius: 19px;
      box-shadow: 5px 6px 0 var(--ink); font-size: .68rem; animation: popFloat 3.2s ease-in-out infinite;
    }
    .live-pop::before { content: "!"; position: absolute; left: 13px; top: 12px; width: 26px; height: 26px; display: grid; place-items: center; color: white; background: var(--coral); border-radius: 50%; font-weight: 900; }
    .live-pop b { display: block; font-size: .75rem; }
    .live-pop button { position: absolute; right: 10px; top: 8px; border: 0; background: none; cursor: pointer; color: var(--ink); }
    @keyframes popFloat { 50% { transform: translateY(-7px) rotate(1deg); } }

    .signal-ticker { overflow: hidden; padding: 13px 0; color: var(--ink); background: var(--acid); border-block: 2px solid var(--ink); transform: rotate(-.7deg) scale(1.02); }
    .ticker-track { display: flex; width: max-content; animation: ticker 22s linear infinite; }
    .ticker-track span { padding-right: 38px; font-size: .72rem; font-weight: 900; letter-spacing: .12em; white-space: nowrap; }
    .ticker-track i { color: var(--coral); font-style: normal; }
    @keyframes ticker { to { transform: translateX(-50%); } }

    .pulse-room { padding: 95px 0 40px; }
    .pulse-window { padding: 18px; color: var(--ink); background: #f5f0e8; border-radius: 36px; box-shadow: 12px 13px 0 rgba(85,219,224,.8); }
    .pulse-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 10px 11px 24px; }
    .pulse-head h2 { font-size: clamp(1.6rem,4vw,3rem); line-height: 1; letter-spacing: -.05em; }
    .pulse-head p { color: #6d6871; font-size: .75rem; }
    .shuffle-btn { border: 2px solid var(--ink); background: var(--acid); box-shadow: 4px 4px 0 var(--ink); color: var(--ink); }
    .pulse-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
    .pulse-card { min-height: 205px; padding: 20px; border: 1px solid rgba(0,0,0,.11); border-radius: 26px; background: white; transition: transform .3s, background .3s; }
    .pulse-card:nth-child(2) { background: var(--lilac); }
    .pulse-card:nth-child(3) { background: var(--mint); }
    .pulse-card:hover { transform: translateY(-7px) rotate(-1deg); }
    .pulse-person { display: flex; align-items: center; gap: 10px; font-size: .78rem; font-weight: 800; }
    .pulse-avatar { position: relative; width: 39px; height: 39px; display: grid; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--blush); }
    .pulse-avatar::after { content: ""; position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px; background: #40d887; border: 2px solid white; border-radius: 50%; }
    .pulse-message { position: relative; margin-top: 28px; padding: 14px; background: rgba(255,255,255,.72); border-radius: 6px 18px 18px 18px; font-family: Georgia,serif; font-size: .95rem; line-height: 1.35; }
    .pulse-meta { display: flex; justify-content: space-between; margin-top: 13px; color: #77717b; font-size: .65rem; }

    .feature-card { border: 0; border-radius: 36px; color: var(--ink); background: var(--lilac); box-shadow: 7px 7px 0 rgba(255,255,255,.1); }
    .feature-card:nth-child(2) { background: var(--mint); }
    .feature-card:nth-child(3) { background: var(--blush); }
    .feature-card:nth-child(4) { background: var(--acid); }
    .feature-card h3 { font-size: 1.55rem; }
    .feature-card p, .feature-number { color: #625d67; }
    .feature-card .feature-icon { color: var(--ink) !important; background: rgba(255,255,255,.55) !important; border-color: rgba(0,0,0,.1); border-radius: 50%; }
    .feature-card::after { position: absolute; right: 22px; bottom: 18px; font-size: 2.4rem; transform: rotate(10deg); }
    .feature-card:nth-child(1)::after { content: "★"; }
    .feature-card:nth-child(2)::after { content: "☎"; }
    .feature-card:nth-child(3)::after { content: "@"; }
    .feature-card:nth-child(4)::after { content: "☻"; }
    .demo-section { background: #16131e; }
    .demo-shell { border: 0; border-radius: 38px; background: var(--cream); color: var(--ink); box-shadow: 12px 13px 0 var(--coral); }
    .demo-input { border-color: rgba(0,0,0,.12); }
    .panel-kicker { color: #706a75; }
    .demo-input textarea { color: var(--ink); background: white; border-color: rgba(0,0,0,.12); border-radius: 22px; }
    select { color: var(--ink); background: #ede7f7; border-color: rgba(0,0,0,.1); }
    .select-wrap label, .demo-disclaimer { color: #716b76; }
    .demo-output { color: var(--ink); background: var(--lilac); }
    .output-placeholder p { color: #625c69; }
    .loader { background: rgba(215,202,255,.95); }
    .result-score, .result-block { background: rgba(255,255,255,.72); border-color: rgba(0,0,0,.1); }
    .result-block h4, .result-score small { color: #6b6570; }
    .risk-list li, .reaction { color: #4f4a54; }
    .tone-lenses { margin: 14px 0 16px; }
    .tone-lenses > span { display: block; margin-bottom: 7px; color: #77717d; font-size: .65rem; }
    .lens-row { display: flex; flex-wrap: wrap; gap: 6px; }
    .lens { padding: 8px 11px; border: 1px solid rgba(0,0,0,.13); border-radius: 999px; background: white; color: #625c67; cursor: pointer; font-size: .69rem; transition: .2s; }
    .lens:hover, .lens.active { color: var(--ink); background: var(--acid); border-color: var(--ink); box-shadow: 2px 2px 0 var(--ink); transform: translate(-1px,-1px); }
    .usecase-panel { border: 0; border-radius: 38px; background: var(--lilac); color: var(--ink); box-shadow: 10px 10px 0 rgba(255,107,95,.7); }
    .case-copy p { color: #625c68; }
    .case-visual { background: radial-gradient(circle at 50% 50%, rgba(85,219,224,.4), transparent 55%), #fffaf1; }
    .case-center { color: #5e5862; background: rgba(255,255,255,.8); border-color: rgba(0,0,0,.12); }
    .case-center strong { color: var(--ink); }
    .tab { border-radius: 14px; }
    .tab:hover, .tab.active { color: var(--ink); background: var(--acid); border-color: var(--ink); box-shadow: 3px 3px 0 var(--coral); }
    .price-card { border: 0; border-radius: 34px; }
    .price-card:nth-child(1) { background: #23202d; }
    .price-card:nth-child(2) { color: var(--ink); background: var(--lilac); box-shadow: 9px 9px 0 var(--cyan); }
    .price-card:nth-child(2) > p, .price-card:nth-child(2) .price span, .price-card:nth-child(2) .price-list { color: #625d67; }
    .price-card:nth-child(2) .price-list { border-color: rgba(0,0,0,.13); }
    .price-card:nth-child(3) { background: #23202d; }
    .ethics-wrap { border-radius: 42px; }
    .faq-q { font-size: 1.04rem; }
    .faq-q span:last-child { background: var(--acid); color: var(--ink); border: 0; }

    .app-dock { position: fixed; z-index: 45; left: 50%; bottom: 18px; display: flex; gap: 5px; padding: 6px; transform: translateX(-50%); background: rgba(255,248,237,.93); border: 1px solid white; border-radius: 22px; box-shadow: 0 14px 38px rgba(0,0,0,.28); backdrop-filter: blur(16px); }
    .dock-link { position: relative; width: 45px; height: 43px; display: grid; place-items: center; border: 0; border-radius: 15px; color: var(--ink); background: transparent; cursor: pointer; font-size: 1rem; transition: .2s; }
    .dock-link:hover { background: var(--lilac); transform: translateY(-4px); }
    .dock-link[data-label]::after { content: attr(data-label); position: absolute; bottom: 51px; padding: 4px 7px; color: white; background: var(--ink); border-radius: 7px; font-size: .58rem; opacity: 0; pointer-events: none; transform: translateY(5px); transition: .2s; }
    .dock-link:hover::after { opacity: 1; transform: none; }
    .dock-link.spark { color: var(--ink); background: var(--acid); }
    .confetti { position: fixed; z-index: 100; width: 9px; height: 15px; pointer-events: none; animation: confettiFly 1.2s ease-out forwards; }
    @keyframes confettiFly { to { transform: translate(var(--x), var(--y)) rotate(540deg); opacity: 0; } }
    body.play-mode .feature-card { animation: happyWiggle .6s ease both; }
    @keyframes happyWiggle { 25% { transform: rotate(1.5deg) scale(1.01); } 60% { transform: rotate(-1deg) scale(1.02); } }

    @media (max-width: 940px) {
      .nav-links.mobile { color: var(--ink); background: rgba(255,248,237,.98); border-color: rgba(0,0,0,.12); }
      .scanner-card { transform: rotate(1deg); }
      .live-pop { right: -5px; }
    }
    @media (max-width: 700px) {
      .pulse-grid { grid-template-columns: 1fr; }
      .pulse-card { min-height: 170px; }
      .pulse-head { align-items: flex-start; flex-direction: column; }
      .signal-ticker { margin-top: 10px; }
      .app-dock { bottom: 10px; }
      footer { padding-bottom: 85px; }
    }
    @media (max-width: 480px) {
      .nav-wrap nav { width: calc(100% - 18px); }
      .hero { padding-top: 125px; }
      .hero-copy h1 em { margin-inline: auto; }
      .live-pop { top: -42px; width: 205px; }
      .scanner-card { margin-top: 25px; box-shadow: 8px 10px 0 var(--violet); }
      .pulse-window { border-radius: 28px; box-shadow: 7px 8px 0 rgba(85,219,224,.8); }
      .app-dock .dock-link:nth-child(3) { display: none; }
    }

    /* Phoning-inspired color + type tuning: light, youthful, conversational */
    body {
      color: var(--ink);
      font-family: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
      background: #f7f7f1;
    }
    h1, h2, h3, .brand, .btn, .price, .score, .pulse-head h2 {
      font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
    }
    .nav-wrap .brand { letter-spacing: -.045em; }
    .nav-wrap .brand::after {
      content: "ONLINE"; margin-left: 2px; padding: 3px 6px; color: var(--ink); background: #c8f3cf;
      border: 1px solid var(--ink); border-radius: 999px; font-family: "Courier New", monospace;
      font-size: .48rem; font-weight: 800; letter-spacing: .08em;
    }
    .brand-mark { width: 38px; height: 34px; transform: rotate(-6deg); }
    .brand-mark::before {
      inset: 1px; clip-path: none; border: 2px solid var(--ink); border-radius: 52% 52% 52% 14%;
      background: #ffe33f; box-shadow: 3px 3px 0 #55d980;
    }
    .brand-mark::after {
      content: "✦"; width: 28px; height: 28px; clip-path: none; border-radius: 0;
      color: var(--ink); background: transparent; font-size: 1rem; transform: rotate(6deg);
    }
    body::before {
      opacity: .2;
      background-image: radial-gradient(rgba(32,32,56,.22) 1px, transparent 1px);
    }
    .noise { opacity: .018; }
    .hero {
      color: var(--ink);
      background:
        radial-gradient(circle at 88% 12%, rgba(85,217,128,.48), transparent 23rem),
        radial-gradient(circle at 12% 88%, rgba(255,189,209,.65), transparent 26rem),
        linear-gradient(145deg, #ffe33f 0%, #ffeb78 48%, #fff4b1 100%);
      border-bottom: 2px solid var(--ink);
    }
    .hero-grid::before {
      content: "TALKCHECK_01"; position: absolute; right: 4%; bottom: 28px; padding: 5px 8px;
      color: var(--ink); background: rgba(255,253,244,.7); border: 1px solid var(--ink); border-radius: 6px;
      font-family: "Courier New", monospace; font-size: .58rem; letter-spacing: .1em; transform: rotate(-2deg);
    }
    .y2k-icon-cloud { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
    .y2k-icon-cloud span {
      position: absolute; width: 52px; height: 52px; display: grid; place-items: center;
      color: var(--ink); background: rgba(255,253,244,.74); border: 2px solid var(--ink); border-radius: 14px;
      box-shadow: 4px 4px 0 currentColor; font-size: 1.35rem; animation: iconDrift 5s ease-in-out infinite;
    }
    .y2k-icon-cloud span:nth-child(1) { left: 3%; top: 25%; color: #3479b8; transform: rotate(-11deg); }
    .y2k-icon-cloud span:nth-child(2) { left: 46%; bottom: 5%; color: #dc5888; transform: rotate(8deg); animation-delay: -.8s; }
    .y2k-icon-cloud span:nth-child(3) { right: 2%; top: 49%; color: #168c49; transform: rotate(13deg); animation-delay: -1.6s; }
    .y2k-icon-cloud span:nth-child(4) { left: 36%; top: 17%; width: 38px; height: 38px; color: var(--ink); background: #ffbdd1; border-radius: 50%; font-size: .9rem; animation-delay: -2.4s; }
    @keyframes iconDrift { 50% { translate: 0 -9px; rotate: 4deg; } }
    .hero::after { -webkit-text-stroke-color: rgba(32,32,56,.09); }
    .hero::before { border-color: rgba(32,32,56,.13); box-shadow: 0 0 0 100px rgba(255,255,255,.08), 0 0 0 200px rgba(32,32,56,.025); }
    .hero-orb-1 { background: #8fbef4; opacity: .42; }
    .hero-orb-2 { background: #ff9fbd; opacity: .45; }
    .status-pill { color: var(--ink); background: #fffdf4; border: 2px solid var(--ink); box-shadow: 5px 5px 0 #55d980; }
    .status-dot { background: #39bd68; box-shadow: 0 0 0 5px rgba(57,189,104,.16); }
    .hero-copy h1 { color: var(--ink); font-weight: 900; }
    .hero-copy h1 em { color: var(--ink); background: #ffbdd1; box-shadow: 8px 8px 0 #8fbef4; }
    .hero-copy h1 em::after { color: #2cb963; }
    .hero-copy > p { color: #4f4d57; font-weight: 520; }
    .hero-note { color: #65616a; }
    .hero-note svg { color: #188847; }
    .btn-primary { color: var(--ink); background: #55d980; box-shadow: 5px 5px 0 #202038; }
    .btn-primary:hover { color: var(--ink); background: #6fe493; box-shadow: 8px 8px 0 #202038; }
    .hero .btn-secondary { color: var(--ink); background: rgba(255,253,244,.72); border: 2px solid var(--ink); }
    .scanner-card { background: #fffdf4; box-shadow: 14px 17px 0 #8fbef4, 0 42px 100px rgba(72,62,32,.22); }
    .scan-btn { color: var(--ink); background: #55d980; }
    .scan-btn:active { transform: translate(2px,2px); }
    .scan-progress span, .bar span { background: linear-gradient(90deg, #55d980, #ffe33f, #ff9fbd); }
    .risk-pill, .score { color: #9b6a00; }
    .live-pop { background: #c8f3cf; }
    .live-pop::before { color: var(--ink); background: #ff9fbd; }
    .trust-strip { color: var(--ink); background: #fffdf4; border-color: rgba(32,32,56,.16); }
    .trust-inner > span, .logo-list { color: #696673; }
    .signal-ticker { background: #55d980; }
    .ticker-track i { color: #fffdf4; }
    .pulse-room, #features, #use-cases, #pricing, #ethics, #faq { background: #f7f7f1; }
    .pulse-window { background: #fffdf4; box-shadow: 12px 13px 0 #8fbef4; }
    .pulse-card:nth-child(2) { background: #c5dcf7; }
    .pulse-card:nth-child(3) { background: #c8f3cf; }
    .pulse-avatar { background: #ffbdd1; }
    .pulse-avatar::after { background: #36c86a; }
    .shuffle-btn, .lens:hover, .lens.active, .tab:hover, .tab.active, .faq-q span:last-child, .dock-link.spark { background: #ffe33f; }
    .section-head h2, .ethics-copy h2, .final-cta h2 { color: var(--ink); }
    .section-head p, .ethics-copy > p, .faq-a p { color: #696673; }
    .eyebrow { color: #248f50; }
    .gradient-text {
      background-image: linear-gradient(100deg, #ef6f9c, #497fbf, #168e4b);
    }
    .feature-card { box-shadow: 7px 7px 0 rgba(32,32,56,.14); }
    .feature-card:nth-child(1) { background: #c5dcf7; }
    .feature-card:nth-child(2) { background: #c8f3cf; }
    .feature-card:nth-child(3) { background: #ffbdd1; }
    .feature-card:nth-child(4) { background: #ffe33f; }
    .demo-section { background: #202038; }
    .demo-section .section-head h2 { color: #fffdf4; }
    .demo-section .section-head p { color: #c7c5ce; }
    .demo-section .eyebrow { color: #79e59c; }
    .demo-shell { background: #fffdf4; box-shadow: 12px 13px 0 #55d980; }
    .demo-output { background: #c5dcf7; }
    .loader { background: rgba(197,220,247,.96); }
    .placeholder-orb { color: #2c669f; border-color: rgba(44,102,159,.35); box-shadow: inset 0 0 35px rgba(143,190,244,.2), 0 0 45px rgba(143,190,244,.24); }
    .placeholder-orb::before, .placeholder-orb::after { border-color: rgba(85,217,128,.36); }
    .usecase-panel { background: #c5dcf7; box-shadow: 10px 10px 0 #ff9fbd; }
    .case-visual { background: radial-gradient(circle at 50% 50%, rgba(85,217,128,.48), transparent 55%), #fffdf4; }
    .orbit::before { background: #ff9fbd; box-shadow: 0 0 18px #ff9fbd; }
    .orbit::after { background: #55d980; box-shadow: 0 0 18px #55d980; }
    .proof { color: var(--ink); background: #ffe33f; }
    .avatar { background: linear-gradient(135deg,#ff9fbd,#8fbef4); }
    .price-card:nth-child(1), .price-card:nth-child(3) { color: #fffdf4; background: #202038; }
    .price-card:nth-child(2) { background: #c5dcf7; border-color: #8fbef4; box-shadow: 9px 9px 0 #55d980; }
    .popular { color: var(--ink); background: #ffe33f; }
    .price-list li::before { color: #55d980; }
    .ethics-wrap { color: var(--ink); background: linear-gradient(135deg, rgba(85,217,128,.2), transparent 42%, rgba(143,190,244,.23)), #fffdf4; border-color: rgba(32,32,56,.13); }
    .human-core { background: radial-gradient(circle, rgba(255,159,189,.44), rgba(255,189,209,.08) 60%); border-color: rgba(239,111,156,.46); }
    .principle { color: #696673; border-color: rgba(32,32,56,.13); background: rgba(255,255,255,.5); }
    .principle b { color: var(--ink); }
    .faq-item { border-color: rgba(32,32,56,.16); }
    .faq-q { color: var(--ink); }
    .final-cta { background: #c8f3cf; }
    .final-cta .orb { background: #8fbef4; opacity: .35; }
    .final-cta .btn-secondary { color: var(--ink); background: #fffdf4; border: 2px solid var(--ink); }
    footer { color: #fffdf4; background: #202038; }
    .footer-brand p, .footer-col a { color: #c9c7d0; }
    .footer-bottom { color: #aaa8b4; }
    .app-dock { background: rgba(255,253,244,.95); }
    .dock-link:hover { background: #c5dcf7; }
    .confetti:nth-child(3n) { background: #55d980 !important; }
    .confetti:nth-child(3n + 1) { background: #ffe33f !important; }
    .confetti:nth-child(3n + 2) { background: #ff9fbd !important; }

    @media (max-width: 940px) {
      .nav-links.mobile { background: rgba(255,253,244,.98); }
      .y2k-icon-cloud span:nth-child(1), .y2k-icon-cloud span:nth-child(3) { display: none; }
    }
    @media (max-width: 700px) {
      .y2k-icon-cloud { display: none; }
    }
    .load-error {
      position: fixed; z-index: 1000; inset: 20px; margin: auto; width: min(520px, calc(100% - 40px)); height: fit-content;
      padding: 24px; color: var(--ink); background: #fffdf4; border: 2px solid var(--ink); border-radius: 20px;
      box-shadow: 8px 8px 0 #ff9fbd; font-weight: 700; text-align: center;
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
      .reveal { opacity: 1; transform: none; }
    }
