/* Use case pages (spa/website/use-cases). The tokens, section rhythm, buttons and nav are the homepage's
   (spa/website/index.html, .nh system) so these pages read as the same site; the .uc-* parts are their own. */
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 80px; }
.nav-blur { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.gradient-text { background: linear-gradient(135deg, #FFD700 0%, #F5A623 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.pp-mark { font-family: 'Inter', system-ui, -apple-system, sans-serif; font-weight: 700; letter-spacing: -0.02em; line-height: 1; }
.pp-mark .pp-plain { color: #1a1a1a; }
.pp-mark .pp-pals { display: inline-block; }
.pp-mark.pp-mark-on-dark .pp-plain { color: #ffffff; }
.btn-primary { background: linear-gradient(135deg, #FFD700 0%, #F5A623 100%); }
.pp-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; padding: 10px 16px; border-radius: 8px; background: #1a1a1a; color: #ffffff; font-weight: 700; }
.pp-skip:focus { left: 8px; outline: 3px solid #F5A623; }

body.nh-page, body.nh-page .nh {
    --bg: #f9fafb; --surface: #ffffff; --surface-2: #f3f4f6;
    --ink: #111827; --body: #4b5563; --muted: #6b7280; --line: #e5e7eb; --line-strong: #d1d5db;
    --gold-text: #b45309; --glow: rgba(245, 166, 35, 0.14);
    --gold-grad: linear-gradient(135deg, #FFD700 0%, #F5A623 100%);
    --night: #1a1a1a; --on-night: #ffffff; --on-night-muted: #a9a9a9; --night-line: rgba(255, 255, 255, 0.12);
}
[data-theme="dark"] body.nh-page, [data-theme="dark"] body.nh-page .nh {
    --bg: #1a1a1a; --surface: #2a2a2a; --surface-2: #3a3a3a;
    --ink: #ffffff; --body: #d4d4d4; --muted: #a9a9a9; --line: rgba(255, 255, 255, 0.12); --line-strong: rgba(255, 255, 255, 0.20);
    --gold-text: #fcd34d; --glow: rgba(245, 166, 35, 0.10);
    --night: #141414;
}
body.nh-page { background: var(--bg); }
body.nh-page, body.nh-page .font-sans { font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; }
body.nh-page nav.fixed { background: rgba(45, 45, 45, 0.96) !important; border-bottom-color: rgba(255, 255, 255, 0.08) !important; }
body.nh-page nav.fixed .pp-plain { color: #F3F1EC; }
body.nh-page nav.fixed .nav-link, body.nh-page nav.fixed a[href="/app"], body.nh-page nav.fixed .pp-theme-toggle, body.nh-page nav.fixed button[aria-label="Menu"] { color: #CFCCC4 !important; }
body.nh-page nav.fixed .nav-link:hover { color: #FFFFFF !important; }
body.nh-page nav.fixed .btn-primary { border-radius: 999px; }
body.nh-page #pp-mobile-menu { background: #111114 !important; border-color: rgba(255, 255, 255, 0.08) !important; }
body.nh-page #pp-mobile-menu a, body.nh-page #pp-mobile-menu button { color: #CFCCC4 !important; }
body.nh-page footer.bg-brand-dark { background: var(--night) !important; border-top: 1px solid rgba(255, 255, 255, 0.06); }

.nh { background: var(--bg); color: var(--body); font-size: 17px; line-height: 1.55; }
.nh h1, .nh h2, .nh .v-display { font-weight: 900; letter-spacing: -0.02em; }
.nh h2 { font-size: clamp(32px, 4.2vw, 56px); line-height: 1.04; font-weight: 700; max-width: 20ch; margin: 0; color: var(--ink); }
.nh h3 { font-size: 17px; font-weight: 700; letter-spacing: -0.01em; margin: 0; color: var(--ink); }
.nh .g { background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nh .wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.nh .v-kicker { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-text); margin: 0 0 14px; }
.nh .v-display { font-size: clamp(38px, 5.6vw, 76px); line-height: 0.98; color: var(--ink); margin: 0; max-width: 18ch; }
.nh .v-sub { font-size: clamp(17px, 1.5vw, 21px); line-height: 1.5; color: var(--muted); max-width: 60ch; margin: 18px 0 0; }
.nh .v-fine { font-size: 13px; color: var(--muted); margin: 18px 0 0; }
.nh .btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 17px 30px; font-size: 17px; font-weight: 650; letter-spacing: -0.005em; border: 0; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.nh .btn:hover { transform: translateY(-1px); }
.nh .btn-primary { background: var(--gold-grad); color: #1a1a1a; box-shadow: 0 10px 30px -12px rgba(245, 166, 35, 0.7); }
.nh .v-btn-quiet { background: rgba(255, 255, 255, 0.08); color: var(--on-night); border: 1px solid rgba(255, 255, 255, 0.22); }
.nh .v-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.nh .v-cta-center { justify-content: center; }
.nh .v-ph-play { position: absolute; top: 50%; left: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%; background: rgba(255, 255, 255, 0.14); backdrop-filter: blur(8px); box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3); }
.nh .v-ph-play::after { content: ""; position: absolute; left: 31px; top: 24px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent #FFFFFF; }

.nh .sc { position: relative; overflow: hidden; padding: 112px 0; }
.nh .sc-light { background: var(--surface); }
.nh .sc-light.sc-alt { background: var(--bg); }
.nh .sc-dark { background: var(--night); color: var(--on-night-muted); }
.nh .sc-dark h2, .nh .sc-dark h3, .nh .sc-dark b { color: var(--on-night); }
.nh .sc-dark .v-sub { color: var(--on-night-muted); }
.nh .sc-dark .v-kicker { color: #F5B82E; }
.nh .sc-dark .v-fine { color: rgba(255, 255, 255, 0.62); }
.nh .sc .wrap { position: relative; z-index: 2; }
.nh .sc-orb { position: absolute; width: 720px; height: 720px; right: -220px; top: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(245, 166, 35, 0.22) 0%, transparent 65%); filter: blur(10px); z-index: 0; }
.nh-page .v-aud { position: absolute; z-index: 3; top: 96px; left: max(24px, calc(50% - 576px)); margin: 0; display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; line-height: 1.2; color: var(--on-night); background: rgba(20, 20, 20, 0.72); border: 1px solid rgba(255, 255, 255, 0.22); }
.nh-page .v-aud::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--gold-grad); }
.nh .rv { opacity: 0; transform: translateY(22px); transition: opacity .9s ease, transform .9s cubic-bezier(.2, .7, .2, 1); }
.nh .rv.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .nh .rv { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Hero */
.nh .uc-hero { padding: 168px 0 96px; }
.nh .uc-crumbs { margin: 0 0 18px; font-size: 14px; color: rgba(255, 255, 255, 0.72); }
.nh .uc-crumbs a { color: #F5B82E; font-weight: 700; }
.nh .uc-crumbs a:hover { text-decoration: underline; }
.nh .uc-hero .v-display { color: var(--on-night); }
.nh .uc-hero .v-fine { max-width: 72ch; }
.nh .uc-hero .film { margin-top: 56px; max-width: none; }
.nh .uc-facts { list-style: none; padding: 0; margin: 44px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.nh .uc-facts li { padding-top: 14px; border-top: 2px solid #F5B82E; font-size: 15px; line-height: 1.45; }
.nh .uc-facts b { display: block; margin-bottom: 4px; font-size: 17px; }

/* Section heads and shared grids */
.nh .uc-head { margin-bottom: 48px; }
.nh .uc-grid { display: grid; gap: 20px; list-style: none; padding: 0; margin: 0; }
.nh .uc-grid-2 { grid-template-columns: repeat(2, 1fr); }
.nh .uc-grid-3 { grid-template-columns: repeat(3, 1fr); }
.nh .uc-grid-4 { grid-template-columns: repeat(4, 1fr); }
.nh .uc-grid-5 { grid-template-columns: repeat(5, 1fr); }
.nh .uc-card { padding: 24px; border-radius: 20px; background: var(--surface); border: 1px solid var(--line); font-size: 15px; line-height: 1.5; }
.nh .sc-light:not(.sc-alt) .uc-card { background: var(--bg); }
.nh .sc-dark .uc-card { background: rgba(255, 255, 255, 0.05); border-color: var(--night-line); color: rgba(255, 255, 255, 0.78); }
.nh .uc-card h3 { margin-bottom: 10px; }
.nh .uc-card p { margin: 0; }
.nh .uc-card p + p { margin-top: 8px; }
.nh .uc-label { display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 2px; }
.nh .sc-dark .uc-label { color: #F5B82E; }
.nh .uc-lines { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.nh .uc-lines li { padding-top: 14px; border-top: 1px solid var(--line-strong); font-size: 15px; line-height: 1.5; }
.nh .uc-lines b { display: block; margin-bottom: 4px; color: var(--ink); }

/* Sources, one layer, four views */
.nh .uc-flow { display: grid; grid-template-columns: 1fr 1.1fr 1fr; gap: 44px; align-items: stretch; }
.nh .uc-col { position: relative; display: flex; flex-direction: column; gap: 10px; }
.nh .uc-col-title { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #F5B82E; }
.nh .uc-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex: 1; flex-direction: column; gap: 10px; }
.nh .uc-col li { flex: 1; display: flex; align-items: center; padding: 12px 16px; border-radius: 14px; background: rgba(255, 255, 255, 0.05); border: 1px solid var(--night-line); font-size: 15px; color: rgba(255, 255, 255, 0.86); }
.nh .uc-layer { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 28px; border-radius: 20px; text-align: center; color: rgba(255, 255, 255, 0.8); font-size: 15px; line-height: 1.5; background: linear-gradient(rgba(38, 32, 22, 1), rgba(30, 26, 20, 1)) padding-box, var(--gold-grad) border-box; border: 2px solid transparent; }
.nh .uc-layer b { display: block; font-size: 21px; line-height: 1.2; margin-bottom: 10px; }
.nh .uc-col:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -30px; width: 16px; height: 16px; margin-top: -8px; border-top: 2px solid #F5B82E; border-right: 2px solid #F5B82E; transform: rotate(45deg); }

/* The analytics layer: copy and a worked answer */
.nh .uc-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.nh .uc-points { list-style: none; padding: 0; margin: 32px 0 0; display: grid; gap: 18px; font-size: 16px; }
.nh .uc-points b { display: block; color: var(--ink); }
.nh .uc-chat { padding: 22px; border-radius: 20px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 24px 48px -32px rgba(17, 24, 39, 0.35); }
.nh .uc-ask { width: fit-content; max-width: 90%; margin: 0 0 14px auto; padding: 11px 15px; border-radius: 16px 16px 4px 16px; background: var(--surface-2); color: var(--ink); font-size: 15px; }
.nh .uc-answer { margin: 0; padding: 4px 16px; border-radius: 16px 16px 16px 4px; background: color-mix(in srgb, #F5A623 12%, var(--surface)); font-size: 15px; line-height: 1.5; color: var(--ink); }
.nh .uc-answer > div { padding: 12px 0; }
.nh .uc-answer > div + div { border-top: 1px solid var(--line); }
.nh .uc-answer dt { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold-text); }
.nh .uc-answer dd { margin: 2px 0 0; }

/* The one-week sprint and where partners come in: always night, so it stands out in either theme */
.nh .uc-sprint { margin-top: 72px; display: grid; grid-template-columns: auto 1fr 1fr; gap: 48px; padding: 44px; border-radius: 24px; background: #1a1a1a; color: rgba(255, 255, 255, 0.8); font-size: 16px; line-height: 1.5; box-shadow: 0 0 0 1.5px #F5B82E, 0 30px 60px -30px rgba(245, 166, 35, 0.45); }
.nh .uc-sprint .v-kicker { color: #F5B82E; margin-bottom: 10px; }
.nh .uc-sprint h3 { margin-bottom: 10px; font-size: 21px; color: #FFFFFF; }
.nh .uc-sprint p { margin: 0; }
.nh .uc-sprint .uc-sprint-number { font-weight: 900; font-size: clamp(56px, 6.4vw, 88px); line-height: 0.95; letter-spacing: -0.03em; white-space: nowrap; }
.nh .uc-sprint-number .g { display: inline-block; padding-right: 0.06em; }
.nh .uc-sprint .uc-sprint-note { margin-top: 10px; max-width: 18ch; font-size: 15px; font-weight: 700; color: #FFFFFF; }
.nh .uc-sprint .uc-sprint-fine { margin-top: 12px; font-size: 13px; color: rgba(255, 255, 255, 0.72); }
.nh .uc-sprint .uc-sprint-cta { margin-top: 18px; padding: 12px 22px; font-size: 15px; }

/* Check lists */
.nh .uc-checks { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 12px; font-size: 15px; line-height: 1.5; }
.nh .uc-checks li { position: relative; padding-left: 28px; }
.nh .uc-checks li::before { content: ""; position: absolute; left: 3px; top: 4px; width: 7px; height: 12px; border-right: 2px solid #F5A623; border-bottom: 2px solid #F5A623; transform: rotate(40deg); }
.nh .uc-card .uc-note { margin: 18px 0 0; font-size: 15px; color: var(--muted); }

/* The target */
.nh .uc-target { display: grid; grid-template-columns: auto 1fr; gap: 56px; align-items: center; }
.nh .uc-number { margin: 0; font-weight: 900; font-size: clamp(110px, 17vw, 220px); line-height: 0.9; letter-spacing: -0.04em; }
.nh .uc-number .g { display: inline-block; padding-right: 0.06em; }
.nh .uc-number-note { margin: 8px 0 0; font-size: 15px; font-weight: 700; color: var(--on-night); }
.nh .uc-table-wrap { margin-top: 48px; overflow-x: auto; }
.nh .uc-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; text-align: left; }
.nh .uc-table th, .nh .uc-table td { padding: 14px 16px 14px 0; border-bottom: 1px solid var(--night-line); vertical-align: top; }
.nh .uc-table thead th { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #F5B82E; }
.nh .uc-table tbody th { font-weight: 700; color: var(--on-night); width: 48%; }
.nh .uc-table td { color: rgba(255, 255, 255, 0.78); }

/* Measure: the DMAIC cycle under the worked read-out */
.nh .uc-cycle-title { display: block; margin: 72px 0 20px; }

/* Who decides */
.nh .uc-panels h3 { font-size: 21px; }

/* Close */
.nh .v-close { position: relative; padding: 120px 0; text-align: center; background: linear-gradient(180deg, rgba(26, 26, 26, 0.72) 0%, rgba(26, 26, 26, 0.45) 45%, rgba(26, 26, 26, 0.9) 100%), url("media/next/close-still.jpg") center 60% / cover no-repeat, var(--night); }
.nh .v-close h2 { color: var(--on-night); margin: 0 auto; max-width: 18ch; font-size: clamp(38px, 5.6vw, 72px); font-weight: 900; line-height: 1; }
.nh .v-close .v-sub { color: rgba(255, 255, 255, 0.86); margin: 18px auto 0; }
.nh .v-close .v-fine { max-width: 66ch; margin: 28px auto 0; color: rgba(255, 255, 255, 0.72); }

@media (max-width: 1099px) {
    .nh .uc-grid-4, .nh .uc-facts { grid-template-columns: repeat(2, 1fr); }
    .nh .uc-grid-3, .nh .uc-lines { grid-template-columns: repeat(2, 1fr); }
    .nh .uc-grid-5 { grid-template-columns: repeat(3, 1fr); }
    .nh .uc-split { gap: 40px; }
}
@media (max-width: 1099px) {
    .nh .uc-sprint { grid-template-columns: 1fr 1fr; gap: 36px; padding: 36px; }
    .nh .uc-sprint > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
    .nh .uc-sprint { grid-template-columns: 1fr; padding: 28px; }
    .nh .sc { padding: 80px 0; }
    .nh .uc-hero { padding: 150px 0 72px; }
    .nh .uc-split, .nh .uc-target, .nh .uc-grid-2, .nh .uc-flow { grid-template-columns: 1fr; }
    .nh .uc-grid-5 { grid-template-columns: repeat(2, 1fr); }
    .nh .uc-target { gap: 24px; }
    .nh .uc-flow { gap: 40px; }
    .nh .uc-col:not(:last-child)::after { top: auto; bottom: -28px; right: 50%; margin: 0 -8px 0 0; transform: rotate(135deg); }
}
@media (max-width: 560px) {
    .nh .uc-grid-3, .nh .uc-grid-4, .nh .uc-grid-5, .nh .uc-lines, .nh .uc-facts { grid-template-columns: 1fr; }
    .nh .btn { width: 100%; }
}
