@charset "UTF-8";
.screen { position:relative; padding:112px 0; overflow:hidden; }
.screen.light { background:var(--nf-cloud); }
.screen.white { background:var(--nf-white); }
.screen.dark { color:#fff; background:var(--nf-ink); }
.screen-grid::before { content:""; position:absolute; inset:0; opacity:.38; pointer-events:none; background-image:radial-gradient(rgba(108,92,231,.23) 1px,transparent 1px); background-size:24px 24px; mask-image:linear-gradient(90deg,#000 0%,transparent 43%,#000 100%); }
.screen-glow::after { content:""; position:absolute; width:720px; height:720px; border-radius:50%; right:-330px; top:6%; background:radial-gradient(circle,rgba(139,124,255,.23),rgba(46,169,240,.08) 38%,transparent 68%); pointer-events:none; }
.eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:18px; color:var(--nf-violet-dark); font-size:12px; font-weight:780; text-transform:uppercase; letter-spacing:.11em; }
.dark .eyebrow { color:#b8aeff; }
.eyebrow::before { content:""; width:9px; height:9px; border-radius:50%; background:var(--nf-violet); box-shadow:15px 0 0 -2px var(--nf-blue); margin-right:7px; }
h2 { margin:0; max-width:900px; font-size:50px; line-height:1.04; letter-spacing:-.045em; font-weight:660; }
.section-head { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:72px; align-items:end; margin-bottom:58px; }
.section-lead { margin:0; color:var(--nf-muted); font-size:17px; line-height:1.6; }
.dark .section-lead { color:var(--nf-muted-dark); }
.accent-line { height:4px; width:92px; margin:28px 0 0; border-radius:4px; background:linear-gradient(90deg,var(--nf-violet),var(--nf-blue)); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:52px; padding:0 22px; border:0; border-radius:12px; background:var(--nf-violet-dark); color:#fff; text-decoration:none; font-size:15px; font-weight:720; box-shadow:0 12px 28px rgba(94,78,215,.24); }
.button .arrow { display:inline; line-height:1; }
.button.dark-button { color:#fff; background:var(--nf-ink); box-shadow:0 12px 28px rgba(23,21,38,.18); }
.text-link { display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:680; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; }
.tag { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border-radius:999px; color:var(--nf-violet-dark); background:var(--nf-soft); font-size:10px; font-weight:780; letter-spacing:.07em; text-transform:uppercase; }
.dark .tag { color:#d5d0ff; background:rgba(139,124,255,.16); }
/* shared header and hero */
.hero-screen { min-height:930px; padding:138px 0 64px; }
.hero-screen::after { content:""; position:absolute; width:780px; height:780px; right:-340px; top:35px; border-radius:50%; background:radial-gradient(circle,rgba(139,124,255,.22),rgba(46,169,240,.08) 38%,transparent 68%); }
.hero-layout { display:grid; grid-template-columns:minmax(0,1.14fr) minmax(390px,.76fr); gap:70px; align-items:start; }
.hero-copy { padding-top:25px; }
.hero-copy h1 { max-width:770px; margin:0; font-size:48px; line-height:1.025; letter-spacing:-.052em; font-weight:660; }
.highlight { padding:0 .1em .04em; margin:0 -.1em; border-radius:7px; background:linear-gradient(transparent 63%,var(--nf-point) 63%); box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.hero-sub { max-width:690px; margin:26px 0 0; font-size:20px; line-height:1.42; font-weight:570; }
.hero-explain { max-width:680px; margin:15px 0 0; color:var(--nf-muted); font-size:14px; line-height:1.62; }
.hero-actions { display:flex; align-items:center; gap:24px; margin-top:28px; }
.form-zone { position:relative; padding:0 0 25px; }
.trajectory { position:absolute; width:360px; height:210px; right:-94px; top:-80px; opacity:.75; pointer-events:none; }
.trajectory path { fill:none; stroke-linecap:round; }
.trajectory .main { stroke:var(--nf-violet-light); stroke-width:15; }
.trajectory .second { stroke:var(--nf-blue); stroke-width:8; }
.trajectory circle { fill:var(--nf-ink); stroke:var(--nf-point); stroke-width:8; }
.form-card { position:relative; z-index:3; padding:32px 32px 27px; border-radius:22px; color:var(--nf-ink); background:rgba(255,255,255,.97); border:1px solid rgba(220,217,232,.82); box-shadow:0 28px 80px rgba(23,21,38,.13),0 4px 14px rgba(23,21,38,.05); }
.form-card h3 { margin:0; color:var(--nf-ink); font-size:29px; line-height:1.12; letter-spacing:-.035em; font-weight:660; }
.form-card > p { margin:10px 0 20px; color:var(--nf-muted); font-size:13px; line-height:1.48; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.field { margin-bottom:12px; }
.field label { display:block; margin-bottom:5px; font-size:11px; font-weight:680; }
.field input,.field textarea { width:100%; border:1px solid var(--nf-divider); border-radius:10px; color:var(--nf-ink); background:#fbfbfe; outline:none; font-size:13px; }
.field input { height:45px; padding:0 13px; }
.field textarea { height:84px; resize:none; padding:12px 13px; line-height:1.4; }
.form-button { width:100%; height:51px; border:0; border-radius:11px; color:#fff; background:var(--nf-violet-dark); font-weight:720; cursor:pointer; box-shadow:0 10px 24px rgba(94,78,215,.22); }
.consent { display:flex; gap:8px; margin-top:11px; color:#858193; font-size:10px; line-height:1.38; cursor:pointer; }
.checkbox { width:15px; height:15px; flex:none; margin-top:1px; border:1px solid #b8b3c7; border-radius:4px; appearance:none; -webkit-appearance:none; background:#fff; cursor:pointer; padding:0; }
.checkbox:checked { background:var(--nf-violet-dark); border-color:var(--nf-violet-dark); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2.5 6l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); background-size:10px 10px; background-position:center; background-repeat:no-repeat; }
.nf-hp { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.field.is-invalid input,.field.is-invalid textarea { border-color:#c45b5b; }
.consent.is-invalid .checkbox { border-color:#c45b5b; }
.form-status { margin:0 0 12px; font-size:12px; line-height:1.45; text-align:center; }
.form-status[data-state="sending"] { color:var(--nf-muted); }
.form-status[data-state="success"] { color:var(--nf-green,#2fa87a); }
.form-status[data-state="error"] { color:#c45b5b; }
.form-card.is-sending .form-button { opacity:.72; cursor:wait; }

/* screen 2 */
.pain-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.pain-card { min-height:285px; display:flex; flex-direction:column; padding:25px 22px; border:1px solid rgba(255,255,255,.11); border-radius:18px; background:rgba(255,255,255,.045); }
.pain-card h3 { margin:0 0 13px; font-size:20px; line-height:1.17; letter-spacing:-.025em; }
.pain-card p { margin:auto 0 0; color:var(--nf-muted-dark); font-size:13px; line-height:1.53; }
.dark-conclusion { display:flex; justify-content:space-between; align-items:center; gap:40px; margin-top:28px; padding:23px 26px; border-radius:16px; background:linear-gradient(90deg,rgba(108,92,231,.17),rgba(46,169,240,.07)); border:1px solid rgba(139,124,255,.18); }
.dark-conclusion strong { max-width:850px; font-size:16px; line-height:1.48; }
.signal { display:flex; align-items:center; gap:10px; color:#bcb5e7; font-size:12px; white-space:nowrap; }
.signal::before { content:""; width:9px; height:9px; border-radius:50%; background:var(--nf-green); box-shadow:0 0 0 5px rgba(68,209,166,.1); }

/* screen 3 */
.scenario-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.scenario-card { min-height:300px; display:flex; flex-direction:column; padding:23px; border-radius:18px; background:#fff; border:1px solid var(--nf-divider); box-shadow:0 12px 34px rgba(23,21,38,.055); }
.scenario-card.priority { color:#fff; background:var(--nf-ink); border-color:var(--nf-ink); box-shadow:0 18px 45px rgba(23,21,38,.16); }
.scenario-index { color:#928ba8; font-size:11px; font-weight:780; }
.scenario-card h3 { margin:0 0 12px; font-size:23px; line-height:1.15; letter-spacing:-.032em; }
.scenario-card p { margin:0; color:var(--nf-muted); font-size:13px; line-height:1.55; }
.scenario-choice-note { margin:0 0 24px; max-width:820px; color:var(--nf-muted); line-height:1.55; }
.priority p { color:var(--nf-muted-dark); }
.scenario-card .card-link { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:22px; text-decoration:none; font-size:12px; font-weight:740; }
.card-link i { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#fff; background:var(--nf-violet-dark); font-style:normal; }
.priority .card-link i { color:var(--nf-ink); background:var(--nf-point); }

/* screen 4 */
.process-list { display:grid; gap:14px; }
.process-row { display:grid; grid-template-columns:220px 1fr 1fr; gap:1px; overflow:hidden; border-radius:17px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.08); }
.process-event,.process-system,.process-human { min-height:164px; padding:24px; background:var(--nf-ink-2); }
.process-event { background:rgba(139,124,255,.14); }
.process-row small { display:block; margin-bottom:15px; color:#978eff; font-size:10px; font-weight:780; letter-spacing:.1em; text-transform:uppercase; }
.process-row h3 { margin:0; font-size:19px; line-height:1.2; }
.process-row p { margin:0; color:var(--nf-muted-dark); font-size:13px; line-height:1.55; }
.process-system { position:relative; }
.process-system::after { content:"\2192"; position:absolute; right:-13px; top:50%; z-index:2; transform:translateY(-50%); display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:var(--nf-ink); background:var(--nf-point); font-weight:800; }

/* screens 5-9 */
.stage-board { display:grid; grid-template-columns:.82fr 1.18fr; gap:24px; }
.stage-core { padding:34px; border-radius:22px; color:#fff; background:var(--nf-ink); }
.stage-core h3 { margin:17px 0 18px; font-size:30px; line-height:1.12; letter-spacing:-.035em; }
.stage-core p { margin:0; color:var(--nf-muted-dark); line-height:1.62; font-size:14px; }
.stage-steps { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mini-step { padding:24px; border-radius:18px; background:#fff; border:1px solid var(--nf-divider); }
.mini-step strong { display:block; margin:15px 0 10px; font-size:18px; }
.mini-step p { margin:0; color:var(--nf-muted); font-size:13px; line-height:1.5; }
.result-strip { display:grid; grid-template-columns:1fr auto; gap:35px; align-items:center; margin-top:24px; padding:26px 30px; border-radius:18px; background:var(--nf-soft); }
.result-strip strong { display:block; font-size:18px; }
.result-strip p { margin:6px 0 0; color:var(--nf-muted); font-size:13px; }
.project-track { display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; }
.project-track::before { content:""; position:absolute; left:8%; right:8%; top:35px; height:2px; background:linear-gradient(90deg,var(--nf-violet),var(--nf-blue)); opacity:.65; }
.project-step { position:relative; padding:0 16px; }
.step-dot { position:relative; z-index:2; display:grid; place-items:center; width:70px; height:70px; margin:0 0 24px; border-radius:50%; color:#fff; background:var(--nf-ink); border:8px solid var(--nf-cloud); box-shadow:0 0 0 1px var(--nf-divider); font-size:13px; font-weight:780; }
.project-step h3 { margin:0 0 10px; font-size:19px; line-height:1.2; }
.project-step p { margin:0; color:var(--nf-muted); font-size:13px; line-height:1.52; }
.stack-layout { display:grid; grid-template-columns:330px 1fr; gap:18px; }
.stack-intro { padding:30px; border-radius:20px; background:linear-gradient(145deg,rgba(108,92,231,.23),rgba(46,169,240,.08)); border:1px solid rgba(139,124,255,.2); }
.stack-intro h3 { margin:18px 0 13px; font-size:29px; line-height:1.12; }
.stack-intro p { margin:0; color:var(--nf-muted-dark); font-size:14px; line-height:1.6; }
.stack-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.stack-card { min-height:172px; padding:24px; border-radius:17px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); }
.stack-card h3 { margin:0 0 11px; font-size:20px; }
.stack-card p { margin:0; color:var(--nf-muted-dark); font-size:13px; line-height:1.52; }
.metrics-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.metric-card { padding:26px; border-radius:19px; color:var(--nf-ink); background:#fff; border:1px solid var(--nf-divider); box-shadow:0 12px 34px rgba(23,21,38,.05); }
.metric-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:var(--nf-violet-dark); background:var(--nf-soft); font-weight:850; }
.metric-card h3 { margin:20px 0 14px; color:var(--nf-ink); font-size:24px; }
.metric-card ul { margin:0; padding:0; list-style:none; }
.metric-card li { position:relative; margin:0 0 10px; padding-left:15px; color:var(--nf-muted); font-size:13px; line-height:1.48; }
.metric-card li::before { content:""; position:absolute; left:0; top:.58em; width:5px; height:5px; border-radius:50%; background:var(--nf-violet); }
.limit-note { display:flex; gap:18px; align-items:flex-start; margin-top:24px; padding:24px 27px; border-radius:17px; background:#fff5ee; border:1px solid #ffd9c7; }
.limit-note .metric-icon { color:#b44f20; background:#ffe1d2; }
.limit-note strong { display:block; margin-bottom:5px; }
.limit-note p { margin:0; color:#765345; font-size:13px; line-height:1.5; }
.proof-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:13px; }
.proof-card { min-height:235px; padding:23px; border-radius:17px; color:#fff; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); }
.proof-card h3 { margin:20px 0 11px; color:#fff; font-size:19px; line-height:1.2; }
.proof-card p { margin:0; color:var(--nf-muted-dark); font-size:12.5px; line-height:1.53; }
.screen.light .proof-card { color:var(--nf-ink); background:#fff; border-color:var(--nf-divider); }
.screen.light .proof-card h3 { color:var(--nf-ink); }
.screen.light .proof-card p { color:var(--nf-muted); }
.demo-callout { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; margin-top:24px; padding:28px 30px; border-radius:18px; color:var(--nf-ink); background:linear-gradient(110deg,var(--nf-point),#d9f1ff); }
.demo-callout strong { display:block; font-size:20px; }
.demo-callout p { margin:7px 0 0; color:#4f4a64; font-size:13px; }

/* trust + FAQ */
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:78px; }
.review-card { min-height:260px; display:flex; flex-direction:column; padding:27px; border-radius:20px; background:#fff; border:1px dashed #a99fe8; box-shadow:0 12px 34px rgba(23,21,38,.05); }
.placeholder-label { align-self:flex-start; padding:7px 9px; border-radius:7px; color:#6a57db; background:var(--nf-soft); font-size:9px; font-weight:820; letter-spacing:.08em; text-transform:uppercase; }
.review-card blockquote { margin:25px 0 24px; font-size:17px; line-height:1.46; letter-spacing:-.014em; }
.review-author { margin-top:auto; padding-top:18px; border-top:1px solid var(--nf-divider); }
.review-author strong { display:block; font-size:13px; }
.review-author span { color:var(--nf-muted); font-size:11px; }
.faq-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:76px; align-items:start; }
.faq-copy { position:sticky; top:40px; }
.faq-copy h2 { font-size:46px; }
.faq-copy p { margin:22px 0 0; color:var(--nf-muted); font-size:15px; line-height:1.6; }
.faq-list { display:grid; gap:10px; }
details { border-radius:15px; background:#fff; border:1px solid var(--nf-divider); overflow:hidden; }
summary { position:relative; padding:21px 55px 21px 22px; list-style:none; cursor:pointer; font-size:16px; font-weight:670; }
summary::-webkit-details-marker { display:none; }
summary::after { content:""; position:absolute; right:20px; top:50%; transform:translateY(-50%); width:28px; height:28px; border-radius:50%; background:linear-gradient(var(--nf-violet-dark),var(--nf-violet-dark)) center/11px 2px no-repeat,linear-gradient(var(--nf-violet-dark),var(--nf-violet-dark)) center/2px 11px no-repeat,var(--nf-soft); }
details[open] summary::after { background:linear-gradient(var(--nf-violet-dark),var(--nf-violet-dark)) center/11px 2px no-repeat,var(--nf-soft); }
details p { margin:0; padding:0 22px 22px; color:var(--nf-muted); font-size:13.5px; line-height:1.58; }

/* final and footer */
.final-screen { padding:106px 0 0; background:var(--nf-ink); color:#fff; }
.final-panel { display:grid; grid-template-columns:1fr 480px; gap:72px; align-items:center; padding-bottom:92px; }
.final-copy h2 { font-size:52px; }
.final-copy > p { max-width:660px; margin:24px 0 28px; color:var(--nf-muted-dark); font-size:16px; line-height:1.62; }
.useful { display:grid; grid-template-columns:1fr 1fr; gap:11px 25px; margin:0; padding:0; list-style:none; }
.useful li { position:relative; padding-left:18px; color:#d0cbdc; font-size:13px; }
.useful li::before { content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background:var(--nf-blue); }
.final-panel .form-card { color:var(--nf-ink); }
.function-follow-link { margin-top:28px; }
.stack-intro .function-follow-link { margin-top:18px; }

@media(max-width:1120px) {
  .hero-layout { gap:36px; grid-template-columns:1fr 410px; }
  .hero-copy h1 { font-size:51px; }
  .pain-grid,.proof-grid { grid-template-columns:repeat(3,1fr); }
  .scenario-grid,.metrics-grid { grid-template-columns:repeat(2,1fr); }
}

@media(max-width:820px) {
  .screen { padding:78px 0; }
  .main-nav { display:none; }
  .hero-screen { padding-top:120px; }
  .hero-layout,.section-head,.stage-board,.stack-layout,.faq-layout,.final-panel { grid-template-columns:1fr; }
  .hero-copy { padding-top:0; }
  .hero-copy h1,h2,.final-copy h2 { font-size:41px; }
  .trajectory { display:none; }
  .pain-grid,.scenario-grid,.metrics-grid,.proof-grid,.review-grid,.stage-steps,.stack-grid { grid-template-columns:1fr; }
  .process-row { grid-template-columns:1fr; }
  .project-track { grid-template-columns:1fr; gap:26px; }
  .project-track::before { display:none; }
  .faq-copy { position:static; }
}
