:root {
  --ink: #15171c;
  --paper: #f7f8fa;
  --acid: #3157c8;
  --coral: #3157c8;
  --blue: #eef1f7;
  --line: rgba(21, 23, 28, .16);
  --brand-ink: #15171c;
  --brand-muted: #5f6672;
  --brand-surface: #eef1f5;
  --brand-accent: #3157c8;
  --brand-accent-hover: #2446ae;
  --brand-border: #cfd4dd;
  --font-display: "Dense", "Avenir Next Condensed", "Arial Narrow", sans-serif;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { background: var(--brand-ink); }
body { background: var(--paper); color: var(--brand-ink); font-family: var(--font-body); font-size: 16px; line-height: 1.62; }
::selection { background: var(--brand-accent); color: #fff; }
.noise { opacity: .012; }

/* One wordmark, generated by the site. */
.logo-link { width: auto !important; min-width: 92px; height: auto !important; overflow: visible !important; }
.brand-logo { display: none !important; background-image: none !important; }
.brand-name { display: block; color: currentColor !important; font-family: var(--font-display); font-size: 1.8rem !important; font-stretch: condensed; font-weight: 800; line-height: 1; letter-spacing: .035em !important; }
.brand-name::after { content: none !important; }
.footer-logo { width: auto !important; height: auto !important; display: block !important; background: none !important; color: #fff; font-family: var(--font-display); font-size: 1.8rem; font-weight: 800; line-height: 1; letter-spacing: .035em; }
.footer-logo::before { content: "NIKA"; }
.footer-logo::after { content: none !important; }

.site-header { min-height: 72px; padding: 13px 28px; background: rgba(21, 23, 28, .96) !important; color: #fff !important; border-bottom: 1px solid rgba(255, 255, 255, .12); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); mix-blend-mode: normal !important; }
.site-header.header-on-light { color: #fff !important; }
.nav { gap: 24px; font-size: .78rem; }
.nav a:last-child { padding: 10px 14px; border: 1px solid var(--brand-accent); border-radius: 4px; background: var(--brand-accent); color: #fff; box-shadow: 0 8px 20px rgba(49, 87, 200, .22); transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.nav a:last-child::after { display: none; }
.nav a:last-child:hover, .nav a:last-child:focus-visible { background: var(--brand-accent-hover); border-color: var(--brand-accent-hover); transform: translateY(-2px); box-shadow: 0 12px 26px rgba(36, 70, 174, .3); }

/* Dense is reserved for display typography; body copy stays neutral and readable. */
h1, h2, h3, .mega-label, .mega-metric, .result-card > strong, .metric b, .business-metrics b, .popup-result > strong, .vm-wordmark, .email-growth > div:first-child, .fame-stamp b { font-family: var(--font-display); font-stretch: condensed; }

.hero, .case-hero { min-height: 660px; padding: 142px 0 72px; background: var(--brand-ink); color: #fff; }
.home-hero h1, .hero h1, .case-hero h1, .vm-hero h1, .yeti-hero h1 { max-width: 15ch; margin: 0; font-size: clamp(3rem, 5vw, 5rem); font-weight: 700; line-height: 1.02; letter-spacing: -.025em; text-transform: none; }
.home-hero .accent, .case-hero h1 em, .closing-statement em { background: none; -webkit-background-clip: initial; background-clip: initial; color: #8fa8ef; }
.hero-orbit { display: none; }
.hero-kicker { color: #aeb4bf; }
.hero-bottom { margin-top: 36px; }
.hero-bottom p, .case-deck p { color: #c8ccd4; font-size: 1rem; }
.case-hero .ghost { opacity: .16; font-size: clamp(7rem, 20vw, 20rem); }
.case-hero-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: clamp(36px, 5vw, 84px); align-items: center; }
.case-hero-copy { position: relative; z-index: 1; min-width: 0; }
.case-hero-copy .keep-line { white-space: nowrap; }
.case-hero-layout .case-deck { grid-template-columns: 1fr; gap: 26px; align-items: start; }
.case-hero-layout .case-actions { justify-content: flex-start; }
.case-phone-visual { position: relative; z-index: 1; width: 100%; max-width: 430px; margin: -26px auto -54px; align-self: end; }
.case-phone-visual img { display: block; width: 100%; height: auto; max-height: 640px; object-fit: contain; object-position: center bottom; mix-blend-mode: screen; filter: drop-shadow(0 24px 36px rgba(0, 0, 0, .3)); }
.hero-stage { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: clamp(42px, 6vw, 96px); align-items: center; }
.hero-copy { min-width: 0; }
.founder-video { align-self: center; width: 100%; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.founder-video-frame { min-height: 310px; padding: 24px; position: relative; overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; border: 1px solid rgba(255, 255, 255, .22); border-radius: 4px; background: linear-gradient(145deg, #232732, #15171c 72%); }
.founder-video-frame::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 35%, rgba(49, 87, 200, .18)); pointer-events: none; }
.founder-video-kicker, .founder-video-note { position: relative; z-index: 1; color: #b9bec8; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.founder-video-play { position: relative; z-index: 1; align-self: center; justify-self: center; width: 72px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; background: var(--brand-accent); color: #fff; font-size: 1.15rem; padding-left: 4px; box-shadow: 0 16px 40px rgba(0, 0, 0, .22); }
.founder-video-meta { display: flex; justify-content: space-between; gap: 20px; margin-top: 14px; color: #fff; }
.founder-video-meta strong { font-family: var(--font-display); font-size: 1.25rem; letter-spacing: .01em; }
.founder-video-meta span { color: #aeb4bf; font-size: .82rem; text-align: right; }

.pulse-dot { background: var(--brand-accent) !important; box-shadow: 0 0 0 8px rgba(49, 87, 200, .16) !important; }

/* Branded cross-page transition in the same graphite/cobalt system. */
.page-transition { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; overflow: hidden; pointer-events: none; background: var(--brand-ink); color: #fff; transform: translateX(-105%); transition: transform .46s cubic-bezier(.77, 0, .18, 1); }
.page-transition::before { content: "NIKA"; font-family: var(--font-display); font-size: clamp(3.5rem, 9vw, 8rem); font-weight: 800; letter-spacing: .035em; }
.page-transition::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--brand-accent); transform: scaleX(.12); transform-origin: left; transition: transform .44s cubic-bezier(.77, 0, .18, 1); }
.page-transition.is-entering { transform: translateX(0); transition: none; }
.page-transition.entered { transform: translateX(105%); }
.page-transition.entered::after { transform: scaleX(1); }
body.is-leaving .page-transition.entered, body.is-leaving .page-transition { transform: translateX(0); }
body.is-leaving .page-transition::after { transform: scaleX(1); }

.section { padding: 84px 0; }
.section h2, .partners-band h2, .contact h2, .case-contact h2, .next-case h2 { max-width: 18ch; margin-bottom: 48px; font-size: clamp(2.2rem, 3.6vw, 3.65rem); font-weight: 700; line-height: 1.08; letter-spacing: -.02em; text-transform: none; }
.section-lead { max-width: 760px; margin: -18px 0 50px; color: var(--brand-muted); font-size: clamp(1.05rem, 1.45vw, 1.3rem); line-height: 1.6; }
.about-copy, .case-intro p, .yeti-fame p { font-size: clamp(1.2rem, 1.8vw, 1.6rem); line-height: 1.5; }
.mega-label { font-size: clamp(2.35rem, 3.8vw, 3.75rem); line-height: 1.02; letter-spacing: -.02em; }
.mega-metric { font-size: clamp(4rem, 8vw, 7.5rem); line-height: .9; letter-spacing: -.035em; }
.closing-statement { font-size: clamp(2rem, 3.4vw, 3.4rem); line-height: 1.12; letter-spacing: -.02em; }
.brand-manifesto strong { font-family: var(--font-display); font-size: clamp(2.6rem, 4.6vw, 4.5rem); line-height: 1; letter-spacing: -.02em; }
.fame-stamp b { font-size: clamp(1.8rem, 2.8vw, 2.8rem); line-height: 1; }

/* A single four-colour system across every route. */
.section.dark, .faq-section, .next-case, .footer { background: var(--brand-ink) !important; color: #fff !important; }
.brand-manifesto, .partners-band, .vm-product-band, .yeti-fame, .investor-section, .retention-section, .positioning, .subscription-section, .acquisition, .amazon-section, .conversion-section, .product-system, .ip-section, .ticker { background: var(--brand-surface) !important; color: var(--brand-ink) !important; }
.partners-band, .yeti-fame, .brand-manifesto { padding: 84px 0; }
.brand-manifesto .wrap { grid-template-columns: .45fr 1fr .75fr; gap: 48px; }
.fit-section { background: var(--brand-surface) !important; }
.fit-grid article:last-child { background: var(--brand-ink) !important; color: #fff !important; border-color: var(--brand-ink) !important; }
.fit-grid article:last-child span { color: #9bb0ed; }
.fit-grid article:last-child p { color: #fff !important; }
.contact { background: #fff !important; color: var(--brand-ink) !important; border-top: 1px solid var(--brand-border); }
.contact h2 { color: var(--brand-ink) !important; }
.contact-copy { color: var(--brand-muted) !important; }
.contact .eyebrow { color: var(--brand-accent); }
.contact-row { border-top-color: var(--brand-border); }
.diagnosis-points li { border-color: var(--brand-border) !important; background: var(--brand-surface); }

.eyebrow { color: var(--brand-accent); }
.dark .eyebrow { color: #9bb0ed; }
.eyebrow::before, .contact .eyebrow::before { background: currentColor; }
.service b, .partner-logo em, .challenge-item > b, .deliverable > b, .outcome-grid b, .comparison .nika-col, .comparison > div > b:last-child { color: var(--brand-accent) !important; }
.founder-chip > span { background: var(--brand-accent) !important; }

.founder-chip, .advisor-card, .artifact-placeholder, .email-growth, .notification, .visual-card, .fame-stamp { background: #fff; border-color: var(--brand-border); box-shadow: 0 10px 28px rgba(21, 23, 28, .1); transform: none; }
.visual-card, .two-panel article, .message-shift > div, .screen-placeholder, .data-grid, .email-growth { border-color: var(--brand-border); }
.artifact-row span, .artifact-row span:last-child, .screen-primary { background: #e4e8ef; }

.result-card, .service, .fit-grid article, .challenge-item, .deliverable, .metric, .business-metrics article, .channel-grid article, .expansion-grid article, .partner-grid > *, .project-facts div { min-height: 0; border-color: rgba(255, 255, 255, .17); background: rgba(255, 255, 255, .035); }
.section:not(.dark) .metric, .section:not(.dark) .challenge-item, .section:not(.dark) .business-metrics article, .section:not(.dark) .project-facts div, .fit-grid article, .partner-grid > *, .service { background: #fff; border-color: var(--brand-border); }
.result-card { min-height: 390px; }
.result-card h3 { margin: 36px 0 22px; font-size: 1.45rem; line-height: 1.25; text-transform: none; }
.result-card > strong { font-size: clamp(2.5rem, 3.6vw, 3.8rem); }
.result-card:hover { background: #222630; color: #fff; transform: translateY(-4px); }
.result-card:hover p, .result-card:hover > span { color: #c8ccd4; }
.system-steps article { min-height: 220px; }
.system-steps h3 { margin-top: 42px; font-size: 1.25rem; text-transform: none; }
.service { min-height: 260px; }
.service:hover { background: var(--brand-surface); color: var(--brand-ink); }
.service h3, .capability-list h3, .step h3, .deliverable h3, .challenge-item h3 { text-transform: none; }
.founder-chip small, .metric span, .business-metrics span, .service p,
.fit-grid p, .long-copy p, .story-block p, .message-shift p,
.notification small, .project-facts dt, .modal-form small,
.hero-actions + small { color: var(--brand-muted) !important; }
.section.dark p, .section.dark .section-lead, .result-card p,
.result-card > span, .outcome-grid p, .channel-grid p,
.deliverable p, .challenge-item p, .case-deck p {
  color: #b9bec8 !important;
}
.section.dark .tag, .section.dark .leak-tags span,
.case-tags .tag { border-color: rgba(255, 255, 255, .28) !important; }

.pill-cta, .round-cta, .modal-form button, .diagnosis-form button { background: var(--brand-accent); color: #fff; border-color: var(--brand-accent); box-shadow: 0 10px 24px rgba(49, 87, 200, .2); }
.pill-cta.light { background: #fff; color: var(--brand-ink); border-color: #fff; }
.pill-cta:hover, .round-cta:hover, .modal-form button:hover, .diagnosis-form button:hover { background: var(--brand-accent-hover); color: #fff; border-color: var(--brand-accent-hover); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(36, 70, 174, .28); }
.pill-cta, .round-cta, .modal-form button, .diagnosis-form button, .contact-link, .faq > a { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease; }
.case-contact .contact-link { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 20px; border: 1px solid var(--brand-accent); border-radius: 4px; background: var(--brand-accent); color: #fff; box-shadow: 0 10px 24px rgba(49, 87, 200, .2); font-size: .82rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.case-contact .contact-link:hover { background: var(--brand-accent-hover); border-color: var(--brand-accent-hover); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(36, 70, 174, .28); }
.faq > a { padding: 12px 16px; border: 1px solid var(--brand-accent); border-radius: 4px; background: var(--brand-accent); color: #fff !important; box-shadow: 0 10px 24px rgba(49, 87, 200, .2); }
.faq > a:hover { border-color: var(--brand-accent-hover); background: var(--brand-accent-hover); color: #fff !important; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(36, 70, 174, .28); }
.scroll-pill { border-color: #fff; background: #fff; color: var(--brand-ink); box-shadow: 0 10px 24px rgba(0, 0, 0, .2); transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; }
.scroll-pill:hover, .scroll-pill:focus-visible { border-color: var(--brand-accent); background: var(--brand-accent); color: #fff; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(49, 87, 200, .3); }
.case-links a { border: 0 !important; background: var(--brand-accent); color: #fff; box-shadow: 0 8px 20px rgba(49, 87, 200, .18); transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.case-links a:hover, .case-links a:focus-visible { border-color: var(--brand-accent-hover); background: var(--brand-accent-hover); color: #fff; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(36, 70, 174, .28); }
.case-actions a.tag { border-color: var(--brand-accent) !important; background: var(--brand-accent); color: #fff; box-shadow: 0 8px 20px rgba(49, 87, 200, .2); transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.case-actions a.tag:hover, .case-actions a.tag:focus-visible { border-color: var(--brand-accent-hover) !important; background: var(--brand-accent-hover); color: #fff; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(36, 70, 174, .3); }
.tag, .leak-tags span, .diagnosis-points li, .flow-pills i, .flow-line i { border-radius: 4px; }
.flow-pills i, .flow-line i { background: var(--brand-ink); color: #fff; }
.case-quote { color: var(--brand-accent); font-size: clamp(1.75rem, 2.8vw, 2.8rem); line-height: 1.25; }
.dark .case-quote { color: #9bb0ed; }
.partner-grid a { background: var(--brand-ink); color: #fff; }
.partner-grid a:hover { background: var(--brand-accent); }

.metric b, .business-metrics b { font-size: clamp(2.15rem, 3.2vw, 3.4rem); letter-spacing: -.02em; }
.email-growth > div:first-child { font-size: clamp(2.1rem, 3.7vw, 3.7rem); letter-spacing: -.02em; }
.popup-result > strong { font-size: clamp(2.4rem, 4vw, 4rem); }
.vm-wordmark span, .vm-wordmark strong { font-size: clamp(2.5rem, 4.6vw, 4.2rem); }
.contact-link { font-size: clamp(1.1rem, 1.8vw, 1.55rem); }

/* Virtual MD: tighter challenge rhythm after removing the product mockup section. */
.virtual-challenge h2 { margin-bottom: 22px; }
.virtual-challenge .section-lead { margin: 0 0 30px; }
.virtual-challenge .challenge-item { padding: 26px 28px; }
.virtual-challenge .challenge-item h3 { margin: 18px 0 10px; }
.virtual-challenge .challenge-item p { margin-bottom: 0; }

/* Keep the next-case label and its action on one visual center line. */
.next-case .wrap { align-items: center; }
.next-case h2 { margin: 12px 0 0; }
.next-case .arrow { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid var(--brand-accent); background: transparent; color: #fff; }
.next-case:hover .arrow, .next-case:focus-visible .arrow { border-color: var(--brand-accent); background: var(--brand-accent); color: #fff; transform: translate(3px, -3px); }

.growth-modal { background: #fff; color: var(--brand-ink); border-color: var(--brand-border); }
.growth-modal::backdrop { background: rgba(21, 23, 28, .76); }
.modal-intro > span { color: var(--brand-accent); }
.modal-intro p, .modal-form small { color: var(--brand-muted); }
.modal-form input, .modal-form select, .modal-form textarea { background: #f7f8fa; color: var(--brand-ink); border-color: var(--brand-border); }
.diagnosis-form input, .diagnosis-form select, .diagnosis-form textarea { background: #f7f8fa; color: var(--brand-ink); border-color: var(--brand-border); }
.modal-form input:focus, .modal-form select:focus, .modal-form textarea:focus,
.diagnosis-form input:focus, .diagnosis-form select:focus, .diagnosis-form textarea:focus,
.modal-form input:focus-visible, .modal-form select:focus-visible, .modal-form textarea:focus-visible,
.diagnosis-form input:focus-visible, .diagnosis-form select:focus-visible, .diagnosis-form textarea:focus-visible {
  outline: none !important;
  border-color: var(--brand-accent) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(49, 87, 200, .18) !important;
}
.modal-close { color: var(--brand-ink); border-color: var(--brand-border); }
.footer { padding-top: 54px; }
.footer-row { border-color: rgba(255, 255, 255, .18); }

/* Borderless content system: separation comes from spacing and surface contrast. */
.result-card,
.founder-video-frame,
.service,
.system-steps article,
.fit-grid article,
.challenge-item,
.deliverable,
.metric,
.business-metrics article,
.channel-grid article,
.expansion-grid article,
.partner-grid > *,
.project-facts div,
.outcome-grid article,
.two-panel article,
.message-shift > div,
.screen-placeholder,
.advisor-card,
.founder-chip,
.artifact-placeholder,
.artifact-row span,
.email-growth,
.data-grid,
.data-grid span,
.notification,
.visual-card,
.fame-stamp,
.impact-note,
.popup-result,
.diagnosis-points li,
.symptoms span {
  border: 0 !important;
}

.metric-grid,
.project-facts,
.challenge-grid,
.deliverables,
.outcome-grid,
.business-metrics,
.channel-grid,
.expansion-grid,
.partner-grid,
.data-grid,
.services {
  border: 0 !important;
  gap: 10px;
}

.about-list,
.about-list div,
.work-list,
.work-card,
.step,
.story-block,
.comparison,
.comparison > div,
.faq details,
.check-list,
.check-list li,
.contact,
.contact-row,
.footer-row {
  border: 0 !important;
}

/* The growth system reads as four distinct borderless cards. */
#system {
  background: var(--brand-surface);
}

.system-steps {
  border: 0 !important;
  gap: 12px;
}

.system-steps article {
  min-height: 240px;
  padding: 28px;
  border: 0 !important;
  border-radius: 4px;
  background: #f9fafb;
  box-shadow: 0 12px 30px rgba(21, 23, 28, .08);
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.system-steps article:nth-child(even) {
  background: #f9fafb;
}

.system-steps article:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(21, 23, 28, .12);
}

@media (max-width: 900px) {
  .site-header { background: rgba(21, 23, 28, .98) !important; }
  .logo-link { min-width: 82px; }
  .brand-name { font-size: 1.55rem !important; }
  .nav { background: rgba(21, 23, 28, .99) !important; }
  .hero, .case-hero { min-height: auto; padding: 126px 0 64px; }
  .case-hero-layout { grid-template-columns: minmax(0, 1fr) minmax(240px, .58fr); gap: 28px; }
  .case-phone-visual { max-width: 340px; margin: 0 auto -44px; }
  .case-phone-visual img { max-height: 520px; }
  .hero-stage { grid-template-columns: 1fr; gap: 44px; }
  .founder-video { max-width: 640px; }
  .founder-video-frame { min-height: 280px; }
  .home-hero h1, .hero h1, .case-hero h1, .vm-hero h1, .yeti-hero h1 { font-size: clamp(2.55rem, 11vw, 4.05rem); line-height: 1.04; }
  .section { padding: 68px 0; }
  .section h2, .partners-band h2, .contact h2, .case-contact h2 { font-size: clamp(2rem, 8.5vw, 3.15rem); line-height: 1.1; }
  .brand-manifesto .wrap { grid-template-columns: 1fr; gap: 28px; }
  .brand-manifesto strong { font-size: clamp(2.45rem, 10vw, 3.8rem); }
  .result-card { min-height: 340px; }
  .partner-grid > * { min-height: 100px; }
}

@media (max-width: 800px) {
  .case-hero-layout { grid-template-columns: 1fr; gap: 34px; }
  .case-hero-copy .keep-line { white-space: normal; }
  .case-phone-visual { width: min(76vw, 350px); margin: 0 auto -42px; }
}

@media (max-width: 480px) {
  .site-header { padding-inline: 18px; }
  .home-hero h1, .hero h1, .case-hero h1, .vm-hero h1, .yeti-hero h1 { font-size: clamp(2.35rem, 10.8vw, 3.15rem); }
  .case-hero-layout { grid-template-columns: 1fr; gap: 30px; }
  .case-hero-copy .keep-line { white-space: normal; }
  .case-phone-visual { width: min(82vw, 330px); margin: 0 auto -38px; }
  .case-phone-visual img { max-height: 500px; }
  .section h2, .partners-band h2 { font-size: clamp(1.9rem, 8.2vw, 2.65rem); }
  .mega-label { font-size: 2.35rem; }
  .founder-video-frame { min-height: 220px; padding: 18px; }
  .founder-video-meta { display: block; }
  .founder-video-meta span { display: block; margin-top: 3px; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .page-transition { display: none !important; }
}
