.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:.4; pointer-events:none; background-image:radial-gradient(rgba(108,92,231,.22) 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:5%; 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:920px; font-size:50px; line-height:1.04; letter-spacing:-.045em; font-weight:660; }
.section-head { display:grid; grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr); gap:70px; align-items:end; margin-bottom:58px; }
.section-lead { margin:0; color:var(--nf-muted); font-size:17px; line-height:1.62; }
.dark .section-lead { color:var(--nf-muted-dark); }
.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; }
.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); }
.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; }
.field input:focus,.field textarea:focus { border-color:var(--nf-violet-light); box-shadow:0 0 0 3px rgba(108,92,231,.1); }
.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; }
  .hero-screen { min-height:870px; padding:142px 0 76px; }
.hero-screen::after { content:""; position:absolute; width:780px; height:780px; right:-330px; top:20px; border-radius:50%; background:radial-gradient(circle,rgba(139,124,255,.24),rgba(46,169,240,.08) 40%,transparent 69%); }
.hero-layout { display:grid; grid-template-columns:minmax(0,1.14fr) minmax(390px,.76fr); gap:70px; align-items:start; }
.hero-kicker { display:inline-flex; align-items:center; gap:9px; padding:8px 12px; border-radius:999px; color:var(--nf-violet-dark); background:#fff; border:1px solid var(--nf-divider); font-size:11px; font-weight:720; }
.hero-kicker::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--nf-green); box-shadow:0 0 0 4px rgba(68,209,166,.13); }
.hero-copy { padding-top:25px; }
.hero-copy h1 { max-width:790px; margin:0; font-size:48px; line-height:1.015; letter-spacing:-.053em; 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:27px 0 0; font-size:20px; line-height:1.43; 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:29px; }
.form-zone { position:relative; padding:0 0 25px; }
.trajectory { position:absolute; width:380px; height:224px; right:-96px; top:-92px; opacity:.76; 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; }
  .problem-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.problem-card { position:relative; min-height:245px; padding:32px; border:1px solid rgba(255,255,255,.11); border-radius:22px; background:rgba(255,255,255,.055); overflow:hidden; }
.problem-card::after { content:""; position:absolute; width:170px; height:170px; right:-82px; bottom:-98px; border-radius:50%; background:radial-gradient(circle,rgba(139,124,255,.32),transparent 68%); }
.problem-index { display:flex; align-items:center; justify-content:space-between; color:#c5bfff; font-size:11px; font-weight:760; letter-spacing:.1em; }
.problem-index span:last-child { width:33px; height:33px; display:grid; place-items:center; border-radius:10px; background:rgba(255,255,255,.08); font-size:16px; }
.problem-card h3 { margin:46px 0 10px; font-size:25px; line-height:1.12; letter-spacing:-.035em; font-weight:640; }
.problem-card p { max-width:460px; margin:0; color:var(--nf-muted-dark); font-size:14px; line-height:1.58; }
  .direction-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.direction-card { position:relative; isolation:isolate; overflow:hidden; min-height:250px; display:flex; flex-direction:column; padding:25px; border:1px solid var(--nf-divider); border-radius:18px; color:var(--nf-ink); background:#fff; transition:background-color 240ms ease,border-color 240ms ease,box-shadow 240ms ease,transform 240ms ease,color 240ms ease; }
.direction-card::before { content:""; position:absolute; z-index:-1; inset:0; border-radius:inherit; background:radial-gradient(ellipse at 50% 52%, rgba(108, 92, 231, .72) 0%, rgba(94, 78, 215, .42) 27%, rgba(46, 169, 240, .12) 49%, transparent 74%); opacity:0; transform:scale(.82); transition:opacity 240ms ease,transform 320ms ease; pointer-events:none; }
.direction-card:is(:hover, :focus-within) { color:#fff; background:var(--nf-ink); border-color:var(--nf-ink); transform:translateY(-3px); box-shadow:0 20px 50px rgba(23,21,38,.19); }
.direction-card:is(:hover, :focus-within)::before { opacity:1; transform:scale(1); }
.direction-top { display:flex; justify-content:flex-start; align-items:center; }
.direction-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:var(--nf-violet-dark); background:var(--nf-soft); font-size:16px; transition:color 240ms ease,background-color 240ms ease,border-color 240ms ease,box-shadow 240ms ease,transform 240ms ease; }
.direction-glyph { display:block; grid-area:1 / 1; overflow:visible; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.direction-glyph--premium { display:none; filter:drop-shadow(0 4px 5px rgba(66,48,158,.18)); }
.direction-icons--classic .direction-glyph--premium { display:none; }
.direction-icons--classic .direction-glyph--classic { display:block; }
.direction-icons--premium .direction-glyph--classic { display:none; }
.direction-icons--premium .direction-glyph--premium { display:block; }
.direction-icons--premium .direction-icon { position:relative; color:var(--nf-violet-dark); border:1px solid rgba(108,92,231,.18); background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(234,231,255,.94)); box-shadow:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(94,78,215,.06),0 10px 24px rgba(73,54,161,.13); }
.direction-icons--premium .direction-icon::before { content:""; position:absolute; inset:5px; border-radius:10px; background:radial-gradient(circle at 28% 20%,rgba(255,255,255,.96),transparent 36%),linear-gradient(145deg,rgba(216,210,255,.22),rgba(46,169,240,.08)); pointer-events:none; }
.direction-icons--premium .premium-gradient { filter:drop-shadow(0 2px 2px rgba(41,29,110,.16)); }
.direction-icons--premium .premium-halo { fill:rgba(216,210,255,.58); stroke:rgba(139,124,255,.24); stroke-width:1; }
.direction-icons--premium .premium-glass { fill:rgba(216,210,255,.72); stroke:rgba(255,255,255,.86); stroke-width:.7; }
.direction-icons--premium .premium-dark { fill:var(--nf-ink); stroke:rgba(255,255,255,.22); stroke-width:.65; }
.direction-icons--premium .premium-accent { fill:var(--nf-green); stroke:#fff; stroke-width:.85; }
.direction-icons--premium .premium-shine { fill:none; stroke:rgba(255,255,255,.9); stroke-width:1.15; }
.direction-icons--premium .premium-accent-line { fill:none; stroke:var(--nf-orange); stroke-width:1.55; }
.direction-icons--premium .premium-ink-fill { fill:var(--nf-ink); stroke:rgba(255,255,255,.74); stroke-width:.45; }
.direction-icons--premium .premium-ink-stroke { fill:none; stroke:var(--nf-ink); stroke-width:1.15; }
.direction-card h3 { margin:30px 0 9px; font-size:21px; line-height:1.12; letter-spacing:-.025em; font-weight:660; }
.direction-card p { margin:0 0 20px; color:var(--nf-muted); font-size:12px; line-height:1.52; transition:color 240ms ease; }
.direction-card a { margin-top:auto; color:var(--nf-violet-dark); text-decoration:none; font-size:12px; font-weight:700; transition:color 240ms ease; }
.direction-card:is(:hover, :focus-within) .direction-icon { color:var(--nf-ink); background:var(--nf-point); }
.direction-icons--premium .direction-card:is(:hover, :focus-within) .direction-icon { border-color:rgba(255,255,255,.34); background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(139,124,255,.22)); box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 12px 30px rgba(0,0,0,.24),0 0 28px rgba(139,124,255,.24); transform:translateY(-1px) scale(1.035); }
.direction-icons--premium .direction-card:is(:hover, :focus-within) .direction-icon::before { background:radial-gradient(circle at 28% 20%,rgba(255,255,255,.32),transparent 38%),linear-gradient(145deg,rgba(216,210,255,.08),rgba(46,169,240,.14)); }
.direction-card:is(:hover, :focus-within) p { color:var(--nf-muted-dark); }
.direction-card:is(:hover, :focus-within) a { color:var(--nf-point); }
@media (prefers-reduced-motion: reduce) {
  .direction-card,
  .direction-card::before,
  .direction-icon,
  .direction-card p,
  .direction-card a { transition:none; }
}
  .steps { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.step-card { min-height:275px; padding:28px; border-radius:20px; color:#fff; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.11); }
.step-number { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; color:#d7d2ff; background:rgba(139,124,255,.16); font-size:11px; font-weight:780; }
.step-card h3 { margin:58px 0 12px; font-size:23px; line-height:1.12; letter-spacing:-.03em; font-weight:640; }
.step-card p { margin:0; color:var(--nf-muted-dark); font-size:13px; line-height:1.57; }
.known-panel { display:grid; grid-template-columns:.72fr 1.28fr; gap:54px; margin-top:18px; padding:34px 38px; border-radius:20px; color:var(--nf-ink); background:#fff; }
.known-panel h3 { margin:0; font-size:27px; letter-spacing:-.035em; }
.known-list { display:grid; grid-template-columns:1fr 1fr; gap:13px 30px; }
.known-list span { display:flex; gap:10px; color:var(--nf-muted); font-size:13px; line-height:1.45; }
.known-list span::before { content:"\2713"; color:var(--nf-green); font-weight:800; }
  .result-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.result-card { min-height:260px; padding:31px; border-radius:22px; border:1px solid var(--nf-divider); background:#fff; }
.result-card-top { display:flex; justify-content:space-between; align-items:center; }
.result-card-top strong { color:var(--nf-violet-dark); font-size:12px; }
.result-card h3 { margin:42px 0 11px; font-size:26px; line-height:1.12; letter-spacing:-.035em; }
.result-card p { margin:0; color:var(--nf-muted); font-size:14px; line-height:1.58; }
.boundary { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; margin-top:18px; padding:22px 26px; border-radius:17px; color:#fff; background:var(--nf-ink); }
.boundary-mark { width:43px; height:43px; display:grid; place-items:center; border-radius:13px; color:#fff; background:var(--nf-violet-dark); font-weight:800; }
.boundary strong { display:block; margin-bottom:4px; font-size:15px; }
.boundary p { margin:0; color:var(--nf-muted-dark); font-size:12px; line-height:1.45; }
  .deployment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.deployment-card { min-height:360px; display:flex; flex-direction:column; padding:32px; border-radius:22px; background:#fff; border:1px solid var(--nf-divider); }
.deployment-card.featured { color:#fff; background:var(--nf-ink); border-color:var(--nf-ink); }
.deployment-visual { height:112px; display:flex; align-items:center; gap:10px; }
.deployment-node { width:54px; height:54px; display:grid; place-items:center; border-radius:16px; color:var(--nf-violet-dark); background:var(--nf-soft); font-weight:800; }
.featured .deployment-node { color:#fff; background:rgba(139,124,255,.2); }
.deployment-line { flex:1; height:2px; background:linear-gradient(90deg,var(--nf-violet-light),var(--nf-blue)); }
.deployment-card h3 { margin:26px 0 10px; font-size:25px; line-height:1.12; letter-spacing:-.035em; }
.deployment-card p { margin:0 0 24px; color:var(--nf-muted); font-size:13px; line-height:1.56; }
.featured p { color:var(--nf-muted-dark); }
.deployment-card ul { margin:auto 0 0; padding:0; list-style:none; display:grid; gap:9px; }
.deployment-card li { display:flex; gap:9px; font-size:12px; }
.deployment-card li::before { content:"\00B7"; color:var(--nf-violet-light); font-weight:900; }
  .demo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.demo-card { min-height:430px; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--nf-divider); border-radius:23px; background:#fff; }
.demo-visual { height:180px; position:relative; overflow:hidden; background:linear-gradient(135deg,#ede9ff,#eaf7ff); }
.demo-visual::before,.demo-visual::after { content:""; position:absolute; border-radius:50%; }
.demo-visual::before { width:135px; height:135px; left:34px; top:26px; border:20px solid rgba(108,92,231,.25); }
.demo-visual::after { width:110px; height:110px; right:22px; bottom:-25px; background:rgba(46,169,240,.22); box-shadow:-74px -28px 0 -23px var(--nf-violet); }
.demo-body { display:flex; flex-direction:column; flex:1; padding:26px; }
.demo-body h3 { margin:18px 0 10px; font-size:24px; line-height:1.12; letter-spacing:-.03em; }
.demo-body p { margin:0 0 22px; color:var(--nf-muted); font-size:13px; line-height:1.55; }
.demo-body a { margin-top:auto; color:var(--nf-violet-dark); text-decoration:none; font-size:13px; font-weight:700; }
.demo-note { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-top:18px; padding:24px 28px; border-radius:17px; color:#fff; background:var(--nf-ink); }
.demo-note strong { font-size:15px; }
.demo-note span { color:var(--nf-muted-dark); font-size:12px; }
  .faq-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:72px; align-items:start; }
.faq-copy { position:sticky; top:30px; }
.faq-copy p { margin:20px 0 0; color:var(--nf-muted); font-size:15px; line-height:1.62; }
.faq-list { display:grid; gap:10px; }
.faq-list details { border:1px solid var(--nf-divider); border-radius:16px; background:#fff; overflow:hidden; }
.faq-list summary { position:relative; cursor:pointer; list-style:none; padding:21px 58px 21px 23px; font-size:15px; font-weight:680; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:""; position:absolute; right:21px; top:50%; transform:translateY(-50%); width:28px; height:28px; border-radius:9px; 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); }
.faq-list details[open] summary::after { background:linear-gradient(var(--nf-violet-dark),var(--nf-violet-dark)) center/11px 2px no-repeat,var(--nf-soft); }
.faq-list details p { margin:0; padding:0 23px 22px; color:var(--nf-muted); font-size:13px; line-height:1.58; }
  .final-screen { padding:0; background:var(--nf-ink); }
.final-area { position:relative; padding:112px 0; overflow:hidden; }
.final-area::before { content:""; position:absolute; width:780px; height:780px; left:-350px; top:-280px; border-radius:50%; background:radial-gradient(circle,rgba(139,124,255,.28),rgba(46,169,240,.07) 42%,transparent 68%); }
.final-layout { display:grid; grid-template-columns:1fr 455px; gap:80px; align-items:center; }
.final-copy h2 { color:#fff; font-size:54px; }
.final-copy > p { max-width:650px; margin:22px 0 0; color:var(--nf-muted-dark); font-size:16px; line-height:1.62; }
.after-list { display:grid; gap:13px; margin-top:34px; }
.after-list div { display:grid; grid-template-columns:34px 1fr; gap:13px; align-items:center; color:#e7e4f0; font-size:13px; }
.after-list span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#d7d2ff; background:rgba(139,124,255,.16); font-size:10px; font-weight:800; }
  @media(max-width:1120px) {
  .hero-layout { gap:36px; grid-template-columns:1fr 410px; }
  .final-layout { grid-template-columns:1fr 410px; gap:42px; }
  .hero-copy h1 { font-size:52px; }
  .direction-grid { grid-template-columns:repeat(3,1fr); }
  .steps { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:820px) {
  .screen { padding:82px 0; }
  .hero-screen { padding:112px 0 70px; }
  .hero-layout,.section-head,.faq-layout,.final-layout { grid-template-columns:1fr; gap:40px; }
  .hero-copy { padding-top:0; }
  .hero-copy h1 { font-size:46px; }
  .hero-sub { font-size:18px; }
  .form-zone { max-width:560px; }
  .trajectory { right:-75px; }
  h2,.final-copy h2 { font-size:41px; }
  .section-head { margin-bottom:42px; }
  .direction-grid { grid-template-columns:repeat(2,1fr); }
  .deployment-grid,.demo-grid { grid-template-columns:1fr; }
  .deployment-card { min-height:300px; }
  .demo-card { min-height:390px; }
  .known-panel { grid-template-columns:1fr; gap:24px; }
  .faq-copy { position:static; }
}
@media(max-width:560px) {
  .hero-copy h1 { font-size:39px; }
  .problem-grid,.direction-grid,.steps,.result-grid,.known-list { grid-template-columns:1fr; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:17px; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .form-card { padding:25px 21px 22px; }
  h2,.final-copy h2 { font-size:35px; }
  .problem-card,.direction-card,.step-card,.result-card { min-height:0; }
  .problem-card h3,.step-card h3,.result-card h3 { margin-top:30px; }
  .boundary { grid-template-columns:auto 1fr; }
  .boundary .tag { display:none; }
  .demo-note { align-items:flex-start; flex-direction:column; gap:8px; }
}
