.nf{max-width:var(--measure-home);margin:0 auto;padding:0 0 56px}.nf-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:clamp(28px,6vw,72px);gap:clamp(28px,6vw,72px);padding:clamp(16px,5vw,56px) 0 clamp(36px,6vw,64px)}.nf-art{width:clamp(190px,22vw,250px)}.nf-words{max-width:560px}.nf-words .eyebrow{display:block;margin-bottom:14px}.nf-title{font-family:var(--font-ui);font-size:clamp(34px,5.2vw,54px);font-weight:800;line-height:1.05;letter-spacing:0;margin:0 0 16px;text-wrap:balance}.nf-body{margin:0 0 26px;max-width:46ch;color:var(--dim);font-size:17px;line-height:1.6;text-wrap:pretty}.nf-actions{display:flex;flex-wrap:wrap;gap:10px}.nf-page{display:block;width:100%;height:auto;overflow:visible;--nf-dry:color-mix(in srgb,var(--text) 30%,transparent);--nf-dry-head:color-mix(in srgb,var(--text) 52%,transparent)}.nf-sheet{fill:var(--g-card-solid);stroke:var(--g-card-border);stroke-width:1}.nf-sheet-back{opacity:.5}.nf-line{fill:none;stroke:var(--nf-dry);stroke-width:3;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:1.02;animation:nf-write 13s cubic-bezier(.5,.1,.35,1) infinite both;animation-delay:calc(1.2s + var(--i, 0) * .24s)}.nf-line.is-head{stroke-width:4.5;animation-name:nf-write-head}@keyframes nf-write{0%{stroke-dashoffset:1.02;stroke:var(--accent);opacity:1}7%{stroke-dashoffset:0;stroke:var(--accent)}18%{stroke:var(--nf-dry)}58%{stroke-dashoffset:0;stroke:var(--nf-dry);opacity:1}66%,to{stroke-dashoffset:0;stroke:var(--nf-dry);opacity:0}}@keyframes nf-write-head{0%{stroke-dashoffset:1.02;stroke:var(--accent);opacity:1}7%{stroke-dashoffset:0;stroke:var(--accent)}18%{stroke:var(--nf-dry-head)}58%{stroke-dashoffset:0;stroke:var(--nf-dry-head);opacity:1}66%,to{stroke-dashoffset:0;stroke:var(--nf-dry-head);opacity:0}}.nf-caret-gate{animation:nf-gate 13s linear 1.2s infinite}@keyframes nf-gate{0%,82%{opacity:0}84%,99.4%{opacity:1}to{opacity:0}}.nf-caret{fill:var(--accent);animation:nf-blink 1.06s step-end infinite}@keyframes nf-blink{50%{opacity:0}}.nf-folio{font-family:var(--font-book);font-size:15px;font-weight:600;fill:var(--accent)}@media (prefers-reduced-motion:reduce){.nf-line,.nf-line.is-head{animation:none;stroke-dashoffset:1.02}.nf-caret,.nf-caret-gate{animation:none}}.nf-doors-title{margin:0 0 16px;font-size:20px;font-weight:700;line-height:1.3;letter-spacing:0}.nf-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:12px;gap:12px;margin:0 0 36px;padding:0;list-style:none}.nf-tiles>li{display:flex;min-width:0}.nf-tile{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:154px;padding:20px 20px 18px;border:1px solid var(--g-card-border);border-radius:var(--r-l);background:var(--g-card);box-shadow:var(--g-card-inner);color:var(--text);transition:background var(--g-fast),border-color var(--g-fast),transform var(--g-fast)}.nf-tile:hover{background:var(--g-card-hover);border-color:color-mix(in srgb,var(--accent) 38%,var(--g-card-border))}.nf-tile:active{transform:scale(.985)}.nf-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nf-tile-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.nf-tile-words{display:flex;flex-direction:column;gap:6px;min-width:0}.nf-tile-name{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:17px;font-weight:700}.nf-tile-go{display:inline-flex;color:var(--faint);transition:color var(--g-fast),transform var(--g-fast)}.nf-tile:hover .nf-tile-go{color:var(--accent);transform:translateX(2px)}.nf-tile-line{color:var(--dim);font-size:14px;line-height:1.5}.nf-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:8px 32px;gap:8px 32px}.nf-list .eyebrow{margin:0 0 4px}.nf-list ul{margin:0;padding:0;list-style:none}.nf-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid var(--border);color:var(--text);font-size:15px;transition:color var(--g-fast)}.nf-list a svg{color:var(--faint);flex:none}.nf-list a:hover,.nf-list a:hover svg{color:var(--accent)}html:is([data-wire=off],[data-wire=gone]) .nf-door-wire{display:none}@media (max-width:720px){.nf-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:8px}.nf-art{width:168px}.nf-body{font-size:16px}.nf-tiles{gap:10px}.nf-tile{flex-direction:row;align-items:flex-start;gap:14px;min-height:0;padding:16px}.nf-tile-words{flex:1 1;gap:4px}.nf-tile-name{margin-top:0;font-size:16px}}